X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Fust-compiler.h;h=31eaf73c0139026b9adbb8c87ca7076c0df77125;hb=5d17a2b186ccd9156f4901ac70cfb36762db975e;hp=d93db35e39419c335674ffe4d9d768b3e2aade69;hpb=d2428e875af8666473fb689429eaf1022862510d;p=lttng-ust.git diff --git a/include/lttng/ust-compiler.h b/include/lttng/ust-compiler.h index d93db35e..31eaf73c 100644 --- a/include/lttng/ust-compiler.h +++ b/include/lttng/ust-compiler.h @@ -25,5 +25,22 @@ */ #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 */