aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@systemhalted.org>2016-10-26 00:00:13 -0400
committerCarlos O'Donell <carlos@systemhalted.org>2016-10-26 00:00:13 -0400
commitabff18c0c6055ca5d1cd46923fd1205c057139a5 (patch)
treeac538e66a01817613655e12cd17222e67b24e3ed /ChangeLog
parentcd74aa4d5ccae1ae9d815ae7088f06d6fc4aaffc (diff)
downloadglibc-abff18c0c6055ca5d1cd46923fd1205c057139a5.zip
glibc-abff18c0c6055ca5d1cd46923fd1205c057139a5.tar.gz
glibc-abff18c0c6055ca5d1cd46923fd1205c057139a5.tar.bz2
Fix atomic_fetch_xor_release.
No code uses atomic_fetch_xor_release except for the upcoming conditional variable rewrite. Therefore there is no user visible bug here. The use of atomic_compare_and_exchange_bool_rel is removed (since it doesn't exist anymore), and is replaced by atomic_compare_exchange_weak_release. We use weak_release because it provides better performance in the loop (the weak semantic) and because the xor is release MO (the release semantic). We don't reload expected in the loop because atomic_compare_and_exchange_weak_release does this for us as part of the CAS failure. It is otherwise a fairly plain conversion that fixes building the new condvar for 32-bit x86. Passes all regression tests for x86.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog6
1 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 6b8763f..9c4d06f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2016-10-26 Carlos O'Donell <carlos@redhat.com>
+
+ * include/atomic.h
+ [USE_COMPILER_ATOMIC_BUILTINS && !atomic_fetch_xor_release]
+ (atomic_fetch_xor_release): Use atomic_compare_exchange_weak_release.
+
2016-10-25 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>
* stdlib/Makefile (tests): Add tst-strfrom and tst-strfrom-locale.