diff --git a/include/atomic.h b/include/atomic.h index 227c4cdf27..866c11c11f 100644 --- a/include/atomic.h +++ b/include/atomic.h @@ -108,7 +108,7 @@ #ifndef atomic_read_barrier -# define atomic_read_barrier() atomic_full_barrier () +# define atomic_read_barrier() __atomic_thread_fence (__ATOMIC_ACQUIRE); #endif diff --git a/sysdeps/alpha/atomic-machine.h b/sysdeps/alpha/atomic-machine.h index a1d74a930e..198f5dc037 100644 --- a/sysdeps/alpha/atomic-machine.h +++ b/sysdeps/alpha/atomic-machine.h @@ -22,5 +22,4 @@ /* XXX Is this actually correct? */ #define ATOMIC_EXCHANGE_USES_CAS 1 -#define atomic_read_barrier() __asm ("mb" : : : "memory"); #define atomic_write_barrier() __asm ("wmb" : : : "memory"); diff --git a/sysdeps/generic/malloc-machine.h b/sysdeps/generic/malloc-machine.h index 195fd8c5e6..4fb8e809cc 100644 --- a/sysdeps/generic/malloc-machine.h +++ b/sysdeps/generic/malloc-machine.h @@ -22,10 +22,6 @@ #include -#ifndef atomic_read_barrier -# define atomic_read_barrier() atomic_full_barrier () -#endif - #ifndef atomic_write_barrier # define atomic_write_barrier() atomic_full_barrier () #endif diff --git a/sysdeps/powerpc/atomic-machine.h b/sysdeps/powerpc/atomic-machine.h index 65c774a064..e173b61e9c 100644 --- a/sysdeps/powerpc/atomic-machine.h +++ b/sysdeps/powerpc/atomic-machine.h @@ -37,23 +37,11 @@ #endif #ifdef _ARCH_PWR4 -/* - * Newer powerpc64 processors support the new "light weight" sync (lwsync) - * So if the build is using -mcpu=[power4,power5,power5+,970] we can - * safely use lwsync. - */ -# define atomic_read_barrier() __asm ("lwsync" ::: "memory") /* * "light weight" sync can also be used for the release barrier. */ # define atomic_write_barrier() __asm ("lwsync" ::: "memory") #else -/* - * Older powerpc32 processors don't support the new "light weight" - * sync (lwsync). So the only safe option is to use normal sync - * for all powerpc32 applications. - */ -# define atomic_read_barrier() __asm ("sync" ::: "memory") # define atomic_write_barrier() __asm ("sync" ::: "memory") #endif diff --git a/sysdeps/x86/atomic-machine.h b/sysdeps/x86/atomic-machine.h index 97d9c99fa6..f46a0868e3 100644 --- a/sysdeps/x86/atomic-machine.h +++ b/sysdeps/x86/atomic-machine.h @@ -31,7 +31,6 @@ #define ATOMIC_EXCHANGE_USES_CAS 0 -#define atomic_read_barrier() __asm ("" ::: "memory") #define atomic_write_barrier() __asm ("" ::: "memory") #define atomic_spin_nop() __asm ("pause")