mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 13:00:06 +00:00
m68k: fix 64-bit arithmetic in atomic operations (bug 18128)
This commit is contained in:
parent
2ecccaede9
commit
a3905fd9de
@ -1,3 +1,10 @@
|
||||
2015-03-14 Andreas Schwab <schwab@linux-m68k.org>
|
||||
|
||||
[BZ #18128]
|
||||
* sysdeps/m68k/m680x0/m68020/bits/atomic.h (atomic_exchange_and_add)
|
||||
(atomic_add, atomic_increment_and_test)
|
||||
(atomic_decrement_and_test): Fix 64-bit arithmetic.
|
||||
|
||||
2015-03-13 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* stdlib/setenv.c (__add_to_environ):
|
||||
|
2
NEWS
2
NEWS
@ -14,7 +14,7 @@ Version 2.22
|
||||
17779, 17792, 17836, 17912, 17916, 17932, 17944, 17949, 17964, 17965,
|
||||
17967, 17969, 17978, 17987, 17991, 17996, 17998, 17999, 18019, 18020,
|
||||
18029, 18030, 18032, 18036, 18038, 18039, 18042, 18043, 18046, 18047,
|
||||
18068, 18080, 18093, 18104, 18110, 18111.
|
||||
18068, 18080, 18093, 18104, 18110, 18111, 18128.
|
||||
|
||||
* Character encoding and ctype tables were updated to Unicode 7.0.0, using
|
||||
new generator scripts contributed by Pravin Satpute and Mike FABIAN (Red
|
||||
|
@ -139,8 +139,8 @@ typedef uintmax_t uatomic_max_t;
|
||||
__typeof (mem) __memp = (mem); \
|
||||
__asm __volatile ("1: move%.l %0,%1;" \
|
||||
" move%.l %R0,%R1;" \
|
||||
" add%.l %2,%1;" \
|
||||
" addx%.l %R2,%R1;" \
|
||||
" add%.l %R2,%R1;" \
|
||||
" addx%.l %2,%1;" \
|
||||
" cas2%.l %0:%R0,%1:%R1,(%3):(%4);" \
|
||||
" jbne 1b" \
|
||||
: "=d" (__result), "=&d" (__temp) \
|
||||
@ -170,8 +170,8 @@ typedef uintmax_t uatomic_max_t;
|
||||
__typeof (*(mem)) __temp; \
|
||||
__asm __volatile ("1: move%.l %0,%1;" \
|
||||
" move%.l %R0,%R1;" \
|
||||
" add%.l %2,%1;" \
|
||||
" addx%.l %R2,%R1;" \
|
||||
" add%.l %R2,%R1;" \
|
||||
" addx%.l %2,%1;" \
|
||||
" cas2%.l %0:%R0,%1:%R1,(%3):(%4);" \
|
||||
" jbne 1b" \
|
||||
: "=d" (__oldval), "=&d" (__temp) \
|
||||
@ -199,8 +199,8 @@ typedef uintmax_t uatomic_max_t;
|
||||
__typeof (*(mem)) __temp; \
|
||||
__asm __volatile ("1: move%.l %1,%2;" \
|
||||
" move%.l %R1,%R2;" \
|
||||
" addq%.l %#1,%2;" \
|
||||
" addx%.l %5,%R2;" \
|
||||
" addq%.l %#1,%R2;" \
|
||||
" addx%.l %5,%2;" \
|
||||
" seq %0;" \
|
||||
" cas2%.l %1:%R1,%2:%R2,(%3):(%4);" \
|
||||
" jbne 1b" \
|
||||
@ -230,8 +230,8 @@ typedef uintmax_t uatomic_max_t;
|
||||
__typeof (*(mem)) __temp; \
|
||||
__asm __volatile ("1: move%.l %1,%2;" \
|
||||
" move%.l %R1,%R2;" \
|
||||
" subq%.l %#1,%2;" \
|
||||
" subx%.l %5,%R2;" \
|
||||
" subq%.l %#1,%R2;" \
|
||||
" subx%.l %5,%2;" \
|
||||
" seq %0;" \
|
||||
" cas2%.l %1:%R1,%2:%R2,(%3):(%4);" \
|
||||
" jbne 1b" \
|
||||
|
Loading…
Reference in New Issue
Block a user