Module: wine Branch: master Commit: 342e2cabd21c5a836683ac30e260ec4944eeac6b URL: https://source.winehq.org/git/wine.git/?a=commit;h=342e2cabd21c5a836683ac30e...
Author: Alexandre Julliard julliard@winehq.org Date: Fri Mar 9 13:47:01 2018 -0600
ntdll: Avoid pushl %esp instruction in RtlUnwind prolog.
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ntdll/signal_i386.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c index 71eff66..17c42cd 100644 --- a/dlls/ntdll/signal_i386.c +++ b/dlls/ntdll/signal_i386.c @@ -2441,7 +2441,9 @@ __ASM_STDCALL_FUNC( RtlUnwind, 16, "movl %esp,%ebp\n\t" __ASM_CFI(".cfi_def_cfa_register %ebp\n\t") "leal -(0x2cc+8)(%esp),%esp\n\t" /* sizeof(CONTEXT) + alignment */ - "pushl %esp\n\t" /* context */ + "pushl %eax\n\t" + "leal 4(%esp),%eax\n\t" /* context */ + "xchgl %eax,(%esp)\n\t" "call " __ASM_NAME("RtlCaptureContext") __ASM_STDCALL(4) "\n\t" "leal 24(%ebp),%eax\n\t" "movl %eax,0xc4(%esp)\n\t" /* context->Esp */