aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--include/atomic.h3
-rw-r--r--sysdeps/powerpc/bits/atomic.h4
3 files changed, 15 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 9688194374..e5b96622f0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2003-03-20 Roland McGrath <roland@redhat.com>
+
+ * sysdeps/powerpc/bits/atomic.h (atomic_exchange): Remove unused
+ variable. Remove superfluous memory clobber.
+
+ * include/atomic.h: Syntax braino fix.
+
+ * posix/tst-nice.c (do_test): Use %m formats instead of printing errno
+ in decimal. Don't bail if niced at start. Just check that nice call
+ bumps the total at all.
+
2003-03-20 Alexandre Oliva <aoliva@redhat.com>
* sysdeps/mips/bits/setjmp.h: Store all N32 and N64 registers,
diff --git a/include/atomic.h b/include/atomic.h
index 517776452b..87b2df8d21 100644
--- a/include/atomic.h
+++ b/include/atomic.h
@@ -112,7 +112,8 @@
/* Decrement *MEM if it is > 0, and return the old value. */
-#ifndef atomic_decrement_if_positive(mem) \
+#ifndef atomic_decrement_if_positive
+# define atomic_decrement_if_positive(mem) \
({ __typeof (*mem) __val; \
__typeof (*mem) __oldval; \
__typeof (mem) __memp; \
diff --git a/sysdeps/powerpc/bits/atomic.h b/sysdeps/powerpc/bits/atomic.h
index 13001cb3c0..956272c482 100644
--- a/sysdeps/powerpc/bits/atomic.h
+++ b/sysdeps/powerpc/bits/atomic.h
@@ -111,14 +111,14 @@ typedef uintmax_t uatomic_max_t;
#define atomic_exchange(mem, value) \
({ if (sizeof (*mem) != 4) \
abort (); \
- int __val, __tmp; \
+ int __val; \
__asm __volatile (__ARCH_REL_INSTR "\n" \
"1: lwarx %0,0,%2\n" \
" stwcx. %3,0,%2\n" \
" bne- 1b" \
: "=&r" (__val), "=m" (*mem) \
: "r" (mem), "r" (value), "1" (*mem) \
- : "cr0", "memory"); \
+ : "cr0"); \
__val; })