Henri Verbeet : ntdll: Fix ExceptionAddress for FPU exceptions.
Alexandre Julliard
julliard at winehq.org
Mon Jan 5 10:24:20 CST 2009
Module: wine
Branch: master
Commit: 5e418a907208f62a2b1f68da483a8137568f4a1e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5e418a907208f62a2b1f68da483a8137568f4a1e
Author: Henri Verbeet <hverbeet at gmail.com>
Date: Sun Jan 4 20:38:57 2009 +0100
ntdll: Fix ExceptionAddress for FPU exceptions.
ExceptionAddress isn't the same as EIP for FPU exceptions, since the
exception will be thrown on the next FPU instruction, rather than the
instruction that caused the exception.
---
dlls/ntdll/signal_i386.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index bd1e52b..08013fb 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -1452,6 +1452,7 @@ static void fpe_handler( int signal, siginfo_t *siginfo, void *sigcontext )
case TRAP_x86_ARITHTRAP: /* Floating point exception */
case TRAP_x86_UNKNOWN: /* Unknown fault code */
rec->ExceptionCode = get_fpu_code( win_context );
+ rec->ExceptionAddress = (LPVOID)win_context->FloatSave.ErrorOffset;
break;
case TRAP_x86_CACHEFLT: /* SIMD exception */
/* TODO:
More information about the wine-cvs
mailing list