diff options
author | Primiano Tucci <primiano@chromium.org> | 2016-06-08 17:04:49 +0100 |
---|---|---|
committer | Primiano Tucci <primiano@chromium.org> | 2016-06-08 17:04:49 +0100 |
commit | a34c929f6f46c1c414147ecfa56c3562b2eca027 (patch) | |
tree | 8143b9d1ffd6ab215396ad4f3227b4a8412211be | |
parent | [Android] Roll back to r10e. (diff) | |
download | breakpad-a34c929f6f46c1c414147ecfa56c3562b2eca027.tar.xz |
linux/android: add SIGTRAP to the list of signals handled by the client
__builtin_trap() causes a SIGTRAP on arm64 (at least with GCC 4.9).
SIGTRAP is not handled by breakpad, causing crashes induced by
__builtin_trap() to be missed.
Note that on x86 and arm, instead, __builtin_trap() raises a SIGILL,
which is already handled by breakapd.
BUG=chromium:614865
R=vapier@chromium.org
Review URL: https://codereview.chromium.org/2042853002 .
-rw-r--r-- | src/client/linux/handler/exception_handler.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc index 148d61f9..b63f973b 100644 --- a/src/client/linux/handler/exception_handler.cc +++ b/src/client/linux/handler/exception_handler.cc @@ -118,7 +118,7 @@ namespace { // all these signals must be Core (see man 7 signal) because we rethrow the // signal after handling it and expect that it'll be fatal. const int kExceptionSignals[] = { - SIGSEGV, SIGABRT, SIGFPE, SIGILL, SIGBUS + SIGSEGV, SIGABRT, SIGFPE, SIGILL, SIGBUS, SIGTRAP }; const int kNumHandledSignals = sizeof(kExceptionSignals) / sizeof(kExceptionSignals[0]); |