summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog7
-rw-r--r--winsup/cygwin/winbase.h4
2 files changed, 9 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 6385fc102..0253d982d 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,10 @@
+2004-06-04 Christopher Faylor <cgf@alum.bu.edu>
+
+ * winbase.h (ilockincr): Add more neverending changes from the
+ inexplicable world of gcc asm constraint magic. Should stop random
+ crashes.
+ (ilockdecr): Ditto.
+
2004-06-03 Christopher Faylor <cgf@alum.bu.edu>
* autoload.cc (IsDosDeviceName_U): Define.
diff --git a/winsup/cygwin/winbase.h b/winsup/cygwin/winbase.h
index 6f9228efc..177de7aef 100644
--- a/winsup/cygwin/winbase.h
+++ b/winsup/cygwin/winbase.h
@@ -19,7 +19,7 @@ ilockincr (long *m)
movl $1,%0\n\
lock xadd %0,%1\n\
inc %0\n\
- ": "=a" (__res), "=m" (*m): "m" (m): "cc");
+ ": "=r" (__res), "=m" (*m): "m" (*m): "cc");
return __res;
}
@@ -31,7 +31,7 @@ ilockdecr (long *m)
movl $0xffffffff,%0\n\
lock xadd %0,%1\n\
dec %0\n\
- ": "=a" (__res), "=m" (*m): "m" (m): "cc");
+ ": "=r" (__res), "=m" (*m): "m" (*m): "cc");
return __res;
}