summaryrefslogtreecommitdiff
path: root/nptl/sysdeps
AgeCommit message (Collapse)AuthorFilesLines
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 Jakub 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.
2009-01-03* sysdeps/unix/sysv/linux/i386/sysdep.h: Describe 6th argumentUlrich Drepper1-2/+2
handling.
2009-01-03* init.c (__pthread_initialize_minimal_internal): Check forUlrich Drepper1-1/+57
FUTEX_CLOCK_REALTIME flag. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S (__lll_timedlock_wait): Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_READTIME instead of computing relative timeout.
2009-01-03* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: DefineUlrich Drepper5-6/+21
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-12* pthread_mutex_lock.c (__pthread_mutex_lock): Handle only theUlrich Drepper1-0/+1
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-09[BZ #6545]Ulrich Drepper1-2/+2
* sysdeps/unix/sysv/linux/bits/socket.h (SCM_CREDENTIALS): Make available only for __USE_GNU.
2008-12-08* sysdeps/x86_64/tls.h (tcbhead_t): Add fields reserved for TMUlrich Drepper1-1/+9
implementation. Add necessary padding and. * descr.h (struct pthread): Increase padding for tcbhead_t to 24 words.
2008-12-06* posix/regex_internal.h (build_wcs_upper_buffer):Ulrich Drepper1-1/+3
Return type is reg_error_t.
2008-12-03* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname3_r): RecognizeUlrich Drepper5-12/+22
ESRCH return value. (_nss_dns_gethostbyname4_r): Likewise. * resolv/res_init.c (__res_vinit): Initialize nscount to zero. * sysdeps/posix/getaddrinfo.c (gaih_inet): In case we use gethostbyname4_r, we don't have a separate IPv6 status, so copy the no_data variable.
2008-11-26Moved alpha to ports repository.Roland McGrath27-1466/+0
2008-11-25 Roland McGrath <roland@redhat.com> * sysdeps/alpha, sysdeps/unix/bsd/osf/alpha, sysdeps/unix/bsd/Attic/osf1/alpha, sysdeps/unix/sysv/linux/alpha, sysdeps/unix/sysv/linux/alpha/alpha, sysdeps/unix/alpha, sysdeps/mach/alpha, sysdeps/mach/hurd/alpha: Subdirectories moved to ports repository. * configure.in (base_machine): Remove alpha case.
2008-11-07* bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address, Jakub Jelinek1-4/+4
__libc_tsd_get, __libc_tsd_set): Add TYPE argument, use it as the type of the thread variable instead of void *. * sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Likewise. * include/ctype.h (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust __libc_tsd_define arguments. (__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Adjust __libc_tsd_address arguments. Remove union hack. * include/rpc/rpc.h (RPC_VARS): Adjust __libc_tsd_define arguments. * sunrpc/rpc_thread.c (RPC_VARS): Likewise. (__rpc_thread_destroy, rpc_thread_multi, __rpc_thread_variables): Adjust __libc_tsd_{set,get} arguments. * ctype/ctype-info.c (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust __libc_tsd_define arguments. * locale/uselocale.c (__uselocale): Adjust __libc_tsd_{set,get} arguments. * locale/lc-ctype.c (_nl_postload_ctype): Likewise. * locale/global-locale.c (__libc_tsd_LOCALE): Adjust type. (LOCALE): Adjust __libc_tsd_define arguments. * locale/localeinfo.h (_NL_CURRENT_LOCALE): Adjust __libc_tsd_get arguments. (LOCALE): Adjust __libc_tsd_define arguments. * sysdeps/mach/hurd/malloc-machine.h (MALLOC): Adjust __libc_tsd_define arguments. (tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get} arguments. nptl/ * sysdeps/pthread/malloc-machine.h (MALLOC): Adjust __libc_tsd_define arguments. (tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get} arguments. 2008-11-07 Jakub Jelinek <jakub@redhat.com> * bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Add TYPE argument, use it as the type of the thread variable instead of void *. * sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Likewise. * include/ctype.h (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust __libc_tsd_define arguments. (__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Adjust __libc_tsd_address arguments. Remove union hack. * include/rpc/rpc.h (RPC_VARS): Adjust __libc_tsd_define arguments. * sunrpc/rpc_thread.c (RPC_VARS): Likewise. (__rpc_thread_destroy, rpc_thread_multi, __rpc_thread_variables): Adjust __libc_tsd_{set,get} arguments. * ctype/ctype-info.c (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust __libc_tsd_define arguments. * locale/uselocale.c (__uselocale): Adjust __libc_tsd_{set,get} arguments. * locale/lc-ctype.c (_nl_postload_ctype): Likewise. * locale/global-locale.c (__libc_tsd_LOCALE): Adjust type. (LOCALE): Adjust __libc_tsd_define arguments. * locale/localeinfo.h (_NL_CURRENT_LOCALE): Adjust __libc_tsd_get arguments. (LOCALE): Adjust __libc_tsd_define arguments. * sysdeps/mach/hurd/malloc-machine.h (MALLOC): Adjust __libc_tsd_define arguments. (tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get} arguments.
2008-11-01[BZ #6843]Ulrich Drepper1-2/+2
2008-10-31 Ulrich Drepper <drepper@redhat.com> [BZ #6843] * sysdeps/pthread/gai_misc.h (__gai_create_helper_thread): Increase stack size for helper thread.
2008-10-22* misc/syslog.c (openlog_internal): Fix __have_sock_cloexecUlrich Drepper1-1/+6
initialization.
2008-10-06* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Add memory barrierUlrich Drepper1-1/+4
to force runp->refcntr to be read from memory.
2008-09-23* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_lock, Andreas Jaeger1-9/+10
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-09-08 Richard Guenther <rguenther@suse.de> * 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* sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Define MAP_STACK.Ulrich Drepper1-10/+0
* sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise.
2008-07-26* Makeconfig: Define pie-ccflag and PIE-ccflag variables.Ulrich Drepper1-1/+1
* elf/Makefile: Use pie-ccflag variable. * nscd/Makefile: Likewise. * sysdeps/sparc/Makefile: Set $(pie-ccflag) to -fPIE.
2008-07-26* stdio-common/printf_fp.c (___printf_fp): Give wide outout codeUlrich Drepper1-0/+2
the same treatment as narow output code in last patch.
2008-07-25* include/rpc/clnt.h: Declare __libc_clntudp_bufcreate andUlrich Drepper1-3/+26
__libc_clntudp_bufcreate_internal. * include/sys/socket.h: Declare __have_sock_cloexec. * socket/Makefile (aux): Add have_sock_cloexec. * socket/have_sock_cloexec.c: New file. * sunrpc/clnt_udp.h (clntudp_bufcreate): Now a wrapper around __libc_clntudp_bufcreate. (__libc_clntudp_bufcreate): Former implementation of clntudp_bufcreate which takes an additional parameter. Create socket with non-blocking mode and close-on-exec flag set, if wanted. * sunrpc/Versions: Export __libc_clntudp_bufcreate@GLIBC_PRIVATE. * nis/ypclnt.c (yp_bind_client_create): Use __libc_clntpudp_bufcreate instead of clntudp_create. The socket has already the close-on-exec flag set if SOCK_CLOEXEC is defined.
2008-06-12* nscd/grpcache.c (cache_addgr): Correctly compute size ofUlrich Drepper1-2/+2
fixed-size portion of the record. * nscd/servicescache.c (cache_addserv): Likewise. * nscd/pwdcache.c (cache_addpw): Likewise. * nscd/initgrcache.c (addinitgroupsX): Likewise.
2008-05-29* sysdeps/pthread/pthread.h: Fix typo in comment.Ulrich Drepper1-4/+4
2008-05-29(do_clone): Pass accurate length of CPU set to the kernel.Ulrich Drepper1-2/+2
2008-05-27Remove useless more "if" tests before "free".Ulrich Drepper11-2/+225
* include/inline-hashtab.h (htab_delete): Likewise. * libio/freopen.c (freopen): Likewise. * libio/freopen64.c (freopen64): Likewise. * locale/programs/ld-collate.c (collate_read): Likewise. * misc/fstab.c (libc_freeres_fn): Likewise. * posix/glob.c (globfree): Likewise.
2008-05-20* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: New file.Jakub Jelinek1-0/+4
2008-05-19 Jakub Jelinek <jakub@redhat.com> * elf/soinit.c (__EH_FRAME_BEGIN__): Remove.
2008-05-11* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: AccessUlrich Drepper5-19/+19
__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 <clemens.kol@gmx.at>.
2008-04-15* sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c Jakub Jelinek1-1/+1
(__old_sem_wait): Fix argument to lll_futex_wait(). 2008-04-14 David S. Miller <davem@davemloft.net> * sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c (__old_sem_wait): Fix argument to lll_futex_wait().
2008-04-08[BZ #6020] Jakub Jelinek1-2/+2
* sysdeps/unix/sysv/linux/sparc/lowlevellock.h (lll_futex_wake_unlock): Add private argument to the pre-v9 macro. Patch by Sunil Amitkumar Janki <devel.sjanki@gmail.com>. 2008-04-08 Jakub Jelinek <jakub@redhat.com> [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 <devel.sjanki@gmail.com>.
2008-03-27* sysdeps/unix/sysv/linux/bits/local_lim.h: Undefined ARG_MAX ifUlrich Drepper5-5/+46
<linux/limits.h> has defined it. * sysdeps/unix/sysv/linux/sys/param.h: Define NCARGS to the legacy ARG_MAX value and prevent ARG_MAX from being defined by the kernel headers. * sysdeps/unix/sysv/linux/sysconf.c: Define legacy_ARG_MAX and use it instead of ARG_MAX.
2008-03-17* sysdeps/unix/sysv/linux/dl-sysdep.h: Use __ASSEMBLER__ instead Jakub Jelinek3-3/+3
of ASSEMBLER. nptl/ * 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-18 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/dl-sysdep.h: Use __ASSEMBLER__ instead of ASSEMBLER.