From 23551fa811fbb27cf9bb87cb8105807ad3cf23a5 Mon Sep 17 00:00:00 2001 From: Kuba Mracek Date: Sat, 26 Nov 2016 01:30:31 +0000 Subject: [PATCH] [asan] Support handle_sigill on Darwin Handling SIGILL on Darwin works fine, so let's just make this feature work and re-enable the ill.cc testcase. Differential Revision: https://reviews.llvm.org/D27141 llvm-svn: 287959 --- compiler-rt/lib/sanitizer_common/sanitizer_mac.cc | 2 ++ compiler-rt/test/asan/TestCases/ill.cc | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc b/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc index 3c1f2169af51..cf9465b33f76 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc +++ b/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc @@ -400,6 +400,8 @@ bool IsHandledDeadlySignal(int signum) { return false; if (common_flags()->handle_abort && signum == SIGABRT) return true; + if (common_flags()->handle_sigill && signum == SIGILL) + return true; return (signum == SIGSEGV || signum == SIGBUS) && common_flags()->handle_segv; } diff --git a/compiler-rt/test/asan/TestCases/ill.cc b/compiler-rt/test/asan/TestCases/ill.cc index 887f506ddc0b..d7b535091671 100644 --- a/compiler-rt/test/asan/TestCases/ill.cc +++ b/compiler-rt/test/asan/TestCases/ill.cc @@ -3,7 +3,6 @@ // RUN: %clangxx_asan %s -o %t && %env_asan_opts=handle_sigill=0 not --crash %run %t 2>&1 | FileCheck %s --check-prefix=CHECK0 // RUN: %clangxx_asan %s -o %t && %env_asan_opts=handle_sigill=1 not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK1 // REQUIRES: x86-target-arch -// UNSUPPORTED: darwin #ifdef _WIN32 #include