From 635442bfd859e2629711596be1471f6d70006de6 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 11 Sep 2012 17:22:54 +0200 Subject: [PATCH] re PR libstdc++/54172 (__cxa_guard_acquire thread-safety issue) PR libstdc++/54172 * libsupc++/guard.cc (__cxa_guard_acquire): Fix up the last argument of the first __atomic_compare_exchange_n. From-SVN: r191190 --- libstdc++-v3/ChangeLog | 6 ++++++ libstdc++-v3/libsupc++/guard.cc | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 4ecedf818bd..3c53345173d 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2012-09-11 Jakub Jelinek + + PR libstdc++/54172 + * libsupc++/guard.cc (__cxa_guard_acquire): Fix up the last + argument of the first __atomic_compare_exchange_n. + 2012-09-10 Sebastian Huber Jonathan Wakely diff --git a/libstdc++-v3/libsupc++/guard.cc b/libstdc++-v3/libsupc++/guard.cc index 60165cdecb4..f8550c03fae 100644 --- a/libstdc++-v3/libsupc++/guard.cc +++ b/libstdc++-v3/libsupc++/guard.cc @@ -253,7 +253,7 @@ namespace __cxxabiv1 int expected(0); if (__atomic_compare_exchange_n(gi, &expected, pending_bit, false, __ATOMIC_ACQ_REL, - __ATOMIC_RELAXED)) + __ATOMIC_ACQUIRE)) { // This thread should do the initialization. return 1; -- 2.30.2