[compiler-rt] r313303 - [ASAN] Add macro denoting availability of new `__asan_handle_no_return()` function.

Eric Fiselier via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 14 15:19:10 PDT 2017


Author: ericwf
Date: Thu Sep 14 15:19:10 2017
New Revision: 313303

URL: http://llvm.org/viewvc/llvm-project?rev=313303&view=rev
Log:
[ASAN] Add macro denoting availability of new `__asan_handle_no_return()` function.

Summary:
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_INTERFACE_HAS_HANDLE_NO_RETURN` which can be used to detect the availability of the new function.

Reviewers: phosek, kcc, vitalybuka, alekseyshl

Reviewed By: phosek

Subscribers: mclow.lists, cfe-commits

Differential Revision: https://reviews.llvm.org/D37871

Modified:
    compiler-rt/trunk/include/sanitizer/asan_interface.h

Modified: compiler-rt/trunk/include/sanitizer/asan_interface.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/include/sanitizer/asan_interface.h?rev=313303&r1=313302&r2=313303&view=diff
==============================================================================
--- compiler-rt/trunk/include/sanitizer/asan_interface.h (original)
+++ compiler-rt/trunk/include/sanitizer/asan_interface.h Thu Sep 14 15:19:10 2017
@@ -148,6 +148,10 @@ extern "C" {
   // 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




More information about the llvm-commits mailing list