From 5e418a907208f62a2b1f68da483a8137568f4a1e Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Sun, 4 Jan 2009 20:38:57 +0100 Subject: [PATCH] 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 file changed, 1 insertion(+) diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c index bd1e52b4470..08013fbd615 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: