- os_vm_address_t addr;
-
- addr = arch_get_bad_addr(signal,info,context);
- if (addr != NULL &&
- *os_context_register_addr(context,reg_ALLOC) & (1L<<63)){
-
- /* Alpha stuff: This is the end of a pseudo-atomic section
- * during which a signal was received. We must deal with the
- * pending interrupt (see also interrupt.c,
- * ../code/interrupt.lisp)
- */
- /* (how we got here: when interrupting, we set bit 63 in
- * reg_Alloc. At the end of the atomic section we tried to
- * write to reg_ALLOC, got a SIGSEGV (there's nothing mapped
- * there) so ended up here
- */
- *os_context_register_addr(context,reg_ALLOC) -= (1L<<63);
- interrupt_handle_pending(context);
- } else {
- if(!interrupt_maybe_gc(signal, info, context))
- if(!handle_control_stack_guard_triggered(context,addr))
- interrupt_handle_now(signal, info, context);
+ os_vm_address_t addr = arch_get_bad_addr(signal,info,context);
+
+#ifdef LISP_FEATURE_ALPHA
+ /* Alpha stuff: This is the end of a pseudo-atomic section during
+ which a signal was received. We must deal with the pending
+ interrupt (see also interrupt.c, ../code/interrupt.lisp)
+
+ (how we got here: when interrupting, we set bit 63 in reg_ALLOC.
+ At the end of the atomic section we tried to write to reg_ALLOC,
+ got a SIGSEGV (there's nothing mapped there) so ended up here. */
+ if (addr != NULL &&
+ *os_context_register_addr(context,reg_ALLOC) & (1L<<63)){
+ *os_context_register_addr(context,reg_ALLOC) -= (1L<<63);
+ interrupt_handle_pending(context);
+ return;