summaryrefslogtreecommitdiff
path: root/i386/i386/lock.h
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2008-08-03 13:00:44 +0000
committerThomas Schwinge <tschwinge@gnu.org>2009-06-18 00:27:18 +0200
commit511300311b1a57ad7279f91ab11d1bcf6fe202da (patch)
tree4d0423f6b860a88576e366fcef7b26e6dab92288 /i386/i386/lock.h
parenta2e1ed839ebd352c3114193c24a61ef2ef72ddff (diff)
2008-08-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
* i386/i386/lock.h (_simple_lock_xchg_, bit_lock, bit_unlock): Add memory clobbers. * i386/include/mach/i386/cthreads.h (spin_unlock, spin_try_lock): Add memory clobbers.
Diffstat (limited to 'i386/i386/lock.h')
-rw-r--r--i386/i386/lock.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/i386/i386/lock.h b/i386/i386/lock.h
index 2b5c4aa..38a66c8 100644
--- a/i386/i386/lock.h
+++ b/i386/i386/lock.h
@@ -47,7 +47,7 @@
({ register int _old_val_; \
asm volatile("xchgl %0, %2" \
: "=r" (_old_val_) \
- : "0" (new_val), "m" (*(lock)) \
+ : "0" (new_val), "m" (*(lock) : "memory") \
); \
_old_val_; \
})
@@ -81,7 +81,7 @@
btsl %0, %1 \n\
jb 0b" \
: \
- : "r" (bit), "m" (*(volatile int *)(l))); \
+ : "r" (bit), "m" (*(volatile int *)(l)) : "memory"); \
0; \
})
@@ -90,7 +90,7 @@
asm volatile(" lock \n\
btrl %0, %1" \
: \
- : "r" (bit), "m" (*(volatile int *)(l))); \
+ : "r" (bit), "m" (*(volatile int *)(l)) : "memory"); \
0; \
})