Marcus Meissner : ntdll: Avoid ebx being clobbered in exception handler.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Sep 25 14:45:44 CDT 2006


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

Author: Marcus Meissner <marcus at jet.franken.de>
Date:   Mon Sep 25 06:43:41 2006 +0200

ntdll: Avoid ebx being clobbered in exception handler.

---

 dlls/ntdll/signal_i386.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index 6ff7e39..44f47ec 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -1481,7 +1481,7 @@ __ASM_GLOBAL_FUNC( DbgUserBreakPoint, "i
 __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 +1489,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"
 );




More information about the wine-cvs mailing list