summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2014-04-02 09:36:36 +0000
committerAlexey Samsonov <samsonov@google.com>2014-04-02 09:36:36 +0000
commit3a45f6b25435dbeb7805a6a21a3b68488e6f28cc (patch)
treeae06372476bcb38bab514d320766ca187b8377b0 /lib
parent47d6268b940654a20eeff1b06b8175f251fd0470 (diff)
[ASan] One more attempt to fix Android build
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@205411 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/asan/asan_linux.cc13
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
index 962a0abc0..8ad9de781 100644
--- a/lib/asan/asan_linux.cc
+++ b/lib/asan/asan_linux.cc
@@ -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 dl_phdr_info *info, size_t size,
*(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 *libname) {
}
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__)