about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/powerpc/powerpc64/bits/atomic.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 06fab9ec36..9d40ef3fc7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,11 @@
 
 2004-08-25  Ulrich Drepper  <drepper@redhat.com>
 
+	* sysdeps/powerpc/powerpc64/bits/atomic.h
+	(__arch_compare_and_exchange_bool_32_acq): Fix case where oldval
+	is negative.
+	(__arch_compare_and_exchange_bool_32_rel): Likewise.
+
 	* nscd/connections.c: Make socket nonblocking so that threads
 	don't get stuck on accept.  Fix locking.
 
diff --git a/sysdeps/powerpc/powerpc64/bits/atomic.h b/sysdeps/powerpc/powerpc64/bits/atomic.h
index 1a20e3f0fd..fa25678410 100644
--- a/sysdeps/powerpc/powerpc64/bits/atomic.h
+++ b/sysdeps/powerpc/powerpc64/bits/atomic.h
@@ -52,7 +52,7 @@
 		    "	bne-	1b\n"					      \
 		    "2:	"						      \
 		    : "=&r" (__tmp), "=r" (__tmp2)			      \
-		    : "b" (mem), "r" (oldval), "r" (newval)		      \
+		    : "b" (mem), "1" (oldval), "r" (newval)		      \
 		    : "cr0", "memory");					      \
   __tmp != 0;								      \
 })