X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Fust-compiler.h;fp=include%2Flttng%2Fust-compiler.h;h=31eaf73c0139026b9adbb8c87ca7076c0df77125;hb=4f74bc5ef1bff1198cf47bd823cc5dc2e8fd9649;hp=1d04da1ac39857a6d35533794e7341fefb99ce4d;hpb=9ee5b0883c5aea8f461b6c382d2cf7ee7f3c0ba6;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 */