[PATCH] D27141: [asan] Support handle_sigill on Darwin
Kuba (Brecka) Mracek via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 25 14:33:01 PST 2016
kubabrecka created this revision.
kubabrecka added reviewers: dvyukov, rnk, eugenis, kcc.
kubabrecka added subscribers: zaks.anna, llvm-commits.
kubabrecka set the repository for this revision to rL LLVM.
kubabrecka added a project: Sanitizers.
Handling SIGILL on Darwin works fine, so let's just make this feature work and re-enable the ill.cc testcase.
Repository:
rL LLVM
https://reviews.llvm.org/D27141
Files:
lib/sanitizer_common/sanitizer_mac.cc
test/asan/TestCases/ill.cc
Index: test/asan/TestCases/ill.cc
===================================================================
--- test/asan/TestCases/ill.cc
+++ 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 <windows.h>
Index: lib/sanitizer_common/sanitizer_mac.cc
===================================================================
--- lib/sanitizer_common/sanitizer_mac.cc
+++ lib/sanitizer_common/sanitizer_mac.cc
@@ -400,6 +400,8 @@
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;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27141.79324.patch
Type: text/x-patch
Size: 996 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161125/432d17f5/attachment.bin>
More information about the llvm-commits
mailing list