aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2021-09-15 16:03:17 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2021-09-15 16:03:17 +0000
commit45cb7671133efa52b63f301e8439a71259abe478 (patch)
tree24040d3d81dda4da2a7d9c73fff78f494aa32692
parentd2bc7754a226c031b76184277e32c4d65a763f67 (diff)
downloadsrc-45cb7671133efa52b63f301e8439a71259abe478.tar.gz
src-45cb7671133efa52b63f301e8439a71259abe478.zip
Only define sanitizer wrappers for atomic fences once.
Previously, this was defining duplicate definitions for each type. This fixes a redundat definition warning from GCC. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D31965
-rw-r--r--sys/sys/atomic_san.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/sys/atomic_san.h b/sys/sys/atomic_san.h
index 30bd01c97cf2..b0790962d8bd 100644
--- a/sys/sys/atomic_san.h
+++ b/sys/sys/atomic_san.h
@@ -76,13 +76,16 @@
int sp##_atomic_##op##_##name(volatile type *, u_int); \
int sp##_atomic_##op##_acq_##name(volatile type *, u_int)
-#define ATOMIC_SAN_THREAD_FENCE(sp) \
+#define _ATOMIC_SAN_THREAD_FENCE(sp) \
void sp##_atomic_thread_fence_acq(void); \
void sp##_atomic_thread_fence_rel(void); \
void sp##_atomic_thread_fence_acq_rel(void); \
void sp##_atomic_thread_fence_seq_cst(void); \
void sp##_atomic_interrupt_fence(void)
+#define ATOMIC_SAN_THREAD_FENCE(sp) \
+ _ATOMIC_SAN_THREAD_FENCE(sp)
+
#define _ATOMIC_SAN_FUNCS(sp, name, type) \
ATOMIC_SAN_FUNC_1(sp, add, name, type); \
ATOMIC_SAN_FUNC_1(sp, clear, name, type); \
@@ -96,8 +99,7 @@
ATOMIC_SAN_STORE(sp, name, type); \
ATOMIC_SAN_READ(sp, swap, name, type); \
ATOMIC_SAN_TEST(sp, testandclear, name, type); \
- ATOMIC_SAN_TEST(sp, testandset, name, type); \
- ATOMIC_SAN_THREAD_FENCE(sp);
+ ATOMIC_SAN_TEST(sp, testandset, name, type)
#define ATOMIC_SAN_FUNCS(name, type) \
_ATOMIC_SAN_FUNCS(SAN_INTERCEPTOR_PREFIX, name, type)
@@ -111,6 +113,7 @@ ATOMIC_SAN_FUNCS(8, uint8_t);
ATOMIC_SAN_FUNCS(16, uint16_t);
ATOMIC_SAN_FUNCS(32, uint32_t);
ATOMIC_SAN_FUNCS(64, uint64_t);
+ATOMIC_SAN_THREAD_FENCE(SAN_INTERCEPTOR_PREFIX);
#ifndef SAN_RUNTIME