From 5a813456fb029ffae0e4ea839fc2524e39c31b21 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 5 Apr 2016 18:25:49 +0200 Subject: nptl: remove useless text files --- libpthread/nptl/ChangeLog | 11100 ----------------------------------------- libpthread/nptl/TODO | 31 - libpthread/nptl/TODO-kernel | 20 - libpthread/nptl/TODO-testing | 20 - 4 files changed, 11171 deletions(-) delete mode 100644 libpthread/nptl/ChangeLog delete mode 100644 libpthread/nptl/TODO delete mode 100644 libpthread/nptl/TODO-kernel delete mode 100644 libpthread/nptl/TODO-testing diff --git a/libpthread/nptl/ChangeLog b/libpthread/nptl/ChangeLog deleted file mode 100644 index ec22ebb64..000000000 --- a/libpthread/nptl/ChangeLog +++ /dev/null @@ -1,11100 +0,0 @@ -2010-01-15 Ulrich Drepper - - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: - Fix unwind info. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise. - -2010-01-15 Michal Schmidt - - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: - Fix pthread_cond_timedwait with requeue-PI. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: - Fix pthread_cond_wait with requeue-PI. - -2010-01-14 Ulrich Drepper - - * Versions: Add pthread_mutex_consistent, pthread_mutexattr_getrobust, - and pthread_mutexattr_setrobust for GLIBC_2.12. - * pthread_mutex_consistent.c: Define alias pthread_mutex_consistent. - * pthread_mutexattr_getrobust.c: Define alias - pthread_mutexattr_getrobust. - * pthread_mutexattr_setrobust.c: Define alias - pthread_mutexattr_setrobust. - -2010-01-12 Ulrich Drepper - - * sysdeps/pthread/pthread.h: Cleanup. Fix up for XPG7. - -2010-01-08 Ulrich Drepper - - * sysdeps/pthread/pthread.h: Fix pthread_mutex_consistent declaration. - -2009-12-18 Thomas Schwinge - - * sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c (_init): Don't - call __gmon_start__. - * sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c (_init): Likewise. - -2009-12-17 Ulrich Drepper - - * pthread_rwlock_init.c (__pthread_rwlock_init): Simplify code by - using memset. - -2009-12-01 Dinakar Guniguntala - - * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.h: Define - FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: If mutex - is a non robust PI mutex, then use FUTEX_CMP_REQUEUE_PI. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: If mutex - is a non robust PI mutex, then use FUTEX_WAIT_REQUEUE_PI. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise. - -2009-12-12 Ulrich Drepper - - * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait): - Don't update nwaiters after invalid timeout is recognized. - -2009-11-27 Thomas Schwinge - - * sysdeps/unix/sysv/linux/sh/pt-initfini.c (_init): Don't call - __gmon_start__. - -2009-11-27 Andreas Schwab - - * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Reload - THREAD_SELF->cancelhandling after returning from futex call. - -2009-11-24 Ulrich Drepper - - * tst-sem13.c: New file. - * Makefile (tests): Add tst-sem13. - -2009-11-22 Roland McGrath - - * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: # include "i686/dl-sysdep.h" - instead of recapitulating its contents. - -2009-11-18 Ulrich Drepper - - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Minor - optimizations and cleanups. - -2009-11-18 Dinakar Guniguntala - - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: - Remove redundant code. Fix cfi offsets. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: - Fix cfi offsets. - -2009-11-17 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Minimally - reduce size of unwind info. - - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Convert to use - cfi directives. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise. - Based on a patch by Dinakar Guniguntala . - -2009-11-03 Andreas Schwab - - [BZ #4457] - * sysdeps/pthread/unwind-resume.c: Include and use - LIBGCC_S_SO. - * sysdeps/pthread/unwind-forcedunwind.c: Likewise. - -2009-10-30 Ulrich Drepper - - * tst-sem11.c (main): Rewrite to avoid aliasing problems. - - [BZ #3270] - * allocatestack.c (__nptl_setxid): Perform the operation in multiple - steps to avoid races with creation and terminations. - * nptl-init.c (sighandler_setxid): Adjust. - Patch by Daniel Jacobowitz. - -2009-09-07 Andreas Schwab - - * sysdeps/pthread/bits/libc-lock.h (BP_SYM): Remove space before paren. - -2009-09-02 Suzuki K P - Joseph Myers - - [BZ #7094] - * sysdeps/unix/sysv/linux/timer_create.c (timer_create): - Initialize the sigev_notify field for newly created timer to make sure - the timer gets deleted from the active timer's list upon timer_delete. - -2009-08-27 Andrew Stubbs - - * sysdeps/unix/sysv/linux/sh/lowlevellock.S (__lll_timedlock_wait): - Correct a logic error. - -2009-08-25 Ulrich Drepper - - * sysdeps/x86_64/tls.h (RTLD_ENABLE_FOREIGN_CALL): Store old value - of the field in local variables. - (RTLD_FINALIZE_FOREIGN_CALL): Restore rtld_must_xmm_save from local - variable and don't unconditionally clear it. - -2009-08-24 Ulrich Drepper - - * pthread_create.c (start_thread): Hint to the kernel that memory for - the stack can be reused. We do not mark all the memory. The part - still in use and some reserve are kept. - -2009-08-23 Ulrich Drepper - - * sysdeps/unix/sysv/linux/bits/posix_opt.h: Clean up namespace. - -2009-08-11 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S: Add CFI - directives. - -2009-08-10 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Add CFI - directives. - * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise. - -2009-08-10 Andreas Schwab - - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S - (__pthread_cond_signal): Don't clobber register used for syscall - number. - -2009-08-08 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait): - Optimize code path used when FUTEX_CLOCK_REALTIME is supported. - - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S - (__pthread_cond_wait): Optimize by avoiding use of callee-safe - register. - -2009-08-07 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Little optimizations - enabled by the special *_asynccancel functions. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise. - - * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Include lowlevellock.h. - -2009-08-04 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/cancellation.S: New file. - * sysdeps/unix/sysv/linux/x86_64/libc-cancellation.S: New file. - * sysdeps/unix/sysv/linux/x86_64/librt-cancellation.S: New file. - * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (PSEUDO): Optimize - since we can assume the special __*_{en,dis}able_asynccancel - functions. - (PUSHARGS_*, POPARGS_*, SAVESTK_*, RESTSTK_*): Removed. - * sysdeps/x86_64/tcb-offsets.sym: Add cancellation-related bits - and PTHREAD_CANCELED. - -2009-07-31 Ulrich Drepper - - * descr.h: Better definition of *_BITMASK macros for cancellation. - -2009-07-29 Ulrich Drepper - - * sysdeps/x86_64/tls.h (TLS_TCB_ALIGN): Define explicitly to 32. - - * sysdeps/x86_64/tls.h (tcbhead_t): Add room for SSE registers the - dynamic linker might have to save. - Define RTLD_CHECK_FOREIGN_CALL, RTLD_ENABLE_FOREIGN_CALL, - RTLD_PREPARE_FOREIGN_CALL, and RTLD_FINALIZE_FOREIGN_CALL. Pretty - printing. - - * sysdeps/x86_64/tcb-offsets.sym: Add RTLD_SAVESPACE_SSE. - -2009-07-28 Ulrich Drepper - - * pthread_mutex_lock.c [NO_INCR] (__pthread_mutex_cond_lock_adjust): - New function. - * pthreadP.h: Declare __pthread_mutex_cond_lock_adjust. - * sysdeps/unix/sysv/linux/pthread-pi-defines.sym: Add ROBUST_BIT. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Don't use - requeue_pi for robust mutexes. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise. - Don't only skip __pthread_mutex_cond_lock. Call instead - __pthread_mutex_cond_lock_adjust. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise. - - * pthread_mutex_unlock.c (__pthread_mutex_unlock_full): Minor - optimization of PI mutex handling. - -2009-07-27 Ulrich Drepper - - [BZ #10418] - * pthread_mutex_unlock.c (__pthread_mutex_unlock_full): Use _rel - instead of of _acq variants of cmpxchg. - -2009-07-23 Ulrich Drepper - - * sysdeps/x86_64/configure.in: New file. - - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Fix error - path when not using absolute timeout futex. - -2009-07-20 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Minor - optimizations of last changes. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise. - -2009-07-19 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Define - FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: If mutex - is a PI mutex, then use FUTEX_CMP_REQUEUE_PI. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: If mutex - is a PI mutex, then use FUTEX_WAIT_REQUEUE_PI. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise. - - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S - (__pthread_cond_timedwait): Make more robust. - -2009-07-18 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S - (__lll_robust_timedlock_wait): If possible use FUTEX_WAIT_BITSET to - directly use absolute timeout. - - * tst-sem5.c (do_test): Add test for premature timeout. - * Makefile: Linu tst-sem5 with librt. - - * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S - (pthread_rwlock_timedwrlock): If possible use FUTEX_WAIT_BITSET to - directly use absolute timeout. - * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S - (pthread_rwlock_timedrdlock): Likewise. - - * tst-cond11.c (run_test): Add test to check that the timeout is - long enough. - - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S - (__pthread_cond_timedwait): If possible use FUTEX_WAIT_BITSET to - directly use absolute timeout. - - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S - (__pthread_cond_wait): Convert to using exception handler instead of - registered unwind buffer. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S - (__pthread_cond_timedwait): Likewise. - -2009-07-17 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait): - If possible use FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME to directly - use absolute timeout. - - * sysdeps/unix/sysv/linux/x86_64/sem_wait.S (sem_wait): Optimize - handling of uncontested semaphore. - - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S - (__condvar_cleanup): Rewrite to use cfi directives instead of - hand-coded unwind tables. - * sysdeps/unix/sysv/linux/x86_64/pthread_once.S (__pthread_once): - Likewise. - * sysdeps/unix/sysv/linux/x86_64/sem_wait.S (sem_wait): Likewise. - * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait): - Likewise. - -2009-06-12 Ulrich Drepper - - * Makefile (libpthread-routines): Add pthread_sigqueue. - * Versions: Add pthread_sigqueue for GLIBC_2.11. - * sysdeps/pthread/bits/sigthread.h: Declare pthread_sigqueue. - * sysdeps/unix/sysv/linux/pthread_sigqueue.c: New file. - -2009-06-11 Ulrich Drepper - - [BZ #10262] - * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S - (LOAD_FUTEX_WAIT_ABS): Fix futex parameter in case private futexes - cannot be assumed. - Patch by Bryan Kadzban . - -2009-05-16 Ulrich Drepper - - * libc-cancellation.c: Move __libc_cleanup_routine to... - * libc-cleanup.c: ...here. New file. - * Makefile (routines): Add libc-cleanup. - - * cancellation.c (__pthread_disable_asynccancel): Remove unnecessary - test. - * libc-cancellation.c: Use - - * cancellation.c (__pthread_disable_asynccancel): Correct the bits - to test when deciding on the delay. - * libc-cancellation.c (__libc_disable_asynccancel): Likewise. - * pthread_cancel.c: Close race between deciding on sending a signal - and setting the CANCELING_BIT bit. - - * cancellation.c (__pthread_disable_asynccancel): Don't return if - thread is canceled. - * libc-cancellation.c (__libc_disable_asynccancel): Likewise. - -2009-04-27 Ulrich Drepper - - * cancellation.c (__pthread_disable_asynccancel): Use THREAD_ATOMIC_AND - is available. - * libc-cancellation.c (__libc_disable_asynccancel): Likewise. - * sysdeps/x86_64/tls.h: Define THREAD_ATOMIC_AND. - * sysdeps/i386/tls.h: Likewise. - (tcbhead_t): Add __private_tm member. - -2009-04-26 Ulrich Drepper - - * sem_open.c (sem_open): Rewrite initialization of initsem to - avoid warnings. - - * sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init): - Avoid warning by using may_alias attribute on ptrhack. - -2009-04-22 Ulrich Drepper - - [BZ #10090] - * pthread_attr_setschedparam.c (__pthread_attr_setschedparam): - Check policy and priority for validity. - Patch mostly by Zhang Xiliang . - -2009-03-15 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S - (__pthread_cond_timedwait): Change to use cfi directives instead of - hand-coded unwind sections. - -2009-03-10 Ulrich Drepper - - * init.c (nptl_freeres): Compile only for SHARED. - -2009-03-09 Jakub Jelinek - - * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Define - FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_CLOCK_REALTIME and - FUTEX_BITSET_MATCH_ANY. - -2009-02-27 Roland McGrath - - * init.c (__nptl_initial_report_events): Mark __attribute_used__. - * pthread_create.c (__nptl_threads_events, __nptl_last_event): Likewise. - -2009-02-26 Ulrich Drepper - - * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define - _POSIX_THREAD_ROBUST_PRIO_INHERIT and - _POSIX_THREAD_ROBUST_PRIO_PROTECT. Reset value of macros from - 200112L to 200809L. - -2009-02-25 Ulrich Drepper - - * sysdeps/pthread/pthread.h: The robust mutex functions are in - POSIX 2008. - -2009-02-24 Ulrich Drepper - - * sysdeps/unix/sysv/linux/bits/posix_opt.h (_BITS_POSIX_OPT_H): - Unify name of include protector macro. - -2009-02-14 SUGIOKA Toshinobu - - * sysdeps/unix/sysv/linux/sh/lowlevellock.S: Define - LOAD_FUTEX_WAIT_ABS even if (FUTEX_WAIT == 0). - -2009-01-29 Ulrich Drepper - - * sysdeps/pthread/unwind-forcedunwind.c: Encrypt all function - pointer variables. - - * allocatestack.c (__free_stacks): Renamed from free_stacks. - (__free_stack_cache): Removed. Change callers to call __free_stacks. - * init.c (nptl_freeres): New function. - (pthread_functions): Initialize ptr_freeres to nptl_freeres. - * pthreadP.h: Don't declare __free_stack_cache. Declare __free_stacks. - * sysdeps/pthread/unwind-forcedunwind.c (libgcc_s_handle): New - variable. - (pthread_cancel_init): Depend in libgcc_s_handle for decision to - load DSO. Assign last. - (__unwind_freeres): New function. - - * allocatestack.c (__reclaim_stacks): Reset in_flight_stack later - for better debugging. No need to use stack_list_add here. - -2009-01-14 Kaz Kojima - - * sysdeps/unix/sysv/linux/sh/lowlevellock.S - (__lll_timedlock_wait): Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME - instead of computing relative timeout. - * sysdeps/unix/sysv/linux/sh/lowlevellock.h: Define - FUTEX_CLOCK_REALTIME and FUTEX_BITSET_MATCH_ANY. - -2009-01-25 Ulrich Drepper - - * pthread_mutex_lock.c (__pthread_mutex_lock): Remove unused label out. - -2009-01-08 Ulrich Drepper - - * sysdeps/pthread/list.h (list_add): Initialize new element first. - (list_add_tail): Removed. - -2009-01-07 Ulrich Drepper - - * (in_flight_stack): New variable. - (stack_list_del): New function. Use instead of list_del. - (stack_list_add): New function. Use instead of list_add when adding to - stack_cache and stack_used lists. - (__reclaim_stacks): Complete operations on stack_cache and stack_used lists - when the fork call interrupted another thread. - -2009-01-04 Ulrich Drepper - - * init.c (__pthread_initialize_minimal_internal): Optimize test - FUTEX_CLOCK_REALTIME a bit. - -2009-01-03 Ulrich Drepper - - * init.c (__pthread_initialize_minimal_internal): Cheat a bit by - only passing five parameters to FUTEX_WAIT_BITSET call. - - * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S - (__lll_timedlock_wait): Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME - instead of computing relative timeout. - -2009-01-02 Ulrich Drepper - - * init.c (__pthread_initialize_minimal_internal): Check for - FUTEX_CLOCK_REALTIME flag. - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S (__lll_timedlock_wait): - Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME instead of computing - relative timeout. - - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Define - FUTEX_CLOCK_REALTIME and FUTEX_BITSET_MATCH_ANY. - * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise. - -2008-12-09 Ulrich Drepper - - * sysdeps/pthread/pthread.h (pthread_cleanup_pop): Use { } as empty - loop body instead of ; to avoid gcc warnings. - (pthread_cleanup_pop_restore_np): Likewise. - Patch by Caolán McNamara . - -2008-12-09 Jakub Jelinek - - * pthread_mutex_lock.c (__pthread_mutex_lock): Handle only the - fast path here, for robust/PI/PP mutexes call - __pthread_mutex_lock_full. Don't use switch, instead use a series - of ifs according to their probability. - (__pthread_mutex_lock_full): New function. - * pthread_mutex_unlock.c: Include assert.h. - (__pthread_mutex_unlock_usercnt): Handle only the - fast path here, for robust/PI/PP mutexes call - __pthread_mutex_unlock_full. Don't use switch, instead use a series - of ifs according to their probability. - (__pthread_mutex_unlock_full): New function. - * sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c - (__pthread_mutex_lock_full): Define. - -2008-12-08 Ulrich Drepper - - * sysdeps/x86_64/tls.h (tcbhead_t): Add fields reserved for TM - implementation. Add necessary padding and. - * descr.h (struct pthread): Increase padding for tcbhead_t to 24 - words. - -2008-12-04 Kaz Kojima - - * sysdeps/unix/sysv/linux/sh/lowlevellock.h: Define FUTEX_WAIT_BITSET - and FUTEX_WAKE_BITSET. - -2008-12-02 Ulrich Drepper - - * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Define FUTEX_WAIT_BITSET - and FUTEX_WAKE_BITSET. - * sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise. - -2008-11-25 Roland McGrath - - * sysdeps/alpha, sysdeps/unix/sysv/linux/alpha: - Subdirectories moved to ports repository as - sysdeps/.../nptl subdirectories. - -2008-11-12 Jakub Jelinek - - [BZ #7008] - * pthread_condattr_setclock.c (pthread_condattr_setclock): Fix masking - of old value. - * pthread_cond_init.c (__pthread_cond_init): Fix - cond->__data.__nwaiters initialization. - * Makefile (tests): Add tst-cond23. - * tst-cond23.c: New test. - -2008-11-07 Jakub Jelinek - - * sysdeps/pthread/malloc-machine.h (MALLOC): Adjust __libc_tsd_define - arguments. - (tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get} - arguments. - -2008-11-01 Ulrich Drepper - - [BZ #6955] - * pthread_mutex_lock.c: Add support for private PI mutexes. - * pthread_mutex_timedlock.c: Likewise. - * pthread_mutex_trylock.c: Likewise. - * pthread_mutex_unlock.c: Likewise. - Patch mostly by Ben Jackson . - -2008-10-31 Ulrich Drepper - - [BZ #6843] - * sysdeps/pthread/gai_misc.h (__gai_create_helper_thread): - Increase stack size for helper thread. - -2008-10-06 Martin Schwidefsky - - * sysdeps/s390/tls.h (THREAD_SET_STACK_GUARD): Add empty inline - assembly with a clobber list for access registers a0 and a1. - -2008-09-11 Martin Schwidefsky - - * sysdeps/unix/sysv/linux/fork.c (__libc_fork): Add memory barrier - to force runp->refcntr to be read from memory. - -2008-09-08 Richard Guenther - - * sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_lock, - lll_robust_lock, lll_cond_lock, lll_robust_cond_lock, - lll_timedlock, lll_robust_timedlock, lll_unlock, - lll_robust_unlock): Promote private to int. - -2008-08-15 Ulrich Drepper - - * sysdeps/x86_64/pthreaddef.h: Remove ARCH_MAP_FLAGS and - ARCH_RETRY_MMAP definitions. - * allocatestack.c: Remove definition of ARCH_MAP_FLAGS. - Define MAP_STACK when not defined. - (allocate_stack): Use MAP_STACK instead of ARCH_MAP_FLAGS. Remove - handling of ARCH_RETRY_MMAP. - -2008-07-30 Ulrich Drepper - - * tst-align2.c (f): Print message that f is reached. - -2008-04-28 Hiroki Kaminaga - - [BZ #6740] - * sysdeps/powerpc/tcb-offsets.sym (PRIVATE_FUTEX_OFFSET): Guard symbol - definition with #ifndef __ASSUME_PRIVATE_FUTEX. - -2008-07-25 Ulrich Drepper - - * sysdeps/unix/sysv/linux/mq_notify.c (init_mq_netlink): Use - SOCK_CLOEXEC if possible. - -2008-05-29 Ulrich Drepper - - * Makefile (tests): Add tst-rwlock2a. - * tst-rwlock2.c: Use TYPE macro to decide what rwlock type to use. - * tst-rwlock2a.c: New file. - -2008-06-12 Ulrich Drepper - - * sysdeps/pthread/pthread.h: Remove inadvertant checkin. - -2008-05-17 Samuel Thibault - - * sysdeps/pthread/pthread.h: Fix typo in comment. - -2008-05-28 Ulrich Drepper - - * sysdeps/pthread/createthread.c (do_clone): Pass accurate length - of CPU set to the kernel. - -2008-05-23 Paul Pluzhnikov - - * sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Add - cfi directives. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S: Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise. - * sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise. - -2008-05-22 Paul Pluzhnikov - - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S: Add - cfi directives. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S: - Likewise. - * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S: - Likewise. - * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S: - Likewise. - -2008-05-26 Ulrich Drepper - - * tst-typesizes.c: Explicitly check __SIZEOF_PTHREAD_* constants. - -2008-05-20 Jakub Jelinek - - David S. Miller - - * sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: New file. - -2008-05-10 Ulrich Drepper - - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Access - __pshared correctly. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S: - Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S: - Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S: - Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: - Likewise. - Reported by Clemens Kolbitsch . - -2008-04-14 David S. Miller - - * sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c - (__old_sem_wait): Fix argument to lll_futex_wait(). - -2007-11-26 Daniel Jacobowitz - - * pthread_create.c: Require pthread_mutex_trylock and - pthread_key_delete for libgcc. - -2008-04-08 Jakub Jelinek - - [BZ #6020] - * sysdeps/unix/sysv/linux/sparc/lowlevellock.h - (lll_futex_wake_unlock): Add private argument to the pre-v9 macro. - Patch by Sunil Amitkumar Janki . - -2008-03-27 Ulrich Drepper - - * sysdeps/unix/sysv/linux/bits/local_lim.h: Undefine ARG_MAX if - has defined it. - * sysdeps/unix/sysv/linux/alpha/bits/local_lim.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/local_lim.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/local_lim.h: Likewise. - -2008-03-18 Jakub Jelinek - - * sysdeps/unix/sysv/linux/ia64/dl-sysdep.h: Use __ASSEMBLER__ instead - of ASSEMBLER. - * sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h: Likewise. - * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Likewise. - -2008-03-14 Ulrich Drepper - - * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Define - HAVE_DL_DISCOVER_OSVERSION. - * sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/dl-sysdep.h: Likewise. - -2008-03-07 Ulrich Drepper - - [BZ #5778] - * sysdeps/unix/sysv/linux/bits/posix_opt.h: Change - _POSIX_CHOWN_RESTRICTED value to zero. - -2008-01-31 Roland McGrath - - * Makefile (omit-deps): Variable removed. - -2008-01-30 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/sem_post.S (sem_post): Avoid - unnecessary addr32 prefix. - -2008-01-29 Roland McGrath - - * Makeconfig (ptw-CPPFLAGS, sysd-rules-patterns): New variables. - -2008-01-22 Kaz Kojima - - * sysdeps/unix/sysv/linux/sh/sem_post.S: Don't overflow value field. - -2008-01-21 Kaz Kojima - - * sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h (XADD): Use - a scratch register. - * sysdeps/unix/sysv/linux/sh/lowlevellock.S - (__lll_lock_wait_private): Fix typo. - * sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S - (pthread_barrier_wait): Likewise. Adjust XADD use. - * sysdeps/unix/sysv/linux/sh/sem_post.S (__new_sem_post): - Adjust XADD use. - * sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S - (pthread_rwlock_timedrdlock): Return correct return value. - * sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S - (pthread_rwlock_timedwrlock): Likewise. - -2008-01-15 Ulrich Drepper - - * tst-eintr2.c (do_test): make sure that if mutex_lock in main - thread returns the program exits with an error code. - -2008-01-10 Ulrich Drepper - - * pthread-errnos.sym: Add EOVERFLOW. - * sysdeps/unix/sysv/linux/structsem.sym: Add SEM_VALUE_MAX. - * sysdeps/unix/sysv/linux/sem_post.c: Don't overflow value field. - * sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise. - * sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise. - -2007-12-14 Ulrich Drepper - - * sysdeps/x86_64/pthreaddef.h (ARCH_RETRY_MMAP): Take additional - parameter. Passed it as permission to mmap. - * allocatestack.c (allocate_stack): Pass prot as second parameter - to ARCH_RETRY_MMAP. - -2007-12-12 Ulrich Drepper - - * tst-basic7.c: Allocate memory for the stack. - - [BZ #5465] - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S [!SHARED] - (__pthread_cond_timedwait): Don't use VDSO. - Patch by Michal Januszewski. - -2007-12-07 Ulrich Drepper - - [BZ #5455] - * sysdeps/pthread/pthread.h [!__EXCEPTIONS] (pthread_cleanup_pop): - Allow label before pthread_cleanup_pop. - (pthread_cleanup_pop_restore_np): Likewise. - -2007-12-04 Kaz Kojima - - * sysdeps/unix/sysv/linux/sh/lowlevellock.S (__lll_timedlock_wait): - Store 2 before returning ETIMEDOUT. - -2007-11-23 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S (__lll_timedlock_wait): - Store 2 before returning ETIMEDOUT. - * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise - * sysdeps/unix/sysv/linux/lowlevellock.c: Likewise. - (__lll_lock_wait_private): Optimize. - (__lll_lock_wait): Likewise. - -2007-11-20 Jakub Jelinek - - * sysdeps/pthread/pthread.h (pthread_cleanup_push, - pthread_cleanup_push_defer_np): Add extra (void *) cast to shut up - g++ 4.1 and 4.2 -Wstrict-aliasing warnings. - -2007-11-08 Ulrich Drepper - - [BZ #5240] - * sysdeps/unix/sysv/linux/lowlevellock.c (__lll_timedlock_wait): - If we time out, try one last time to lock the futex to avoid - losing a wakeup signal. - * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise. - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. - - [BZ #5245] - * sysdeps/pthread/createthread.c (do_clone): Translate clone error - if necessary. - -2007-11-07 Ulrich Drepper - - [BZ #5245] - * allocatestack.c (allocate_stack): Change ENOMEM error in case - mmap failed to EAGAIN. - * Makefile (tests): Add tst-basic7. - * tst-basic7.c: New file. - -2007-11-05 Ulrich Drepper - - * sysdeps/unix/sysv/linux/register-atfork.c (__register_atfork): - Use __linkin_atfork. - -2007-11-03 Mike Frysinger - - * sysdeps/unix/sysv/linux/sh/lowlevellock.S (LOAD_FUTEX_WAIT): Add - missing line continuations. - * sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S (LOAD_FUTEX_WAIT, - LOAD_FUTEX_WAKE): Likewise. Also add missing 3rd parameter. - -2007-10-28 Ulrich Drepper - - [BZ #5220] - * sysdeps/unix/sysv/linux/kernel-posix-timers.h: Declare - __active_timer_sigev_thread and __active_timer_sigev_thread_lock. - (struct timer): Add next element. - * sysdeps/unix/sysv/linux/timer_create.c: For SIGEV_THREAD timers, - enqueue timer structure into __active_timer_sigev_thread list. - * sysdeps/unix/sysv/linux/timer_delete.c: For SIGEV_THREAD timers, - remove timer struct from __active_timer_sigev_thread. - * sysdeps/unix/sysv/linux/timer_routines.c (timer_helper_thread): - Before using timer structure make sure it is still on the - __active_timer_sigev_thread list. Keep lock until done. - Define __active_timer_sigev_thread and - __active_timer_sigev_thread_lock. - -2007-10-27 Ulrich Drepper - - * sysdeps/pthread/malloc-machine.h: Define ATFORK_MEM. - Redefine thread_atfork for use of ATFORK_MEM. - * sysdeps/unix/sysv/linux/fork.h: Define __linkin_atfork. - * sysdeps/unix/sysv/linux/register-atfork.c (__linkin_atfork): New - function. - * sysdeps/unix/sysv/linux/unregister-atfork.c (__unregister_atfork): - Use atomic operation when removing first element of list. - -2007-10-17 Jakub Jelinek - - * sysdeps/unix/sysv/linux/i386/i486/sem_post.S (__old_sem_post): New - routine instead of an alias to __new_sem_post. - -2007-10-15 Jakub Jelinek - - * init.c (__pthread_initialize_minimal): Initialize word to appease - valgrind. - -2007-10-10 Jakub Jelinek - - * sysdeps/pthread/bits/libc-lock.h (__libc_rwlock_init): Inside of - libc.so just clear NAME. - (__libc_rwlock_fini): Nop inside of libc.so. - * tst-initializers1.c (main): Test if PTHREAD_RWLOCK_INITIALIZER is - all zeros. - -2007-09-02 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S - (__pthread_cond_wait): Fix unlocking of internal lock after mutex - unlocking failed. - Patch by Luca Barbieri . - -2007-08-21 Ulrich Drepper - - [BZ #4938] - * allocatestack.c (__reclaim_stacks): Clear the TSD in the - reclaimed stack if necessary. - * Makefile (tests): Add tst-tsd6. - * tst-tsd6.c: New file. - -2007-08-21 Jakub Jelinek - - * sysdeps/unix/sysv/linux/alpha/lowlevellock.h (lll_robust_dead): - Add private argument. - -2007-08-20 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S - (__pthread_cond_timedwait): Use clock_gettime from VDSO if possible. - -2007-08-16 Jakub Jelinek - - * sysdeps/unix/sysv/linux/alpha/lowlevellock.h - (__lll_robust_timedlock): Pass private as last argument to - __lll_robust_timedlock_wait. - (__lll_unlock): Fix a pasto. - -2007-08-15 Jakub Jelinek - - * sysdeps/unix/sysv/linux/sparc/internaltypes.h (sparc_new_sem, - sparc_old_sem): New structs. - * sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c - (__sem_wait_cleanup): New function. - (__new_sem_wait): Use sparc_new_sem structure. Bump and afterwards - decrease nwaiters. Register __sem_wait_cleanup as cleanup handler. - Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to - lll_futex_wait. - (__old_sem_wait): New function. - * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_wait.c: Include - nptl/sysdeps/unix/sysv/linux/sparc version. - * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_timedwait.c: - Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_post.c: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/sem_trywait.c - (__new_sem_trywait): Use sparc_old_sem structure. - * sysdeps/unix/sysv/linux/sparc/sparc32/sem_timedwait.c - (sem_timedwait): Use sparc_new_sem structure. Bump and afterwards - decrease nwaiters. Register __sem_wait_cleanup as cleanup handler. - Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to - lll_futex_timed_wait. - * sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c (__new_sem_post): - Use sparc_new_sem structure. Only wake if nwaiters > 0. Pass - isem->private ^ FUTEX_PRIVATE_FLAG as last argument to - lll_futex_wake. - (__old_sem_post): New function. - * sysdeps/unix/sysv/linux/sparc/sem_wait.c: New file. - * sysdeps/unix/sysv/linux/sparc/sem_init.c: New file. - * sysdeps/unix/sysv/linux/sparc/sem_timedwait.c: New file. - * sysdeps/unix/sysv/linux/sparc/sem_post.c: New file. - * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_init.c: Remove. - * sysdeps/unix/sysv/linux/sparc/sparc32/sem_init.c: Remove. - -2007-08-14 Kaz Kojima - - * sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S - (__pthread_cond_broadcast): Pass LLL_PRIVATE to lll_* and or - FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private. - Don't use FUTEX_CMP_REQUEUE if dep_mutex is not process private. - * sysdeps/unix/sysv/linux/shpthread_cond_signal.S - (__pthread_cond_signal): Pass LLL_PRIVATE to lll_* and or - FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private. - Use FUTEX_WAKE_OP. - * sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Include - kernel-features.h and tcb-offsets.h. - (__pthread_cond_wait, __condvar_w_cleanup): Pass LLL_PRIVATE to - lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is - process private. - * sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Include - tcb-offsets.h. - (__pthread_cond_timedwait, __condvar_tw_cleanup): Pass LLL_PRIVATE - to lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is - process private. - * sysdeps/unix/sysv/linux/sh/pthread_once.S: Use #ifdef - __ASSUME_PRIVATE_FUTEX instead of #if __ASSUME_PRIVATE_FUTEX. - * sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Likewise. - * sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise. - * sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise. - * sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S: Likewise. - * sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise. - -2007-08-14 Jakub Jelinek - - * sysdeps/unix/sysv/linux/lowlevellock.c: Comment fix. - * sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c - (__lll_timedwait_tid): Pass LLL_SHARED as 4th argument to - lll_futex_timed_wait. - - * sysdeps/unix/sysv/linux/alpha/lowlevellock.h (__lll_unlock, - __lll_robust_unlock): Rewrite as macros instead of inline functions. - * sysdeps/unix/sysv/linux/s390/lowlevellock.h (__lll_unlock, - __lll_robust_unlock, __lll_wait_tid): Likewise. - -2007-08-13 Jakub Jelinek - - * sysdeps/unix/sysv/linux/i386/lowlevellock.h (__lll_private_flag): - Fix a pasto. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S - (__pthread_cond_broadcast): Pass LLL_PRIVATE to lll_* and or - FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private. - Don't use FUTEX_CMP_REQUEUE if dep_mutex is not process private. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S - (__pthread_cond_signal): Pass LLL_PRIVATE to lll_* and or - FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Include - kernel-features.h. - (__pthread_cond_wait, __condvar_w_cleanup): Pass LLL_PRIVATE to - lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is - process private. Switch DW_CFA_advance_loc1 and some - DW_CFA_advance_loc .eh_frame opcodes to DW_CFA_advance_loc4. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S - (__pthread_cond_timedwait, __condvar_tw_cleanup): Pass LLL_PRIVATE to - lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is - process private. Switch DW_CFA_advance_loc{1,2} and some - DW_CFA_advance_loc .eh_frame opcodes to DW_CFA_advance_loc4. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Use - #ifdef __ASSUME_PRIVATE_FUTEX instead of #if __ASSUME_PRIVATE_FUTEX. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S: - Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S: Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S: - Likewise. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S - (__pthread_cond_broadcast): Compare %r8 instead of - dep_mutex-cond_*(%rdi) with $-1. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S - (__pthread_cond_signal): Xor FUTEX_WAKE_OP with FUTEX_WAKE instead - of oring. - -2007-08-13 Ulrich Drepper - - * sysdeps/unix/sysv/linux/i386/i786/Implies: New file. - -2007-08-13 Jakub Jelinek - - * allocatestack.c: Include kernel-features.h. - * pthread_create.c: Likewise. - * pthread_mutex_init.c: Likewise. - * init.c: Likewise. - * pthread_cond_timedwait.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S: Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S: - Likewise. - * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S: - Likewise. - * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise. - -2007-08-12 Jakub Jelinek - - * sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h - [__WORDSIZE=32] (pthread_rwlock_t): Split __flags element into four - byte elements. One of them is the new __shared element. - [__WORDSIZE=64] (pthread_rwlock_t): Renamed __pad1 element to __shared, - adjust names of other padding elements. - * sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h - [__WORDSIZE=32] (pthread_rwlock_t): Split __flags element into four - byte elements. One of them is the new __shared element. - [__WORDSIZE=64] (pthread_rwlock_t): Renamed __pad1 element to __shared, - adjust names of other padding elements. - * sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h (pthread_rwlock_t): - Renamed __pad1 element to __shared, adjust names of other padding - elements. - * sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h - (pthread_rwlock_t): Likewise. - * sysdeps/unix/sysv/linux/ia64/lowlevellock.h (__lll_lock): Fix a - typo. - -2007-08-09 Anton Blanchard - - * sysdeps/unix/sysv/linux/powerpc/pthread_spin_unlock.c: New file. - -2007-08-12 Ulrich Drepper - - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Include - . - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise. - -2007-08-11 Ulrich Drepper - - * pthreadP.h (PTHREAD_ROBUST_MUTEX_PSHARED): Define. - * pthread_mutex_lock.c: Use it instead of PTHREAD_MUTEX_PSHARED when - dealing with robust mutexes. - * pthread_mutex_timedlock.c: Likewise. - * pthread_mutex_trylock.c: Likewise. - * pthread_mutex_unlock.c: Likewise. - * sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c: Likewise. - -2007-08-06 Jakub Jelinek - - * pthreadP.h (PTHREAD_MUTEX_PSHARED_BIT): Define. - (PTHREAD_MUTEX_TYPE): Mask __kind with 127. - (PTHREAD_MUTEX_PSHARED): Define. - * pthread_mutex_init.c (__pthread_mutex_init): Set - PTHREAD_MUTEX_PSHARED_BIT for pshared or robust - mutexes. - * pthread_mutex_lock.c (LLL_MUTEX_LOCK): Take mutex as argument - instead of its __data.__lock field, pass PTHREAD_MUTEX_PSHARED - as second argument to lll_lock. - (LLL_MUTEX_TRYLOCK): Take mutex as argument - instead of its __data.__lock field. - (LLL_ROBUST_MUTEX_LOCK): Take mutex as argument instead of its - __data.__lock field, pass PTHREAD_MUTEX_PSHARED as second argument - to lll_robust_lock. - (__pthread_mutex_lock): Update LLL_MUTEX_LOCK, LLL_MUTEX_TRYLOCK, - LLL_ROBUST_MUTEX_LOCK users, use PTHREAD_MUTEX_TYPE (mutex) - instead of mutex->__data.__kind directly, pass - PTHREAD_MUTEX_PSHARED (mutex) to lll_unlock and lll_futex_wait. - * pthread_mutex_trylock.c (__pthread_mutex_trylock): Use - PTHREAD_MUTEX_TYPE (mutex) instead of mutex->__data.__kind - directly, pass PTHREAD_MUTEX_PSHARED (mutex) to lll_unlock. - (pthread_mutex_timedlock): Pass PTHREAD_MUTEX_PSHARED (mutex) - to lll_timedlock, lll_robust_timedlock, lll_unlock and - lll_futex_timed_wait. Use PTHREAD_MUTEX_TYPE (mutex) instead - of mutex->__data.__kind directly. - * pthread_mutex_timedlock.c (pthread_mutex_timedlock): Pass - PTHREAD_MUTEX_PSHARED (mutex) to lll_timedlock, - lll_robust_timedlock, lll_unlock and lll_futex_timed_wait. Use - PTHREAD_MUTEX_TYPE (mutex) instead of mutex->__data.__kind directly. - * pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): Pass - PTHREAD_MUTEX_PSHARED (mutex) to lll_unlock, lll_robust_unlock - and lll_futex_wake. - * pthread_mutex_setprioceiling.c (pthread_mutex_setprioceiling): Pass - PTHREAD_MUTEX_PSHARED (mutex) to lll_futex_wait and lll_futex_wake. - Use PTHREAD_MUTEX_TYPE (mutex) instead of mutex->__data.__kind - directly. - * sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c (LLL_MUTEX_LOCK): - Take mutex as argument instead of its __data.__lock field, pass - PTHREAD_MUTEX_PSHARED as second argument to lll_cond_lock. - (LLL_MUTEX_TRYLOCK): Take mutex as argument instead of its - __data.__lock field. - (LLL_ROBUST_MUTEX_LOCK): Take mutex as argument instead of its - __data.__lock field, pass PTHREAD_MUTEX_PSHARED as second argument - to lll_robust_cond_lock. - * pthread_cond_broadcast.c (__pthread_cond_broadcast): Add pshared - variable, pass it to lll_lock, lll_unlock, lll_futex_requeue and - lll_futex_wake. Don't use lll_futex_requeue if dependent mutex - has PTHREAD_MUTEX_PSHARED_BIT bit set in its __data.__kind. - * pthread_cond_destroy.c (__pthread_cond_destroy): Add pshared - variable, pass it to lll_lock, lll_unlock, lll_futex_wake and - lll_futex_wait. - * pthread_cond_signal.c (__pthread_cond_signal): Add pshared - variable, pass it to lll_lock, lll_unlock, lll_futex_wake_unlock and - lll_futex_wake. - * pthread_cond_timedwait.c (__pthread_cond_wait): Add - pshared variable, pass it to lll_lock, lll_unlock, - lll_futex_timedwait and lll_futex_wake. - * pthread_cond_wait.c (__condvar_cleanup, __pthread_cond_wait): Add - pshared variable, pass it to lll_lock, lll_unlock, lll_futex_wait - and lll_futex_wake. - * sysdeps/unix/sysv/linux/alpha/lowlevellock.h (lll_futex_requeue, - lll_futex_wake_unlock): Add private argument, use __lll_private_flag - macro. - * sysdeps/unix/sysv/linux/ia64/lowlevellock.h (lll_futex_requeue, - lll_futex_wake_unlock): Likewise. - * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (lll_futex_requeue): - Likewise. - * sysdeps/unix/sysv/linux/sparc/lowlevellock.h (lll_futex_requeue, - lll_futex_wake_unlock): Likewise. - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_futex_requeue): - Likewise. - * sysdeps/unix/sysv/linux/s390/lowlevellock.h (lll_futex_requeue, - lll_futex_wake_unlock): Likewise. - (lll_futex_wake): Fix a typo. - * sysdeps/unix/sysv/linux/pthread-pi-defines.sym (PS_BIT): Add. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S - (__pthread_cond_broadcast): Pass LLL_PRIVATE to lll_* and or - FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private. - Don't use FUTEX_CMP_REQUEUE if dep_mutex is not process private. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S - (__pthread_cond_signal): Pass LLL_PRIVATE to lll_* and or - FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S - (__pthread_cond_timedwait): Likewise. - * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: - (__condvar_cleanup, __pthread_cond_wait): Likewise. - -2007-08-05 Jakub Jelinek - - * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h (PSEUDO): - Don't use CGOTSETUP and CGOTRESTORE macros. - (CGOTSETUP, CGOTRESTORE): Remove. - (CENABLE, CDISABLE): Don't use JUMPTARGET, branch to - @local symbol. - -2007-08-01 Kaz Kojima - - * sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Remove - definitions for private futexes. - * sysdeps/unix/sysv/linux/sh/lowlevellock.S: Include - kernel-features.h and lowlevellock.h. Use private futexes if - they are available. - (__lll_lock_wait_private, __lll_unlock_wake_private): New. - (__lll_mutex_lock_wait): Rename to - (__lll_lock_wait): ... this. Don't compile in for libc.so. - (__lll_mutex_timedlock_wait): Rename to ... - (__lll_timedlock_wait): ... this. Use __NR_gettimeofday. - Don't compile in for libc.so. - (__lll_mutex_unlock_wake): Rename to ... - (__lll_unlock_wake): ... this. Don't compile in for libc.so. - (__lll_timedwait_tid): Use __NR_gettimeofday. - * sysdeps/unix/sysv/linux/sh/lowlevellock.h: Allow including - the header from assembler. Renamed all lll_mutex_* resp. - lll_robust_mutex_* macros to lll_* resp. lll_robust_*. - Renamed all LLL_MUTEX_LOCK_* macros to LLL_LOCK_*. - (FUTEX_CMP_REQUEUE, FUTEX_WAKE_OP, FUTEX_OP_CLEAR_WAKE_IF_GT_ONE): - Define. - (__lll_lock_wait_private): Add prototype. - (__lll_lock_wait, __lll_timedlock_wait, __lll_robust_lock_wait, - __lll_robust_timedlock_wait, __lll_unlock_wake_private, - __lll_unlock_wake): Likewise. - (lll_lock): Add private argument. Call __lll_lock_wait_private - if private is constant LLL_PRIVATE. - (lll_robust_lock, lll_cond_lock, lll_robust_cond_lock, - lll_timedlock, lll_robust_timedlock): Add private argument. - (lll_unlock): Add private argument. Call __lll_unlock_wake_private - if private is constant LLL_PRIVATE. - (lll_robust_unlock, lll_robust_dead): Add private argument. - (lll_lock_t): Remove. - (__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake, - __lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait, - lll_cond_wake, lll_cond_broadcast): Remove. - * sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S: Include - kernel-features.h and lowlevellock.h. - (SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Remove. - (LOAD_FUTEX_WAIT): Define. - (__lll_robust_mutex_lock_wait): Rename to ... - (__lll_robust_lock_wait): ... this. Add private argument. - Use LOAD_FUTEX_WAIT macro. - (__lll_robust_mutex_timedlock_wait): Rename to ... - (__lll_robust_timedlock_wait): ... this. Add private argument. - Use __NR_gettimeofday. Use LOAD_FUTEX_WAIT macro. - * sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: Include - lowlevellock.h. - (SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Remove. - (pthread_barrier_wait): Use __lll_{lock,unlock}_* instead of - __lll_mutex_{lock,unlock}_*. - * sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S: Include - lowlevellock.h and pthread-errnos.h. - (SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_REQUEUE, - FUTEX_CMP_REQUEUE, EINVAL): Remove. - (__pthread_cond_broadcast): Use __lll_{lock,unlock}_* instead of - __lll_mutex_{lock,unlock}_*. - * sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S: Include - lowlevellock.h and pthread-errnos.h. - (SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_REQUEUE, EINVAL): Remove. - (__pthread_cond_signal): Use __lll_{lock,unlock}_* instead of - __lll_mutex_{lock,unlock}_*. - * sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Include - lowlevellock.h. - (SYS_futex, SYS_gettimeofday, FUTEX_WAIT, FUTEX_WAKE): Remove. - (__pthread_cond_timedwait): Use __lll_{lock,unlock}_* instead of - __lll_mutex_{lock,unlock}_*. Use __NR_gettimeofday. - (__condvar_tw_cleanup): Likewise. - * sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Include - lowlevellock.h. - (SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Remove. - (__pthread_cond_wait): Use __lll_{lock,unlock}_* instead of - __lll_mutex_{lock,unlock}_*. - ( __condvar_w_cleanup): Likewise. - * sysdeps/unix/sysv/linux/sh/pthread_once.S: Include lowlevellock.h. - (SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove. - * sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Include - lowlevellock.h. - (SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove. - (__pthread_rwlock_rdlock): Use __lll_{lock,unlock}_* instead of - __lll_mutex_{lock,unlock}_*. - * sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Include - lowlevellock.h. - (SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE, - FUTEX_PRIVATE_FLAG): Remove. - (pthread_rwlock_timedrdlock): Use __lll_{lock,unlock}_* instead of - __lll_mutex_{lock,unlock}_*. Use __NR_gettimeofday. - * sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Include - lowlevellock.h. - (SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE, - FUTEX_PRIVATE_FLAG): Remove. - (pthread_rwlock_timedwrlock): Use __lll_{lock,unlock}_* instead of - __lll_mutex_{lock,unlock}_*. Use __NR_gettimeofday. - * sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S: Include - lowlevellock.h. - (SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove. - (__pthread_rwlock_unlock): Use __lll_{lock,unlock}_* instead of - __lll_mutex_{lock,unlock}_*. - * sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Include - lowlevellock.h. - (SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove. - (__pthread_rwlock_wrlock): Use __lll_{lock,unlock}_* instead of - __lll_mutex_{lock,unlock}_*. - * sysdeps/unix/sysv/linux/sh/sem_post.S: Include lowlevellock.h. - (SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove. - (__new_sem_post): Use standard initial exec code sequences. - * sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Include - lowlevellock.h. - (SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE, - FUTEX_PRIVATE_FLAG): Remove. - (sem_timedwait): Use __NR_gettimeofday. Use standard initial - exec code sequences. - * sysdeps/unix/sysv/linux/sh/sem_trywait.S: Include lowlevellock.h. - (__new_sem_trywait): Use standard initial exec code sequences. - * sysdeps/unix/sysv/linux/sh/sem_wait.S: Include lowlevellock.h. - (__new_sem_wait): Use standard initial exec code sequences. - -2007-07-31 Anton Blanchard - - * sysdeps/unix/sysv/linux/powerpc/sem_post.c (__new_sem_post): - Use __asm __volatile (__lll_acq_instr ::: "memory") instead of - atomic_full_barrier. - -2007-07-31 Jakub Jelinek - - * allocatestack.c (stack_cache_lock): Change type to int. - (get_cached_stack, allocate_stack, __deallocate_stack, - __make_stacks_executable, __find_thread_by_id, __nptl_setxid, - __pthread_init_static_tls, __wait_lookup_done): Add LLL_PRIVATE - as second argument to lll_lock and lll_unlock macros on - stack_cache_lock. - * pthread_create.c (__find_in_stack_list): Likewise. - (start_thread): Similarly with pd->lock. Use lll_robust_dead - macro instead of lll_robust_mutex_dead, pass LLL_SHARED to it - as second argument. - * descr.h (struct pthread): Change lock and setxid_futex field - type to int. - * old_pthread_cond_broadcast.c (__pthread_cond_broadcast_2_0): Use - LLL_LOCK_INITIALIZER instead of LLL_MUTEX_LOCK_INITIALIZER. - * old_pthread_cond_signal.c (__pthread_cond_signal_2_0): Likewise. - * old_pthread_cond_timedwait.c (__pthread_cond_timedwait_2_0): - Likewise. - * old_pthread_cond_wait.c (__pthread_cond_wait_2_0): Likewise. - * pthread_cond_init.c (__pthread_cond_init): Likewise. - * pthreadP.h (__attr_list_lock): Change type to int. - * pthread_attr_init.c (__attr_list_lock): Likewise. - * pthread_barrier_destroy.c (pthread_barrier_destroy): Pass - ibarrier->private ^ FUTEX_PRIVATE_FLAG as second argument to - lll_{,un}lock. - * pthread_barrier_wait.c (pthread_barrier_wait): Likewise and - also for lll_futex_{wake,wait}. - * pthread_barrier_init.c (pthread_barrier_init): Make iattr - a pointer to const. - * pthread_cond_broadcast.c (__pthread_cond_broadcast): Pass - LLL_SHARED as second argument to lll_{,un}lock. - * pthread_cond_destroy.c (__pthread_cond_destroy): Likewise. - * pthread_cond_signal.c (__pthread_cond_singal): Likewise. - * pthread_cond_timedwait.c (__pthread_cond_timedwait): Likewise. - * pthread_cond_wait.c (__condvar_cleanup, __pthread_cond_wait): - Likewise. - * pthread_getattr_np.c (pthread_getattr_np): Add LLL_PRIVATE - as second argument to lll_{,un}lock macros on pd->lock. - * pthread_getschedparam.c (__pthread_getschedparam): Likewise. - * pthread_setschedparam.c (__pthread_setschedparam): Likewise. - * pthread_setschedprio.c (pthread_setschedprio): Likewise. - * tpp.c (__pthread_tpp_change_priority, __pthread_current_priority): - Likewise. - * sysdeps/pthread/createthread.c (do_clone, create_thread): - Likewise. - * pthread_once.c (once_lock): Change type to int. - (__pthread_once): Pass LLL_PRIVATE as second argument to - lll_{,un}lock macros on once_lock. - * pthread_rwlock_rdlock.c (__pthread_rwlock_rdlock): Use - lll_{,un}lock macros instead of lll_mutex_{,un}lock, pass - rwlock->__data.__shared as second argument to them and similarly - for lll_futex_w*. - * pthread_rwlock_timedrdlock.c (pthread_rwlock_timedrdlock): - Likewise. - * pthread_rwlock_timedwrlock.c (pthread_rwlock_timedwrlock): - Likewise. - * pthread_rwlock_tryrdlock.c (__pthread_rwlock_tryrdlock): Likewise. - * pthread_rwlock_trywrlock.c (__pthread_rwlock_trywrlock): Likewise. - * pthread_rwlock_unlock.c (__pthread_rwlock_unlock): Likewise. - * pthread_rwlock_wrlock.c (__pthread_rwlock_wrlock): Likewise. - * sem_close.c (sem_close): Pass LLL_PRIVATE as second argument - to lll_{,un}lock macros on __sem_mappings_lock. - * sem_open.c (check_add_mapping): Likewise. - (__sem_mappings_lock): Change type to int. - * semaphoreP.h (__sem_mappings_lock): Likewise. - * pthread_mutex_lock.c (LLL_MUTEX_LOCK, LLL_MUTEX_TRYLOCK, - LLL_ROBUST_MUTEX_LOCK): Use lll_{,try,robust_}lock macros - instead of lll_*mutex_*, pass LLL_SHARED as last - argument. - (__pthread_mutex_lock): Use lll_unlock instead of lll_mutex_unlock, - pass LLL_SHARED as last argument. - * sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c (LLL_MUTEX_LOCK, - LLL_MUTEX_TRYLOCK, LLL_ROBUST_MUTEX_LOCK): Use - lll_{cond_,cond_try,robust_cond}lock macros instead of lll_*mutex_*, - pass LLL_SHARED as last argument. - * pthread_mutex_timedlock.c (pthread_mutex_timedlock): Use - lll_{timed,try,robust_timed,un}lock instead of lll_*mutex*, pass - LLL_SHARED as last argument. - * pthread_mutex_trylock.c (__pthread_mutex_trylock): Similarly. - * pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): - Similarly. - * sysdeps/pthread/bits/libc-lock.h (__libc_lock_lock, - __libc_lock_lock_recursive, __libc_lock_unlock, - __libc_lock_unlock_recursive): Pass LLL_PRIVATE as second - argument to lll_{,un}lock. - * sysdeps/pthread/bits/stdio-lock.h (_IO_lock_lock, - _IO_lock_unlock): Likewise. - * sysdeps/unix/sysv/linux/fork.c (__libc_fork): Don't use - compound literal. - * sysdeps/unix/sysv/linux/unregister-atfork.c (__unregister_atfork): - Pass LLL_PRIVATE as second argument to lll_{,un}lock macros on - __fork_lock. - * sysdeps/unix/sysv/linux/register-atfork.c (__register_atfork, - free_mem): Likewise. - (__fork_lock): Change type to int. - * sysdeps/unix/sysv/linux/fork.h (__fork_lock): Likewise. - * sysdeps/unix/sysv/linux/sem_post.c (__new_sem_post): Pass - isem->private ^ FUTEX_PRIVATE_FLAG as second argument to - lll_futex_wake. - * sysdeps/unix/sysv/linux/sem_timedwait.c (sem_timedwait): Likewise. - * sysdeps/unix/sysv/linux/sem_wait.c (__new_sem_wait): Likewise. - * sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait_private): - New function. - (__lll_lock_wait, __lll_timedlock_wait): Add private argument and - pass it through to lll_futex_*wait, only compile in when - IS_IN_libpthread. - * sysdeps/unix/sysv/linux/lowlevelrobustlock.c - (__lll_robust_lock_wait, __lll_robust_timedlock_wait): Add private - argument and pass it through to lll_futex_*wait. - * sysdeps/unix/sysv/linux/alpha/lowlevellock.h: Renamed all - lll_mutex_* resp. lll_robust_mutex_* macros to lll_* resp. - lll_robust_*. Renamed all __lll_mutex_* resp. __lll_robust_mutex_* - inline functions to __lll_* resp. __lll_robust_*. - (LLL_MUTEX_LOCK_INITIALIZER): Remove. - (lll_mutex_dead): Add private argument. - (__lll_lock_wait_private): New prototype. - (__lll_lock_wait, __lll_robust_lock_wait, __lll_lock_timedwait, - __lll_robust_lock_timedwait): Add private argument to prototypes. - (__lll_lock): Add private argument, if it is constant LLL_PRIVATE, - call __lll_lock_wait_private, otherwise pass private to - __lll_lock_wait. - (__lll_robust_lock, __lll_cond_lock, __lll_timedlock, - __lll_robust_timedlock): Add private argument, pass it to - __lll_*wait functions. - (__lll_unlock): Add private argument, if it is constant LLL_PRIVATE, - call __lll_unlock_wake_private, otherwise pass private to - __lll_unlock_wake. - (__lll_robust_unlock): Add private argument, pass it to - __lll_robust_unlock_wake. - (lll_lock, lll_robust_lock, lll_cond_lock, lll_timedlock, - lll_robust_timedlock, lll_unlock, lll_robust_unlock): Add private - argument, pass it through to __lll_* inline function. - (__lll_mutex_unlock_force, lll_mutex_unlock_force): Remove. - (lll_lock_t): Remove. - (__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake, - __lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait, - lll_cond_wake, lll_cond_broadcast): Remove. - * sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Allow including - the header from assembler. Renamed all lll_mutex_* resp. - lll_robust_mutex_* macros to lll_* resp. lll_robust_*. - (LOCK, FUTEX_CMP_REQUEUE, FUTEX_WAKE_OP, - FUTEX_OP_CLEAR_WAKE_IF_GT_ONE): Define. - (LLL_MUTEX_LOCK_INITIALIZER, LLL_MUTEX_LOCK_INITIALIZER_LOCKED, - LLL_MUTEX_LOCK_INITIALIZER_WAITERS): Remove. - (__lll_mutex_lock_wait, __lll_mutex_timedlock_wait, - __lll_mutex_unlock_wake, __lll_lock_wait, __lll_unlock_wake): - Remove prototype. - (__lll_trylock_asm, __lll_lock_asm_start, __lll_unlock_asm): Define. - (lll_robust_trylock, lll_cond_trylock): Use LLL_LOCK_INITIALIZER* - rather than LLL_MUTEX_LOCK_INITIALIZER* macros. - (lll_trylock): Likewise, use __lll_trylock_asm, pass - MULTIPLE_THREADS_OFFSET as another asm operand. - (lll_lock): Add private argument, use __lll_lock_asm_start, pass - MULTIPLE_THREADS_OFFSET as last asm operand, call - __lll_lock_wait_private if private is constant LLL_PRIVATE, - otherwise pass private as another argument to __lll_lock_wait. - (lll_robust_lock, lll_cond_lock, lll_robust_cond_lock, - lll_timedlock, lll_robust_timedlock): Add private argument, pass - private as another argument to __lll_*lock_wait call. - (lll_unlock): Add private argument, use __lll_unlock_asm, pass - MULTIPLE_THREADS_OFFSET as another asm operand, call - __lll_unlock_wake_private if private is constant LLL_PRIVATE, - otherwise pass private as another argument to __lll_unlock_wake. - (lll_robust_unlock): Add private argument, pass private as another - argument to __lll_unlock_wake. - (lll_robust_dead): Add private argument, use __lll_private_flag - macro. - (lll_islocked): Use LLL_LOCK_INITIALIZER instead of - LLL_MUTEX_LOCK_INITIALIZER. - (lll_lock_t): Remove. - (LLL_LOCK_INITIALIZER_WAITERS): Define. - (__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake, - __lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait, - lll_cond_wake, lll_cond_broadcast): Remove. - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Revert - 2007-05-2{3,9} changes. - * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Include - kernel-features.h and lowlevellock.h. - (LOAD_PRIVATE_FUTEX_WAIT): Define. - (LOAD_FUTEX_WAIT): Rewritten. - (LOCK, SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Don't - define. - (__lll_lock_wait_private, __lll_unlock_wake_private): New functions. - (__lll_mutex_lock_wait): Rename to ... - (__lll_lock_wait): ... this. Take futex addr from %edx instead of - %ecx, %ecx is now private argument. Don't compile in for libc.so. - (__lll_mutex_timedlock_wait): Rename to ... - (__lll_timedlock_wait): ... this. Use __NR_gettimeofday. %esi - contains private argument. Don't compile in for libc.so. - (__lll_mutex_unlock_wake): Rename to ... - (__lll_unlock_wake): ... this. %ecx contains private argument. - Don't compile in for libc.so. - (__lll_timedwait_tid): Use __NR_gettimeofday. - * sysdeps/unix/sysv/linux/i386/i486/lowlevelrobustlock.S: Include - kernel-features.h and lowlevellock.h. - (LOAD_FUTEX_WAIT): Define. - (LOCK, SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Don't - define. - (__lll_robust_mutex_lock_wait): Rename to ... - (__lll_robust_lock_wait): ... this. Futex addr is now in %edx - argument, %ecx argument contains private. Use LOAD_FUTEX_WAIT - macro. - (__lll_robust_mutex_timedlock_wait): Rename to ... - (__lll_robust_timedlock_wait): ... this. Use __NR_gettimeofday. - %esi argument contains private, use LOAD_FUTEX_WAIT macro. - * sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Include - lowlevellock.h. - (SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define. - (pthread_barrier_wait): Rename __lll_mutex_* to __lll_*, pass - PRIVATE(%ebx) ^ LLL_SHARED as private argument in %ecx to - __lll_lock_wait and __lll_unlock_wake, pass MUTEX(%ebx) address - to __lll_lock_wait in %edx. - * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: - Include lowlevellock.h and pthread-errno