EricWF created this revision. Libc++abi attempts to use the newly added `__asan_handle_no_return()` when built under ASAN. Unfortunately older versions of compiler-rt do not provide this symbol, and so libc++abi needs a way to detect if `asan_interface.h` actually provides the function.
This patch adds the macro `SANITIZER_ASAN_HAS_HANDLE_NO_RETURN` which can be used to detect the availability of the new function. https://reviews.llvm.org/D37871 Files: include/sanitizer/asan_interface.h Index: include/sanitizer/asan_interface.h =================================================================== --- include/sanitizer/asan_interface.h +++ include/sanitizer/asan_interface.h @@ -148,6 +148,10 @@ // before things like _exit and execl to avoid false positives on stack. void __asan_handle_no_return(void); + // Required to allow ASAN versions of libc++abi to build against older + // versions of compiler-rt that do not provide this interface. +# define SANITIZER_ASAN_INTERFACE_HAS_HANDLE_NO_RETURN + #ifdef __cplusplus } // extern "C" #endif
Index: include/sanitizer/asan_interface.h =================================================================== --- include/sanitizer/asan_interface.h +++ include/sanitizer/asan_interface.h @@ -148,6 +148,10 @@ // before things like _exit and execl to avoid false positives on stack. void __asan_handle_no_return(void); + // Required to allow ASAN versions of libc++abi to build against older + // versions of compiler-rt that do not provide this interface. +# define SANITIZER_ASAN_INTERFACE_HAS_HANDLE_NO_RETURN + #ifdef __cplusplus } // extern "C" #endif
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits