0.8.15.17
[sbcl.git] / src / runtime / ppc-arch.c
index c35fc4c..a8df962 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>
 
-#include "arch.h"
 #include "sbcl.h"
+#include "arch.h"
 #include "globals.h"
 #include "validate.h"
 #include "os.h"
@@ -95,14 +95,6 @@ arch_install_breakpoint(void *pc)
 }
 
 void 
-get_spinlock(lispobj *word,int value)
-{
-    /* FIXME */
-    *word=value;
-}
-
-
-void 
 arch_remove_breakpoint(void *pc, unsigned long orig_inst)
 {
     *(unsigned long *)pc = orig_inst;
@@ -193,12 +185,24 @@ sigtrap_handler(int signal, siginfo_t *siginfo, os_context_t *context)
            interrupt_handle_now(signal, code, context);
            break;
        }
+#ifdef LISP_FEATURE_DARWIN
+       sigreturn(context);
+#endif
+       return;
     }
     if (((code >> 26) == 3) && (((code >> 21) & 31) == 24)) {
        interrupt_internal_error(signal, code, context, 0);
+#ifdef LISP_FEATURE_DARWIN
+       sigreturn(context);
+#endif
+       return;
     }
     
     interrupt_handle_now(signal, code, context);
+#ifdef LISP_FEATURE_DARWIN
+    /* Work around G5 bug */
+    sigreturn(context);
+#endif
 }