[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 19/30] compiler.h: add QEMU_SANITIZE_{ADDRESS,THREAD}
From: |
marcandre . lureau |
Subject: |
[PULL 19/30] compiler.h: add QEMU_SANITIZE_{ADDRESS,THREAD} |
Date: |
Thu, 21 Apr 2022 17:49:29 +0400 |
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Simplify a bit pre-compiler conditions.
For TSAN, QEMU already has CONFIG_TSAN, but it is only set when the
fiber API is present. (I wonder whether supporting TSAN without the
fiber API is really relevant)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20220420132624.2439741-27-marcandre.lureau@redhat.com>
---
include/qemu/compiler.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h
index f12c0fb581ec..f20a76e4a286 100644
--- a/include/qemu/compiler.h
+++ b/include/qemu/compiler.h
@@ -106,6 +106,14 @@
#define __has_attribute(x) 0 /* compatibility with older GCC */
#endif
+#if defined(__SANITIZE_ADDRESS__) || __has_feature(address_sanitizer)
+# define QEMU_SANITIZE_ADDRESS 1
+#endif
+
+#if defined(__SANITIZE_THREAD__) || __has_feature(thread_sanitizer)
+# define QEMU_SANITIZE_THREAD 1
+#endif
+
/*
* GCC doesn't provide __has_attribute() until GCC 5, but we know all the GCC
* versions we support have the "flatten" attribute. Clang may not have the
--
2.36.0
- [PULL 07/30] docs: trace-events-all is installed without renaming, (continued)
- [PULL 07/30] docs: trace-events-all is installed without renaming, marcandre . lureau, 2022/04/21
- [PULL 09/30] arm/allwinner-a10: replace snprintf() with g_strdup_printf(), marcandre . lureau, 2022/04/21
- [PULL 10/30] intc/exynos4210_gic: replace snprintf() with g_strdup_printf(), marcandre . lureau, 2022/04/21
- [PULL 11/30] doc/style: CLang -> Clang, marcandre . lureau, 2022/04/21
- [PULL 12/30] osdep.h: move qemu_build_not_reached(), marcandre . lureau, 2022/04/21
- [PULL 13/30] compiler.h: replace QEMU_NORETURN with G_NORETURN, marcandre . lureau, 2022/04/21
- [PULL 14/30] include: move qemu_msync() to osdep, marcandre . lureau, 2022/04/21
- [PULL 15/30] include: move qemu_fdatasync() to osdep, marcandre . lureau, 2022/04/21
- [PULL 16/30] include: add qemu/keyval.h, marcandre . lureau, 2022/04/21
- [PULL 17/30] include: move qdict_{crumple,flatten} declarations, marcandre . lureau, 2022/04/21
- [PULL 19/30] compiler.h: add QEMU_SANITIZE_{ADDRESS,THREAD},
marcandre . lureau <=
- [PULL 18/30] tests: remove block/qdict checks from check-qobject.c, marcandre . lureau, 2022/04/21
- [PULL 20/30] tests: run-time skip test-qga if TSAN is enabled, marcandre . lureau, 2022/04/21
- [PULL 21/30] Move error_printf_unless_qmp() with monitor unit, marcandre . lureau, 2022/04/21
- [PULL 22/30] qga: move qga_get_host_name(), marcandre . lureau, 2022/04/21
- [PULL 24/30] util: simplify write in signal handler, marcandre . lureau, 2022/04/21
- [PULL 23/30] qtest: simplify socket_send(), marcandre . lureau, 2022/04/21
- [PULL 25/30] util: use qemu_write_full() in qemu_write_pidfile(), marcandre . lureau, 2022/04/21
- [PULL 26/30] util: use qemu_create() in qemu_write_pidfile(), marcandre . lureau, 2022/04/21
- [PULL 27/30] util: replace qemu_get_local_state_pathname(), marcandre . lureau, 2022/04/21
- [PULL 28/30] qga: remove need for QEMU atomic.h, marcandre . lureau, 2022/04/21