2004-12-16 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Add support
for NPTL where the PID is stored at userlevel and needs to be reset
when CLONE_THREAD is not used.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
(SYSCALL_ERROR_HANDLER): If RTLD_PRIVATE_ERRNO, use rtld_errno
instead of errno.
* sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: Include
sysdep-cancel.h instead of sysdep.h. Handle cancellation.
* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Regenerate.
* sysdeps/ieee754/ldbl-128/e_expl.c: Include stdlib.h.
2004-12-15 Jakub Jelinek <jakub@redhat.com>
* nis/nis_domain_of_r.c (nis_domain_of_r): Use libnsl_hidden_def,
not libnsl_hidden_proto.
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Add support
for NPTL where the PID is stored at userlevel and needs to be reset
when CLONE_THREAD is not used.
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone): Save
and restore r2 around call to fn.
2004-12-01 Jakub Jelinek <jakub@redhat.com>
* posix/tst-regex.c: Use defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
conditionals instead of defined _POSIX_CPUTIME.
(main): If _POSIX_CPUTIME == 0, call sysconf to see if CPUTIME
option is available.
* posix/tst-regex.c2: Use defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
conditionals instead of defined _POSIX_CPUTIME.
(do_test): If _POSIX_CPUTIME == 0, call sysconf to see if CPUTIME
option is available.
* sysdeps/posix/sysconf.c (__sysconf): If _POSIX_CPUTIME resp.
_POSIX_THREAD_CPUTIME is defined to 0, return -1 for the corresponding
_SC_ argument.
2004-12-07 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Add support for
NPTL where the PID is stored at userlevel and needs to be reset when
CLONE_THREAD is not used. Restore gp before calling _exit.
2004-12-07 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/clone.S: Clear the frame pointer when
starting a new thread. Add support for NPTL where the PID is stored
at userlevel and needs to be reset when CLONE_THREAD is not used.
2004-12-04 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/clone.S: Add support for NPTL where
the PID is stored at userlevel and needs to be reset when CLONE_THREAD
is not used.
* sysdeps/unix/sysv/linux/86_64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/arm/clone.S: Update uses of RETINSTR.
* sysdeps/unix/sysv/linux/arm/mmap.S: Likewise.
* sysdeps/unix/sysv/linux/arm/mmap64.S: Likewise.
* sysdeps/unix/sysv/linux/arm/socket.S: Likewise.
* sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/arm/vfork.S: Likewise.
* posix/tst-getaddrinfo2.c: Include stdlib.h and string.h.
(do_test): Use %p instead of 0x%08X to print a pointer.
* malloc/malloc.c: Include stdio-common/_itoa.h.
2004-10-05 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sysconf.c (__sysconf): Return 200112L
for _SC_CPUTIME or _SC_THREAD_CPUTIME.
* nscd/Makefile (nscd-cflags): Set to -DIS_IN_nscd=1, plus
-fpie if building PIE.
(CFLAGS-*.c): Use it.
* nscd/Makefile (relro-LDFLAGS): Add -Wl,-z,now if have-z-relro.
($(objpfx)nscd): Add $(relro-LDFLAGS).
* sysdeps/unix/sysv/linux/i386/sysconf.c: Include hp-timing.h.
(__sysconf): Return -1 for _SC_CPUTIME or _SC_THREAD_CPUTIME if
!HP_TIMING_AVAIL.
2004-10-05 Ulrich Drepper <drepper@redhat.com>
* nscd/Makefile (distribute): Remove TODO.
* nscd/TODO: Removed.
2004-10-01 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
(__lll_mutex_timedlock_wait): I woken but cannot get the lock,
make sure 2 is stored in the futex and we looked at the old value.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
(__lll_mutex_timedlock_wait): Likewise. Fix a few other problems
which might very well made the code not working at all before.
2004-09-01 David Mosberger <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h
(__libc_unwind_longjmp): Delete macro and declare as function.
* sysdeps/unix/sysv/linux/ia64/Makefile (sysdep_routines): Mention
__ia64_longjmp, sigstack_longjmp, and __sigstack_longjmp for
nptl directory.
* sysdeps/unix/sysv/linux/ia64/__ia64_longjmp.S: New file.
* sysdeps/unix/sysv/linux/ia64/__sigstack_longjmp.c: New file.
* sysdeps/unix/sysv/linux/ia64/unwind_longjmp.c: New file.
Update.
* misc/syslog.c (vsyslog): Fix copying of PID in case of
out-of-memory situation. [BZ #365].
* sysdeps/alpha/fpu/bits/mathinline.h: Use __NTH instead of
__THROW in inline function definitions.
2004-09-10 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Decrement
__nwaiters. If pthread_cond_destroy has been called and this is
the last waiter, signal pthread_cond_destroy caller and avoid
using the pthread_cond_t structure after unlock.
* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
2005-09-05 Richard Henderson <rth@redhat.com>
* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (SINGLE_THREAD_P):
Move definition inside libpthread, libc, librt check. Provide
definition for rtld.
lll_futex_timed_wait, lll_futex_wake, lll_futex_requeue): On success
return actual return value from the syscall, not 0.
Add __mutex field.
2004-07-05 Ulrich Drepper <drepper@redhat.com>
* elf/dl-init.c: Don't define and use _dl_starting_up if
HAVE_INLINED_SYSCALLS is defined and the variable is not used.
* elf/dl-support.c: Likewise.
* elf/rtld.c: Likewise.
* elf/dl-misc.c (_dl_debug_vdprintf): Use writev syscall directly
if HAVE_INLINED_SYSCALLS is defined.
* sysdeps/powerpc/powerpc64/dl-machine.h: Don't rest _dl_starting_up
here.
* sysdeps/powerpc/powerpc32/dl-start.S: Likewise.
* sysdeps/unix/sysv/linux/configure.in: Define HAVE_INLINED_SYSCALLS.
* config.h.in: Add entry for HAVE_INLINED_SYSCALLS.
* sysdeps/posix/profil.c: If compiled for ld.so, omit code which
is needed to stop profiling.
* elf/dl-open.c (dl_open_worker): If a newly opened object is to be
profile make sure it cannot be unloaded.
* sysdeps/unix/sysv/linux/dl-origin.c: Inline readlink syscall.
* sysdeps/unix/sysv/linux/fcntl.c: If compiled without cancellation
support, make sure the helper function is inlined.
* sysdeps/unix/sysv/linux/pread.c: Likewise.
* sysdeps/unix/sysv/linux/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise.
2004-07-04 Matthew Reppert <arashi@kai.vm.bytemark.co.uk>
* sysdeps/unix/sysv/linux/i386/glob64.c (glob64): Use libc_hidden_ver
instead of libc_hidden_def.
2004-06-17 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/pthread_cond_timedwait.c
(__pthread_cond_timedwait): Also check for negativ nanoseconds.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
(__pthread_cond_timedwait): Check for invalid nanosecond in
timeout value.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
* tst-cond19.c: New file.
* Makefile: Add rules to build and run tst-cond19.
2004-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_cond_t):
Add __data.__futex field, reshuffle __data.__clock.
* sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S
(__pthread_cond_signal): Increment __futex at the same time as
__wakeup_seq or __total_seq. Pass address of __futex instead of
address of low 32-bits of __wakeup_seq to futex syscall.
* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
(__pthread_cond_wait): Likewise. Pass __futex value from before
releasing internal lock to FUTEX_WAIT.
* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
(__pthread_cond_timedwait): Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S
(FUTEX_CMP_REQUEUE): Define.
(__pthread_cond_broadcast): Set __futex to 2 * __total_seq.
Use FUTEX_CMP_REQUEUE operation instead of FUTEX_REQUEUE.
Pass __futex value from before the unlock and __futex address instead
of address of low 32-bits of __wakeup_seq to futex syscall.
Fallback to FUTEX_WAKE all on any errors.