mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 10:22:41 +08:00
* sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_32_acq,
__arch_compare_and_exchange_val_64_acq): Add "memory" clobber. 2008-11-03 Michael Matz <matz@suse.de> * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_32_acq, __arch_compare_and_exchange_val_64_acq): Add "memory" clobber.
This commit is contained in:
parent
09f66a4f52
commit
a90695507e
@ -1,3 +1,8 @@
|
||||
2008-11-03 Michael Matz <matz@suse.de>
|
||||
|
||||
* sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_32_acq,
|
||||
__arch_compare_and_exchange_val_64_acq): Add "memory" clobber.
|
||||
|
||||
2008-11-07 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* include/stdio.h (__builtin_fwrite, __builtin_fwrite_unlocked):
|
||||
|
@ -56,7 +56,7 @@ typedef uintmax_t uatomic_max_t;
|
||||
__typeof (*mem) __archold = (oldval); \
|
||||
__asm __volatile ("cs %0,%2,%1" \
|
||||
: "+d" (__archold), "=Q" (*__archmem) \
|
||||
: "d" (newval), "m" (*__archmem) : "cc" ); \
|
||||
: "d" (newval), "m" (*__archmem) : "cc", "memory" ); \
|
||||
__archold; })
|
||||
|
||||
#ifdef __s390x__
|
||||
@ -65,7 +65,7 @@ typedef uintmax_t uatomic_max_t;
|
||||
__typeof (*mem) __archold = (oldval); \
|
||||
__asm __volatile ("csg %0,%2,%1" \
|
||||
: "+d" (__archold), "=Q" (*__archmem) \
|
||||
: "d" ((long) (newval)), "m" (*__archmem) : "cc" ); \
|
||||
: "d" ((long) (newval)), "m" (*__archmem) : "cc", "memory" ); \
|
||||
__archold; })
|
||||
#else
|
||||
/* For 31 bit we do not really need 64-bit compare-and-exchange. We can
|
||||
|
Loading…
Reference in New Issue
Block a user