[asan] rely on __has_feature(address_sanitizer) instead of the ADDRESS_SANITIZER macro
llvm-svn: 147297
This commit is contained in:
parent
079354692d
commit
db32f967b9
|
@ -137,7 +137,6 @@ COMMON_ASAN_DEFINES=\
|
|||
|
||||
CLANG_ASAN_CXX=$(CLANG_CXX) \
|
||||
-faddress-sanitizer \
|
||||
-DADDRESS_SANITIZER=1 \
|
||||
$(BLACKLIST) \
|
||||
-mllvm -asan-stack=$(ASAN_STACK) \
|
||||
-mllvm -asan-globals=$(ASAN_GLOBALS) \
|
||||
|
@ -152,7 +151,6 @@ CLANG_ASAN_LD=$(CLANG_CXX) -faddress-sanitizer
|
|||
GCC_ASAN_PATH=SET_FROM_COMMAND_LINE
|
||||
GCC_ASAN_CXX=$(GCC_ASAN_PATH)/g++ \
|
||||
-faddress-sanitizer \
|
||||
-DADDRESS_SANITIZER=1 \
|
||||
$(COMMON_ASAN_DEFINES)
|
||||
|
||||
GCC_ASAN_LD=$(GCC_ASAN_PATH)/g++ -ldl -lpthread
|
||||
|
|
|
@ -75,7 +75,7 @@ extern "C" {
|
|||
void __asan_unpoison_memory_region(void const volatile *addr, size_t size);
|
||||
|
||||
// User code should use macro instead of functions.
|
||||
#ifdef ADDRESS_SANITIZER
|
||||
#if defined(__has_feature) && __has_feature(address_sanitizer)
|
||||
#define ASAN_POISON_MEMORY_REGION(addr, size) \
|
||||
__asan_poison_memory_region((addr), (size))
|
||||
#define ASAN_UNPOISON_MEMORY_REGION(addr, size) \
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
#include <sys/atomics.h>
|
||||
#endif
|
||||
|
||||
#ifdef ADDRESS_SANITIZER
|
||||
#if defined(__has_feature) && __has_feature(address_sanitizer)
|
||||
# error "The AddressSanitizer run-time should not be"
|
||||
" instrumented by AddressSanitizer"
|
||||
#endif
|
||||
|
|
|
@ -219,8 +219,13 @@ void uaf_test(int size, int off) {
|
|||
asan_write((T*)(p + off));
|
||||
}
|
||||
|
||||
TEST(AddressSanitizer, ADDRESS_SANITIZER_MacroTest) {
|
||||
EXPECT_EQ(1, ADDRESS_SANITIZER);
|
||||
TEST(AddressSanitizer, HasFeatureAddressSanitizerTest) {
|
||||
#if defined(__has_feature) && __has_feature(address_sanitizer)
|
||||
bool asan = 1;
|
||||
#else
|
||||
bool asan = 0;
|
||||
#endif
|
||||
EXPECT_EQ(true, asan);
|
||||
}
|
||||
|
||||
TEST(AddressSanitizer, SimpleDeathTest) {
|
||||
|
|
Loading…
Reference in New Issue