aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2004-05-25 04:00:49 +0000
committerChristopher Faylor <me@cgf.cx>2004-05-25 04:00:49 +0000
commit1b1f85fa0c18938736ba5e8baeaa82c32e8a1bd1 (patch)
treee00d7ddeec6f168f10fb859c25e45293111b43c6
parent41bba72eb45016d5c6d4a2d95653e0eb6bf4eeed (diff)
downloadnewlib-1b1f85fa0c18938736ba5e8baeaa82c32e8a1bd1.zip
newlib-1b1f85fa0c18938736ba5e8baeaa82c32e8a1bd1.tar.gz
newlib-1b1f85fa0c18938736ba5e8baeaa82c32e8a1bd1.tar.bz2
* winbase.h: Add proper attributions for memory operands throughout.
-rw-r--r--winsup/cygwin/ChangeLog4
-rw-r--r--winsup/cygwin/winbase.h12
2 files changed, 10 insertions, 6 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 0b38685..0181337 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,7 @@
+2004-05-25 Christopher Faylor <cgf@alum.bu.edu>
+
+ * winbase.h: Add proper attributions for memory operands throughout.
+
2004-05-24 Christopher Faylor <cgf@alum.bu.edu>
* include/cygwin/version.h: Bump api minor version number.
diff --git a/winsup/cygwin/winbase.h b/winsup/cygwin/winbase.h
index fc9af06..3b645e5 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;
}