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
This commit is contained in:
David Edelsohn 2015-05-21 13:18:25 -04:00
parent f3da537516
commit e3592e196a
3 changed files with 11 additions and 3 deletions

View 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.

View File

@ -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

View 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