Index: /trunk/ccl/lisp-kernel/x86-exceptions.c
===================================================================
--- /trunk/ccl/lisp-kernel/x86-exceptions.c	(revision 6271)
+++ /trunk/ccl/lisp-kernel/x86-exceptions.c	(revision 6272)
@@ -552,4 +552,12 @@
 
 Boolean
+is_write_fault(ExceptionInformation *xp, siginfo_t *info)
+{
+#ifdef DARWIN
+  return (UC_MCONTEXT(xp)->__es.__err & 0x2) != 0;
+#endif
+}
+
+Boolean
 handle_fault(TCR *tcr, ExceptionInformation *xp, siginfo_t *info)
 {
@@ -572,4 +580,9 @@
       return handler(xp, a, addr);
     }
+  }
+  {
+    LispObj xcf = create_exception_callback_frame(xp),
+      cmain = nrs_CMAIN.vcell;
+    callback_to_lisp(tcr, cmain, xp, xcf, SIGBUS, is_write_fault(xp,info), (natural)addr, 0);
   }
   return false;
