aboutsummaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix
AgeCommit message (Collapse)Author
2003-03-29Update.Ulrich Drepper
2003-03-28 Kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/sh/bits/atomic.h (__arch_compare_and_exchange_val_8_acq): Return old value. Make asm output reg constraint earlyclobber. Renamed from... (__arch_compare_and_exchange_8_acq): ... this. (__arch_compare_and_exchange_val_16_acq): Return old value. Make asm output reg constraint earlyclobber. Renamed from... (__arch_compare_and_exchange_16_acq): ... this. (__arch_compare_and_exchange_val_32_acq): Return old value. Make asm output reg constraint earlyclobber. Renamed from... (__arch_compare_and_exchange_32_acq): ... this. (__arch_compare_and_exchange_val_64_acq): Renamed from... (__arch_compare_and_exchange_64_acq): ... this. (atomic_exchange_and_add): Use local variables and __arch_compare_and_exchange_val_64_acq. (atomic_add): Likewise. (atomic_add_negative, atomic_add_zero): Use local variables. * Makefile: Remove libmd5crypt goal.
2003-03-28Update.Ulrich Drepper
* sysdeps/unix/sysv/linux/kernel-posix-timers.h: Don't declare __timer_helper_thread. Declare __start_helper_thread, __helper_once, and __helper_tid. (struct timer): Remove th and bar field. * sysdeps/unix/sysv/linux/timer_create.c (timer_create): Remove debugging code. Create only one helper thread. * sysdeps/unix/sysv/linux/timer_delete.c (timer_delete): Don't kill helper thread. * sysdeps/unix/sysv/linux/timer_routines.c (timer_helper_thread): Renamed. Define statically. Use thread info from siginfo. (__helper_once): New variable. (__helper_tid): New variable. (__reset_helper_control): New function. (__start_helper_thread): New function.
2003-03-28Don't declare __timer_helper_thread. Declare __start_helper_thread, ↵Ulrich Drepper
__helper_once, and __helper_tid. (struct timer): Remove th and bar field.
2003-03-27Update.Ulrich Drepper
2003-03-27 David Mosberger <davidm@hpl.hp.com> * sysdeps/unix/sysv/linux/ia64/getcontext.S: Restore caller's ar.unat before returning. Add missing .mem.offset directives to ensure file gets assembled without warnings. * sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise.
2003-03-27Update.Ulrich Drepper
2003-03-27 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/timer_delete.c (timer_delete): Even if timer_delete syscall fails, but not with ENOSYS, set __no_posix_timers. * sysdeps/unix/sysv/linux/timer_settime.c [!__ASSUME_POSIX_TIMERS] (timer_settime): Fix typo.
2003-03-27Fix offset of cleanupbuf.__prev.Jakub Jelinek
2003-03-26Fix typo in name of included file.Jakub Jelinek
2003-03-26Update.Ulrich Drepper
2003-03-26 Ulrich Drepper <drepper@redhat.com> * abilist/librt.abilist: Add new timer interfaces for 64-bit archs.
2003-03-25Update.Ulrich Drepper
2003-03-25 Ulrich Drepper <drepper@redhat.com> * csu/tst-atomic.c: Adjust tests to what atomic_add_negative and atomic_add_zero were supposed to do. * include/atomic.h: Adjust atomic_add_negative and atomic_add_zero to x86 behavior. * sysdeps/generic/bits/typesizes.h (__TIMER_T_TYPE): Define as void*. This matches the new timer implementation. * sysdeps/unix/sysv/linux/bits/siginfo.h (struct siginfo): Adjust timer info for what the kernel provides these days. (struct sigevent): Add _tid field. Define SIGEV_THREAD_ID. * Versions.def (librt): Add GLIBC_2.3.3. * abilist/libpthread.abilist: Update for nptl.
2003-03-22* sysdeps/i386/i486/bits/atomic.h (atomic_bit_set): Use "ir"Roland McGrath
constraint to permit non-constant BIT argument. (atomic_bit_test_set): Likewise. * sysdeps/x86_64/bits/atomic.h (atomic_bit_test_set): Likewise. (atomic_bit_set): Likewise. Use 1UL in case that BIT might be >= 32. For quadword case, use "i" constraint if __builtin_constant_p and < 32 or "r" constraint otherwise. * configure.in: Move AC_PROG_CC and other program-finding before all the version checks. * configure: Regenerated.
2003-03-21Update.Ulrich Drepper
2003-03-20 Ulrich Drepper <drepper@redhat.com> * include/atomic.h: Define atomic_compare_and_exchange_val_acq, atomic_compare_and_exchange_val_rel, atomic_compare_and_exchange_bool_acq, and atomic_compare_and_exchange_bool_rel instead of atomic_compare_and_exchange_acq and atomic_compare_and_exchange_rel. * sysdeps/i386/i486/bits/atomic.h: Define __arch_compare_and_exchange_val_*_acq instead of __arch_compare_and_exchange_*_acq. * sysdeps/x86_64/bits/atomic.h: Likewise. * sysdeps/ia64/bits/atomic.h: Define __arch_compare_and_exchange_bool_*_acq instead of __arch_compare_and_exchange_*_acq. * sysdeps/powerpc/bits/atomic.h: Likewise. * sysdeps/s390/bits/atomic.h: Likewise. * gmon/mcount.c: Adjust for new form of compare&exchange macros. * malloc/set-freeres.c: Likewise. * nscd/cache.c: Likewise. * stdlib/cxa_finalize.c: Likewise. * sysdeps/unix/sysv/linux/getsysstats.c: Likewise.
2003-03-20Update.Ulrich Drepper
2003-03-20 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Include <atomic.h>. Remove __lll_add, __lll_dev_if_positive, and __lll_test_and_set definitions. Replace uses with calls to atomic_* functions. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/lowlevellock.c: Replace __lll_add and __lll_test_and_set calls with atomic_exchange_and_add and atomic_exchange calls respectively. * sysdeps/unix/sysv/linux/sem_post.c: Likewise. * sysdeps/unix/sysv/linux/sem_timedwait.c: Likewise. * sysdeps/unix/sysv/linux/sem_trywait.c: Likewise. * sysdeps/unix/sysv/linux/sem_wait.c: Likewise. * sysdeps/unix/sysv/linux/ia64/pthread_once.c: Likewise. * sysdeps/unix/sysv/linux/ia64/sem_port.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/pthread_once.c: Likewise. * allocatestack.c (allocate_stack): Assume atomic_exchange_and_add returns the old value.
2003-03-20Replace __lll_add calls with atomic_exchange_and_add calls respectively.Ulrich Drepper
2003-03-20Replace __lll_add and __lll_test_and_set calls with atomic_exchange_and_add ↵Ulrich Drepper
and atomic_exchange call respectively.
2003-03-20* sysdeps/s390/pthread_spin_lock.c (pthread_spin_lock): Use typeRoland McGrath
int for variable OLDVAL and correct inline assembler contraint. * sysdeps/s390/pthread_spin_trylock.c (pthread_spin_trylock): Use type int for variable OLD. * sysdeps/s390/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Define it only for s390-32. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (SINGLE_THREAD_P): Use global variable __local_multiple_threads instead of multiple_threads field in the TCB.
2003-03-19Update.Ulrich Drepper
2003-03-19 Ulrich Drepper <drepper@redhat.com> * sysdeps/pthread/Makefile: Fix cut&paste error.
2003-03-19(__lll_test_and_set): Fix typos.Roland McGrath
2003-03-19* abilist: New directory of libfoo.abilist files maintained usingRoland McGrath
scripts/merge-abilist.awk and "make update-abi" rules. * Makefile (distribute): Add abilist/*.abilist. * Makerules [$(build-shared) = yes] [$(subdir)] (tests): Depend on check-abi.
2003-03-19* Versions (libpthread: GLIBC_2.2): RemoveRoland McGrath
pthread_barrierattr_getpshared, never really existed. (libpthread: GLIBC_2.0): Move __pthread_initialize to ... (libpthread: GLIBC_PRIVATE): ... here.
2003-03-19Remove unnecessary instruction in case clock_gettime isn't available.Ulrich Drepper
2003-03-18Reorder struct passed to cleanup handler to eliminate one more instruction.Ulrich Drepper
2003-03-18Update.Ulrich Drepper
* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h (pthrad_cond_t): Replace __unused field with __clock. * sysdeps/pthread/pthread_cond_wait.c: Release condvar lock before waken all waiters in cleanup handler. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
2003-03-18Update.Ulrich Drepper
2003-03-18 Ulrich Drepper <drepper@redhat.com> * pthread_condattr_getclock.c: New file. * pthread_condattr_setclock.c: New file. * sysdeps/pthread/pthread.h: Declare these new functions. * Versions [GLIBC_2.3.3] (libpthread): Add the new functions. * Makefile (libpthread-routines): Add the new functions. * sysdeps/unix/sysv/linux/internaltypes.h (struct pthread_condattr): Renamed field to value. Document use of the bits. * pthread_condattr_getpshared.c: Adjust for struct pthread_condattr change. * pthread_condattr_setpshared.c: Likewise. * sysdeps/unix/sysv/linux/lowlevelcond.sym: Add cond_clock symbol. * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_cond_t): Add __clock field. * sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Implement clock selection. * sysdeps/pthread/pthread_cond_timedwait.c: Likewise. * pthread-errnos.sym: Add ENOSYS. * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define _POSIX_CLOCK_SELECTION. * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Remove invalid .size directive.
2003-03-18Update.Ulrich Drepper
* sysdeps/unix/sysv/linux/ia64/pthread_once.c: Use __builtin_expect. Use __lll_add instead of spelling it out. Use protected symbol names. * sysdeps/unix/sysv/linux/ia64/sem_post.c: Use __builtin_expect. Use __lll_add. * sysdeps/unix/sysv/linux/ia64/lowlevellock.h (__lll_compare_and_swap): Renamed from lll_compare_and_swap. Use new name where necessary. (__lll_add): Defined. (__lll_dec_if_positive): Defined. (__lll_test_and_set): Defined. * sysdeps/ia64/pthread_spin_init.c: Removed. * sysdeps/unix/sysv/linux/ia64/lowlevelmutex.c: Removed. * sysdeps/unix/sysv/linux/ia64/sem_trywait.c: Removed. * sysdeps/unix/sysv/linux/ia64/sem_wait.c: Removed. * sysdeps/unix/sysv/linux/ia64/lowlevellock.c: Removed. * sysdeps/unix/sysv/linux/ia64/libc-lowlevellock.c: Removed. * sysdeps/unix/sysv/linux/ia64/libc-lowlevelmutex.c: Removed. * sysdeps/unix/sysv/linux/ia64/sem_timedwait.c: Removed.
2003-03-18Update.Ulrich Drepper
2003-03-17 Ulrich Drepper <drepper@redhat.com> * sysdeps/generic/libc-start.c [!SHARED && !LIBC_START_MAIN_AUXVEC_ARG]: Compute beginning of auxvec correctly.
2003-03-18pthread_spin_unlock implementation for Linux/i386.Ulrich Drepper
2003-03-182003-03-17 Roland McGrath <roland@redhat.com>Roland McGrath
* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait): Formatting tweaks.
2003-03-18(lll_unlock_wake_cb): Correct last patch. (__lll_timedwait_tid): Don't check ↵Ulrich Drepper
abstime for NULL pointer.
2003-03-18Add __builtin_expect where appropriate.Ulrich Drepper
2003-03-17PowerPC port contributed by Paul Mackerras <paulus@samba.org>.Roland McGrath
* sysdeps/pthread/pthread_spin_init.c: New file. * sysdeps/pthread/pthread_spin_unlock.c: New file. * sysdeps/powerpc/Makefile: New file. * sysdeps/powerpc/pthread_spin_lock.c: New file. * sysdeps/powerpc/pthread_spin_trylock.c: New file. * sysdeps/powerpc/pthreaddef.h: New file. * sysdeps/powerpc/tcb-offsets.sym: New file. * sysdeps/powerpc/td_ta_map_lwp2thr.c: New file. * sysdeps/powerpc/tls.h: New file. * sysdeps/powerpc/bits/atomic.h: New file. * sysdeps/unix/sysv/linux/libc-lowlevelmutex.c: New file. * sysdeps/unix/sysv/linux/libc-lowlevellock.c: New file. * sysdeps/unix/sysv/linux/lowlevellock.c: New file. * sysdeps/unix/sysv/linux/lowlevelmutex.c: New file. * sysdeps/unix/sysv/linux/sem_post.c: New file. * sysdeps/unix/sysv/linux/sem_timedwait.c: New file. * sysdeps/unix/sysv/linux/sem_trywait.c: New file. * sysdeps/unix/sysv/linux/sem_wait.c: New file. * sysdeps/unix/sysv/linux/powerpc/Makefile: New file. * sysdeps/unix/sysv/linux/powerpc/createthread.c: New file. * sysdeps/unix/sysv/linux/powerpc/fork.c: New file. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: New file. * sysdeps/unix/sysv/linux/powerpc/pt-vfork.S: New file. * sysdeps/unix/sysv/linux/powerpc/pthread_once.c: New file. * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: New file. * sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: New file. * sysdeps/unix/sysv/linux/ia64/lowlevellock.c: Use __gettimeofday, not gettimeofday. * sysdeps/unix/sysv/linux/ia64/lowlevelmutex.c: Likewise. * sysdeps/unix/sysv/linux/ia64/sem_timedwait.c: Likewise. * sysdeps/unix/sysv/linux/s390/lowlevellock.c: Likewise. * sysdeps/unix/sysv/linux/s390/lowlevelmutex.c: Likewise. * sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Likewise.
2003-03-172003-03-17 Roland McGrath <roland@redhat.com>Roland McGrath
PowerPC port contributed by Paul Mackerras <paulus@samba.org>. * sysdeps/pthread/pthread_spin_init.c: New file. * sysdeps/pthread/pthread_spin_unlock.c: New file. * sysdeps/powerpc/Makefile: New file. * sysdeps/powerpc/pthread_spin_lock.c: New file. * sysdeps/powerpc/pthread_spin_trylock.c: New file. * sysdeps/powerpc/pthreaddef.h: New file. * sysdeps/powerpc/tcb-offsets.sym: New file. * sysdeps/powerpc/td_ta_map_lwp2thr.c: New file. * sysdeps/powerpc/tls.h: New file. * sysdeps/powerpc/bits/atomic.h: New file. * sysdeps/unix/sysv/linux/libc-lowlevelmutex.c: New file. * sysdeps/unix/sysv/linux/libc-lowlevellock.c: New file. * sysdeps/unix/sysv/linux/lowlevellock.c: New file. * sysdeps/unix/sysv/linux/sem_post.c: New file. * sysdeps/unix/sysv/linux/sem_timedwait.c: New file. * sysdeps/unix/sysv/linux/sem_trywait.c: New file. * sysdeps/unix/sysv/linux/powerpc/Makefile: New file. * sysdeps/unix/sysv/linux/powerpc/createthread.c: New file. * sysdeps/unix/sysv/linux/powerpc/fork.c: New file. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: New file. * sysdeps/unix/sysv/linux/powerpc/pt-vfork.S: New file. * sysdeps/unix/sysv/linux/powerpc/pthread_once.c: New file. * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: New file. * sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: New file.
2003-03-17Update.Ulrich Drepper
2003-03-17 Ulrich Drepper <drepper@redhat.com> * localedata/en_ZA: hanged %x for LC_TIME to use dd/mm/ccyy. Added ^ to LC_MESSAGES regex "^[yY].*". Confirmed LC_PAPER adn LC_MEASUREMENT settings. Added country and language names to LC_ADDRESS. Added missing info for LC_TELEPHONE. Patch by Dwayne Bailey <dwayne@obsidian.co.za>.
2003-03-17Load correct registers.Ulrich Drepper
2003-03-17(__lll_lock_wait): Remove jump prediction suffix.Ulrich Drepper
2003-03-16Update.Ulrich Drepper
2003-03-16 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/clock_settime.c (HANDLE_REALTIME): Define tv here, not at function level. * sysdeps/unix/clock_gettime.c (HANDLE_REALTIME): Likewise.
2003-03-16Update.Ulrich Drepper
2003-03-16 Ulrich Drepper <drepper@redhat.com> * tst-rwlock6.c: Add some more status output.
2003-03-16Really use R12 and r13.Ulrich Drepper
2003-03-15More random patches.Ulrich Drepper
2003-03-15* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.hJakub Jelinek
(SINGLE_THREAD): Use `header' prefix instead of `header.data'. * sysdeps/sh/tcb-offsets.sym (MULTIPLE_THREADS_OFFSET): Likewise. * sysdeps/sh/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Define. * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (SINGLE_THREAD_P): Use `header.' prefix. * sysdeps/ia64/tcb-offsets.sym (MULTIPLE_THREADS_OFFSET): Likewise.
2003-03-15(SINGLE_THREAD): Use `header' prefix instead of `header.data'.Jakub Jelinek
2003-03-15Use 64-bit loading.Ulrich Drepper
2003-03-15Update.Ulrich Drepper
2003-03-15 Ulrich Drepper <drepper@redhat.com> * sysdeps/x86_64/pthreaddef.h (CURRENT_STACK_FRAME): Don't use __builtin_frame_address, use stack pointer. * sysdeps/unix/sysv/linux/jmp-unwind.c: Use CURRENT_STACK_FRAME instead of __builtin_frame_pointer.
2003-03-15Update.Ulrich Drepper
* tst-basic1.c (do_test): Add cast to avoid warning. * tst-basic2.c (do_test): Likewise.
2003-03-14Use correct amount of stack correction.Ulrich Drepper
2003-03-142003-03-14 Roland McGrath <roland@redhat.com>Roland McGrath
* descr.h (struct pthread): Move the union out of [!TLS_DTV_AT_TP], so we always define the padding space. [!TLS_DTV_AT_TP]: Give tcbhead_t field a name, `header', since GCC stopped supporting its own extensions fully. [TLS_MULTIPLE_THREADS_IN_TCB]: Put `multiple_threads' inside a wrapper struct also called `header', so `header.multiple_threads' is the field name to use on all machines. * allocatestack.c (allocate_stack): Use `header.' prefix. * sysdeps/pthread/createthread.c (create_thread): Likewise. * pthread_create.c (__pthread_create_2_1): Likewise. * sysdeps/i386/tls.h (INSTALL_NEW_DTV, THREAD_DTV): Likewise. (THREAD_SELF): Likewise. * sysdeps/x86_64/tls.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (SINGLE_THREAD_P): Likewise. * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (SINGLE_THREAD_P): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (SINGLE_THREAD_P): Likewise.
2003-03-13* elf/Makefile ($(objpfx)librtld.mk): Tweak regexp so that one-lineRoland McGrath
entries in the map file match too.
2003-03-132003-03-13 Jakub Jelinek <jakub@redhat.com>Roland McGrath
* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Only declare and set PPID if [! NDEBUG].
2003-03-13Update.Ulrich Drepper
2003-03-13 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/ia64/sysdep.h (BREAK_INSN_1, BREAK_INSN, ASM_OUTARGS_0, ASM_OUTARGS_1, ASM_OUTARGS_2, ASM_OUTARGS_3, ASM_OUTARGS_4, ASM_OUTARGS_5, ASM_OUTARGS_6): Define. (INTERNAL_SYSCALL, INLINE_SYSCALL): Use it. Make syscall arguments clobbered by the syscall. (ASM_ARGS_1, ASM_ARGS_2, ASM_ARGS_3, ASM_ARGS_4, ASM_ARGS_5, ASM_ARGS_6): Change constraints from r to index of corresponding output register. * sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Swap ptid and ctid to match kernel. * sysdeps/unix/sysv/linux/ia64/system.c (FORK): Likewise. * sysdeps/powerpc/powerpc64/elf/configure.in: Remove * sysdeps/powerpc/powerpc64/elf/configure: Regenerated.
2003-03-13Update.Ulrich Drepper
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add libc_multiple_threads. * sysdeps/unix/sysv/linux/libc_pthread_init.c: Move definition of __libc_multiple_threads to... * sysdeps/unix/sysv/linux/libc_multiple_threads.c: ...here. New file. * sysdeps/unix/sysv/linux/x86_64/sem_post.S: Remove unnecessary versioning. * sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_once.S (__pthread_once_internal): Define. * sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Use shlib-compat.h macros instead of .symver directly. * sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
2003-03-13Use shlib-compat.h macros instead of .symver directly.Ulrich Drepper