This is an automated email from the ASF dual-hosted git repository. jdanek pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git
commit 385e0844587e964c439f256f21a24ae4cabfd86a Author: Jiri Daněk <[email protected]> AuthorDate: Sun Dec 26 13:27:44 2021 +0100 NO-JIRA Add macro to disable thread sanitizer --- src/qd_asan_interface.h | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/qd_asan_interface.h b/src/qd_asan_interface.h index 06f57ca..8095e0c 100644 --- a/src/qd_asan_interface.h +++ b/src/qd_asan_interface.h @@ -29,10 +29,21 @@ #if defined(__clang__) # define QD_HAS_ADDRESS_SANITIZER __has_feature(address_sanitizer) -#elif defined (__GNUC__) && defined(__SANITIZE_ADDRESS__) -# define QD_HAS_ADDRESS_SANITIZER __SANITIZE_ADDRESS__ +# define QD_HAS_THREAD_SANITIZER __has_feature(thread_sanitizer) +#elif defined (__GNUC__) +# if defined(__SANITIZE_ADDRESS__) +# define QD_HAS_ADDRESS_SANITIZER __SANITIZE_ADDRESS__ +# else +# define QD_HAS_ADDRESS_SANITIZER 0 +# endif +# if defined(__SANITIZE_THREAD__) +# define QD_HAS_THREAD_SANITIZER __SANITIZE_THREAD__ +# else +# define QD_HAS_THREAD_SANITIZER 0 +# endif #else # define QD_HAS_ADDRESS_SANITIZER 0 +# define QD_HAS_THREAD_SANITIZER 0 #endif #if QD_HAS_ADDRESS_SANITIZER @@ -72,9 +83,15 @@ void __asan_unpoison_memory_region(void const volatile *addr, size_t size); // https://github.com/google/sanitizers/wiki/AddressSanitizer#turning-off-instrumentation #if QD_HAS_ADDRESS_SANITIZER -# define ATTRIBUTE_NO_SANITIZE_ADDRESS __attribute__((no_sanitize_address)) +# define ATTRIBUTE_NO_SANITIZE_ADDRESS __attribute__((no_sanitize_address)) __attribute__((no_sanitize("address"))) #else # define ATTRIBUTE_NO_SANITIZE_ADDRESS #endif // QD_HAS_ADDRESS_SANITIZER +#if QD_HAS_THREAD_SANITIZER +# define ATTRIBUTE_NO_SANITIZE_THREAD __attribute__((no_sanitize_thread)) __attribute__((no_sanitize("thread"))) +#else +# define ATTRIBUTE_NO_SANITIZE_THREAD +#endif // QD_HAS_THREAD_SANITIZER + #endif // __qd_asan_interface_h__ --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
