Fix: tracepoint.h: Disable address sanitizer on pointer array section variables
[lttng-ust.git] / include / lttng / ust-compiler.h
index 1d04da1ac39857a6d35533794e7341fefb99ce4d..31eaf73c0139026b9adbb8c87ca7076c0df77125 100644 (file)
 #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 */
This page took 0.023681 seconds and 4 git commands to generate.