Merge "Teach debuggerd about SIGSYS SYS_SECCOMP signals." am: 44d7a87621 am: 9bec09f3cd
am: 6942f98f5d

Change-Id: I9c475e0a6f5b97efdf011a3174670e827c9c58e2
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";