From fd96ab04d32c94509f89203462b6f50c92103b06 Mon Sep 17 00:00:00 2001 From: tegge Date: Sun, 28 May 2006 17:32:39 +0000 Subject: Backport 2002-03-22 fix from newer linuxthreads versions defining MEMORY_BARRIER() as a asm op which clobbers memory to avoid unintended reordering by the compiler. --- devel/linuxthreads/files/patch-barrier | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 devel/linuxthreads/files/patch-barrier (limited to 'devel') diff --git a/devel/linuxthreads/files/patch-barrier b/devel/linuxthreads/files/patch-barrier new file mode 100644 index 000000000000..f60402d634c0 --- /dev/null +++ b/devel/linuxthreads/files/patch-barrier @@ -0,0 +1,21 @@ +--- internals.h.orig Tue May 16 00:23:50 2006 ++++ internals.h Tue May 16 00:24:21 2006 +@@ -395,12 +395,14 @@ + #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() -- cgit