From 8f7d4430f341c555533ef6effd883a5aae1ce160 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Mon, 10 Dec 2012 10:29:05 -0800 Subject: [PATCH] Add missing signal codes to get_sigcode. The only common one we were missing is SI_TKILL, but we've had the full set on the dalvik-dev branch for some time now. Change-Id: I7cf52d352b8624e0adb17a2ed440e7a10f490dfd --- debuggerd/tombstone.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/debuggerd/tombstone.c b/debuggerd/tombstone.c index 5f2db43e3..98016c30e 100644 --- a/debuggerd/tombstone.c +++ b/debuggerd/tombstone.c @@ -84,6 +84,7 @@ static const char *get_signame(int sig) static const char *get_sigcode(int signo, int code) { + // Try the signal-specific codes... switch (signo) { case SIGILL: switch (code) { @@ -122,7 +123,31 @@ static const char *get_sigcode(int signo, int code) case SEGV_ACCERR: return "SEGV_ACCERR"; } break; + case SIGTRAP: + switch (code) { + case TRAP_BRKPT: return "TRAP_BRKPT"; + case TRAP_TRACE: return "TRAP_TRACE"; + } + break; } + // Then the other codes... + switch (code) { + case SI_USER: return "SI_USER"; +#if defined(SI_KERNEL) + case SI_KERNEL: return "SI_KERNEL"; +#endif + case SI_QUEUE: return "SI_QUEUE"; + case SI_TIMER: return "SI_TIMER"; + case SI_MESGQ: return "SI_MESGQ"; + case SI_ASYNCIO: return "SI_ASYNCIO"; +#if defined(SI_SIGIO) + case SI_SIGIO: return "SI_SIGIO"; +#endif +#if defined(SI_TKILL) + case SI_TKILL: return "SI_TKILL"; +#endif + } + // Then give up... return "?"; }