PATCH: avoid ebx clobbered in exception handler
Marcus Meissner
marcus at jet.franken.de
Sun Sep 24 23:43:41 CDT 2006
Hi,
RawShooter Premiums copy protection apparently clobbers
the PIC register EBX in its exceptionhandlers occasionaly.
This workaround helps.
Ciao, Marcus
---
dlls/ntdll/signal_i386.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
a8111aa6c5b259d8470c2030aee67910a55e86d3
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index 6ff7e39..578a4d0 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -1482,6 +1482,7 @@ __ASM_GLOBAL_FUNC( EXC_CallHandler,
" pushl %ebp\n"
" movl %esp, %ebp\n"
" subl $4,%esp\n"
+" pushl %ebx\n"
" movl 28(%ebp), %edx\n" /* ugly hack to pass the 6th param needed because of Shrinker */
" pushl 24(%ebp)\n"
" pushl 20(%ebp)\n"
@@ -1489,6 +1490,7 @@ __ASM_GLOBAL_FUNC( EXC_CallHandler,
" pushl 12(%ebp)\n"
" pushl 8(%ebp)\n"
" call " __ASM_NAME("call_exception_handler") "\n"
+" popl %ebx\n"
" leave\n"
" ret\n"
);
--
1.2.4
More information about the wine-patches
mailing list