diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-11-07 15:18:47 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2008-11-07 15:18:47 +0000 |
commit | a90695507e7ae4bac5f24ff29e0febf35929c255 (patch) | |
tree | e9815eeb8e62b2ff4501ddb46c8b3f02b88aa231 /sysdeps/s390/bits/atomic.h | |
parent | 09f66a4f52fa6ade6d93c8bc16bbb349cb52d915 (diff) | |
download | glibc-a90695507e7ae4bac5f24ff29e0febf35929c255.tar.gz glibc-a90695507e7ae4bac5f24ff29e0febf35929c255.tar.xz glibc-a90695507e7ae4bac5f24ff29e0febf35929c255.zip |
* 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.
Diffstat (limited to 'sysdeps/s390/bits/atomic.h')
-rw-r--r-- | sysdeps/s390/bits/atomic.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/s390/bits/atomic.h b/sysdeps/s390/bits/atomic.h index aa00473413..95d0390d09 100644 --- a/sysdeps/s390/bits/atomic.h +++ b/sysdeps/s390/bits/atomic.h @@ -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 |