X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fppc-arch.c;h=ac6b3d9aacb32a6bc0094fb5d8d927a2f512b642;hb=8bb8f286dbacf1792a26de693c795d268516672c;hp=03e0891bfa423af1c47f2e1288dad061397dcb01;hpb=b66385e2031fc2cac17dd129df0af400beb48a22;p=sbcl.git diff --git a/src/runtime/ppc-arch.c b/src/runtime/ppc-arch.c index 03e0891..ac6b3d9 100644 --- a/src/runtime/ppc-arch.c +++ b/src/runtime/ppc-arch.c @@ -27,6 +27,7 @@ Caveat callers. */ +#if defined (LISP_FEATURE_DARWIN) || defined(LISP_FEATURE_LINUX) #ifndef PT_DAR #define PT_DAR 41 #endif @@ -34,6 +35,7 @@ #ifndef PT_DSISR #define PT_DSISR 42 #endif +#endif void arch_init() { } @@ -44,7 +46,11 @@ arch_get_bad_addr(int sig, siginfo_t *code, os_context_t *context) 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; }