Module: wine Branch: master Commit: 5e418a907208f62a2b1f68da483a8137568f4a1e URL: http://source.winehq.org/git/wine.git/?a=commit;h=5e418a907208f62a2b1f68da48...
Author: Henri Verbeet hverbeet@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: