summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/winbase.h
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/winbase.h')
-rw-r--r--winsup/cygwin/winbase.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/winsup/cygwin/winbase.h b/winsup/cygwin/winbase.h
index fc9af06fb..3b645e50b 100644
--- a/winsup/cygwin/winbase.h
+++ b/winsup/cygwin/winbase.h
@@ -9,9 +9,9 @@ ilockincr (long *m)
register int __res;
__asm__ __volatile__ ("\n\
movl $1,%0\n\
- lock xadd %0,(%1)\n\
+ lock xadd %0,%1\n\
inc %0\n\
- ": "=a" (__res), "=q" (m): "1" (m));
+ ": "=a" (__res), "+m" (m): : "memory", "cc");
return __res;
}
@@ -21,9 +21,9 @@ ilockdecr (long *m)
register int __res;
__asm__ __volatile__ ("\n\
movl $0xffffffff,%0\n\
- lock xadd %0,(%1)\n\
+ lock xadd %0,%1\n\
dec %0\n\
- ": "=a" (__res), "=q" (m): "1" (m));
+ ": "=a" (__res), "+m" (m): : "memory", "cc");
return __res;
}
@@ -34,7 +34,7 @@ ilockexch (long *t, long v)
__asm__ __volatile__ ("\n\
1: lock cmpxchgl %3,(%1)\n\
jne 1b\n\
- ": "=a" (__res), "=q" (t): "1" (t), "q" (v), "0" (*t): "memory": "cc");
+ ": "=a" (__res), "=q" (t): "1" (t), "q" (v), "0" (*t): "memory", "cc");
return __res;
}
@@ -44,7 +44,7 @@ ilockcmpexch (long *t, long v, long c)
register int __res;
__asm__ __volatile__ ("\n\
lock cmpxchgl %3,(%1)\n\
- ": "=a" (__res), "=q" (t) : "1" (t), "q" (v), "0" (c): "memory": "cc");
+ ": "=a" (__res), "=q" (t) : "1" (t), "q" (v), "0" (c): "memory", "cc");
return __res;
}