diff options
author | Roland McGrath <roland@gnu.org> | 2003-03-19 03:34:48 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2003-03-19 03:34:48 +0000 |
commit | 043ad426e7927a49a872e915c3cde88b682aea71 (patch) | |
tree | 5bb6178c065a279b56573a3fca4b2d06b45c2f32 /nptl/sysdeps/unix/sysv/linux | |
parent | 8a477363f4c791c64c6a7e4c2c5f961863db601d (diff) | |
download | glibc-043ad426e7927a49a872e915c3cde88b682aea71.tar glibc-043ad426e7927a49a872e915c3cde88b682aea71.tar.gz glibc-043ad426e7927a49a872e915c3cde88b682aea71.tar.bz2 glibc-043ad426e7927a49a872e915c3cde88b682aea71.zip |
* Versions (libpthread: GLIBC_2.2): Remove
pthread_barrierattr_getpshared, never really existed.
(libpthread: GLIBC_2.0): Move __pthread_initialize to ...
(libpthread: GLIBC_PRIVATE): ... here.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h index bfd109f080..2b58d2e63a 100644 --- a/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h +++ b/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h @@ -99,6 +99,18 @@ __val; \ }) +/* Atomically store newval and return the old value. */ +#define __lll_test_and_set(futex, newval) \ + ({ int __val; \ + __asm __volatile ("1: lwarx %0,0,%3\n" \ + " stwcx. %2,0,%3\n" \ + " bne- 1b" \ + : "=&r" (__val), "=m" (*futex) \ + : "r" (futex), "r" (newval), "1" (*futex) \ + : "cr0"); \ + __val; }) + + extern void __lll_lock_wait (int *futex, int val) attribute_hidden; #define lll_mutex_lock(lock) \ |