[compiler-rt] r243714 - [asan] Fix signal() interception on 64-bit Android.

Evgeniy Stepanov eugeni.stepanov at gmail.com
Thu Jul 30 17:00:03 PDT 2015


Author: eugenis
Date: Thu Jul 30 19:00:03 2015
New Revision: 243714

URL: http://llvm.org/viewvc/llvm-project?rev=243714&view=rev
Log:
[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.

Modified:
    compiler-rt/trunk/lib/asan/asan_interceptors.cc

Modified: compiler-rt/trunk/lib/asan/asan_interceptors.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_interceptors.cc?rev=243714&r1=243713&r2=243714&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/asan_interceptors.cc (original)
+++ compiler-rt/trunk/lib/asan/asan_interceptors.cc Thu Jul 30 19:00:03 2015
@@ -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);





More information about the llvm-commits mailing list