re PR target/66224 (PowerPC _GLIBCXX_READ_MEM_BARRIER too weak)
authorDavid Edelsohn <dje@gcc.gnu.org>
Thu, 21 May 2015 17:18:25 +0000 (13:18 -0400)
committerDavid Edelsohn <dje@gcc.gnu.org>
Thu, 21 May 2015 17:18:25 +0000 (13:18 -0400)
        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

libstdc++-v3/ChangeLog
libstdc++-v3/config/cpu/powerpc/atomic_word.h
libstdc++-v3/configure.host

index 3b44f54e91f8b9330261843bd9556a4e75a8e99f..6f2c465a7d145c81f76f0033c023a6d463b2c9c9 100644 (file)
@@ -1,9 +1,17 @@
+2015-05-21  David Edelsohn  <dje.gcc@gmail.com>
+
+       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.
+
 2015-05-21  Jason Merrill  <jason@redhat.com>
 
        * libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
        * libsupc++/del_op.cc: Likewise.
 
-2015-05-20  François Dumont  <fdumont@gcc.gnu.org>
+2015-05-20  François Dumont  fdumont@gcc.gnu.org>
 
        * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
        usage of typeid.
index e044ccdddd73c73bcba79cc5efb076fb2bd99d3e..1ceb02cf7028f941cd8ce2db7ac60fa0174e8bfd 100644 (file)
 
 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
 
index 465a40a437ef382441107b7855f07aa05e6d2fa6..8892f31f2745a92c97beeba1858c087088eae1e4 100644 (file)
@@ -219,7 +219,6 @@ case "${host_os}" in
     # Newer versions of AIX only support PowerPC architecture, so use
     # atomic instructions directly.
     os_include_dir="os/aix"
-    atomic_word_dir="os/aix"
     ;;
   aix4.[3456789]*)
     # We set os_include_dir to os/aix only on AIX 4.3 and newer, but