aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2020-10-01 12:54:37 +0100
committerJonathan Wakely <jwakely@redhat.com>2020-10-01 12:54:37 +0100
commit026ca1121c2f4514494c10860ef3c49f18eccf9d (patch)
tree07e634869a8c6a5e2e48986b3f6183b19f8f7442
parentf9c86e3105d786cccc88ac5bdbfd2393dc75f8b5 (diff)
downloadgcc-026ca1121c2f4514494c10860ef3c49f18eccf9d.zip
gcc-026ca1121c2f4514494c10860ef3c49f18eccf9d.tar.gz
gcc-026ca1121c2f4514494c10860ef3c49f18eccf9d.tar.bz2
libstdc++: Fix test_and_acquire for EABI
libstdc++-v3/ChangeLog: * config/cpu/arm/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST_AND_ACQUIRE): Do not try to dereference return value of __atomic_load_n.
-rw-r--r--libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h b/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h
index 4fb3486..a08afed 100644
--- a/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h
+++ b/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h
@@ -48,7 +48,7 @@ namespace __cxxabiv1
typedef int __guard;
#define _GLIBCXX_GUARD_TEST_AND_ACQUIRE(x) \
- _GLIBCXX_GUARD_TEST(__atomic_load_n(x, __ATOMIC_ACQUIRE))
+ ((__atomic_load_n(x, __ATOMIC_ACQUIRE) & 1) != 0)
#define _GLIBCXX_GUARD_SET_AND_RELEASE(x) \
__atomic_store_n(x, 1, __ATOMIC_RELEASE)