diff options
-rw-r--r-- | compiler-rt/lib/asan/asan_interceptors.cc | 8 | ||||
-rw-r--r-- | compiler-rt/lib/asan/asan_internal.h | 4 |
2 files changed, 9 insertions, 3 deletions
diff --git a/compiler-rt/lib/asan/asan_interceptors.cc b/compiler-rt/lib/asan/asan_interceptors.cc index 8cf0f5d60b8..9695728c28d 100644 --- a/compiler-rt/lib/asan/asan_interceptors.cc +++ b/compiler-rt/lib/asan/asan_interceptors.cc @@ -26,8 +26,6 @@ #include <ctype.h> #include <dlfcn.h> -#include <string.h> -#include <strings.h> #include <pthread.h> // To replace weak system functions on Linux we just need to declare functions @@ -44,6 +42,10 @@ // calls to our interceptors. We store pointers to system function f() // in __asan::real_f(). #ifdef __APPLE__ +// Include the declarations of the original functions. +#include <string.h> +#include <strings.h> + #include "mach_override/mach_override.h" #define WRAPPER_NAME(x) "wrap_"#x @@ -307,7 +309,7 @@ void *WRAP(signal)(int signum, void *handler) { } extern "C" -extern int (sigaction)(int signum, const void *act, void *oldact); +int (sigaction)(int signum, const void *act, void *oldact); extern "C" int WRAP(sigaction)(int signum, const void *act, void *oldact) { diff --git a/compiler-rt/lib/asan/asan_internal.h b/compiler-rt/lib/asan/asan_internal.h index fb59402e5b7..e361c26ee4e 100644 --- a/compiler-rt/lib/asan/asan_internal.h +++ b/compiler-rt/lib/asan/asan_internal.h @@ -31,6 +31,10 @@ #endif #endif +#if !defined(__has_feature) +#define __has_feature(x) 0 +#endif + #if defined(__has_feature) && __has_feature(address_sanitizer) # error "The AddressSanitizer run-time should not be" " instrumented by AddressSanitizer" |