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";