diff options
author | Elliott Hughes <enh@google.com> | 2014-04-24 23:22:49 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-04-24 23:22:49 +0000 |
commit | a92330c7e2d6c3b436bcb62564d6603220a2b387 (patch) | |
tree | 703c2fe149934dd1ddd81360e6fcd3f027863ccc /debuggerd | |
parent | 4f1df099603744457a1f44f1c18792e72b2be0c0 (diff) | |
parent | b791f04c02af8ae7058b8d597d601e4e94ceb8e0 (diff) | |
download | system_core-a92330c7e2d6c3b436bcb62564d6603220a2b387.zip system_core-a92330c7e2d6c3b436bcb62564d6603220a2b387.tar.gz system_core-a92330c7e2d6c3b436bcb62564d6603220a2b387.tar.bz2 |
am b791f04c: am e5d38ad8: am dc5442c0: Merge "Add missing si_code values to debuggerd."
* commit 'b791f04c02af8ae7058b8d597d601e4e94ceb8e0':
Add missing si_code values to debuggerd.
Diffstat (limited to 'debuggerd')
-rwxr-xr-x | debuggerd/tombstone.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/debuggerd/tombstone.cpp b/debuggerd/tombstone.cpp index 2319f37..83de03f 100755 --- a/debuggerd/tombstone.cpp +++ b/debuggerd/tombstone.cpp @@ -97,13 +97,17 @@ static const char* get_sigcode(int signo, int code) { case ILL_COPROC: return "ILL_COPROC"; case ILL_BADSTK: return "ILL_BADSTK"; } + static_assert(NSIGILL == ILL_BADSTK, "missing ILL_* si_code"); break; case SIGBUS: switch (code) { case BUS_ADRALN: return "BUS_ADRALN"; case BUS_ADRERR: return "BUS_ADRERR"; case BUS_OBJERR: return "BUS_OBJERR"; + case BUS_MCEERR_AR: return "BUS_MCEERR_AR"; + case BUS_MCEERR_AO: return "BUS_MCEERR_AO"; } + static_assert(NSIGBUS == BUS_MCEERR_AO, "missing BUS_* si_code"); break; case SIGFPE: switch (code) { @@ -116,36 +120,36 @@ static const char* get_sigcode(int signo, int code) { case FPE_FLTINV: return "FPE_FLTINV"; case FPE_FLTSUB: return "FPE_FLTSUB"; } + static_assert(NSIGFPE == FPE_FLTSUB, "missing FPE_* si_code"); break; case SIGSEGV: switch (code) { case SEGV_MAPERR: return "SEGV_MAPERR"; case SEGV_ACCERR: return "SEGV_ACCERR"; } + static_assert(NSIGSEGV == SEGV_ACCERR, "missing SEGV_* si_code"); break; case SIGTRAP: switch (code) { case TRAP_BRKPT: return "TRAP_BRKPT"; case TRAP_TRACE: return "TRAP_TRACE"; + case TRAP_BRANCH: return "TRAP_BRANCH"; + case TRAP_HWBKPT: return "TRAP_HWBKPT"; } + static_assert(NSIGTRAP == TRAP_HWBKPT, "missing TRAP_* si_code"); 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 + case SI_DETHREAD: return "SI_DETHREAD"; } // Then give up... return "?"; |