summaryrefslogtreecommitdiff
path: root/libstdc++-v3/config
diff options
context:
space:
mode:
authorDavid Edelsohn <dje@gcc.gnu.org>2015-05-21 13:18:25 -0400
committerDavid Edelsohn <dje@gcc.gnu.org>2015-05-21 13:18:25 -0400
commite3592e196a92f72d6195023b24f4d1aab9c64242 (patch)
treee206a4c4accbe87c6e55763c3910ca85c1d50648 /libstdc++-v3/config
parentf3da53751662e7a4e2fd6a1c119565518f1e2c63 (diff)
downloadgcc-e3592e196a92f72d6195023b24f4d1aab9c64242.tar.gz
re PR target/66224 (PowerPC _GLIBCXX_READ_MEM_BARRIER too weak)
PR target/66224 * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Don't use isync. Use lwsync if available. * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use powerpc cpu definition. From-SVN: r223496
Diffstat (limited to 'libstdc++-v3/config')
-rw-r--r--libstdc++-v3/config/cpu/powerpc/atomic_word.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/libstdc++-v3/config/cpu/powerpc/atomic_word.h b/libstdc++-v3/config/cpu/powerpc/atomic_word.h
index e044ccdddd7..1ceb02cf702 100644
--- a/libstdc++-v3/config/cpu/powerpc/atomic_word.h
+++ b/libstdc++-v3/config/cpu/powerpc/atomic_word.h
@@ -27,10 +27,11 @@
typedef int _Atomic_word;
-#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("isync":::"memory")
#ifdef __NO_LWSYNC__
+#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("sync":::"memory")
#define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("sync":::"memory")
#else
+#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("lwsync":::"memory")
#define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("lwsync":::"memory")
#endif