From 39984d4824fa6e2ecf2960d06190eaab753d7789 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Thu, 25 Jun 2009 11:51:52 +0200 Subject: [PATCH] user32: Add call frame annotations in x86 assembly code. --- dlls/user32/winproc.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/dlls/user32/winproc.c b/dlls/user32/winproc.c index 2a883291019..91eeeb7d858 100644 --- a/dlls/user32/winproc.c +++ b/dlls/user32/winproc.c @@ -282,10 +282,16 @@ extern LRESULT WINPROC_wrapper( WNDPROC proc, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); __ASM_GLOBAL_FUNC( WINPROC_wrapper, "pushl %ebp\n\t" + __ASM_CFI(".cfi_adjust_cfa_offset 4\n\t") + __ASM_CFI(".cfi_rel_offset %ebp,0\n\t") "movl %esp,%ebp\n\t" + __ASM_CFI(".cfi_def_cfa_register %ebp\n\t") "pushl %edi\n\t" + __ASM_CFI(".cfi_rel_offset %edi,-4\n\t") "pushl %esi\n\t" + __ASM_CFI(".cfi_rel_offset %esi,-8\n\t") "pushl %ebx\n\t" + __ASM_CFI(".cfi_rel_offset %ebx,-12\n\t") "subl $12,%esp\n\t" "pushl 24(%ebp)\n\t" "pushl 20(%ebp)\n\t" @@ -295,9 +301,14 @@ __ASM_GLOBAL_FUNC( WINPROC_wrapper, "call *%eax\n\t" "leal -12(%ebp),%esp\n\t" "popl %ebx\n\t" + __ASM_CFI(".cfi_same_value %ebx\n\t") "popl %esi\n\t" + __ASM_CFI(".cfi_same_value %esi\n\t") "popl %edi\n\t" + __ASM_CFI(".cfi_same_value %edi\n\t") "leave\n\t" + __ASM_CFI(".cfi_def_cfa %esp,4\n\t") + __ASM_CFI(".cfi_same_value %ebp\n\t") "ret" ) #else static inline LRESULT WINPROC_wrapper( WNDPROC proc, HWND hwnd, UINT msg,