This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.24-35-gf0e3925


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  f0e3925bf3b8df6940c3346db17e42615979d458 (commit)
      from  cb864fe0ecb52bff2961bfaffd5823a49bfdff01 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=f0e3925bf3b8df6940c3346db17e42615979d458

commit f0e3925bf3b8df6940c3346db17e42615979d458
Author: Torvald Riegel <triegel@redhat.com>
Date:   Thu Jul 21 14:31:28 2016 +0200

    Add atomic_exchange_relaxed.
    
    	* include/atomic.h (atomic_exchange_relaxed): New.

diff --git a/ChangeLog b/ChangeLog
index 1e63a38..205da06 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2016-08-05  Torvald Riegel  <triegel@redhat.com>
+
+	* include/atomic.h (atomic_exchange_relaxed): New.
+
 2016-08-04  Joseph Myers  <joseph@codesourcery.com>
 
 	* math/e_scalb.c: Do not include <fenv.h>.
diff --git a/include/atomic.h b/include/atomic.h
index ad3db25..129ee24 100644
--- a/include/atomic.h
+++ b/include/atomic.h
@@ -588,6 +588,9 @@ void __atomic_link_error (void);
   __atomic_compare_exchange_n ((mem), (expected), (desired), 1,		      \
     __ATOMIC_RELEASE, __ATOMIC_RELAXED); })
 
+# define atomic_exchange_relaxed(mem, desired) \
+  ({ __atomic_check_size((mem));					      \
+  __atomic_exchange_n ((mem), (desired), __ATOMIC_RELAXED); })
 # define atomic_exchange_acquire(mem, desired) \
   ({ __atomic_check_size((mem));					      \
   __atomic_exchange_n ((mem), (desired), __ATOMIC_ACQUIRE); })
@@ -684,6 +687,12 @@ void __atomic_link_error (void);
    *(expected) == __atg103_expected; })
 # endif
 
+/* XXX Fall back to acquire MO because archs do not define a weaker
+   atomic_exchange.  */
+# ifndef atomic_exchange_relaxed
+#  define atomic_exchange_relaxed(mem, val) \
+   atomic_exchange_acq ((mem), (val))
+# endif
 # ifndef atomic_exchange_acquire
 #  define atomic_exchange_acquire(mem, val) \
    atomic_exchange_acq ((mem), (val))

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog        |    4 ++++
 include/atomic.h |    9 +++++++++
 2 files changed, 13 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]