about summary refs log tree commit diff
path: root/malloc/thread-m.h
diff options
context:
space:
mode:
Diffstat (limited to 'malloc/thread-m.h')
-rw-r--r--malloc/thread-m.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/malloc/thread-m.h b/malloc/thread-m.h
index da8bbf36f8..1dcaed0514 100644
--- a/malloc/thread-m.h
+++ b/malloc/thread-m.h
@@ -31,6 +31,7 @@
 
 #if defined(_LIBC) /* The GNU C library, a special case of Posix threads */
 
+#include <atomic.h>
 #include <bits/libc-lock.h>
 
 #ifdef PTHREAD_MUTEX_INITIALIZER
@@ -306,4 +307,16 @@ typedef void *tsd_key_t;
 
 #endif /* defined(NO_THREADS) */
 
+#ifndef atomic_full_barrier
+# define atomic_full_barrier() __asm ("" ::: "memory")
+#endif
+
+#ifndef atomic_read_barrier
+# define atomic_read_barrier() atomic_full_barrier ()
+#endif
+
+#ifndef atomic_write_barrier
+# define atomic_write_barrier() atomic_full_barrier ()
+#endif
+
 #endif /* !defined(_THREAD_M_H) */