Hi,

Uh, odd: with qemu, the program just fails.  Natively, it loops getting
SIGFPEs and not making progress.  With Xen, I was getting another panic
which was because Xen doesn't provide the interrupt, it's now fixed and
behaves like native. The mileage probably vary according to the CPU...

Could you add a printf in the SIGFPE handle in the program to see
whether it gets called?
Could you also try whether the attached patch helps?

Samuel
Index: i386/i386/fpu.c
===================================================================
RCS file: /cvsroot/hurd/gnumach/i386/i386/fpu.c,v
retrieving revision 1.2.4.11
diff -u -p -r1.2.4.11 fpu.c
--- i386/i386/fpu.c     8 May 2007 20:48:13 -0000       1.2.4.11
+++ i386/i386/fpu.c     17 Oct 2007 23:32:28 -0000
@@ -674,7 +674,7 @@ ASSERT_IPL(SPL1);
            /* leave fp_intr_thread THREAD_NULL */
            return;
        }
-       if (fp_intr_thread != THREAD_NULL)
+       if (fp_intr_thread != THREAD_NULL && fp_intr_thread != thread)
            panic("fp_intr: already caught intr");
        fp_intr_thread = thread;
 #endif /* NCPUS == 1 */

Reply via email to