projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.8.1.31:
[sbcl.git]
/
src
/
runtime
/
alpha-arch.c
diff --git
a/src/runtime/alpha-arch.c
b/src/runtime/alpha-arch.c
index
27ea9ee
..
20f86a4
100644
(file)
--- a/
src/runtime/alpha-arch.c
+++ b/
src/runtime/alpha-arch.c
@@
-279,10
+279,14
@@
static void
sigtrap_handler(int signal, siginfo_t *siginfo, os_context_t *context)
{
unsigned int code;
sigtrap_handler(int signal, siginfo_t *siginfo, os_context_t *context)
{
unsigned int code;
+ sigset_t *mask;
+#ifdef LISP_FEATURE_LINUX
+ os_restore_fp_control(context);
+#endif
/* Don't disallow recursive breakpoint traps. Otherwise, we can't */
/* use debugger breakpoints anywhere in here. */
/* Don't disallow recursive breakpoint traps. Otherwise, we can't */
/* use debugger breakpoints anywhere in here. */
- sigset_t *mask=(os_context_sigmask_addr(context));
+ mask=(os_context_sigmask_addr(context));
sigsetmask(mask);
/* this is different from how CMUCL does it. CMUCL used "call_pal
sigsetmask(mask);
/* this is different from how CMUCL does it. CMUCL used "call_pal
@@
-365,6
+369,11
@@
void arch_install_interrupt_handlers()
undoably_install_low_level_interrupt_handler(SIGTRAP, sigtrap_handler);
}
undoably_install_low_level_interrupt_handler(SIGTRAP, sigtrap_handler);
}
+void get_spinlock(lispobj *word, int value) {
+ /* FIXME: dummy definition */
+ *word = value;
+}
+
extern lispobj call_into_lisp(lispobj fun, lispobj *args, int nargs);
lispobj funcall0(lispobj function)
extern lispobj call_into_lisp(lispobj fun, lispobj *args, int nargs);
lispobj funcall0(lispobj function)