Push 0x7fff to the stack in __wine_syscall_dispatcher to recreate side effect of KiUserCallbackDispatcher needed by Skyrim Special Edition: Creation Kit to fix a menu resolution bug.
From: Keaton Ens kae514@usask.ca
--- dlls/ntdll/unix/signal_x86_64.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/dlls/ntdll/unix/signal_x86_64.c b/dlls/ntdll/unix/signal_x86_64.c index 26b540bd629..bf520618cb6 100644 --- a/dlls/ntdll/unix/signal_x86_64.c +++ b/dlls/ntdll/unix/signal_x86_64.c @@ -2728,6 +2728,12 @@ __ASM_GLOBAL_FUNC( __wine_syscall_dispatcher, #else "movq %gs:0x328,%rcx\n\t" /* amd64_thread_data()->syscall_frame */ #endif + /* Skyrim Special Edition: Creation Kit depends on internal function calls + * in KiUserCallbackDispatcher to push 0x7fff onto the stack to initialize a + * local variable.*/ + "sub $0x4c,%rsp\n\t" + "movl $0x7fff,(%rsp)\n\t" + "add $0x4c,%rsp\n\t" "popq 0x70(%rcx)\n\t" /* frame->rip */ __ASM_CFI(".cfi_adjust_cfa_offset -8\n\t") __ASM_CFI_REG_IS_AT2(rip, rcx, 0xf0,0x00)