projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.8.15.17
[sbcl.git]
/
src
/
runtime
/
ppc-arch.c
diff --git
a/src/runtime/ppc-arch.c
b/src/runtime/ppc-arch.c
index
c35fc4c
..
a8df962
100644
(file)
--- a/
src/runtime/ppc-arch.c
+++ b/
src/runtime/ppc-arch.c
@@
-1,7
+1,7
@@
#include <stdio.h>
#include <stdio.h>
-#include "arch.h"
#include "sbcl.h"
#include "sbcl.h"
+#include "arch.h"
#include "globals.h"
#include "validate.h"
#include "os.h"
#include "globals.h"
#include "validate.h"
#include "os.h"
@@
-95,14
+95,6
@@
arch_install_breakpoint(void *pc)
}
void
}
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;
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;
}
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);
}
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);
}
interrupt_handle_now(signal, code, context);
+#ifdef LISP_FEATURE_DARWIN
+ /* Work around G5 bug */
+ sigreturn(context);
+#endif
}
}