aboutsummaryrefslogtreecommitdiff
path: root/nptl/sysdeps
AgeCommit message (Collapse)AuthorFilesLines
2009-08-22Rvert accidental checkins.Ulrich Drepper5-545/+0
2009-08-22Add sigstack handling to Linux ____longjmp_chk on powerpc.Andreas Schwab5-0/+545
2009-08-11Add CFI directives to x86-64 pthread_rwlock_unlock.Ulrich Drepper1-2/+3
2009-08-10Add CFI directives to x86-64 pthread_rwlock_{rd,wr)lock.Ulrich Drepper2-2/+6
2009-08-10Fix check for PI mutex in x86-64 pthread_cond_signalAndreas Schwab1-3/+3
Register eax contains the syscall number, use a different one instead.
2009-08-08Optimize x86-64 version of sem_timedwait.Ulrich Drepper1-65/+145
2009-08-08Another minor optimization of x86-64 pthread_cond_wait.Ulrich Drepper1-15/+7
2009-08-07Small optimizations to cancellable x86-64 code.Ulrich Drepper4-61/+40
2009-08-04Optimize x86-64 syscall cancellation handling.Ulrich Drepper5-44/+179
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.
2009-07-31Regenerated.Ulrich Drepper1-8/+40
2009-07-29Fix x86-64 TCB alignment for future processor versions.Ulrich Drepper1-1/+6
2009-07-29Preserve SSE registers in runtime relocations on x86-64.Ulrich Drepper2-18/+56
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.
2009-07-28Fix bookkeeping in mutex when using requeue_pi.Ulrich Drepper5-20/+40
2009-07-23Check for .cfi_{personality,lsda} on x86-64.Ulrich Drepper2-0/+59
We need this support in NPTL now to avoid the hand-coded tables.
2009-07-23Fix pthread_cond_timedwait error handling on old kernels.Ulrich Drepper1-2/+2
2009-07-20Minor optimizations of last x86-64 condvar changes.Ulrich Drepper2-23/+16
2009-07-19Support requeueing for condvars using PI mutex. x86-64 only.Ulrich Drepper5-36/+168
Add support for the new FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI options of futex.
2009-07-19Make x86-64 pthread_cond_timedwait more robust.Ulrich Drepper1-0/+2
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.
2009-07-19Extend x86-64 __lll_robust_timedlock_wait to use futex syscall with absolute ↵Ulrich Drepper1-2/+76
timeout.
2009-07-18Extend x86-64 pthread_rwlock_timedrdlock to use futex syscall with absolute ↵Ulrich Drepper1-18/+55
timeout.
2009-07-18Pretty printing last change.Ulrich Drepper1-6/+6
2009-07-18Extend x86-64 pthread_rwlock_timedwrlock to use futex syscall with absolute ↵Ulrich Drepper1-12/+49
timeout.
2009-07-18Remove leftover cfi.Ulrich Drepper1-4/+1
2009-07-18Extend x86-64 pthread_cond_timedwait to use futex syscall with absolute timeout.Ulrich Drepper1-126/+292
2009-07-18Optimize x86-64 pthread_cond_timedwait.Ulrich Drepper1-144/+188
Instead of actively registering an unwind buffer we now use the exception handling functionality of the gcc runtime.
2009-07-18Optimize x86-64 pthread_cond_wait.Ulrich Drepper2-144/+309
Instead of actively registering an unwind buffer we now use the exception handling functionality of the gcc runtime.
2009-07-17Extend x86-64 sem_timedwait to use futex syscall with absolute timeout.Ulrich Drepper1-46/+116
2009-07-17Consistently use symbolic constants.Ulrich Drepper1-4/+3
2009-07-17Replace hand-coded unwind tables from x86-64 sem_timedwait.Ulrich Drepper1-122/+29
2009-07-17Optimize x86-64 sem_wait for uncontested semaphore.Ulrich Drepper1-24/+27
2009-07-17Replace hand-coded unwind tables from x86-64 sem_wait.Ulrich Drepper1-101/+25
2009-07-17Replace hand-coded unwind tables from x86-64 pthread_once.Ulrich Drepper1-106/+22
2009-07-17Replace hand-coded unwind tables from x86-64 pthread_cond_wait.Ulrich Drepper1-76/+18
2009-06-12Implement pthread_sigqueue.Ulrich Drepper2-1/+90
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.
2009-06-11Fix futex syscall parameter for x86 absolute timeout waits.Bryan Kadzban1-1/+1
This affects only installations compiled for kernels older than 2.6.18.
2009-05-16Unify source for async cancel handling.Ulrich Drepper1-87/+4
Unify all three places where we enable async cancellation for syscalls. Optimize a bit.
2009-04-27* cancellation.c (__pthread_disable_asynccancel): Use THREAD_ATOMIC_ANDUlrich Drepper2-2/+28
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* sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):Ulrich Drepper1-4/+4
Avoid warning by using may_alias attribute on ptrhack.
2009-03-15[BZ #5807]Ulrich Drepper1-102/+21
2009-03-15 Ulrich Drepper <drepper@redhat.com> [BZ #5807] * string/strlen.c (strlen): Fix omission in the expression to test for NUL bytes.
2009-03-09* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Define cvs/fedora-glibc-20090309T1421Jakub Jelinek1-1/+7
FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_CLOCK_REALTIME and FUTEX_BITSET_MATCH_ANY. 2009-03-09 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Define FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_CLOCK_REALTIME and FUTEX_BITSET_MATCH_ANY.
2009-02-26* wctype/wctype.h: The *_l functions are in POSIX 2008.Ulrich Drepper1-32/+38
* wcsmbs/wchar.h: mbsnrtowcs, open_wmemstream, wcpcpy, wcpncpy, wcscasecmp, wcsdup, wcsncasecmp, wcsnlen, wcsnrtombs, wcscasecmp_l, wcsncasecmp_l, wcscoll_l, and wcsxfrm_l. * sysdeps/mach/hurd/bits/posix_opt.h: Reset value of macros from 200112L to 200809L. * sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise. * posix/getconf.c (vars): Add _SC_THREAD_ROBUST_PRIO_INHERIT and _SC_THREAD_ROBUST_PRIO_PROTECT entries. * bits/confname.h: Add _SC_THREAD_ROBUST_PRIO_INHERIT and _SC_THREAD_ROBUST_PRIO_PROTECT. * posix/unistd.h: fexecve is in POSIX 2008. * time/time.h: strftime_l is in POSIX 2008. * io/sys/stat.h: futimens is in POSIX 2008. * string/strings.h: strcasecmp_l and strncasecmp_l are in POSIX 2008. * string/string.h: stpcpy, stpncpy, strndup, strnlen, strsignal, strcoll_l, strerror_l, and strxfrm_l are in POSIX 2008. * stdlib/stdlib.h: mkdtemp is in POSIX 2008.
2009-02-26* locale/langinfo.h: nl_langinfo_l is in POSIX 2008.Ulrich Drepper1-1/+1
* locale/xlocale.h: Define locale_t type. * locale/locale.h: duplocale, freelocale, newlocale, uselocale are in POSIX 2008. Don't define locale_t here. * stdlib/monetary.h: strfmon_l is in POSIX 2008. * signal/signal.h: Declare psignal and psiginfo for POSIX 2008. * stdio-common/psiginfo.c: New file. * stdio-common/psiginfo-data.h: New file. * stdio-common/psiginfo-define.h: New file. * stdio-common/Makefile (routines): Add psiginfo. * stdio-common/Versions: Export psiginfo for GLIBC_2.10.
2009-02-26* ctype/ctype.h: The *_l functions are in POSIX 2008.Ulrich Drepper1-6/+22
* dirent/dirent.h: alphasort, dirfd, scandir, and fdopendir are in POSIX 2008. /proc/sys/kernel/rtsig_max doesn't exist anymore, use getrlimit
2009-02-24* io/sys/stat.h: The lstat functions have been mandatory since 2001.Ulrich Drepper1-4/+4
2009-02-13* sysdeps/unix/sysv/linux/sh/lowlevellock.S: DefineUlrich Drepper1-2/+2
LOAD_FUTEX_WAIT_ABS even if (FUTEX_WAIT == 0).
2009-01-29* sysdeps/pthread/unwind-forcedunwind.c: Encrypt all functionUlrich Drepper1-10/+29
pointer variables.
2009-01-29* allocatestack.c (__free_stacks): Renamed from free_stacks.Ulrich Drepper1-4/+18
(__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-28* sysdeps/unix/sysv/linux/sh/sysdep.h (INTERNAL_SYSCALL):Ulrich Drepper2-3/+106
Add "t" to clobber list. (INTERNAL_SYSCALL_NCS): Likewise.
2009-01-08* sysdeps/pthread/list.h (list_add): Initialize new element first.Ulrich Drepper1-13/+2
(list_add_tail): Removed.
2009-01-03(__lll_timedlock_wait): Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_READTIME instead ↵Ulrich Drepper1-19/+79
of computing relative timeout.