Commit 94f22b56 authored by Paul Gofman's avatar Paul Gofman Committed by Alexandre Julliard

kernel32: Align stack in get_proc_address_wrapper().

Fixes crash on start in Nier Automata after switching kernel32 to PE. Signed-off-by: 's avatarPaul Gofman <pgofman@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 6abf518e
......@@ -320,18 +320,18 @@ __ASM_GLOBAL_FUNC( get_proc_address_wrapper,
"movq %rsp,%rbp\n\t"
__ASM_SEH(".seh_setframe %rbp,0\n\t")
__ASM_CFI(".cfi_def_cfa_register %rbp\n\t")
"subq $0x40,%rsp\n\t"
__ASM_SEH(".seh_stackalloc 0x40\n\t")
__ASM_SEH(".seh_endprologue\n\t")
"movaps %xmm0,-0x10(%rbp)\n\t"
"movaps %xmm1,-0x20(%rbp)\n\t"
"movaps %xmm2,-0x30(%rbp)\n\t"
"movaps %xmm3,-0x40(%rbp)\n\t"
"subq $0x60,%rsp\n\t"
"andq $~15,%rsp\n\t"
"movaps %xmm0,0x20(%rsp)\n\t"
"movaps %xmm1,0x30(%rsp)\n\t"
"movaps %xmm2,0x40(%rsp)\n\t"
"movaps %xmm3,0x50(%rsp)\n\t"
"call " __ASM_NAME("get_proc_address") "\n\t"
"movaps -0x40(%rbp), %xmm3\n\t"
"movaps -0x30(%rbp), %xmm2\n\t"
"movaps -0x20(%rbp), %xmm1\n\t"
"movaps -0x10(%rbp), %xmm0\n\t"
"movaps 0x50(%rsp), %xmm3\n\t"
"movaps 0x40(%rsp), %xmm2\n\t"
"movaps 0x30(%rsp), %xmm1\n\t"
"movaps 0x20(%rsp), %xmm0\n\t"
"leaq 0(%rbp),%rsp\n\t"
__ASM_CFI(".cfi_def_cfa_register %rsp\n\t")
"popq %rbp\n\t"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment