This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.24-666-g64ae9fe
- From: schwab at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 1 Feb 2017 00:33:15 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.24-666-g64ae9fe
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 64ae9fe45662c8994b0e56ab469b01967408a154 (commit)
from efeca5dac690aafe7b921c6523eba86b9fbde9fe (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=64ae9fe45662c8994b0e56ab469b01967408a154
commit 64ae9fe45662c8994b0e56ab469b01967408a154
Author: Andreas Schwab <schwab@linux-m68k.org>
Date: Wed Feb 1 01:30:24 2017 +0100
m68k: fix 64bit atomic ops
diff --git a/ChangeLog b/ChangeLog
index e715d6f..194c8c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-02-01 Andreas Schwab <schwab@linux-m68k.org>
+
+ * sysdeps/m68k/m680x0/m68020/atomic-machine.h
+ (__arch_compare_and_exchange_val_64_acq, atomic_exchange_acq)
+ (atomic_exchange_and_add, atomic_add): Add casts to 64 bit asm
+ operands.
+
2017-01-31 Chung-Lin Tang <cltang@codesourcery.com>
* sysdeps/unix/sysv/linux/nios2/ipc_priv.h: New file.
diff --git a/sysdeps/m68k/m680x0/m68020/atomic-machine.h b/sysdeps/m68k/m680x0/m68020/atomic-machine.h
index 5c37d86..00dc22d 100644
--- a/sysdeps/m68k/m680x0/m68020/atomic-machine.h
+++ b/sysdeps/m68k/m680x0/m68020/atomic-machine.h
@@ -73,7 +73,7 @@ typedef uintmax_t uatomic_max_t;
__typeof (mem) __memp = (mem); \
__asm __volatile ("cas2%.l %0:%R0,%1:%R1,(%2):(%3)" \
: "=d" (__ret) \
- : "d" (newval), "r" (__memp), \
+ : "d" ((__typeof (*(mem))) (newval)), "r" (__memp), \
"r" ((char *) __memp + 4), "0" (oldval) \
: "memory"); \
__ret; })
@@ -101,8 +101,9 @@ typedef uintmax_t uatomic_max_t;
__asm __volatile ("1: cas2%.l %0:%R0,%1:%R1,(%2):(%3);" \
" jbne 1b" \
: "=d" (__result) \
- : "d" (newvalue), "r" (__memp), \
- "r" ((char *) __memp + 4), "0" (__result) \
+ : "d" ((__typeof (*(mem))) (newvalue)), \
+ "r" (__memp), "r" ((char *) __memp + 4), \
+ "0" (__result) \
: "memory"); \
} \
__result; })
@@ -144,7 +145,7 @@ typedef uintmax_t uatomic_max_t;
" cas2%.l %0:%R0,%1:%R1,(%3):(%4);" \
" jbne 1b" \
: "=d" (__result), "=&d" (__temp) \
- : "d" (value), "r" (__memp), \
+ : "d" ((__typeof (*(mem))) (value)), "r" (__memp), \
"r" ((char *) __memp + 4), "0" (__result) \
: "memory"); \
} \
@@ -175,8 +176,9 @@ typedef uintmax_t uatomic_max_t;
" cas2%.l %0:%R0,%1:%R1,(%3):(%4);" \
" jbne 1b" \
: "=d" (__oldval), "=&d" (__temp) \
- : "d" (value), "r" (__memp), \
- "r" ((char *) __memp + 4), "0" (__oldval) \
+ : "d" ((__typeof (*(mem))) (value)), \
+ "r" (__memp), "r" ((char *) __memp + 4), \
+ "0" (__oldval) \
: "memory"); \
} \
})
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 7 +++++++
sysdeps/m68k/m680x0/m68020/atomic-machine.h | 14 ++++++++------
2 files changed, 15 insertions(+), 6 deletions(-)
hooks/post-receive
--
GNU C Library master sources