[PATCH] ntdll/signal_i386.c: RtlCaptureContext locals + args are 12 bytes instead of 8 (return address + CONTEXT * arg + %eax local

Alexandre Julliard julliard at winehq.org
Tue Sep 27 09:33:58 CDT 2011


Bernhard Loos <bernhardloos at googlemail.com> writes:

> @@ -1181,7 +1181,7 @@ __ASM_STDCALL_FUNC( RtlCaptureContext, 4,
>                      __ASM_CFI(".cfi_adjust_cfa_offset 4\n\t")
>                      "popl 0xc0(%eax)\n\t"      /* context->EFlags */
>                      __ASM_CFI(".cfi_adjust_cfa_offset -4\n\t")
> -                    "leal 8(%esp),%edx\n\t"
> +                    "leal 0xc(%esp),%edx\n\t"
>                      "movl %edx,0xc4(%eax)\n\t" /* context->Esp */

That's not really more correct, it's supposed to return the caller frame
but there's no good way of doing that. What are you trying to fix?

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list