about summary refs log tree commit diff
path: root/nptl
Commit message (Collapse)AuthorAgeFilesLines
* Small optimizations to cancellable x86-64 code.Ulrich Drepper2009-08-075-61/+49
|
* Optimize x86-64 syscall cancellation handling.Ulrich Drepper2009-08-046-44/+191
| | | | | | | The syscall wrappers had to save and restore the syscall parameter values and return value when calling the functions to enable/disable cancellation were called. Not anymore. The called functions are special and don't modify any unexpected registers.
* Macro cleanup.Ulrich Drepper2009-07-312-8/+12
| | | | Better definition of the *_NITSET macros.
* Regenerated.Ulrich Drepper2009-07-311-8/+40
|
* Fix x86-64 TCB alignment for future processor versions.Ulrich Drepper2009-07-292-4/+13
|
* Preserve SSE registers in runtime relocations on x86-64.Ulrich Drepper2009-07-293-18/+64
| | | | | | | | | | SSE registers are used for passing parameters and must be preserved in runtime relocations. This is inside ld.so enforced through the tests in tst-xmmymm.sh. But the malloc routines used after startup come from libc.so and can be arbitrarily complex. It's overkill to save the SSE registers all the time because of that. These calls are rare. Instead we save them on demand. The new infrastructure put in place in this patch makes this possible and efficient.
* Fix bookkeeping in mutex when using requeue_pi.Ulrich Drepper2009-07-289-24/+83
|
* pthread_mutex_unlock needs to use _rel semantics for atomic ops.Ulrich Drepper2009-07-272-3/+9
|
* Revert "Memory ordering in pthread_mutex_{,timed}lock."Ulrich Drepper2009-07-273-19/+12
| | | | This reverts commit 7b7f43bed134db6a0da34282fffcbf0af10d4613.
* Memory ordering in pthread_mutex_{,timed}lock.Ulrich Drepper2009-07-263-12/+19
| | | | | All commits should have happened before the mutex lock is taken. Therefore use the _rel variant of the cmpxchg atomic op.
* Check for .cfi_{personality,lsda} on x86-64.Ulrich Drepper2009-07-233-0/+61
| | | | We need this support in NPTL now to avoid the hand-coded tables.
* Fix pthread_cond_timedwait error handling on old kernels.Ulrich Drepper2009-07-232-2/+7
|
* Minor optimizations of last x86-64 condvar changes.Ulrich Drepper2009-07-203-23/+22
|
* Support requeueing for condvars using PI mutex. x86-64 only.Ulrich Drepper2009-07-196-36/+177
| | | | | Add support for the new FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI options of futex.
* Make x86-64 pthread_cond_timedwait more robust.Ulrich Drepper2009-07-192-0/+7
| | | | | | It just happens that __pthread_enable_asynccancel doesn't modify the $rdi register. But this isn't guaranteed. Hence we reload the register after the calls.
* Extend x86-64 __lll_robust_timedlock_wait to use futex syscall with absolute ↵Ulrich Drepper2009-07-192-2/+80
| | | | timeout.
* Add more sem_timedwait tests.Ulrich Drepper2009-07-183-1/+20
|
* Extend x86-64 pthread_rwlock_timedrdlock to use futex syscall with absolute ↵Ulrich Drepper2009-07-182-18/+57
| | | | timeout.
* Pretty printing last change.Ulrich Drepper2009-07-181-6/+6
|
* Extend x86-64 pthread_rwlock_timedwrlock to use futex syscall with absolute ↵Ulrich Drepper2009-07-182-12/+53
| | | | timeout.
* Remove leftover cfi.Ulrich Drepper2009-07-181-4/+1
|
* Extend pthread_cond_timedwait tests.Ulrich Drepper2009-07-182-1/+18
|
* Extend x86-64 pthread_cond_timedwait to use futex syscall with absolute timeout.Ulrich Drepper2009-07-182-126/+296
|
* Optimize x86-64 pthread_cond_timedwait.Ulrich Drepper2009-07-182-144/+190
| | | | | Instead of actively registering an unwind buffer we now use the exception handling functionality of the gcc runtime.
* Optimize x86-64 pthread_cond_wait.Ulrich Drepper2009-07-183-144/+315
| | | | | Instead of actively registering an unwind buffer we now use the exception handling functionality of the gcc runtime.
* Extend x86-64 sem_timedwait to use futex syscall with absolute timeout.Ulrich Drepper2009-07-172-46/+120
|
* Consistently use symbolic constants.Ulrich Drepper2009-07-171-4/+3
|
* Replace hand-coded unwind tables from x86-64 sem_timedwait.Ulrich Drepper2009-07-172-122/+31
|
* Optimize x86-64 sem_wait for uncontested semaphore.Ulrich Drepper2009-07-172-24/+30
|
* Replace hand-coded unwind tables from x86-64 sem_wait.Ulrich Drepper2009-07-172-101/+26
|
* Replace hand-coded unwind tables from x86-64 pthread_once.Ulrich Drepper2009-07-172-106/+24
|
* Replace hand-coded unwind tables from x86-64 pthread_cond_wait.Ulrich Drepper2009-07-172-76/+24
|
* Implement pthread_sigqueue.Ulrich Drepper2009-06-125-2/+102
| | | | | | The kernel from 2.3.31 on supports the rt_tgsigqueueinfo syscall. Use it to implement the non-standard extension which, like sigqueue, can pass additional data to the receiving thread.
* Fix futex syscall parameter for x86 absolute timeout waits.Bryan Kadzban2009-06-112-1/+9
| | | | This affects only installations compiled for kernels older than 2.6.18.
* libc-cancellation.c cleanup.Ulrich Drepper2009-05-164-11/+35
| | | | | The unrelated function __libc_cleanup_routine should not be in this file. Move it into its own file.
* Unify source for async cancel handling.Ulrich Drepper2009-05-164-189/+12
| | | | | Unify all three places where we enable async cancellation for syscalls. Optimize a bit.
* Rename nptl/init.c to nptl/nptl-init.c.Ulrich Drepper2009-05-163-3/+9
| | | | | Needed to allow overwriting architectures init.c in csu and nptl individually. Fixes BZ #9924.
* ChangeLog entries incorrectly applied.Ulrich Drepper2009-05-151-25/+0
|
* Add missing export of fallocate64 on 32-bit platforms.Jakub Jelinek2009-05-151-0/+18
| | | | | | Due to a pasto the fallocate64 interface, introduced in glibc 2.10, isn't exported for 32-bit Linux platforms. It is too late for this now so exported them for glibc 2.11.
* Don't try to cleanup libselinux and libaudit.Jakub Jelinek2009-05-151-0/+7
| | | | | | | | Because we are not shutting down the other threads first another thread might work on a query before the process shuts down. In this case the now uninitialized libselinux and libaudit might be used. Just don't free the resources. It's not necessary anyway because the process is about to terminate.
* Fix change to prevent cancel signal in unsafe places.Ulrich Drepper2009-05-154-14/+16
| | | | | | | The bits tested to decide when to delay the return when switching off async cancel mode were wrong. Fix that. Also close a race condition in pthread_cancel where the bit indicating the cancellation is unconditionally set even if the cancel type might have changed.
* No cancel signal in unsafe places.Ulrich Drepper2009-05-153-2/+32
| | | | | | | | When disabling async cancellation we cannot return from the function call if the thread is canceled. This happens when the cancel bits have been set before async cancel is disabled but the signal hasn't been sent/received yet. Delay for as long as necessary since otherwise the signal might be received in an unsafe context.
* Add missing CHangeLog entry.Jakub Jelinek2009-04-291-0/+9
| | | | | | | | | | | 2009-01-07 Ulrich Drepper <drepper@redhat.com> * (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.
* * cancellation.c (__pthread_disable_asynccancel): Use THREAD_ATOMIC_ANDUlrich Drepper2009-04-275-4/+49
| | | | | | | | 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.
* * sem_open.c (sem_open): Rewrite initialization of initsem toUlrich Drepper2009-04-262-8/+14
| | | | avoid warnings.
* * sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):Ulrich Drepper2009-04-262-4/+9
| | | | Avoid warning by using may_alias attribute on ptrhack.
* [BZ #9963]Ulrich Drepper2009-04-231-0/+1
| | | | | | | | | | | | | | | 2009-04-22 Ulrich Drepper <drepper@redhat.com> [BZ #9963] * locales/en_PH: Fix LC_PAPER. * locales/es_CL: Likewise. * locales/es_CO: Likewise. * locales/es_MX: Likewise. * locales/es_US: Likewise. * locales/es_VE: Likewise. * locales/fil_PH: Likewise. * locales/ik_CA: Likewise. * locales/iu_CA: Likewise. * locales/tl_PH: Likewise.
* * pthread_attr_setschedparam.c (__pthread_attr_setschedparam):Ulrich Drepper2009-04-232-1/+13
| | | | | Check policy and priority for validity. Patch mostly by Zhang Xiliang <zhangxiliang@cn.fujitsu.com>.
* [BZ #5807]Ulrich Drepper2009-03-152-102/+27
| | | | | | | 2009-03-15 Ulrich Drepper <drepper@redhat.com> [BZ #5807] * string/strlen.c (strlen): Fix omission in the expression to test for NUL bytes.
* * init.c (nptl_freeres): Compile only for SHARED.Ulrich Drepper2009-03-102-3/+7
|