diff --git a/daemon/sigsegv.c b/daemon/sigsegv.c index a5b4cf40..b0a2d0fe 100644 --- a/daemon/sigsegv.c +++ b/daemon/sigsegv.c @@ -101,6 +101,9 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) { log_error("info.si_errno = %d", info->si_errno); log_error("info.si_code = %d (%s)", info->si_code, si_codes[info->si_code]); log_error("info.si_addr = %p", info->si_addr); +#if defined(__arm__) || defined(__powerpc__) || defined (__ia64__) || defined (__alpha__) || defined (__FreeBSD_kernel__) || defined (__sh__) + log_error("No stack trace"); +#else for(i = 0; i < NGREG; i++) log_error("reg[%02d] = 0x" REGFORMAT, i, ucontext->uc_mcontext.gregs[i]); @@ -154,6 +157,7 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) { log_error("%s", strings[i]); #endif log_error("End of stack trace"); +#endif exit (-1); }