Alexandre Julliard : winedos: Add call frame annotations in x86 assembly code.

Alexandre Julliard julliard at winehq.org
Thu Jun 25 08:13:57 CDT 2009


Module: wine
Branch: master
Commit: e7da3b519f7806ef429b6cc2c7ebe3e39e7fce7b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e7da3b519f7806ef429b6cc2c7ebe3e39e7fce7b

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Jun 25 11:52:01 2009 +0200

winedos: Add call frame annotations in x86 assembly code.

---

 dlls/winedos/int31.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/dlls/winedos/int31.c b/dlls/winedos/int31.c
index 905d7e6..0c5bdc7 100644
--- a/dlls/winedos/int31.c
+++ b/dlls/winedos/int31.c
@@ -312,9 +312,14 @@ void DPMI_CallRMCB32(RMCB *rmcb, UINT16 ss, DWORD esp, UINT16*es, DWORD*edi)
 ;
 __ASM_GLOBAL_FUNC(DPMI_CallRMCB32,
     "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")
     "movl 0x8(%ebp),%eax\n\t"
     "movl 0x10(%ebp),%esi\n\t"
     "movl 0xc(%ebp),%edx\n\t"
@@ -339,8 +344,12 @@ __ASM_GLOBAL_FUNC(DPMI_CallRMCB32,
     "movl 0x18(%ebp),%edx\n\t"
     "movl %edi,(%edx)\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")
 #endif
 




More information about the wine-cvs mailing list