diff options
author | Elliott Hughes <enh@google.com> | 2016-09-02 16:15:58 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2016-09-07 13:55:50 -0700 |
commit | 6fff551728f75e35b69bd59f2bc722a72d5c6d61 (patch) | |
tree | 96aceca07fa184231b2fc8eaabbe41cc7b2c3463 /debuggerd | |
parent | f74553f85270fcb9263c98c472fc3fdc93c18114 (diff) | |
download | core-6fff551728f75e35b69bd59f2bc722a72d5c6d61.tar.gz core-6fff551728f75e35b69bd59f2bc722a72d5c6d61.tar.bz2 core-6fff551728f75e35b69bd59f2bc722a72d5c6d61.zip |
Teach debuggerd about SIGSYS SYS_SECCOMP signals.
These should be easier to interpret.
Bug: http://b/31171101
Change-Id: I362361d218390ab2306f86976172f8365b26b6ef
Diffstat (limited to 'debuggerd')
-rw-r--r-- | debuggerd/client/debuggerd_client.cpp | 3 | ||||
-rw-r--r-- | debuggerd/tombstone.cpp | 9 |
2 files changed, 12 insertions, 0 deletions
diff --git a/debuggerd/client/debuggerd_client.cpp b/debuggerd/client/debuggerd_client.cpp index bbc724a5a..cf3770126 100644 --- a/debuggerd/client/debuggerd_client.cpp +++ b/debuggerd/client/debuggerd_client.cpp @@ -129,6 +129,9 @@ static void log_signal_summary(int signum, const siginfo_t* info) { signal_name = "SIGSTKFLT"; break; #endif + case SIGSYS: + signal_name = "SIGSYS"; + break; case SIGTRAP: signal_name = "SIGTRAP"; break; diff --git a/debuggerd/tombstone.cpp b/debuggerd/tombstone.cpp index 850676529..e66392023 100644 --- a/debuggerd/tombstone.cpp +++ b/debuggerd/tombstone.cpp @@ -85,6 +85,7 @@ static const char* get_signame(int sig) { case SIGSTKFLT: return "SIGSTKFLT"; #endif case SIGSTOP: return "SIGSTOP"; + case SIGSYS: return "SIGSYS"; case SIGTRAP: return "SIGTRAP"; default: return "?"; } @@ -148,6 +149,14 @@ static const char* get_sigcode(int signo, int code) { static_assert(NSIGSEGV == SEGV_ACCERR, "missing SEGV_* si_code"); #endif break; +#if defined(SYS_SECCOMP) // Our glibc is too old, and we build this for the host too. + case SIGSYS: + switch (code) { + case SYS_SECCOMP: return "SYS_SECCOMP"; + } + static_assert(NSIGSYS == SYS_SECCOMP, "missing SYS_* si_code"); + break; +#endif case SIGTRAP: switch (code) { case TRAP_BRKPT: return "TRAP_BRKPT"; |