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

Reply via email to