Index: /trunk/ccl/lisp-kernel/x86-exceptions.c
===================================================================
--- /trunk/ccl/lisp-kernel/x86-exceptions.c	(revision 5164)
+++ /trunk/ccl/lisp-kernel/x86-exceptions.c	(revision 5165)
@@ -1067,4 +1067,12 @@
   sa.sa_sigaction = (void *)handler;
   sigfillset(&sa.sa_mask);
+#ifdef FREEBSD
+  /* Strange FreeBSD behavior wrt synchronous signals */
+  sigdelset(&sa.sa_mask,SIGNUM_FOR_INTN_TRAP);
+  sigdelset(&sa.sa_mask,SIGTRAP);  /* let GDB work */
+  sigdelset(&sa.sa_mask,SIGILL);
+  sigdelset(&sa.sa_mask,SIGFPE);
+  sigdelset(&sa.sa_mask,SIGSEGV);
+#endif
   sa.sa_flags = 
     SA_RESTART
