Caveat callers. */
+#if defined (LISP_FEATURE_DARWIN) || defined(LISP_FEATURE_LINUX)
#ifndef PT_DAR
#define PT_DAR 41
#endif
#ifndef PT_DSISR
#define PT_DSISR 42
#endif
+#endif
void arch_init() {
}
unsigned long pc = (unsigned long)(*os_context_pc_addr(context));
os_vm_address_t addr;
+#if defined(LISP_FEATURE_NETBSD)
+ addr = (os_vm_address_t) (code->si_addr);
+#else
addr = (os_vm_address_t) (*os_context_register_addr(context,PT_DAR));
+#endif
return addr;
}
sizeof(unsigned int));
break;
+ case trap_SingleStepAround:
+ case trap_SingleStepBefore:
+ {
+ int register_offset = code >> 5 & 0x1f;
+
+ handle_single_step_trap(context, trap, register_offset);
+
+ arch_skip_instruction(context);
+ break;
+ }
default:
interrupt_handle_now(signal, code, context);
break;