forked from OSchip/llvm-project
[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 llvm-svn: 313303
This commit is contained in:
parent
1f2f57a7ea
commit
6892062f7c
|
@ -148,6 +148,10 @@ extern "C" {
|
||||||
// before things like _exit and execl to avoid false positives on stack.
|
// before things like _exit and execl to avoid false positives on stack.
|
||||||
void __asan_handle_no_return(void);
|
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
|
#ifdef __cplusplus
|
||||||
} // extern "C"
|
} // extern "C"
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue