EricWF created this revision.
Herald added a subscriber: dberris.
compiler-rt recently added the `__asan_handle_no_return()` function that
libc++abi needs to use, however older versions of compiler-rt don't provide
this interface and that breaks the libc++abi build.
This patch attempts to fix the issues by using a macro to detect if
`asan_interface.h` is new enough to provide the function.
See https://reviews.llvm.org/D37871
https://reviews.llvm.org/D37872
Files:
src/cxa_exception.cpp
Index: src/cxa_exception.cpp
===
--- src/cxa_exception.cpp
+++ src/cxa_exception.cpp
@@ -222,7 +222,8 @@
exception_header->unwindHeader.exception_cleanup = exception_cleanup_func;
-#if __has_feature(address_sanitizer)
+#if __has_feature(address_sanitizer) && \
+ defined(SANITIZER_ASAN_INTERFACE_HAS_HANDLE_NO_RETURN)
// Inform the ASan runtime that now might be a good time to clean stuff up.
__asan_handle_no_return();
#endif
Index: src/cxa_exception.cpp
===
--- src/cxa_exception.cpp
+++ src/cxa_exception.cpp
@@ -222,7 +222,8 @@
exception_header->unwindHeader.exception_cleanup = exception_cleanup_func;
-#if __has_feature(address_sanitizer)
+#if __has_feature(address_sanitizer) && \
+ defined(SANITIZER_ASAN_INTERFACE_HAS_HANDLE_NO_RETURN)
// Inform the ASan runtime that now might be a good time to clean stuff up.
__asan_handle_no_return();
#endif
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits