2002-03-22  Ulrich Drepper  <drepper@redhat.com>

	* internals.h (MEMORY_BARRIER): Define as asm with memory as clobber.
This commit is contained in:
Ulrich Drepper 2002-03-22 08:29:10 +00:00
parent c7a9b6e2d3
commit 32fe4a9320
2 changed files with 10 additions and 4 deletions

View File

@ -1,3 +1,7 @@
2002-03-22 Ulrich Drepper <drepper@redhat.com>
* internals.h (MEMORY_BARRIER): Define as asm with memory as clobber.
2002-03-17 Andreas Jaeger <aj@suse.de>
* sysdeps/i386/pt-machine.h: Add testandset and __compare_and_swap

View File

@ -193,12 +193,14 @@ static inline int nonexisting_handle(pthread_handle h, pthread_t id)
#define THREAD_STACK_START_ADDRESS __pthread_initial_thread_bos
#endif
/* If MEMORY_BARRIER isn't defined in pt-machine.h, assume the architecture
doesn't need a memory barrier instruction (e.g. Intel x86). Some
architectures distinguish between full, read and write barriers. */
/* If MEMORY_BARRIER isn't defined in pt-machine.h, assume the
architecture doesn't need a memory barrier instruction (e.g. Intel
x86). Still we need the compiler to respect the barrier and emit
all outstanding operations which modify memory. Some architectures
distinguish between full, read and write barriers. */
#ifndef MEMORY_BARRIER
#define MEMORY_BARRIER()
#define MEMORY_BARRIER() asm ("" : : : "memory")
#endif
#ifndef READ_MEMORY_BARRIER
#define READ_MEMORY_BARRIER() MEMORY_BARRIER()