diff options
Diffstat (limited to 'lib/asan')
-rw-r--r-- | lib/asan/asan_intercepted_functions.h | 16 | ||||
-rw-r--r-- | lib/asan/asan_interceptors.cc | 16 | ||||
-rw-r--r-- | lib/asan/asan_linux.cc | 4 | ||||
-rw-r--r-- | lib/asan/asan_mac.cc | 1 | ||||
-rw-r--r-- | lib/asan/asan_mac.h | 6 | ||||
-rw-r--r-- | lib/asan/asan_malloc_linux.cc | 4 | ||||
-rw-r--r-- | lib/asan/asan_malloc_mac.cc | 1 | ||||
-rw-r--r-- | lib/asan/asan_malloc_win.cc | 2 | ||||
-rw-r--r-- | lib/asan/asan_new_delete.cc | 4 | ||||
-rw-r--r-- | lib/asan/asan_posix.cc | 4 | ||||
-rw-r--r-- | lib/asan/asan_preinit.cc | 2 | ||||
-rw-r--r-- | lib/asan/asan_stack.cc | 2 | ||||
-rw-r--r-- | lib/asan/asan_win.cc | 2 |
13 files changed, 38 insertions, 26 deletions
diff --git a/lib/asan/asan_intercepted_functions.h b/lib/asan/asan_intercepted_functions.h index 1f872c9b..ce5adce9 100644 --- a/lib/asan/asan_intercepted_functions.h +++ b/lib/asan/asan_intercepted_functions.h @@ -25,7 +25,7 @@ using __sanitizer::uptr; // Use macro to describe if specific function should be // intercepted on a given platform. -#if !defined(_WIN32) +#if !SANITIZER_WINDOWS # define ASAN_INTERCEPT_ATOLL_AND_STRTOLL 1 # define ASAN_INTERCEPT__LONGJMP 1 # define ASAN_INTERCEPT_STRDUP 1 @@ -43,43 +43,43 @@ using __sanitizer::uptr; # define ASAN_INTERCEPT_MLOCKX 0 #endif -#if defined(__linux__) +#if SANITIZER_LINUX # define ASAN_USE_ALIAS_ATTRIBUTE_FOR_INDEX 1 #else # define ASAN_USE_ALIAS_ATTRIBUTE_FOR_INDEX 0 #endif -#if !defined(__APPLE__) +#if !SANITIZER_MAC # define ASAN_INTERCEPT_STRNLEN 1 #else # define ASAN_INTERCEPT_STRNLEN 0 #endif -#if defined(__linux__) && !defined(ANDROID) +#if SANITIZER_LINUX && !SANITIZER_ANDROID # define ASAN_INTERCEPT_SWAPCONTEXT 1 #else # define ASAN_INTERCEPT_SWAPCONTEXT 0 #endif -#if !defined(ANDROID) && !defined(_WIN32) +#if !SANITIZER_ANDROID && !SANITIZER_WINDOWS # define ASAN_INTERCEPT_SIGNAL_AND_SIGACTION 1 #else # define ASAN_INTERCEPT_SIGNAL_AND_SIGACTION 0 #endif -#if !defined(_WIN32) +#if !SANITIZER_WINDOWS # define ASAN_INTERCEPT_SIGLONGJMP 1 #else # define ASAN_INTERCEPT_SIGLONGJMP 0 #endif -#if ASAN_HAS_EXCEPTIONS && !defined(_WIN32) +#if ASAN_HAS_EXCEPTIONS && !SANITIZER_WINDOWS # define ASAN_INTERCEPT___CXA_THROW 1 #else # define ASAN_INTERCEPT___CXA_THROW 0 #endif -# if defined(_WIN32) +# if SANITIZER_WINDOWS extern "C" { // Windows threads. __declspec(dllimport) diff --git a/lib/asan/asan_interceptors.cc b/lib/asan/asan_interceptors.cc index b1efe741..d16c601f 100644 --- a/lib/asan/asan_interceptors.cc +++ b/lib/asan/asan_interceptors.cc @@ -355,7 +355,7 @@ INTERCEPTOR(char*, strchr, const char *str, int c) { INTERCEPTOR(char*, index, const char *string, int c) ALIAS(WRAPPER_NAME(strchr)); # else -# if defined(__APPLE__) +# if SANITIZER_MAC DECLARE_REAL(char*, index, const char *string, int c) OVERRIDE_FUNCTION(index, strchr); # else @@ -421,7 +421,7 @@ INTERCEPTOR(int, strcmp, const char *s1, const char *s2) { } INTERCEPTOR(char*, strcpy, char *to, const char *from) { // NOLINT -#if defined(__APPLE__) +#if SANITIZER_MAC if (!asan_inited) return REAL(strcpy)(to, from); // NOLINT #endif // strcpy is called from malloc_default_purgeable_zone() @@ -441,7 +441,7 @@ INTERCEPTOR(char*, strcpy, char *to, const char *from) { // NOLINT #if ASAN_INTERCEPT_STRDUP INTERCEPTOR(char*, strdup, const char *s) { -#if defined(__APPLE__) +#if SANITIZER_MAC // FIXME: because internal_strdup() uses InternalAlloc(), which currently // just calls malloc() on Mac, we can't use internal_strdup() with the // dynamic runtime. We can remove the call to REAL(strdup) once InternalAlloc @@ -582,7 +582,7 @@ INTERCEPTOR(long, strtol, const char *nptr, // NOLINT } INTERCEPTOR(int, atoi, const char *nptr) { -#if defined(__APPLE__) +#if SANITIZER_MAC if (!asan_inited) return REAL(atoi)(nptr); #endif ENSURE_ASAN_INITED(); @@ -601,7 +601,7 @@ INTERCEPTOR(int, atoi, const char *nptr) { } INTERCEPTOR(long, atol, const char *nptr) { // NOLINT -#if defined(__APPLE__) +#if SANITIZER_MAC if (!asan_inited) return REAL(atol)(nptr); #endif ENSURE_ASAN_INITED(); @@ -655,7 +655,7 @@ INTERCEPTOR(long long, atoll, const char *nptr) { // NOLINT Report("AddressSanitizer: failed to intercept '" #name "'\n"); \ } while (0) -#if defined(_WIN32) +#if SANITIZER_WINDOWS INTERCEPTOR_WINAPI(DWORD, CreateThread, void* security, uptr stack_size, DWORD (__stdcall *start_routine)(void*), void* arg, @@ -682,7 +682,7 @@ void InitializeAsanInterceptors() { static bool was_called_once; CHECK(was_called_once == false); was_called_once = true; -#if defined(__APPLE__) +#if SANITIZER_MAC return; #else SANITIZER_COMMON_INTERCEPTORS_INIT; @@ -761,7 +761,7 @@ void InitializeAsanInterceptors() { #endif // Some Windows-specific interceptors. -#if defined(_WIN32) +#if SANITIZER_WINDOWS InitializeWindowsInterceptors(); #endif diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc index 9b2ed170..b2df5a98 100644 --- a/lib/asan/asan_linux.cc +++ b/lib/asan/asan_linux.cc @@ -11,7 +11,9 @@ // // Linux-specific details. //===----------------------------------------------------------------------===// -#ifdef __linux__ + +#include "sanitizer_common/sanitizer_platform.h" +#if SANITIZER_LINUX #include "asan_interceptors.h" #include "asan_internal.h" diff --git a/lib/asan/asan_mac.cc b/lib/asan/asan_mac.cc index 0f51a06d..49def163 100644 --- a/lib/asan/asan_mac.cc +++ b/lib/asan/asan_mac.cc @@ -12,6 +12,7 @@ // Mac-specific details. //===----------------------------------------------------------------------===// +#include "sanitizer_common/sanitizer_platform.h" #ifdef __APPLE__ #include "asan_interceptors.h" diff --git a/lib/asan/asan_mac.h b/lib/asan/asan_mac.h index ce411122..b1a1966d 100644 --- a/lib/asan/asan_mac.h +++ b/lib/asan/asan_mac.h @@ -11,8 +11,8 @@ // // Mac-specific ASan definitions. //===----------------------------------------------------------------------===// -#ifndef SANITIZER_MAC_H -#define SANITIZER_MAC_H +#ifndef ASAN_MAC_H +#define ASAN__MAC_H // CF_RC_BITS, the layout of CFRuntimeBase and __CFStrIsConstant are internal // and subject to change in further CoreFoundation versions. Apple does not @@ -54,4 +54,4 @@ void MaybeReplaceCFAllocator(); } // namespace __asan -#endif // SANITIZER_MAC_H +#endif // ASAN_MAC_H diff --git a/lib/asan/asan_malloc_linux.cc b/lib/asan/asan_malloc_linux.cc index 864ff4ad..1a0b3899 100644 --- a/lib/asan/asan_malloc_linux.cc +++ b/lib/asan/asan_malloc_linux.cc @@ -13,7 +13,9 @@ // We simply define functions like malloc, free, realloc, etc. // They will replace the corresponding libc functions automagically. //===----------------------------------------------------------------------===// -#ifdef __linux__ + +#include "sanitizer_common/sanitizer_platform.h" +#if SANITIZER_LINUX #include "asan_allocator.h" #include "asan_interceptors.h" diff --git a/lib/asan/asan_malloc_mac.cc b/lib/asan/asan_malloc_mac.cc index b8ec90e3..b8e207fe 100644 --- a/lib/asan/asan_malloc_mac.cc +++ b/lib/asan/asan_malloc_mac.cc @@ -12,6 +12,7 @@ // Mac-specific malloc interception. //===----------------------------------------------------------------------===// +#include "sanitizer_common/sanitizer_platform.h" #ifdef __APPLE__ #include <AvailabilityMacros.h> diff --git a/lib/asan/asan_malloc_win.cc b/lib/asan/asan_malloc_win.cc index 9fcfea56..765fc78a 100644 --- a/lib/asan/asan_malloc_win.cc +++ b/lib/asan/asan_malloc_win.cc @@ -11,6 +11,8 @@ // // Windows-specific malloc interception. //===----------------------------------------------------------------------===// + +#include "sanitizer_common/sanitizer_platform.h" #ifdef _WIN32 #include "asan_allocator.h" diff --git a/lib/asan/asan_new_delete.cc b/lib/asan/asan_new_delete.cc index 7b0617a1..b1d66131 100644 --- a/lib/asan/asan_new_delete.cc +++ b/lib/asan/asan_new_delete.cc @@ -47,7 +47,7 @@ struct nothrow_t {}; // delete. // To make sure that C++ allocation/deallocation operators are overridden on // OS X we need to intercept them using their mangled names. -#if !defined(__APPLE__) +#if !SANITIZER_MAC INTERCEPTOR_ATTRIBUTE void *operator new(size_t size) { OPERATOR_NEW_BODY(FROM_NEW); } INTERCEPTOR_ATTRIBUTE @@ -78,7 +78,7 @@ INTERCEPTOR(void *, _ZnamRKSt9nothrow_t, size_t size, std::nothrow_t const&) { GET_STACK_TRACE_FREE;\ asan_free(ptr, &stack, type); -#if !defined(__APPLE__) +#if !SANITIZER_MAC INTERCEPTOR_ATTRIBUTE void operator delete(void *ptr) { OPERATOR_DELETE_BODY(FROM_NEW); } INTERCEPTOR_ATTRIBUTE diff --git a/lib/asan/asan_posix.cc b/lib/asan/asan_posix.cc index ceaf120f..a0cd8e0a 100644 --- a/lib/asan/asan_posix.cc +++ b/lib/asan/asan_posix.cc @@ -11,7 +11,9 @@ // // Posix-specific details. //===----------------------------------------------------------------------===// -#if defined(__linux__) || defined(__APPLE__) + +#include "sanitizer_common/sanitizer_platform.h" +#if SANITIZER_LINUX || SANITIZER_MAC #include "asan_internal.h" #include "asan_interceptors.h" diff --git a/lib/asan/asan_preinit.cc b/lib/asan/asan_preinit.cc index 07e0a53c..9de963cc 100644 --- a/lib/asan/asan_preinit.cc +++ b/lib/asan/asan_preinit.cc @@ -20,7 +20,7 @@ // FIXME: do we have anything like this on Mac? __attribute__((section(".preinit_array"), used)) void (*__asan_preinit)(void) =__asan_init; -#elif defined(_WIN32) && defined(_DLL) +#elif SANITIZER_WINDOWS && defined(_DLL) // On Windows, when using dynamic CRT (/MD), we can put a pointer // to __asan_init into the global list of C initializers. // See crt0dat.c in the CRT sources for the details. diff --git a/lib/asan/asan_stack.cc b/lib/asan/asan_stack.cc index a50ab1d2..de125f0b 100644 --- a/lib/asan/asan_stack.cc +++ b/lib/asan/asan_stack.cc @@ -35,7 +35,7 @@ void PrintStack(StackTrace *stack) { // Provide default implementation of __asan_symbolize that does nothing // and may be overriden by user if he wants to use his own symbolization. // ASan on Windows has its own implementation of this. -#if !defined(_WIN32) && !SANITIZER_SUPPORTS_WEAK_HOOKS +#if !SANITIZER_WINDOWS && !SANITIZER_SUPPORTS_WEAK_HOOKS SANITIZER_WEAK_ATTRIBUTE SANITIZER_INTERFACE_ATTRIBUTE NOINLINE bool __asan_symbolize(const void *pc, char *out_buffer, int out_size) { return false; diff --git a/lib/asan/asan_win.cc b/lib/asan/asan_win.cc index d8ce0506..82dba086 100644 --- a/lib/asan/asan_win.cc +++ b/lib/asan/asan_win.cc @@ -11,6 +11,8 @@ // // Windows-specific details. //===----------------------------------------------------------------------===// + +#include "sanitizer_common/sanitizer_platform.h" #ifdef _WIN32 #include <windows.h> |