[LSAN] Fix CAN_SANITIZE_LEAKS on Android
authorVitaly Buka <vitalybuka@google.com>
Thu, 5 Nov 2020 02:28:51 +0000 (18:28 -0800)
committerVitaly Buka <vitalybuka@google.com>
Thu, 5 Nov 2020 02:35:04 +0000 (18:35 -0800)
compiler-rt/lib/lsan/lsan_common.h

index 53d7fad..a167cac 100644 (file)
 // To enable LeakSanitizer on a new architecture, one needs to implement the
 // internal_clone function as well as (probably) adjust the TLS machinery for
 // the new architecture inside the sanitizer library.
-#if (SANITIZER_LINUX &&                                                  \
-         (!SANITIZER_ANDROID || defined(ANDROID_HAS_ELF_TLS)) ||         \
-     SANITIZER_MAC) &&                                                   \
+#if ((SANITIZER_LINUX && !SANITIZER_ANDROID) || SANITIZER_MAC) &&        \
     (SANITIZER_WORDSIZE == 64) &&                                        \
     (defined(__x86_64__) || defined(__mips64) || defined(__aarch64__) || \
      defined(__powerpc64__) || defined(__s390x__))
 #define CAN_SANITIZE_LEAKS 1
-#elif defined(__i386__) &&                                       \
-    (SANITIZER_LINUX &&                                          \
-         (!SANITIZER_ANDROID || defined(ANDROID_HAS_ELF_TLS)) || \
-     SANITIZER_MAC)
+#elif defined(__i386__) && \
+    ((SANITIZER_LINUX && !SANITIZER_ANDROID) || SANITIZER_MAC)
 #define CAN_SANITIZE_LEAKS 1
 #elif defined(__arm__) && SANITIZER_LINUX && !SANITIZER_ANDROID
 #define CAN_SANITIZE_LEAKS 1