diff options
author | KJ Tsanaktsidis <[email protected]> | 2024-01-12 17:32:16 +1100 |
---|---|---|
committer | KJ Tsanaktsidis <[email protected]> | 2024-01-12 17:58:54 +1100 |
commit | 33a03cb236057b1dc044fc76bf51b263d6cbda81 (patch) | |
tree | 969cf7f910671c6edcaeb31db7bc5d5a9751764f | |
parent | 688a6ff51053ddebaf4c34dbf74ac0e5f026157b (diff) |
Revert "Define special macros for asan/msan being enabled"
This reverts commit bdafad879093ef16a9a649154c4b2e4ebf492656.
-rw-r--r-- | internal/sanitizers.h | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/internal/sanitizers.h b/internal/sanitizers.h index d444903aa0..6b2a131925 100644 --- a/internal/sanitizers.h +++ b/internal/sanitizers.h @@ -16,15 +16,11 @@ #endif #ifdef HAVE_SANITIZER_ASAN_INTERFACE_H -# if __has_feature(address_sanitizer) -# define RUBY_ASAN_ENABLED -# include <sanitizer/asan_interface.h> -# endif +# include <sanitizer/asan_interface.h> #endif #ifdef HAVE_SANITIZER_MSAN_INTERFACE_H # if __has_feature(memory_sanitizer) -# define RUBY_MSAN_ENABLED # include <sanitizer/msan_interface.h> # endif #endif @@ -33,10 +29,10 @@ #include "ruby/ruby.h" /* for VALUE */ #if 0 -#elif defined(RUBY_ASAN_ENABLED) && defined(RUBY_MSAN_ENABLED) +#elif __has_feature(memory_sanitizer) && __has_feature(address_sanitizer) # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \ __attribute__((__no_sanitize__("memory, address"), __noinline__)) x -#elif defined(RUBY_ASAN_ENABLED) +#elif __has_feature(address_sanitizer) # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \ __attribute__((__no_sanitize__("address"), __noinline__)) x #elif defined(NO_SANITIZE_ADDRESS) @@ -64,7 +60,7 @@ # define NO_SANITIZE(x, y) y #endif -#ifndef RUBY_ASAN_ENABLED +#if !__has_feature(address_sanitizer) # define __asan_poison_memory_region(x, y) # define __asan_unpoison_memory_region(x, y) # define __asan_region_is_poisoned(x, y) 0 @@ -72,7 +68,7 @@ # define __asan_addr_is_in_fake_stack(fake_stack, slot, start, end) NULL #endif -#ifndef RUBY_MSAN_ENABLED +#if !__has_feature(memory_sanitizer) # define __msan_allocated_memory(x, y) ((void)(x), (void)(y)) # define __msan_poison(x, y) ((void)(x), (void)(y)) # define __msan_unpoison(x, y) ((void)(x), (void)(y)) @@ -127,12 +123,12 @@ asan_poison_object(VALUE obj) asan_poison_memory_region(ptr, SIZEOF_VALUE); } -#ifdef RUBY_ASAN_ENABLED +#if !__has_feature(address_sanitizer) +#define asan_poison_object_if(ptr, obj) ((void)(ptr), (void)(obj)) +#else #define asan_poison_object_if(ptr, obj) do { \ if (ptr) asan_poison_object(obj); \ } while (0) -#else -#define asan_poison_object_if(ptr, obj) ((void)(ptr), (void)(obj)) #endif /*! |