summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc8
-rw-r--r--compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cc6
2 files changed, 7 insertions, 7 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc
index 858e4e32c38..11d8b3ac0ae 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc
@@ -553,9 +553,11 @@ void LogMessageOnPrintf(const char *str) {
WriteToSyslog(str);
}
-#if SANITIZER_ANDROID && __ANDROID_API__ >= 21
-extern "C" void android_set_abort_message(const char *msg);
-void SetAbortMessage(const char *str) { android_set_abort_message(str); }
+#if SANITIZER_ANDROID
+extern "C" __attribute__((weak)) void android_set_abort_message(const char *);
+void SetAbortMessage(const char *str) {
+ if (&android_set_abort_message) android_set_abort_message(str);
+}
#else
void SetAbortMessage(const char *str) {}
#endif
diff --git a/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cc b/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cc
index 3ab2811c69b..97f7ae7b2a6 100644
--- a/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cc
+++ b/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cc
@@ -44,11 +44,9 @@ static bool report_this_error(void *caller) {
}
#if defined(__ANDROID__)
-extern "C" void android_set_abort_message(const char *msg);
+extern "C" __attribute__((weak)) void android_set_abort_message(const char *);
static void abort_with_message(const char *msg) {
-#if __ANDROID_API__ >= 21
- android_set_abort_message(msg);
-#endif
+ if (&android_set_abort_message) android_set_abort_message(msg);
abort();
}
#else
OpenPOWER on IntegriCloud