http://bugs.kde.org/show_bug.cgi?id=126389 means that valgrind can't yet handle apps that throw exceptions during regular operation. Like, say, Adobe InDesign's installer. I would like to valgrind that to track down http://bugs.winehq.org/show_bug.cgi?id=11757 but I can't because valgrind doesn't handle fxrestor. I think, anyway... - Dan
"Dan Kegel" dank@kegel.com writes:
For debugging you can disable use of fxrstor with this:
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c index a6ca6fd..8ba0590 100644 --- a/dlls/ntdll/signal_i386.c +++ b/dlls/ntdll/signal_i386.c @@ -125,7 +125,7 @@ typedef ucontext_t SIGCONTEXT; #define ERROR_sig(context) ((context)->uc_mcontext.gregs[REG_ERR])
#define FPU_sig(context) ((FLOATING_SAVE_AREA*)((context)->uc_mcontext.fpregs)) -#define FPUX_sig(context) (FPU_sig(context) && !((context)->uc_mcontext.fpregs->status >> 16) ? (XMM_SAVE_AREA32 *)(FPU_sig(context) + 1) : NULL) +#define FPUX_sig(context) NULL
#define VM86_EAX 0 /* the %eax value while vm86_enter is executing */
On Thu, Feb 28, 2008 at 6:46 AM, Alexandre Julliard julliard@winehq.org wrote:
For debugging you can disable use of fxrstor
Thanks. What's the downside? I imagine apps that use floating point inside exception handlers will break? - Dan
"Dan Kegel" dank@kegel.com writes:
Floating point will still work, but apps using the MMX/SSE registers will break.