Ulrich Drepper
d52c96e73a
Replace hand-coded unwind tables from x86-64 pthread_cond_wait.
2009-07-17 12:14:09 -07:00
Ulrich Drepper
bfdb73e145
Implement pthread_sigqueue.
...
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-12 08:34:02 -07:00
Bryan Kadzban
1828530f09
Fix futex syscall parameter for x86 absolute timeout waits.
...
This affects only installations compiled for kernels older than 2.6.18.
2009-06-11 11:32:51 -07:00
Ulrich Drepper
cba0ca7925
Unify source for async cancel handling.
...
Unify all three places where we enable async cancellation for
syscalls. Optimize a bit.
2009-05-16 14:55:59 -07:00
Ulrich Drepper
d5c157a978
* 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-27 21:55:49 +00:00
Ulrich Drepper
f521be31b9
* sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
...
Avoid warning by using may_alias attribute on ptrhack.
2009-04-26 18:06:47 +00:00
Ulrich Drepper
71a5bd3e17
[BZ #5807 ]
...
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-15 09:03:38 +00:00
Jakub Jelinek
9920a6b8db
* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Define
...
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-03-09 14:19:53 +00:00
Ulrich Drepper
6cbe890a9d
* wctype/wctype.h: The *_l functions are in POSIX 2008.
...
* 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 16:53:30 +00:00
Ulrich Drepper
1f04d00542
* locale/langinfo.h: nl_langinfo_l is in POSIX 2008.
...
* 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 06:18:24 +00:00
Ulrich Drepper
77db439eaf
* ctype/ctype.h: The *_l functions are in POSIX 2008.
...
* 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-26 02:23:50 +00:00
Ulrich Drepper
8c4a5f4214
* io/sys/stat.h: The lstat functions have been mandatory since 2001.
2009-02-24 22:47:58 +00:00
Ulrich Drepper
4c869eb67e
* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Define
...
LOAD_FUTEX_WAIT_ABS even if (FUTEX_WAIT == 0).
2009-02-13 23:36:40 +00:00
Ulrich Drepper
7f901dd7ca
* sysdeps/pthread/unwind-forcedunwind.c: Encrypt all function
...
pointer variables.
2009-01-29 20:52:36 +00:00
Ulrich Drepper
cca50323b6
* 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-29 20:38:04 +00:00
Ulrich Drepper
a7bd183ffe
* sysdeps/unix/sysv/linux/sh/sysdep.h (INTERNAL_SYSCALL):
...
Add "t" to clobber list.
(INTERNAL_SYSCALL_NCS): Likewise.
2009-01-28 16:11:36 +00:00
Ulrich Drepper
f25c7b087f
* sysdeps/pthread/list.h (list_add): Initialize new element first.
...
(list_add_tail): Removed.
2009-01-08 18:32:16 +00:00
Ulrich Drepper
45f7760695
(__lll_timedlock_wait): Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_READTIME instead of computing relative timeout.
2009-01-03 23:17:21 +00:00
Ulrich Drepper
b2bcd249bf
* sysdeps/unix/sysv/linux/i386/sysdep.h: Describe 6th argument
...
handling.
2009-01-03 20:36:44 +00:00
Ulrich Drepper
cbd8aeb836
* 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_READTIME instead of computing
relative timeout.
2009-01-03 05:06:46 +00:00
Ulrich Drepper
7dd650d7fc
* 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.
2009-01-03 03:45:07 +00:00
Ulrich Drepper
6de79a4991
* 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-12 18:46:28 +00:00
Ulrich Drepper
135460f45c
[BZ #6545 ]
...
* sysdeps/unix/sysv/linux/bits/socket.h (SCM_CREDENTIALS): Make
available only for __USE_GNU.
2008-12-09 23:25:02 +00:00
Ulrich Drepper
71bb26394a
* 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-08 23:30:25 +00:00
Ulrich Drepper
261d16fece
* posix/regex_internal.h (build_wcs_upper_buffer):
...
Return type is reg_error_t.
2008-12-06 00:13:04 +00:00
Ulrich Drepper
da5ac1352d
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname3_r): Recognize
...
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-12-03 07:30:39 +00:00
Roland McGrath
c0439b95b8
Moved alpha to ports repository.
...
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-26 07:26:32 +00:00
Jakub Jelinek
4b23f9bda3
* 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. 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-07 15:07:10 +00:00
Ulrich Drepper
bf837fa36f
[BZ #6843 ]
...
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-11-01 00:20:07 +00:00
Ulrich Drepper
208bc83670
* misc/syslog.c (openlog_internal): Fix __have_sock_cloexec
...
initialization.
2008-10-22 21:45:13 +00:00
Ulrich Drepper
af62b44029
* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Add memory barrier
...
to force runp->refcntr to be read from memory.
2008-10-06 16:47:10 +00:00
Andreas Jaeger
2458c74851
* 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-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-09-23 18:50:28 +00:00
Ulrich Drepper
965805e888
* sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Define MAP_STACK.
...
* sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise.
2008-08-15 22:35:53 +00:00
Ulrich Drepper
7b91359b2c
* Makeconfig: Define pie-ccflag and PIE-ccflag variables.
...
* elf/Makefile: Use pie-ccflag variable.
* nscd/Makefile: Likewise.
* sysdeps/sparc/Makefile: Set $(pie-ccflag) to -fPIE.
2008-07-26 22:22:24 +00:00
Ulrich Drepper
1311b164df
* stdio-common/printf_fp.c (___printf_fp): Give wide outout code
...
the same treatment as narow output code in last patch.
2008-07-26 16:32:59 +00:00
Ulrich Drepper
8ccf22f934
* include/rpc/clnt.h: Declare __libc_clntudp_bufcreate and
...
__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-07-25 17:06:50 +00:00
Ulrich Drepper
5a337776da
* nscd/grpcache.c (cache_addgr): Correctly compute size of
...
fixed-size portion of the record.
* nscd/servicescache.c (cache_addserv): Likewise.
* nscd/pwdcache.c (cache_addpw): Likewise.
* nscd/initgrcache.c (addinitgroupsX): Likewise.
2008-06-12 16:16:38 +00:00
Ulrich Drepper
e4d6e7f5c0
* sysdeps/pthread/pthread.h: Fix typo in comment.
2008-05-29 14:53:01 +00:00
Ulrich Drepper
7c0ad1645f
(do_clone): Pass accurate length of CPU set to the kernel.
2008-05-29 05:53:18 +00:00
Ulrich Drepper
62605cbfcb
Remove useless more "if" tests before "free".
...
* 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-27 06:04:07 +00:00
Jakub Jelinek
3b15b590b7
* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: New file.
...
2008-05-19 Jakub Jelinek <jakub@redhat.com>
* elf/soinit.c (__EH_FRAME_BEGIN__): Remove.
2008-05-20 07:42:00 +00:00
Ulrich Drepper
cdffaaa615
* 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 <clemens.kol@gmx.at>.
2008-05-11 05:42:25 +00:00
Jakub Jelinek
2313c48fa9
* sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c
...
(__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-15 15:00:30 +00:00
Jakub Jelinek
d24be489a1
[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-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-04-08 06:36:47 +00:00
Ulrich Drepper
f96853beaf
* sysdeps/unix/sysv/linux/bits/local_lim.h: Undefined ARG_MAX if
...
<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-27 15:20:38 +00:00
Jakub Jelinek
354b75277b
* sysdeps/unix/sysv/linux/dl-sysdep.h: Use __ASSEMBLER__ instead
...
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.
2008-03-17 23:41:58 +00:00
Ulrich Drepper
4564918515
Fix typo.
2008-03-14 21:52:57 +00:00
Ulrich Drepper
702ae32909
* 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-14 21:49:02 +00:00
Ulrich Drepper
443db17889
[BZ #5778 ]
...
* sysdeps/unix/sysv/linux/pathconf.h: Declare
__statfs_chown_restricted.
* sysdeps/unix/sysv/linux/fpathconf.c: Call __statfs_chown_restricted
for _PC_CHOWN_RESTRICTED.
* sysdeps/unix/sysv/linux/pathconf.c: Likewise.
Implement __statfs_chown_restricted.
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Change
_POSIX_CHOWN_RESTRICTED value to zero.
2008-02-26 Harsha Jagasia <harsha.jagasia@amd.com>
2008-03-08 01:57:18 +00:00
Ulrich Drepper
f37eb57f80
(sem_post): Avoid unnecessary addr32 prefix.
2008-01-30 17:43:50 +00:00