Skip to content

ntdll: Also restore rbp before calling user mode callback.

Yuxuan Shui requested to merge yshui/wine:ntdll-unwind-rbp into master

If wine dlls are built with frame pointers enabled, the frame pointer will be used during unwinding.

If we don't restore frame pointer before calling the user mode callback, then later when the unwinder encounters the user mode callback frame, it will set the frame pointer to something unexpected (depends on what it was during call_user_mode_callback). Then for the subsequent frame it adjusts the stack pointer based on the frame pointer, thus derailing the unwinding process.

Merge request reports

Loading