diff options
| -rw-r--r-- | compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc | 8 | ||||
| -rw-r--r-- | compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cc | 6 |
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 |

