summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2015-07-31 00:00:03 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2015-07-31 00:00:03 +0000
commitf3ed62f626e89bfc3e803c3283016e58cde67c2c (patch)
tree9ca64d62d30fd35cec03cf84b0fcf8427b67bec6
parent7b276e2fb448566c7f7da8c6eca0edcaff4e4876 (diff)
downloadbcm5719-llvm-f3ed62f626e89bfc3e803c3283016e58cde67c2c.tar.gz
bcm5719-llvm-f3ed62f626e89bfc3e803c3283016e58cde67c2c.zip
[asan] Fix signal() interception on 64-bit Android.
The bsd_signal() special case only applies to 32-bit Android targets. Fixes AddressSanitizer.SignalTest on aarch64/android. llvm-svn: 243714
-rw-r--r--compiler-rt/lib/asan/asan_interceptors.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler-rt/lib/asan/asan_interceptors.cc b/compiler-rt/lib/asan/asan_interceptors.cc
index c1357f4ab6b..f842c80f725 100644
--- a/compiler-rt/lib/asan/asan_interceptors.cc
+++ b/compiler-rt/lib/asan/asan_interceptors.cc
@@ -263,7 +263,7 @@ DEFINE_REAL_PTHREAD_FUNCTIONS
#if ASAN_INTERCEPT_SIGNAL_AND_SIGACTION
-#if SANITIZER_ANDROID
+#if SANITIZER_ANDROID && !defined(_LP64)
INTERCEPTOR(void*, bsd_signal, int signum, void *handler) {
if (!IsDeadlySignal(signum) || common_flags()->allow_user_segv_handler) {
return REAL(bsd_signal)(signum, handler);
@@ -769,7 +769,7 @@ void InitializeAsanInterceptors() {
ASAN_INTERCEPT_FUNC(longjmp);
#if ASAN_INTERCEPT_SIGNAL_AND_SIGACTION
ASAN_INTERCEPT_FUNC(sigaction);
-#if SANITIZER_ANDROID
+#if SANITIZER_ANDROID && !defined(_LP64)
ASAN_INTERCEPT_FUNC(bsd_signal);
#else
ASAN_INTERCEPT_FUNC(signal);
OpenPOWER on IntegriCloud