André Hentschel : ntdll: Fix setting the ExceptionAddress on ARM.
Alexandre Julliard
julliard at winehq.org
Mon Apr 18 11:10:55 CDT 2011
Module: wine
Branch: master
Commit: a38f7e86be637d3eaf169b9bd0e7b664afbf963c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a38f7e86be637d3eaf169b9bd0e7b664afbf963c
Author: André Hentschel <nerv at dawncrow.de>
Date: Fri Apr 15 19:32:05 2011 +0200
ntdll: Fix setting the ExceptionAddress on ARM.
---
dlls/ntdll/signal_arm.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/ntdll/signal_arm.c b/dlls/ntdll/signal_arm.c
index 992b63c..0934164 100644
--- a/dlls/ntdll/signal_arm.c
+++ b/dlls/ntdll/signal_arm.c
@@ -493,7 +493,7 @@ static void fpe_handler( int signal, siginfo_t *siginfo, void *sigcontext )
}
rec.ExceptionFlags = EXCEPTION_CONTINUABLE;
rec.ExceptionRecord = NULL;
- /*rec.ExceptionAddress = (LPVOID)context.Iar;*/
+ rec.ExceptionAddress = (LPVOID)context.Pc;
rec.NumberParameters = 0;
status = raise_exception( &rec, &context, TRUE );
if (status) raise_status( status, &rec );
@@ -519,7 +519,7 @@ static void int_handler( int signal, siginfo_t *siginfo, void *sigcontext )
rec.ExceptionCode = CONTROL_C_EXIT;
rec.ExceptionFlags = EXCEPTION_CONTINUABLE;
rec.ExceptionRecord = NULL;
- /*rec.ExceptionAddress = (LPVOID)context.Iar;*/
+ rec.ExceptionAddress = (LPVOID)context.Pc;
rec.NumberParameters = 0;
status = raise_exception( &rec, &context, TRUE );
if (status) raise_status( status, &rec );
@@ -543,7 +543,7 @@ static void abrt_handler( int signal, siginfo_t *siginfo, void *sigcontext )
rec.ExceptionCode = EXCEPTION_WINE_ASSERTION;
rec.ExceptionFlags = EH_NONCONTINUABLE;
rec.ExceptionRecord = NULL;
- /*rec.ExceptionAddress = (LPVOID)context.Iar;*/
+ rec.ExceptionAddress = (LPVOID)context.Pc;
rec.NumberParameters = 0;
status = raise_exception( &rec, &context, TRUE );
if (status) raise_status( status, &rec );
@@ -726,7 +726,7 @@ void WINAPI RtlRaiseException( EXCEPTION_RECORD *rec )
NTSTATUS status;
RtlCaptureContext( &context );
- /*rec->ExceptionAddress = (void *)context.Iar;*/
+ rec->ExceptionAddress = (LPVOID)context.Pc;
status = raise_exception( rec, &context, TRUE );
if (status) raise_status( status, rec );
}
More information about the wine-cvs
mailing list