Hi, > The reason is TemporaryRamMigration() overwrites rbp unconditionally -- it > adds an offset to rbp even if rbp is NOT used as a frame pointer
> Now, what is the right way to fix this? Do the SetJump/LongJump in assembly > and wrap it into push rbp/pop rbp? push/pop rbp will break in case frame pointers are used, no? I think essentially the code needs to know whenever frame pointers are used or not and then update (or not) rbp depending on that. Update compiler flags to explicitly set -f(no-)omit-frame-pointer, also add -D OMIT_FRAME_POINTER=1, the compile conditionally on OMIT_FRAME_POINTER? take care, Gerd -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#90281): https://edk2.groups.io/g/devel/message/90281 Mute This Topic: https://groups.io/mt/91216215/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-