|
|
|
@@ -104,20 +104,20 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) { |
|
|
|
jack_error("info.si_errno = %d", info->si_errno); |
|
|
|
jack_error("info.si_code = %d (%s)", info->si_code, si_code_str); |
|
|
|
jack_error("info.si_addr = %p", info->si_addr); |
|
|
|
#if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__) && !defined(__aarch64__) && !defined(nios2) |
|
|
|
#if defined(HAVE_UCONTEXT) && defined(HAVE_NGREG) |
|
|
|
for(i = 0; i < NGREG; i++) |
|
|
|
jack_error("reg[%02d] = 0x" REGFORMAT, i, |
|
|
|
#if defined(__powerpc64__) |
|
|
|
#if defined(HAVE_UCONTEXT_GP_REGS) |
|
|
|
ucontext->uc_mcontext.gp_regs[i] |
|
|
|
#elif defined(__powerpc__) |
|
|
|
#elif defined(HAVE_UCONTEXT_UC_REGS) |
|
|
|
ucontext->uc_mcontext.uc_regs[i] |
|
|
|
#elif defined(__sparc__) && defined(__arch64__) |
|
|
|
#elif defined(HAVE_UCONTEXT_MC_GREGS) |
|
|
|
ucontext->uc_mcontext.mc_gregs[i] |
|
|
|
#else |
|
|
|
#elif defined(HAVE_UCONTEXT_GREGS) |
|
|
|
ucontext->uc_mcontext.gregs[i] |
|
|
|
#endif |
|
|
|
); |
|
|
|
#endif /* alpha, ia64, kFreeBSD, arm, hppa */ |
|
|
|
#endif /* defined(HAVE_UCONTEXT) && defined(HAVE_NGREG) */ |
|
|
|
|
|
|
|
#if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64) |
|
|
|
# if defined(SIGSEGV_STACK_IA64) |
|
|
|
|