diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp index 002bcb1eda4a..d890a3a31773 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp +++ b/compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp @@ -312,6 +312,8 @@ const char *SignalContext::Describe() const { return "SEGV"; case SIGBUS: return "BUS"; + case SIGTRAP: + return "TRAP"; } return "UNKNOWN SIGNAL"; } diff --git a/compiler-rt/test/sanitizer_common/TestCases/Linux/signal_trap.cpp b/compiler-rt/test/sanitizer_common/TestCases/Linux/signal_trap.cpp new file mode 100644 index 000000000000..4298d44b88ca --- /dev/null +++ b/compiler-rt/test/sanitizer_common/TestCases/Linux/signal_trap.cpp @@ -0,0 +1,8 @@ +// RUN: %clangxx -O1 %s -o %t && %env_tool_opts=handle_sigtrap=2 not %run %t 2>&1 | FileCheck %s + +int main() { + __builtin_debugtrap(); +} + +// CHECK: Sanitizer:DEADLYSIGNAL +// CHECK: Sanitizer: TRAP on unknown address