X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Fust-compiler.h;h=31eaf73c0139026b9adbb8c87ca7076c0df77125;hb=5d17a2b186ccd9156f4901ac70cfb36762db975e;hp=1d04da1ac39857a6d35533794e7341fefb99ce4d;hpb=5938665d83cb964348bc4761abfd778ec5bd068d;p=lttng-ust.git diff --git a/include/lttng/ust-compiler.h b/include/lttng/ust-compiler.h index 1d04da1a..31eaf73c 100644 --- a/include/lttng/ust-compiler.h +++ b/include/lttng/ust-compiler.h @@ -27,4 +27,20 @@ #define lttng_ust_notrace __attribute__((no_instrument_function)) #define LTTNG_PACKED __attribute__((__packed__)) +/* + * Clang supports the no_sanitize variable attribute on global variables. + * GCC only supports the no_sanitize_address function attribute, which is + * not what we need. + */ +#if defined(__clang__) +# if __has_feature(address_sanitizer) +# define __lttng_ust_variable_attribute_no_sanitize_address \ + __attribute__((no_sanitize("address"))) +# else +# define __lttng_ust_variable_attribute_no_sanitize_address +# endif +#else +# define __lttng_ust_variable_attribute_no_sanitize_address +#endif + #endif /* _LTTNG_UST_COMPILER_H */