Teach debuggerd about SIGSYS SYS_SECCOMP signals.
These should be easier to interpret.
Bug: http://b/31171101
Change-Id: I362361d218390ab2306f86976172f8365b26b6ef
diff --git a/debuggerd/client/debuggerd_client.cpp b/debuggerd/client/debuggerd_client.cpp
index bbc724a..cf37701 100644
--- a/debuggerd/client/debuggerd_client.cpp
+++ b/debuggerd/client/debuggerd_client.cpp
@@ -129,6 +129,9 @@
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 8506765..e663920 100644
--- a/debuggerd/tombstone.cpp
+++ b/debuggerd/tombstone.cpp
@@ -85,6 +85,7 @@
case SIGSTKFLT: return "SIGSTKFLT";
#endif
case SIGSTOP: return "SIGSTOP";
+ case SIGSYS: return "SIGSYS";
case SIGTRAP: return "SIGTRAP";
default: return "?";
}
@@ -148,6 +149,14 @@
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";