diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-03-21 08:03:25 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-03-21 08:03:25 +0000 |
commit | 5a3ab2fc180056cb14eaeae0f571421be81e371b (patch) | |
tree | af48122e19c238a39db145412a11b1b551d472e6 /sysdeps/powerpc/bits | |
parent | 18627f615b80b51778a65cf588f2741ad5f9b0a7 (diff) | |
download | glibc-5a3ab2fc180056cb14eaeae0f571421be81e371b.tar.gz glibc-5a3ab2fc180056cb14eaeae0f571421be81e371b.tar.xz glibc-5a3ab2fc180056cb14eaeae0f571421be81e371b.zip |
Update.
2003-03-21 Ulrich Drepper <drepper@redhat.com> * cancellation.c: Adjust for new form of compare&exchange macros. * cleanup_defer.c: Likewise. * init.c: Likewise. * libc-cancellation.c: Likewise. * old_pthread_cond_broadcast.c: Likewise. * old_pthread_cond_signal.c: Likewise. * old_pthread_cond_timedwait.c: Likewise. * old_pthread_cond_wait.c: Likewise. * pthread_cancel.c: Likewise. * pthread_create.c: Likewise. * pthread_detach.c: Likewise. * pthread_join.c: Likewise. * pthread_key_delete.c: Likewise. * pthread_setcancelstate.c: Likewise. * pthread_setcanceltype.c: Likewise. * pthread_timedjoin.c: Likewise. * pthread_tryjoin.c: Likewise. * sysdeps/pthread/createthread.c: Likewise.
Diffstat (limited to 'sysdeps/powerpc/bits')
-rw-r--r-- | sysdeps/powerpc/bits/atomic.h | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/sysdeps/powerpc/bits/atomic.h b/sysdeps/powerpc/bits/atomic.h index 956272c482..49f1c14b9d 100644 --- a/sysdeps/powerpc/bits/atomic.h +++ b/sysdeps/powerpc/bits/atomic.h @@ -46,10 +46,10 @@ typedef intmax_t atomic_max_t; typedef uintmax_t uatomic_max_t; -#define __arch_compare_and_exchange_8_acq(mem, newval, oldval) \ +#define __arch_compare_and_exchange_bool_8_acq(mem, newval, oldval) \ (abort (), 0) -#define __arch_compare_and_exchange_16_acq(mem, newval, oldval) \ +#define __arch_compare_and_exchange_bool_16_acq(mem, newval, oldval) \ (abort (), 0) #ifdef UP @@ -69,41 +69,41 @@ typedef uintmax_t uatomic_max_t; * XXX this may not work properly on 64-bit if the register * containing oldval has the high half non-zero for some reason. */ -#define __arch_compare_and_exchange_32_acq(mem, newval, oldval) \ -({ \ - unsigned int __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ - "1: lwarx %0,0,%1\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ - " stwcx. %3,0,%1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ - : "=&r" (__tmp) \ - : "r" (mem), "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ +#define __arch_compare_and_exchange_bool_32_acq(mem, newval, oldval) \ +({ \ + unsigned int __tmp; \ + __asm __volatile (__ARCH_REL_INSTR "\n" \ + "1: lwarx %0,0,%1\n" \ + " subf. %0,%2,%0\n" \ + " bne 2f\n" \ + " stwcx. %3,0,%1\n" \ + " bne- 1b\n" \ + "2: " __ARCH_ACQ_INSTR \ + : "=&r" (__tmp) \ + : "r" (mem), "r" (oldval), "r" (newval) \ + : "cr0", "memory"); \ + __tmp != 0; \ }) #ifdef __powerpc64__ -# define __arch_compare_and_exchange_64_acq(mem, newval, oldval)\ -({ \ - unsigned long __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ - "1: ldarx %0,0,%1\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ - " stdcx. %3,0,%1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ - : "=&r" (__tmp) \ - : "r" (mem), "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ +# define __arch_compare_and_exchange_bool_64_acq(mem, newval, oldval) \ +({ \ + unsigned long __tmp; \ + __asm __volatile (__ARCH_REL_INSTR "\n" \ + "1: ldarx %0,0,%1\n" \ + " subf. %0,%2,%0\n" \ + " bne 2f\n" \ + " stdcx. %3,0,%1\n" \ + " bne- 1b\n" \ + "2: " __ARCH_ACQ_INSTR \ + : "=&r" (__tmp) \ + : "r" (mem), "r" (oldval), "r" (newval) \ + : "cr0", "memory"); \ + __tmp != 0; \ }) #else /* powerpc32 */ -# define __arch_compare_and_exchange_64_acq(mem, newval, oldval) \ +# define __arch_compare_and_exchange_bool_64_acq(mem, newval, oldval) \ (abort (), 0) #endif |