Alexandre Julliard : kernel32: Add .seh annotations for x86_64.
Alexandre Julliard
julliard at winehq.org
Wed Aug 21 14:39:32 CDT 2019
Module: wine
Branch: master
Commit: 3ca42e0a9795e271558472e43fda09a93853634c
URL: https://source.winehq.org/git/wine.git/?a=commit;h=3ca42e0a9795e271558472e43fda09a93853634c
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Aug 21 11:28:59 2019 +0200
kernel32: Add .seh annotations for x86_64.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/kernel32/module.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/module.c b/dlls/kernel32/module.c
index acfc365..24fb9e3 100644
--- a/dlls/kernel32/module.c
+++ b/dlls/kernel32/module.c
@@ -980,11 +980,15 @@ extern FARPROC get_proc_address_wrapper( HMODULE module, LPCSTR function );
__ASM_GLOBAL_FUNC( get_proc_address_wrapper,
"pushq %rbp\n\t"
+ __ASM_SEH(".seh_pushreg %rbp\n\t")
__ASM_CFI(".cfi_adjust_cfa_offset 8\n\t")
__ASM_CFI(".cfi_rel_offset %rbp,0\n\t")
"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"
@@ -994,7 +998,7 @@ __ASM_GLOBAL_FUNC( get_proc_address_wrapper,
"movaps -0x30(%rbp), %xmm2\n\t"
"movaps -0x20(%rbp), %xmm1\n\t"
"movaps -0x10(%rbp), %xmm0\n\t"
- "movq %rbp,%rsp\n\t"
+ "leaq 0(%rbp),%rsp\n\t"
__ASM_CFI(".cfi_def_cfa_register %rsp\n\t")
"popq %rbp\n\t"
__ASM_CFI(".cfi_adjust_cfa_offset -8\n\t")
More information about the wine-cvs
mailing list