diff options
author | David Edelsohn <dje@gcc.gnu.org> | 2015-05-21 13:18:25 -0400 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2015-05-21 13:18:25 -0400 |
commit | e3592e196a92f72d6195023b24f4d1aab9c64242 (patch) | |
tree | e206a4c4accbe87c6e55763c3910ca85c1d50648 /libstdc++-v3/config | |
parent | f3da53751662e7a4e2fd6a1c119565518f1e2c63 (diff) | |
download | gcc-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.h | 3 |
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 |