From: Bernhard Froehlich Date: Sat, 4 May 2013 12:57:29 +0000 (+0200) Subject: Dumping NGREG in traphandler only if it is supported by the platform. X-Git-Tag: v3.9~62 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0efd76a2a694a424b4d19cda9a961ea286b34749;p=thirdparty%2Ftvheadend.git Dumping NGREG in traphandler only if it is supported by the platform. --- diff --git a/src/trap.c b/src/trap.c index b0fe543be..7a731d30a 100644 --- a/src/trap.c +++ b/src/trap.c @@ -134,14 +134,18 @@ add2lineresolve(const char *binary, void *addr, char *buf0, size_t buflen) static void traphandler(int sig, siginfo_t *si, void *UC) { +#ifdef NGREG ucontext_t *uc = UC; +#endif #if ENABLE_EXECINFO char buf[200]; static void *frames[MAXFRAMES]; int nframes = backtrace(frames, MAXFRAMES); Dl_info dli; #endif +#if defined(NGREG) || defined(ENABLE_EXECINFO) int i; +#endif const char *reason = NULL; tvhlog_spawn(LOG_ALERT, "CRASH", "Signal: %d in %s ", sig, line1); @@ -165,6 +169,7 @@ traphandler(int sig, siginfo_t *si, void *UC) si->si_addr, reason ?: "N/A"); tvhlog_spawn(LOG_ALERT, "CRASH", "Loaded libraries: %s ", libs); +#ifdef NGREG snprintf(tmpbuf, sizeof(tmpbuf), "Register dump [%d]: ", NGREG); for(i = 0; i < NGREG; i++) { @@ -174,6 +179,7 @@ traphandler(int sig, siginfo_t *si, void *UC) sappend(tmpbuf, sizeof(tmpbuf), "%08x ", uc->uc_mcontext.gregs[i]); #endif } +#endif tvhlog_spawn(LOG_ALERT, "CRASH", "%s", tmpbuf); #if ENABLE_EXECINFO