[compiler-rt] r205411 - [ASan] One more attempt to fix Android build
Alexey Samsonov
samsonov at google.com
Wed Apr 2 02:36:36 PDT 2014
Author: samsonov
Date: Wed Apr 2 04:36:36 2014
New Revision: 205411
URL: http://llvm.org/viewvc/llvm-project?rev=205411&view=rev
Log:
[ASan] One more attempt to fix Android build
Modified:
compiler-rt/trunk/lib/asan/asan_linux.cc
Modified: compiler-rt/trunk/lib/asan/asan_linux.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_linux.cc?rev=205411&r1=205410&r2=205411&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/asan_linux.cc (original)
+++ compiler-rt/trunk/lib/asan/asan_linux.cc Wed Apr 2 04:36:36 2014
@@ -76,7 +76,11 @@ void *AsanDoesNotSupportStaticLinkage()
return &_DYNAMIC; // defined in link.h
}
-#if !SANITIZER_ANDROID
+#if SANITIZER_ANDROID
+// FIXME: should we do anything for Android?
+void AsanCheckDynamicRTPrereqs() {}
+void AsanCheckIncompatibleRT() {}
+#else
static int FindFirstDSOCallback(struct dl_phdr_info *info, size_t size,
void *data) {
// Continue until the first dynamic library is found
@@ -86,7 +90,6 @@ static int FindFirstDSOCallback(struct d
*(const char **)data = info->dlpi_name;
return 1;
}
-#endif
static bool IsDynamicRTName(const char *libname) {
return internal_strstr(libname, "libclang_rt.asan") ||
@@ -94,8 +97,6 @@ static bool IsDynamicRTName(const char *
}
void AsanCheckDynamicRTPrereqs() {
- // FIXME: can we do something like this for Android?
-#if !SANITIZER_ANDROID
// Ensure that dynamic RT is the first DSO in the list
const char *first_dso_name = 0;
dl_iterate_phdr(FindFirstDSOCallback, &first_dso_name);
@@ -105,11 +106,9 @@ void AsanCheckDynamicRTPrereqs() {
"manually preload it with LD_PRELOAD.\n");
Die();
}
-#endif
}
void AsanCheckIncompatibleRT() {
-#if !SANITIZER_ANDROID
if (ASAN_DYNAMIC) {
if (__asan_rt_version == ASAN_RT_VERSION_UNDEFINED) {
__asan_rt_version = ASAN_RT_VERSION_DYNAMIC;
@@ -136,8 +135,8 @@ void AsanCheckIncompatibleRT() {
CHECK_NE(__asan_rt_version, ASAN_RT_VERSION_DYNAMIC);
__asan_rt_version = ASAN_RT_VERSION_STATIC;
}
-#endif
}
+#endif // SANITIZER_ANDROID
void GetPcSpBp(void *context, uptr *pc, uptr *sp, uptr *bp) {
#if defined(__arm__)
More information about the llvm-commits
mailing list