2000-11-27 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+ * config/cpu/arm/bits/atomicity.h (__exchange_and_add): Add
+ __volatile__ to asm.
+ (__atomic_add): Likewise.
+ (__compare_and_swap): Likewise.
+ (__always_swap): Likewise.
+ (__test_and_set): Likewise.
+
* config/cpu/powerpc/bits/atomicity.h: Replace '__ATOMICITY_INLINE'
with 'inline'.
- (__ex__atomic_add): Add __volatile__ to asm.
+ (__exchange_and_add): Add __volatile__ to asm.
(__atomic_add): Likewise.
(__compare_and_swap): Likewise.
(__always_swap): Likewise.
__exchange_and_add (volatile _Atomic_word* __mem, int __val)
{
_Atomic_word __tmp, __tmp2, __result;
- __asm__ ("\
+ __asm__ __volatile__ ("\
0: ldr %0,[%3]
add %1,%0,%4
swp %2,%1,[%3]
__atomic_add (volatile _Atomic_word *__mem, int __val)
{
_Atomic_word __tmp, __tmp2, __tmp3;
- __asm__ ("\
+ __asm__ __volatile__ ("\
0: ldr %0,[%3]
add %1,%0,%4
swp %2,%1,[%3]
{
int __result;
long __tmp;
- __asm__ ("\
+ __asm__ __volatile__ ("\
0: ldr %1,[%2]
mov %0,#0
cmp %1,%4
__always_swap (volatile long *__p, long __newval)
{
long __result;
- __asm__ ("\
+ __asm__ __volatile__ ("\
swp %0,%2,[%1]
" : "=&r"(__result) : "r"(__p), "r"(__newval) : "memory");
return __result;
{
int __result;
long __tmp;
- __asm__ ("\
+ __asm__ __volatile__ ("\
0: ldr %0,[%2]
cmp %0,#0
bne 1f