diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog
index 390aa5b6a25b334bb77d4e7d256431200db3c1d4..cf1e5a636b7fb87073d5d978e2223bb32a3c303f 100644
--- a/boehm-gc/ChangeLog
+++ b/boehm-gc/ChangeLog
@@ -1,3 +1,8 @@
+2005-09-15  Kazu Hirata  <kazu@codesourcery.com>
+
+	* include/private/gc_locks.h (GC_test_and_set): Change the
+	constraint of the first operand to '0'.
+
 2005-09-06  Tom Tromey  <tromey@redhat.com>
 
 	PR libgcj/23662:
diff --git a/boehm-gc/include/private/gc_locks.h b/boehm-gc/include/private/gc_locks.h
index 46605caf72dadddea3f4b88fafc5825de8215845..ec3e6cd1ef24f97d55a683dd84e5f492708494f7 100644
--- a/boehm-gc/include/private/gc_locks.h
+++ b/boehm-gc/include/private/gc_locks.h
@@ -209,7 +209,7 @@
           /* See linuxthreads/sysdeps/arm/pt-machine.h in glibc-2.1 */
           __asm__ __volatile__("swp %0, %1, [%2]"
       		  	     : "=r"(oldval)
-      			     : "r"(1), "r"(addr)
+      			     : "0"(1), "r"(addr)
 			     : "memory");
           return oldval;
         }