From 0b3366f6a93ac0f7e2028745ea557c0acd8722c6 Mon Sep 17 00:00:00 2001 From: "\"Steven J. Hill\"" Date: Sat, 7 May 2005 02:04:55 +0000 Subject: Import in NPTL code from glibc. For further information please consult the 'README.NPTL' file. --- libpthread/README.NPTL | 307 + libpthread/nptl/ANNOUNCE | 92 + libpthread/nptl/Banner | 1 + libpthread/nptl/ChangeLog | 7160 ++++++++++++++++++++ libpthread/nptl/DESIGN-barrier.txt | 44 + libpthread/nptl/DESIGN-condvar.txt | 134 + libpthread/nptl/DESIGN-rwlock.txt | 113 + libpthread/nptl/DESIGN-sem.txt | 46 + libpthread/nptl/Makefile | 592 ++ libpthread/nptl/TODO | 12 + libpthread/nptl/TODO-kernel | 20 + libpthread/nptl/TODO-testing | 20 + libpthread/nptl/Versions | 240 + libpthread/nptl/alloca_cutoff.c | 36 + libpthread/nptl/allocatestack.c | 947 +++ libpthread/nptl/cancellation.c | 90 + libpthread/nptl/cleanup.c | 49 + libpthread/nptl/cleanup_compat.c | 55 + libpthread/nptl/cleanup_defer.c | 92 + libpthread/nptl/cleanup_defer_compat.c | 98 + libpthread/nptl/cleanup_routine.c | 28 + libpthread/nptl/cond-perf.c | 103 + libpthread/nptl/descr.h | 260 + libpthread/nptl/eintr.c | 89 + libpthread/nptl/events.c | 34 + libpthread/nptl/forward.c | 203 + libpthread/nptl/herrno.c | 35 + libpthread/nptl/init.c | 345 + libpthread/nptl/libc-cancellation.c | 116 + libpthread/nptl/old_pthread_atfork.c | 27 + libpthread/nptl/old_pthread_cond_broadcast.c | 58 + libpthread/nptl/old_pthread_cond_destroy.c | 37 + libpthread/nptl/old_pthread_cond_init.c | 47 + libpthread/nptl/old_pthread_cond_signal.c | 58 + libpthread/nptl/old_pthread_cond_timedwait.c | 60 + libpthread/nptl/old_pthread_cond_wait.c | 59 + libpthread/nptl/perf.c | 755 +++ libpthread/nptl/pt-allocrtsig.c | 51 + libpthread/nptl/pt-cleanup.c | 64 + libpthread/nptl/pt-system.c | 33 + libpthread/nptl/pthread-errnos.sym | 12 + libpthread/nptl/pthreadP.h | 466 ++ libpthread/nptl/pthread_atfork.c | 63 + libpthread/nptl/pthread_attr_destroy.c | 46 + libpthread/nptl/pthread_attr_getdetachstate.c | 39 + libpthread/nptl/pthread_attr_getguardsize.c | 37 + libpthread/nptl/pthread_attr_getinheritsched.c | 40 + libpthread/nptl/pthread_attr_getschedparam.c | 40 + libpthread/nptl/pthread_attr_getschedpolicy.c | 39 + libpthread/nptl/pthread_attr_getscope.c | 40 + libpthread/nptl/pthread_attr_getstack.c | 41 + libpthread/nptl/pthread_attr_getstackaddr.c | 45 + libpthread/nptl/pthread_attr_getstacksize.c | 40 + libpthread/nptl/pthread_attr_init.c | 88 + libpthread/nptl/pthread_attr_setdetachstate.c | 48 + libpthread/nptl/pthread_attr_setguardsize.c | 40 + libpthread/nptl/pthread_attr_setinheritsched.c | 47 + libpthread/nptl/pthread_attr_setschedparam.c | 42 + libpthread/nptl/pthread_attr_setschedpolicy.c | 47 + libpthread/nptl/pthread_attr_setscope.c | 51 + libpthread/nptl/pthread_attr_setstack.c | 89 + libpthread/nptl/pthread_attr_setstackaddr.c | 47 + libpthread/nptl/pthread_attr_setstacksize.c | 75 + libpthread/nptl/pthread_barrier_destroy.c | 44 + libpthread/nptl/pthread_barrier_init.c | 57 + libpthread/nptl/pthread_barrierattr_destroy.c | 30 + libpthread/nptl/pthread_barrierattr_getpshared.c | 31 + libpthread/nptl/pthread_barrierattr_init.c | 30 + libpthread/nptl/pthread_barrierattr_setpshared.c | 40 + libpthread/nptl/pthread_cancel.c | 104 + libpthread/nptl/pthread_clock_gettime.c | 69 + libpthread/nptl/pthread_clock_settime.c | 56 + libpthread/nptl/pthread_cond_destroy.c | 61 + libpthread/nptl/pthread_cond_init.c | 46 + libpthread/nptl/pthread_condattr_destroy.c | 30 + libpthread/nptl/pthread_condattr_getclock.c | 31 + libpthread/nptl/pthread_condattr_getpshared.c | 31 + libpthread/nptl/pthread_condattr_init.c | 32 + libpthread/nptl/pthread_condattr_setclock.c | 72 + libpthread/nptl/pthread_condattr_setpshared.c | 37 + libpthread/nptl/pthread_create.c | 520 ++ libpthread/nptl/pthread_detach.c | 57 + libpthread/nptl/pthread_equal.c | 30 + libpthread/nptl/pthread_exit.c | 32 + libpthread/nptl/pthread_getattr_np.c | 177 + libpthread/nptl/pthread_getconcurrency.c | 27 + libpthread/nptl/pthread_getschedparam.c | 81 + libpthread/nptl/pthread_getspecific.c | 69 + libpthread/nptl/pthread_join.c | 108 + libpthread/nptl/pthread_key_create.c | 63 + libpthread/nptl/pthread_key_delete.c | 43 + libpthread/nptl/pthread_kill_other_threads.c | 37 + libpthread/nptl/pthread_mutex_destroy.c | 34 + libpthread/nptl/pthread_mutex_init.c | 58 + libpthread/nptl/pthread_mutex_lock.c | 119 + libpthread/nptl/pthread_mutex_timedlock.c | 118 + libpthread/nptl/pthread_mutex_trylock.c | 77 + libpthread/nptl/pthread_mutex_unlock.c | 78 + libpthread/nptl/pthread_mutexattr_destroy.c | 29 + libpthread/nptl/pthread_mutexattr_getpshared.c | 38 + libpthread/nptl/pthread_mutexattr_gettype.c | 38 + libpthread/nptl/pthread_mutexattr_init.c | 38 + libpthread/nptl/pthread_mutexattr_setpshared.c | 45 + libpthread/nptl/pthread_mutexattr_settype.c | 43 + libpthread/nptl/pthread_rwlock_destroy.c | 30 + libpthread/nptl/pthread_rwlock_init.c | 51 + libpthread/nptl/pthread_rwlock_tryrdlock.c | 50 + libpthread/nptl/pthread_rwlock_trywrlock.c | 43 + libpthread/nptl/pthread_rwlockattr_destroy.c | 30 + libpthread/nptl/pthread_rwlockattr_getkind_np.c | 31 + libpthread/nptl/pthread_rwlockattr_getpshared.c | 31 + libpthread/nptl/pthread_rwlockattr_init.c | 35 + libpthread/nptl/pthread_rwlockattr_setkind_np.c | 41 + libpthread/nptl/pthread_rwlockattr_setpshared.c | 40 + libpthread/nptl/pthread_self.c | 29 + libpthread/nptl/pthread_setcancelstate.c | 73 + libpthread/nptl/pthread_setcanceltype.c | 76 + libpthread/nptl/pthread_setconcurrency.c | 41 + libpthread/nptl/pthread_setegid.c | 3 + libpthread/nptl/pthread_seteuid.c | 3 + libpthread/nptl/pthread_setgid.c | 3 + libpthread/nptl/pthread_setregid.c | 3 + libpthread/nptl/pthread_setresgid.c | 3 + libpthread/nptl/pthread_setresuid.c | 3 + libpthread/nptl/pthread_setreuid.c | 3 + libpthread/nptl/pthread_setschedparam.c | 67 + libpthread/nptl/pthread_setschedprio.c | 66 + libpthread/nptl/pthread_setspecific.c | 96 + libpthread/nptl/pthread_setuid.c | 3 + libpthread/nptl/pthread_testcancel.c | 28 + libpthread/nptl/pthread_timedjoin.c | 107 + libpthread/nptl/pthread_tryjoin.c | 75 + libpthread/nptl/res.c | 27 + libpthread/nptl/sem_close.c | 81 + libpthread/nptl/sem_destroy.c | 38 + libpthread/nptl/sem_getvalue.c | 42 + libpthread/nptl/sem_init.c | 55 + libpthread/nptl/sem_open.c | 404 ++ libpthread/nptl/sem_unlink.c | 67 + libpthread/nptl/semaphore.h | 79 + libpthread/nptl/semaphoreP.h | 67 + libpthread/nptl/sockperf.c | 594 ++ libpthread/nptl/sysdeps/alpha/Makefile | 21 + libpthread/nptl/sysdeps/alpha/elf/pt-initfini.c | 89 + libpthread/nptl/sysdeps/alpha/jmpbuf-unwind.h | 31 + libpthread/nptl/sysdeps/alpha/pthread_spin_lock.S | 45 + .../nptl/sysdeps/alpha/pthread_spin_trylock.S | 46 + libpthread/nptl/sysdeps/alpha/pthreaddef.h | 38 + libpthread/nptl/sysdeps/alpha/tcb-offsets.sym | 14 + libpthread/nptl/sysdeps/alpha/tls.h | 129 + libpthread/nptl/sysdeps/i386/Makefile | 27 + .../nptl/sysdeps/i386/i486/pthread_spin_trylock.S | 47 + .../nptl/sysdeps/i386/i586/pthread_spin_trylock.S | 20 + libpthread/nptl/sysdeps/i386/i686/Makefile | 32 + .../nptl/sysdeps/i386/i686/pthread_spin_trylock.S | 21 + libpthread/nptl/sysdeps/i386/i686/tls.h | 36 + libpthread/nptl/sysdeps/i386/jmpbuf-unwind.h | 31 + libpthread/nptl/sysdeps/i386/pthread_spin_init.c | 20 + libpthread/nptl/sysdeps/i386/pthread_spin_lock.c | 49 + libpthread/nptl/sysdeps/i386/pthread_spin_unlock.S | 32 + libpthread/nptl/sysdeps/i386/pthreaddef.h | 48 + libpthread/nptl/sysdeps/i386/tcb-offsets.sym | 13 + libpthread/nptl/sysdeps/i386/tls.h | 419 ++ libpthread/nptl/sysdeps/mips/Makefile | 25 + libpthread/nptl/sysdeps/mips/jmpbuf-unwind.h | 30 + libpthread/nptl/sysdeps/mips/nptl-sysdep.S | 2 + libpthread/nptl/sysdeps/mips/pthread_spin_lock.S | 37 + .../nptl/sysdeps/mips/pthread_spin_trylock.S | 41 + libpthread/nptl/sysdeps/mips/pthreaddef.h | 39 + libpthread/nptl/sysdeps/mips/tcb-offsets.sym | 11 + libpthread/nptl/sysdeps/mips/tls.h | 161 + libpthread/nptl/sysdeps/powerpc/Makefile | 21 + libpthread/nptl/sysdeps/powerpc/jmpbuf-unwind.h | 31 + .../nptl/sysdeps/powerpc/pthread_spin_lock.c | 45 + .../nptl/sysdeps/powerpc/pthread_spin_trylock.c | 43 + libpthread/nptl/sysdeps/powerpc/pthreaddef.h | 41 + libpthread/nptl/sysdeps/powerpc/tcb-offsets.sym | 16 + libpthread/nptl/sysdeps/powerpc/tls.h | 165 + libpthread/nptl/sysdeps/pthread/bits/libc-lock.h | 568 ++ libpthread/nptl/sysdeps/pthread/bits/sigthread.h | 38 + libpthread/nptl/sysdeps/pthread/bits/stdio-lock.h | 105 + libpthread/nptl/sysdeps/sh/Makefile | 3 + libpthread/nptl/sysdeps/sh/jmpbuf-unwind.h | 31 + libpthread/nptl/sysdeps/sh/pthread_spin_init.c | 20 + libpthread/nptl/sysdeps/sh/pthread_spin_lock.c | 35 + libpthread/nptl/sysdeps/sh/pthread_spin_trylock.S | 32 + libpthread/nptl/sysdeps/sh/pthread_spin_unlock.S | 30 + libpthread/nptl/sysdeps/sh/pthreaddef.h | 49 + libpthread/nptl/sysdeps/sh/tcb-offsets.sym | 11 + libpthread/nptl/sysdeps/sh/tls.h | 145 + libpthread/nptl/sysdeps/sparc/Makefile | 3 + .../nptl/sysdeps/sparc/sparc32/jmpbuf-unwind.h | 31 + .../nptl/sysdeps/sparc/sparc32/pthread_spin_lock.c | 40 + .../sysdeps/sparc/sparc32/pthread_spin_trylock.c | 29 + libpthread/nptl/sysdeps/sparc/sparc32/pthreaddef.h | 40 + .../sparc/sparc32/sparcv9/pthread_spin_lock.c | 39 + .../sparc/sparc32/sparcv9/pthread_spin_trylock.c | 1 + .../sparc/sparc32/sparcv9/pthread_spin_unlock.c | 1 + .../nptl/sysdeps/sparc/sparc64/jmpbuf-unwind.h | 31 + .../nptl/sysdeps/sparc/sparc64/pthread_spin_lock.c | 39 + .../sysdeps/sparc/sparc64/pthread_spin_trylock.c | 34 + .../sysdeps/sparc/sparc64/pthread_spin_unlock.c | 30 + libpthread/nptl/sysdeps/sparc/sparc64/pthreaddef.h | 40 + libpthread/nptl/sysdeps/sparc/tcb-offsets.sym | 6 + libpthread/nptl/sysdeps/sparc/tls.h | 129 + libpthread/nptl/sysdeps/x86_64/Makefile | 28 + libpthread/nptl/sysdeps/x86_64/jmpbuf-unwind.h | 31 + libpthread/nptl/sysdeps/x86_64/pthread_spin_init.c | 1 + libpthread/nptl/sysdeps/x86_64/pthread_spin_lock.c | 1 + .../nptl/sysdeps/x86_64/pthread_spin_trylock.S | 40 + .../nptl/sysdeps/x86_64/pthread_spin_unlock.S | 31 + libpthread/nptl/sysdeps/x86_64/pthreaddef.h | 54 + libpthread/nptl/sysdeps/x86_64/tcb-offsets.sym | 12 + libpthread/nptl/sysdeps/x86_64/tls.h | 323 + libpthread/nptl/unwind.c | 176 + libpthread/nptl/vars.c | 43 + libpthread/nptl_db/Makefile | 60 + libpthread/nptl_db/Versions | 24 + libpthread/nptl_db/db_info.c | 103 + libpthread/nptl_db/fetch-value.c | 284 + libpthread/nptl_db/proc_service.h | 87 + libpthread/nptl_db/structs.def | 86 + libpthread/nptl_db/td_init.c | 32 + libpthread/nptl_db/td_log.c | 32 + libpthread/nptl_db/td_symbol_list.c | 85 + libpthread/nptl_db/td_ta_clear_event.c | 79 + libpthread/nptl_db/td_ta_delete.c | 42 + libpthread/nptl_db/td_ta_enable_stats.c | 35 + libpthread/nptl_db/td_ta_event_addr.c | 61 + libpthread/nptl_db/td_ta_event_getmsg.c | 105 + libpthread/nptl_db/td_ta_get_nthreads.c | 42 + libpthread/nptl_db/td_ta_get_ph.c | 36 + libpthread/nptl_db/td_ta_get_stats.c | 35 + libpthread/nptl_db/td_ta_map_id2thr.c | 38 + libpthread/nptl_db/td_ta_map_lwp2thr.c | 178 + libpthread/nptl_db/td_ta_new.c | 65 + libpthread/nptl_db/td_ta_reset_stats.c | 35 + libpthread/nptl_db/td_ta_set_event.c | 79 + libpthread/nptl_db/td_ta_setconcurrency.c | 35 + libpthread/nptl_db/td_ta_thr_iter.c | 148 + libpthread/nptl_db/td_ta_tsd_iter.c | 81 + libpthread/nptl_db/td_thr_clear_event.c | 77 + libpthread/nptl_db/td_thr_dbresume.c | 30 + libpthread/nptl_db/td_thr_dbsuspend.c | 30 + libpthread/nptl_db/td_thr_event_enable.c | 34 + libpthread/nptl_db/td_thr_event_getmsg.c | 119 + libpthread/nptl_db/td_thr_get_info.c | 110 + libpthread/nptl_db/td_thr_getfpregs.c | 53 + libpthread/nptl_db/td_thr_getgregs.c | 53 + libpthread/nptl_db/td_thr_getxregs.c | 30 + libpthread/nptl_db/td_thr_getxregsize.c | 30 + libpthread/nptl_db/td_thr_set_event.c | 77 + libpthread/nptl_db/td_thr_setfpregs.c | 50 + libpthread/nptl_db/td_thr_setgregs.c | 50 + libpthread/nptl_db/td_thr_setprio.c | 30 + libpthread/nptl_db/td_thr_setsigpending.c | 31 + libpthread/nptl_db/td_thr_setxregs.c | 30 + libpthread/nptl_db/td_thr_sigsetmask.c | 30 + libpthread/nptl_db/td_thr_tls_get_addr.c | 43 + libpthread/nptl_db/td_thr_tlsbase.c | 50 + libpthread/nptl_db/td_thr_tsd.c | 96 + libpthread/nptl_db/td_thr_validate.c | 91 + libpthread/nptl_db/thread_db.h | 459 ++ libpthread/nptl_db/thread_dbP.h | 254 + 264 files changed, 27370 insertions(+) create mode 100644 libpthread/README.NPTL create mode 100644 libpthread/nptl/ANNOUNCE create mode 100644 libpthread/nptl/Banner create mode 100644 libpthread/nptl/ChangeLog create mode 100644 libpthread/nptl/DESIGN-barrier.txt create mode 100644 libpthread/nptl/DESIGN-condvar.txt create mode 100644 libpthread/nptl/DESIGN-rwlock.txt create mode 100644 libpthread/nptl/DESIGN-sem.txt create mode 100644 libpthread/nptl/Makefile create mode 100644 libpthread/nptl/TODO create mode 100644 libpthread/nptl/TODO-kernel create mode 100644 libpthread/nptl/TODO-testing create mode 100644 libpthread/nptl/Versions create mode 100644 libpthread/nptl/alloca_cutoff.c create mode 100644 libpthread/nptl/allocatestack.c create mode 100644 libpthread/nptl/cancellation.c create mode 100644 libpthread/nptl/cleanup.c create mode 100644 libpthread/nptl/cleanup_compat.c create mode 100644 libpthread/nptl/cleanup_defer.c create mode 100644 libpthread/nptl/cleanup_defer_compat.c create mode 100644 libpthread/nptl/cleanup_routine.c create mode 100644 libpthread/nptl/cond-perf.c create mode 100644 libpthread/nptl/descr.h create mode 100644 libpthread/nptl/eintr.c create mode 100644 libpthread/nptl/events.c create mode 100644 libpthread/nptl/forward.c create mode 100644 libpthread/nptl/herrno.c create mode 100644 libpthread/nptl/init.c create mode 100644 libpthread/nptl/libc-cancellation.c create mode 100644 libpthread/nptl/old_pthread_atfork.c create mode 100644 libpthread/nptl/old_pthread_cond_broadcast.c create mode 100644 libpthread/nptl/old_pthread_cond_destroy.c create mode 100644 libpthread/nptl/old_pthread_cond_init.c create mode 100644 libpthread/nptl/old_pthread_cond_signal.c create mode 100644 libpthread/nptl/old_pthread_cond_timedwait.c create mode 100644 libpthread/nptl/old_pthread_cond_wait.c create mode 100644 libpthread/nptl/perf.c create mode 100644 libpthread/nptl/pt-allocrtsig.c create mode 100644 libpthread/nptl/pt-cleanup.c create mode 100644 libpthread/nptl/pt-system.c create mode 100644 libpthread/nptl/pthread-errnos.sym create mode 100644 libpthread/nptl/pthreadP.h create mode 100644 libpthread/nptl/pthread_atfork.c create mode 100644 libpthread/nptl/pthread_attr_destroy.c create mode 100644 libpthread/nptl/pthread_attr_getdetachstate.c create mode 100644 libpthread/nptl/pthread_attr_getguardsize.c create mode 100644 libpthread/nptl/pthread_attr_getinheritsched.c create mode 100644 libpthread/nptl/pthread_attr_getschedparam.c create mode 100644 libpthread/nptl/pthread_attr_getschedpolicy.c create mode 100644 libpthread/nptl/pthread_attr_getscope.c create mode 100644 libpthread/nptl/pthread_attr_getstack.c create mode 100644 libpthread/nptl/pthread_attr_getstackaddr.c create mode 100644 libpthread/nptl/pthread_attr_getstacksize.c create mode 100644 libpthread/nptl/pthread_attr_init.c create mode 100644 libpthread/nptl/pthread_attr_setdetachstate.c create mode 100644 libpthread/nptl/pthread_attr_setguardsize.c create mode 100644 libpthread/nptl/pthread_attr_setinheritsched.c create mode 100644 libpthread/nptl/pthread_attr_setschedparam.c create mode 100644 libpthread/nptl/pthread_attr_setschedpolicy.c create mode 100644 libpthread/nptl/pthread_attr_setscope.c create mode 100644 libpthread/nptl/pthread_attr_setstack.c create mode 100644 libpthread/nptl/pthread_attr_setstackaddr.c create mode 100644 libpthread/nptl/pthread_attr_setstacksize.c create mode 100644 libpthread/nptl/pthread_barrier_destroy.c create mode 100644 libpthread/nptl/pthread_barrier_init.c create mode 100644 libpthread/nptl/pthread_barrierattr_destroy.c create mode 100644 libpthread/nptl/pthread_barrierattr_getpshared.c create mode 100644 libpthread/nptl/pthread_barrierattr_init.c create mode 100644 libpthread/nptl/pthread_barrierattr_setpshared.c create mode 100644 libpthread/nptl/pthread_cancel.c create mode 100644 libpthread/nptl/pthread_clock_gettime.c create mode 100644 libpthread/nptl/pthread_clock_settime.c create mode 100644 libpthread/nptl/pthread_cond_destroy.c create mode 100644 libpthread/nptl/pthread_cond_init.c create mode 100644 libpthread/nptl/pthread_condattr_destroy.c create mode 100644 libpthread/nptl/pthread_condattr_getclock.c create mode 100644 libpthread/nptl/pthread_condattr_getpshared.c create mode 100644 libpthread/nptl/pthread_condattr_init.c create mode 100644 libpthread/nptl/pthread_condattr_setclock.c create mode 100644 libpthread/nptl/pthread_condattr_setpshared.c create mode 100644 libpthread/nptl/pthread_create.c create mode 100644 libpthread/nptl/pthread_detach.c create mode 100644 libpthread/nptl/pthread_equal.c create mode 100644 libpthread/nptl/pthread_exit.c create mode 100644 libpthread/nptl/pthread_getattr_np.c create mode 100644 libpthread/nptl/pthread_getconcurrency.c create mode 100644 libpthread/nptl/pthread_getschedparam.c create mode 100644 libpthread/nptl/pthread_getspecific.c create mode 100644 libpthread/nptl/pthread_join.c create mode 100644 libpthread/nptl/pthread_key_create.c create mode 100644 libpthread/nptl/pthread_key_delete.c create mode 100644 libpthread/nptl/pthread_kill_other_threads.c create mode 100644 libpthread/nptl/pthread_mutex_destroy.c create mode 100644 libpthread/nptl/pthread_mutex_init.c create mode 100644 libpthread/nptl/pthread_mutex_lock.c create mode 100644 libpthread/nptl/pthread_mutex_timedlock.c create mode 100644 libpthread/nptl/pthread_mutex_trylock.c create mode 100644 libpthread/nptl/pthread_mutex_unlock.c create mode 100644 libpthread/nptl/pthread_mutexattr_destroy.c create mode 100644 libpthread/nptl/pthread_mutexattr_getpshared.c create mode 100644 libpthread/nptl/pthread_mutexattr_gettype.c create mode 100644 libpthread/nptl/pthread_mutexattr_init.c create mode 100644 libpthread/nptl/pthread_mutexattr_setpshared.c create mode 100644 libpthread/nptl/pthread_mutexattr_settype.c create mode 100644 libpthread/nptl/pthread_rwlock_destroy.c create mode 100644 libpthread/nptl/pthread_rwlock_init.c create mode 100644 libpthread/nptl/pthread_rwlock_tryrdlock.c create mode 100644 libpthread/nptl/pthread_rwlock_trywrlock.c create mode 100644 libpthread/nptl/pthread_rwlockattr_destroy.c create mode 100644 libpthread/nptl/pthread_rwlockattr_getkind_np.c create mode 100644 libpthread/nptl/pthread_rwlockattr_getpshared.c create mode 100644 libpthread/nptl/pthread_rwlockattr_init.c create mode 100644 libpthread/nptl/pthread_rwlockattr_setkind_np.c create mode 100644 libpthread/nptl/pthread_rwlockattr_setpshared.c create mode 100644 libpthread/nptl/pthread_self.c create mode 100644 libpthread/nptl/pthread_setcancelstate.c create mode 100644 libpthread/nptl/pthread_setcanceltype.c create mode 100644 libpthread/nptl/pthread_setconcurrency.c create mode 100644 libpthread/nptl/pthread_setegid.c create mode 100644 libpthread/nptl/pthread_seteuid.c create mode 100644 libpthread/nptl/pthread_setgid.c create mode 100644 libpthread/nptl/pthread_setregid.c create mode 100644 libpthread/nptl/pthread_setresgid.c create mode 100644 libpthread/nptl/pthread_setresuid.c create mode 100644 libpthread/nptl/pthread_setreuid.c create mode 100644 libpthread/nptl/pthread_setschedparam.c create mode 100644 libpthread/nptl/pthread_setschedprio.c create mode 100644 libpthread/nptl/pthread_setspecific.c create mode 100644 libpthread/nptl/pthread_setuid.c create mode 100644 libpthread/nptl/pthread_testcancel.c create mode 100644 libpthread/nptl/pthread_timedjoin.c create mode 100644 libpthread/nptl/pthread_tryjoin.c create mode 100644 libpthread/nptl/res.c create mode 100644 libpthread/nptl/sem_close.c create mode 100644 libpthread/nptl/sem_destroy.c create mode 100644 libpthread/nptl/sem_getvalue.c create mode 100644 libpthread/nptl/sem_init.c create mode 100644 libpthread/nptl/sem_open.c create mode 100644 libpthread/nptl/sem_unlink.c create mode 100644 libpthread/nptl/semaphore.h create mode 100644 libpthread/nptl/semaphoreP.h create mode 100644 libpthread/nptl/sockperf.c create mode 100644 libpthread/nptl/sysdeps/alpha/Makefile create mode 100644 libpthread/nptl/sysdeps/alpha/elf/pt-initfini.c create mode 100644 libpthread/nptl/sysdeps/alpha/jmpbuf-unwind.h create mode 100644 libpthread/nptl/sysdeps/alpha/pthread_spin_lock.S create mode 100644 libpthread/nptl/sysdeps/alpha/pthread_spin_trylock.S create mode 100644 libpthread/nptl/sysdeps/alpha/pthreaddef.h create mode 100644 libpthread/nptl/sysdeps/alpha/tcb-offsets.sym create mode 100644 libpthread/nptl/sysdeps/alpha/tls.h create mode 100644 libpthread/nptl/sysdeps/i386/Makefile create mode 100644 libpthread/nptl/sysdeps/i386/i486/pthread_spin_trylock.S create mode 100644 libpthread/nptl/sysdeps/i386/i586/pthread_spin_trylock.S create mode 100644 libpthread/nptl/sysdeps/i386/i686/Makefile create mode 100644 libpthread/nptl/sysdeps/i386/i686/pthread_spin_trylock.S create mode 100644 libpthread/nptl/sysdeps/i386/i686/tls.h create mode 100644 libpthread/nptl/sysdeps/i386/jmpbuf-unwind.h create mode 100644 libpthread/nptl/sysdeps/i386/pthread_spin_init.c create mode 100644 libpthread/nptl/sysdeps/i386/pthread_spin_lock.c create mode 100644 libpthread/nptl/sysdeps/i386/pthread_spin_unlock.S create mode 100644 libpthread/nptl/sysdeps/i386/pthreaddef.h create mode 100644 libpthread/nptl/sysdeps/i386/tcb-offsets.sym create mode 100644 libpthread/nptl/sysdeps/i386/tls.h create mode 100644 libpthread/nptl/sysdeps/mips/Makefile create mode 100644 libpthread/nptl/sysdeps/mips/jmpbuf-unwind.h create mode 100644 libpthread/nptl/sysdeps/mips/nptl-sysdep.S create mode 100644 libpthread/nptl/sysdeps/mips/pthread_spin_lock.S create mode 100644 libpthread/nptl/sysdeps/mips/pthread_spin_trylock.S create mode 100644 libpthread/nptl/sysdeps/mips/pthreaddef.h create mode 100644 libpthread/nptl/sysdeps/mips/tcb-offsets.sym create mode 100644 libpthread/nptl/sysdeps/mips/tls.h create mode 100644 libpthread/nptl/sysdeps/powerpc/Makefile create mode 100644 libpthread/nptl/sysdeps/powerpc/jmpbuf-unwind.h create mode 100644 libpthread/nptl/sysdeps/powerpc/pthread_spin_lock.c create mode 100644 libpthread/nptl/sysdeps/powerpc/pthread_spin_trylock.c create mode 100644 libpthread/nptl/sysdeps/powerpc/pthreaddef.h create mode 100644 libpthread/nptl/sysdeps/powerpc/tcb-offsets.sym create mode 100644 libpthread/nptl/sysdeps/powerpc/tls.h create mode 100644 libpthread/nptl/sysdeps/pthread/bits/libc-lock.h create mode 100644 libpthread/nptl/sysdeps/pthread/bits/sigthread.h create mode 100644 libpthread/nptl/sysdeps/pthread/bits/stdio-lock.h create mode 100644 libpthread/nptl/sysdeps/sh/Makefile create mode 100644 libpthread/nptl/sysdeps/sh/jmpbuf-unwind.h create mode 100644 libpthread/nptl/sysdeps/sh/pthread_spin_init.c create mode 100644 libpthread/nptl/sysdeps/sh/pthread_spin_lock.c create mode 100644 libpthread/nptl/sysdeps/sh/pthread_spin_trylock.S create mode 100644 libpthread/nptl/sysdeps/sh/pthread_spin_unlock.S create mode 100644 libpthread/nptl/sysdeps/sh/pthreaddef.h create mode 100644 libpthread/nptl/sysdeps/sh/tcb-offsets.sym create mode 100644 libpthread/nptl/sysdeps/sh/tls.h create mode 100644 libpthread/nptl/sysdeps/sparc/Makefile create mode 100644 libpthread/nptl/sysdeps/sparc/sparc32/jmpbuf-unwind.h create mode 100644 libpthread/nptl/sysdeps/sparc/sparc32/pthread_spin_lock.c create mode 100644 libpthread/nptl/sysdeps/sparc/sparc32/pthread_spin_trylock.c create mode 100644 libpthread/nptl/sysdeps/sparc/sparc32/pthreaddef.h create mode 100644 libpthread/nptl/sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.c create mode 100644 libpthread/nptl/sysdeps/sparc/sparc32/sparcv9/pthread_spin_trylock.c create mode 100644 libpthread/nptl/sysdeps/sparc/sparc32/sparcv9/pthread_spin_unlock.c create mode 100644 libpthread/nptl/sysdeps/sparc/sparc64/jmpbuf-unwind.h create mode 100644 libpthread/nptl/sysdeps/sparc/sparc64/pthread_spin_lock.c create mode 100644 libpthread/nptl/sysdeps/sparc/sparc64/pthread_spin_trylock.c create mode 100644 libpthread/nptl/sysdeps/sparc/sparc64/pthread_spin_unlock.c create mode 100644 libpthread/nptl/sysdeps/sparc/sparc64/pthreaddef.h create mode 100644 libpthread/nptl/sysdeps/sparc/tcb-offsets.sym create mode 100644 libpthread/nptl/sysdeps/sparc/tls.h create mode 100644 libpthread/nptl/sysdeps/x86_64/Makefile create mode 100644 libpthread/nptl/sysdeps/x86_64/jmpbuf-unwind.h create mode 100644 libpthread/nptl/sysdeps/x86_64/pthread_spin_init.c create mode 100644 libpthread/nptl/sysdeps/x86_64/pthread_spin_lock.c create mode 100644 libpthread/nptl/sysdeps/x86_64/pthread_spin_trylock.S create mode 100644 libpthread/nptl/sysdeps/x86_64/pthread_spin_unlock.S create mode 100644 libpthread/nptl/sysdeps/x86_64/pthreaddef.h create mode 100644 libpthread/nptl/sysdeps/x86_64/tcb-offsets.sym create mode 100644 libpthread/nptl/sysdeps/x86_64/tls.h create mode 100644 libpthread/nptl/unwind.c create mode 100644 libpthread/nptl/vars.c create mode 100644 libpthread/nptl_db/Makefile create mode 100644 libpthread/nptl_db/Versions create mode 100644 libpthread/nptl_db/db_info.c create mode 100644 libpthread/nptl_db/fetch-value.c create mode 100644 libpthread/nptl_db/proc_service.h create mode 100644 libpthread/nptl_db/structs.def create mode 100644 libpthread/nptl_db/td_init.c create mode 100644 libpthread/nptl_db/td_log.c create mode 100644 libpthread/nptl_db/td_symbol_list.c create mode 100644 libpthread/nptl_db/td_ta_clear_event.c create mode 100644 libpthread/nptl_db/td_ta_delete.c create mode 100644 libpthread/nptl_db/td_ta_enable_stats.c create mode 100644 libpthread/nptl_db/td_ta_event_addr.c create mode 100644 libpthread/nptl_db/td_ta_event_getmsg.c create mode 100644 libpthread/nptl_db/td_ta_get_nthreads.c create mode 100644 libpthread/nptl_db/td_ta_get_ph.c create mode 100644 libpthread/nptl_db/td_ta_get_stats.c create mode 100644 libpthread/nptl_db/td_ta_map_id2thr.c create mode 100644 libpthread/nptl_db/td_ta_map_lwp2thr.c create mode 100644 libpthread/nptl_db/td_ta_new.c create mode 100644 libpthread/nptl_db/td_ta_reset_stats.c create mode 100644 libpthread/nptl_db/td_ta_set_event.c create mode 100644 libpthread/nptl_db/td_ta_setconcurrency.c create mode 100644 libpthread/nptl_db/td_ta_thr_iter.c create mode 100644 libpthread/nptl_db/td_ta_tsd_iter.c create mode 100644 libpthread/nptl_db/td_thr_clear_event.c create mode 100644 libpthread/nptl_db/td_thr_dbresume.c create mode 100644 libpthread/nptl_db/td_thr_dbsuspend.c create mode 100644 libpthread/nptl_db/td_thr_event_enable.c create mode 100644 libpthread/nptl_db/td_thr_event_getmsg.c create mode 100644 libpthread/nptl_db/td_thr_get_info.c create mode 100644 libpthread/nptl_db/td_thr_getfpregs.c create mode 100644 libpthread/nptl_db/td_thr_getgregs.c create mode 100644 libpthread/nptl_db/td_thr_getxregs.c create mode 100644 libpthread/nptl_db/td_thr_getxregsize.c create mode 100644 libpthread/nptl_db/td_thr_set_event.c create mode 100644 libpthread/nptl_db/td_thr_setfpregs.c create mode 100644 libpthread/nptl_db/td_thr_setgregs.c create mode 100644 libpthread/nptl_db/td_thr_setprio.c create mode 100644 libpthread/nptl_db/td_thr_setsigpending.c create mode 100644 libpthread/nptl_db/td_thr_setxregs.c create mode 100644 libpthread/nptl_db/td_thr_sigsetmask.c create mode 100644 libpthread/nptl_db/td_thr_tls_get_addr.c create mode 100644 libpthread/nptl_db/td_thr_tlsbase.c create mode 100644 libpthread/nptl_db/td_thr_tsd.c create mode 100644 libpthread/nptl_db/td_thr_validate.c create mode 100644 libpthread/nptl_db/thread_db.h create mode 100644 libpthread/nptl_db/thread_dbP.h diff --git a/libpthread/README.NPTL b/libpthread/README.NPTL new file mode 100644 index 000000000..7e50984cb --- /dev/null +++ b/libpthread/README.NPTL @@ -0,0 +1,307 @@ +The base NPTL code for uClibc is from the glibc project located at +. The starting version was the HEAD of +the glibc CVS repository dated 2005-05-06. Important changes from +glibc will continue to be brought in as necessary until the version +for uClibc is standing on its own. All of the files were originally +brought over verbatim with no modifications. Obviously, these will +undergo any necessary changes needed for integration into uClibc. +Additionally (or subtractingly), the files and directories below +were removed and not imported. + +-- Steven J. Hill on 2005-05-06 + + +nptl/Makeconfig +nptl/configure +nptl/shlib-versions +nptl/sysdeps/generic +nptl/sysdeps/ia64 +nptl/sysdeps/pthread/Makefile +nptl/sysdeps/pthread/Subdirs +nptl/sysdeps/pthread/allocalim.h +nptl/sysdeps/pthread/configure +nptl/sysdeps/pthread/configure.in +nptl/sysdeps/pthread/createthread.c +nptl/sysdeps/pthread/flockfile.c +nptl/sysdeps/pthread/ftrylockfile.c +nptl/sysdeps/pthread/funlockfile.c +nptl/sysdeps/pthread/librt-cancellation.c +nptl/sysdeps/pthread/list.h +nptl/sysdeps/pthread/malloc-machine.h +nptl/sysdeps/pthread/posix-timer.h +nptl/sysdeps/pthread/pt-initfini.c +nptl/sysdeps/pthread/pt-longjmp.c +nptl/sysdeps/pthread/pthread-functions.h +nptl/sysdeps/pthread/pthread.h +nptl/sysdeps/pthread/pthread_barrier_wait.c +nptl/sysdeps/pthread/pthread_cond_broadcast.c +nptl/sysdeps/pthread/pthread_cond_signal.c +nptl/sysdeps/pthread/pthread_cond_timedwait.c +nptl/sysdeps/pthread/pthread_cond_wait.c +nptl/sysdeps/pthread/pthread_getcpuclockid.c +nptl/sysdeps/pthread/pthread_once.c +nptl/sysdeps/pthread/pthread_rwlock_rdlock.c +nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c +nptl/sysdeps/pthread/pthread_rwlock_timedwrlock.c +nptl/sysdeps/pthread/pthread_rwlock_unlock.c +nptl/sysdeps/pthread/pthread_rwlock_wrlock.c +nptl/sysdeps/pthread/pthread_sigmask.c +nptl/sysdeps/pthread/pthread_spin_destroy.c +nptl/sysdeps/pthread/pthread_spin_init.c +nptl/sysdeps/pthread/pthread_spin_unlock.c +nptl/sysdeps/pthread/rt-unwind-resume.c +nptl/sysdeps/pthread/setxid.h +nptl/sysdeps/pthread/sigaction.c +nptl/sysdeps/pthread/sigfillset.c +nptl/sysdeps/pthread/sigprocmask.c +nptl/sysdeps/pthread/tcb-offsets.h +nptl/sysdeps/pthread/timer_create.c +nptl/sysdeps/pthread/timer_delete.c +nptl/sysdeps/pthread/timer_getoverr.c +nptl/sysdeps/pthread/timer_gettime.c +nptl/sysdeps/pthread/timer_routines.c +nptl/sysdeps/pthread/timer_settime.c +nptl/sysdeps/pthread/tst-mqueue8x.c +nptl/sysdeps/pthread/tst-timer.c +nptl/sysdeps/pthread/unwind-forcedunwind.c +nptl/sysdeps/pthread/unwind-resume.c +nptl/sysdeps/s390 +nptl/sysdeps/unix +nptl/tst-_res1.c +nptl/tst-_res1mod1.c +nptl/tst-_res1mod2.c +nptl/tst-align.c +nptl/tst-align2.c +nptl/tst-atfork1.c +nptl/tst-atfork2.c +nptl/tst-atfork2mod.c +nptl/tst-attr1.c +nptl/tst-attr2.c +nptl/tst-attr3.c +nptl/tst-backtrace1.c +nptl/tst-barrier1.c +nptl/tst-barrier2.c +nptl/tst-barrier3.c +nptl/tst-barrier4.c +nptl/tst-basic1.c +nptl/tst-basic2.c +nptl/tst-basic3.c +nptl/tst-basic4.c +nptl/tst-basic5.c +nptl/tst-basic6.c +nptl/tst-cancel-wrappers.sh +nptl/tst-cancel1.c +nptl/tst-cancel10.c +nptl/tst-cancel11.c +nptl/tst-cancel12.c +nptl/tst-cancel13.c +nptl/tst-cancel14.c +nptl/tst-cancel15.c +nptl/tst-cancel16.c +nptl/tst-cancel17.c +nptl/tst-cancel18.c +nptl/tst-cancel19.c +nptl/tst-cancel2.c +nptl/tst-cancel20.c +nptl/tst-cancel21.c +nptl/tst-cancel22.c +nptl/tst-cancel23.c +nptl/tst-cancel3.c +nptl/tst-cancel4.c +nptl/tst-cancel5.c +nptl/tst-cancel6.c +nptl/tst-cancel7.c +nptl/tst-cancel8.c +nptl/tst-cancel9.c +nptl/tst-cancelx1.c +nptl/tst-cancelx10.c +nptl/tst-cancelx11.c +nptl/tst-cancelx12.c +nptl/tst-cancelx13.c +nptl/tst-cancelx14.c +nptl/tst-cancelx15.c +nptl/tst-cancelx16.c +nptl/tst-cancelx17.c +nptl/tst-cancelx18.c +nptl/tst-cancelx2.c +nptl/tst-cancelx20.c +nptl/tst-cancelx21.c +nptl/tst-cancelx3.c +nptl/tst-cancelx4.c +nptl/tst-cancelx5.c +nptl/tst-cancelx6.c +nptl/tst-cancelx7.c +nptl/tst-cancelx8.c +nptl/tst-cancelx9.c +nptl/tst-cleanup0.c +nptl/tst-cleanup0.expect +nptl/tst-cleanup1.c +nptl/tst-cleanup2.c +nptl/tst-cleanup3.c +nptl/tst-cleanup4.c +nptl/tst-cleanup4aux.c +nptl/tst-cleanupx0.c +nptl/tst-cleanupx0.expect +nptl/tst-cleanupx1.c +nptl/tst-cleanupx2.c +nptl/tst-cleanupx3.c +nptl/tst-cleanupx4.c +nptl/tst-clock1.c +nptl/tst-clock2.c +nptl/tst-cond1.c +nptl/tst-cond10.c +nptl/tst-cond11.c +nptl/tst-cond12.c +nptl/tst-cond13.c +nptl/tst-cond14.c +nptl/tst-cond15.c +nptl/tst-cond16.c +nptl/tst-cond17.c +nptl/tst-cond18.c +nptl/tst-cond19.c +nptl/tst-cond2.c +nptl/tst-cond20.c +nptl/tst-cond21.c +nptl/tst-cond3.c +nptl/tst-cond4.c +nptl/tst-cond5.c +nptl/tst-cond6.c +nptl/tst-cond7.c +nptl/tst-cond8.c +nptl/tst-cond9.c +nptl/tst-context1.c +nptl/tst-detach1.c +nptl/tst-dlsym1.c +nptl/tst-eintr1.c +nptl/tst-eintr2.c +nptl/tst-eintr3.c +nptl/tst-eintr4.c +nptl/tst-eintr5.c +nptl/tst-exec1.c +nptl/tst-exec2.c +nptl/tst-exec3.c +nptl/tst-exec4.c +nptl/tst-execstack-mod.c +nptl/tst-execstack.c +nptl/tst-exit1.c +nptl/tst-exit2.c +nptl/tst-exit3.c +nptl/tst-fini1.c +nptl/tst-fini1mod.c +nptl/tst-flock1.c +nptl/tst-flock2.c +nptl/tst-fork1.c +nptl/tst-fork2.c +nptl/tst-fork3.c +nptl/tst-fork4.c +nptl/tst-getpid1.c +nptl/tst-getpid2.c +nptl/tst-join1.c +nptl/tst-join2.c +nptl/tst-join3.c +nptl/tst-join4.c +nptl/tst-join5.c +nptl/tst-key1.c +nptl/tst-key2.c +nptl/tst-key3.c +nptl/tst-key4.c +nptl/tst-kill1.c +nptl/tst-kill2.c +nptl/tst-kill3.c +nptl/tst-kill4.c +nptl/tst-kill5.c +nptl/tst-kill6.c +nptl/tst-locale1.c +nptl/tst-locale2.c +nptl/tst-mutex1.c +nptl/tst-mutex2.c +nptl/tst-mutex3.c +nptl/tst-mutex4.c +nptl/tst-mutex5.c +nptl/tst-mutex5a.c +nptl/tst-mutex6.c +nptl/tst-mutex7.c +nptl/tst-mutex7a.c +nptl/tst-mutex8.c +nptl/tst-mutex9.c +nptl/tst-oddstacklimit.c +nptl/tst-once1.c +nptl/tst-once2.c +nptl/tst-once3.c +nptl/tst-once4.c +nptl/tst-oncex3.c +nptl/tst-oncex4.c +nptl/tst-popen1.c +nptl/tst-raise1.c +nptl/tst-rwlock1.c +nptl/tst-rwlock10.c +nptl/tst-rwlock11.c +nptl/tst-rwlock12.c +nptl/tst-rwlock13.c +nptl/tst-rwlock14.c +nptl/tst-rwlock2.c +nptl/tst-rwlock3.c +nptl/tst-rwlock4.c +nptl/tst-rwlock5.c +nptl/tst-rwlock6.c +nptl/tst-rwlock7.c +nptl/tst-rwlock8.c +nptl/tst-rwlock9.c +nptl/tst-sched1.c +nptl/tst-sem1.c +nptl/tst-sem2.c +nptl/tst-sem3.c +nptl/tst-sem4.c +nptl/tst-sem5.c +nptl/tst-sem6.c +nptl/tst-sem7.c +nptl/tst-sem8.c +nptl/tst-sem9.c +nptl/tst-setuid1-static.c +nptl/tst-setuid1.c +nptl/tst-signal1.c +nptl/tst-signal2.c +nptl/tst-signal3.c +nptl/tst-signal4.c +nptl/tst-signal5.c +nptl/tst-signal6.c +nptl/tst-spin1.c +nptl/tst-spin2.c +nptl/tst-spin3.c +nptl/tst-stack1.c +nptl/tst-stack2.c +nptl/tst-stack3.c +nptl/tst-stdio1.c +nptl/tst-stdio2.c +nptl/tst-sysconf.c +nptl/tst-tls1.c +nptl/tst-tls2.c +nptl/tst-tls3.c +nptl/tst-tls3mod.c +nptl/tst-tls4.c +nptl/tst-tls4moda.c +nptl/tst-tls4modb.c +nptl/tst-tls5.c +nptl/tst-tls5.h +nptl/tst-tls5mod.c +nptl/tst-tls5moda.c +nptl/tst-tls5modb.c +nptl/tst-tls5modc.c +nptl/tst-tls5modd.c +nptl/tst-tls5mode.c +nptl/tst-tls5modf.c +nptl/tst-tls6.sh +nptl/tst-tsd1.c +nptl/tst-tsd2.c +nptl/tst-tsd3.c +nptl/tst-tsd4.c +nptl/tst-tsd5.c +nptl/tst-umask1.c +nptl/tst-unload.c +nptl/tst-vfork1.c +nptl/tst-vfork1x.c +nptl/tst-vfork2.c +nptl/tst-vfork2x.c +nptl/version.c +nptl_db/ChangeLog +nptl_db/shlib-versions diff --git a/libpthread/nptl/ANNOUNCE b/libpthread/nptl/ANNOUNCE new file mode 100644 index 000000000..b63c657b8 --- /dev/null +++ b/libpthread/nptl/ANNOUNCE @@ -0,0 +1,92 @@ +Now that the Linux kernel is once again able to run all the tests we +have and since glibc 2.3 was released it was time for a new code drop. +I've uploaded the second code drop for the Native POSIX Thread +Library: + + ftp://people.redhat.com/drepper/nptl/nptl-0.2.tar.bz2 + +You need + +- the latest of Linus' kernel from BitKeeper (or 2.5.41 when it + is released); + +- glibc 2.3 + +- the very latest in tools such as + + + gcc either from the current development branch or the gcc 3.2 + from Red Hat Linux 8; + + + binutils preferrably from CVS, from H.J. Lu's latest release for + Linux, or from RHL 8. + + +Compiling glibc should proceed smoothly. But there are a number of +tests which fail, mostly because some functionality is missing in +glibc. Ignore those errors. It is only important that all tests in +nptl/ are passing. Run + + make subdirs=nptl check + +to run all thread tests. + + +This version features several improvements: + +- all APIs are now implemented; + +- fork handling has been improved; stacks in the child are freed; + atfork handlers are removed if they were registered from a module + which gets unloaded. + +- pthread_tryjoin_np and pthread_timedjoin_np are implemented + +- TSD handling corrected and optimized. + +- many more tests which also test the underlying kernel implementation. + +- the build infrastructure has been implemented so that the DSO and + archives are built in usable form and with correct named. + +- libthread_db has been implemented. This is the library which is + needed by all program which need to get access to internals of + libpthread (mainly debuggers). + +- the CPU clock functions are implemented + + + +The white paper hasn't yet been updated. It's still available at + + http://people.redhat.com/drepper/nptl-design.pdf + + +This release should be ready for some serious testing. I know it is +hard to compile which I why I'm looking into providing binary RPMs. +They can be used on non-critical systems. I'll only be able to +provide binaries for RHL8 based systems, though, and the kernel still +must be installed separately. + + +The next steps will include: + +- write more tests and fix the bugs which are discovered this way + +- update the white paper + +- write and run more performance tests + +- port to IA-64 + + +Interested parties are once again invited to join the mailing we +created: + + + phil-list@redhat.com + +Go to + + https://listman.redhat.com/mailman/listinfo/phil-list + +to subscribe, unsubscribe, or review the archive. diff --git a/libpthread/nptl/Banner b/libpthread/nptl/Banner new file mode 100644 index 000000000..7c1487e7b --- /dev/null +++ b/libpthread/nptl/Banner @@ -0,0 +1 @@ +Native POSIX Threads Library by Ulrich Drepper et al diff --git a/libpthread/nptl/ChangeLog b/libpthread/nptl/ChangeLog new file mode 100644 index 000000000..6fb56a93f --- /dev/null +++ b/libpthread/nptl/ChangeLog @@ -0,0 +1,7160 @@ +2005-05-03 Ulrich Drepper + + [BZ #915] + * sysdeps/pthread/pthread.h: Avoid empty initializers. + +2005-05-03 Jakub Jelinek + + * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Remove explicit + .eh_frame section, use cfi_* directives. + +2005-04-27 Jakub Jelinek + + * sysdeps/unix/sysv/linux/pthread_getcpuclockid.c: Use <> instead + of "" includes. + +2005-04-27 Ulrich Drepper + + * tst-cancel17.c (do_test): Add arbitrary factor to make sure + aio_write blocks. + +2005-04-27 Roland McGrath + + * Makefile (tests): Remove tst-clock2. + + * sysdeps/unix/sysv/linux/timer_create.c (timer_create): Handle + CLOCK_PROCESS_CPUTIME_ID and CLOCK_PROCESS_THREAD_ID specially, + translating to the kernel clockid_t for our own process/thread clock. + + * sysdeps/unix/sysv/linux/pthread_getcpuclockid.c: New file. + +2005-04-15 Jakub Jelinek + + * old_pthread_cond_init.c: Include . + (__pthread_cond_init_2_0): Fail with EINVAL if COND_ATTR is + process shared or uses clock other than CLOCK_REALTIME. + * pthread_cond_init.c (__pthread_cond_init): Remove bogus comment. + +2005-04-13 David S. Miller + + * sysdeps/sparc/sparc64/jmpbuf-unwind.h: New file. + * sysdeps/sparc/sparc64/clone.S: New file. + +2005-04-05 Jakub Jelinek + + * sysdeps/pthread/pthread.h (__pthread_cleanup_routine): Use + __inline instead of inline. + * sysdeps/pthread/bits/libc-lock.h (__libc_cleanup_routine): Likewise. + +2005-03-31 Jakub Jelinek + + * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S: Use + functionally equivalent, but shorter instructions. + * sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S: + Likewise. + * sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S: + Likewise. + * sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise. + +2005-03-28 Daniel Jacobowitz + + * sysdeps/mips/Makefile: New file. + * sysdeps/mips/nptl-sysdep.S: New file. + * sysdeps/mips/tcb-offsets.sym: New file. + * sysdeps/mips/pthread_spin_lock.S: New file. + * sysdeps/mips/pthread_spin_trylock.S: New file. + * sysdeps/mips/pthreaddef.h: New file. + * sysdeps/mips/tls.h: New file. + * sysdeps/mips/jmpbuf-unwind.h: New file. + * sysdeps/unix/sysv/linux/mips/lowlevellock.h: New file. + * sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h: New file. + * sysdeps/unix/sysv/linux/mips/bits/semaphore.h: New file. + * sysdeps/unix/sysv/linux/mips/pthread_once.c: New file. + * sysdeps/unix/sysv/linux/mips/fork.c: New file. + * sysdeps/unix/sysv/linux/mips/pt-vfork.S: New file. + * sysdeps/unix/sysv/linux/mips/vfork.S: New file. + * sysdeps/unix/sysv/linux/mips/clone.S: New file. + * sysdeps/unix/sysv/linux/mips/createthread.c: New file. + * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: New file. + +2005-03-23 Ulrich Drepper + + * pthread_create.c (__pthread_create_2_1): Rename syscall error + variable to scerr. + +2005-03-10 Jakub Jelinek + + * tst-getpid1.c (do_test): Align stack passed to clone{2,}. + +2005-02-25 Roland McGrath + + * alloca_cutoff.c: Correct license text. + * tst-unload.c: Likewise. + * sysdeps/pthread/allocalim.h: Likewise. + * sysdeps/pthread/pt-initfini.c: Likewise. + * sysdeps/pthread/bits/libc-lock.h: Likewise. + * sysdeps/pthread/bits/sigthread.h: Likewise. + * sysdeps/unix/sysv/linux/bits/local_lim.h: Likewise. + * sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise. + +2005-02-16 Roland McGrath + + * sysdeps/pthread/pthread-functions.h (struct pthread_functions): + Use unsigned int * for ptr_nthreads. + +2005-02-14 Alan Modra + + * sysdeps/powerpc/tcb-offsets.sym (thread_offsetof): Redefine to suit + gcc4. + +2005-02-07 Richard Henderson + + [BZ #787] + * sysdeps/pthread/pthread.h (__sigsetjmp): Use pointer as first + argument. + +2004-11-03 Marcus Brinkmann + + * sysdeps/generic/lowlevellock.h (__generic_mutex_unlock): Fix + order of arguments in invocation of atomic_add_zero. + +2005-01-26 Jakub Jelinek + + [BZ #737] + * sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S (__new_sem_trywait): + Use direct %gs segment access or, if NO_TLS_DIRECT_SEG_REFS, + at least gotntpoff relocation and addition. + * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait): + Likewise. + * sysdeps/unix/sysv/linux/i386/i486/sem_post.S (__new_sem_post): + Likewise. + * sysdeps/unix/sysv/linux/i386/i486/sem_wait.S (__new_sem_wait): + Likewise. + +2005-01-06 Ulrich Drepper + + * allocatestack.c (init_one_static_tls): Adjust initialization of DTV + entry for static tls deallocation fix. + * sysdeps/alpha/tls.h (dtv_t): Change pointer type to be struct which + also contains information whether the memory pointed to is static + TLS or not. + * sysdeps/i386/tls.h: Likewise. + * sysdeps/ia64/tls.h: Likewise. + * sysdeps/powerpc/tls.h: Likewise. + * sysdeps/s390/tls.h: Likewise. + * sysdeps/sh/tls.h: Likewise. + * sysdeps/sparc/tls.h: Likewise. + * sysdeps/x86_64/tls.h: Likewise. + +2004-12-27 Ulrich Drepper + + * init.c (__pthread_initialize_minimal_internal): Use __sigemptyset. + +2004-12-21 Jakub Jelinek + + * sysdeps/i386/tls.h (CALL_THREAD_FCT): Maintain 16 byte alignment of + %esp. + * Makefile (tests): Add tst-align2. + * tst-align2.c: New test. + * sysdeps/i386/Makefile (CFLAGS-tst-align{,2}.c): Add + -mpreferred-stack-boundary=4. + +2004-12-18 Roland McGrath + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/bits/local_lim.h: + New file removed withdrawn for the moment. + +2004-12-17 Richard Henderson + + * sysdeps/unix/sysv/linux/alpha/clone.S: New file. + * sysdeps/alpha/tcb-offsets.sym (TID_OFFSET): New. + +2004-12-16 Ulrich Drepper + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/bits/local_lim.h: New file. + Increased PTHREAD_STACK_MIN. + + * tst-context1.c (stacks): Use bigger stack size. + +2004-12-16 Jakub Jelinek + + * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: New file. + * sysdeps/sparc/tcb-offsets.sym: Add TID. + +2004-12-15 Jakub Jelinek + + * sysdeps/unix/sysv/linux/s390/s390-32/clone.S: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: New file. + * sysdeps/s390/tcb-offsets.sym (TID): Add. + +2004-12-15 Ulrich Drepper + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: New file. + +2004-12-14 Ulrich Drepper + + * sysdeps/powerpc/tcb-offsets.sym: Add TID. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: New file. + + * tst-getpid1.c: If child crashes, report this first. Print which + signal. + +2004-12-09 Ulrich Drepper + + * init.c (__pthread_initialize_minimal_internal): Also unblock + SIGSETXID. + +2004-12-01 Jakub Jelinek + + * sysdeps/unix/sysv/linux/bits/posix_opt.h (_POSIX_CPUTIME, + _POSIX_THREAD_CPUTIME): Define to 0. + * sysdeps/pthread/timer_create.c (timer_create): Remove unused code + handling CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID. + * sysdeps/pthread/timer_routines.c (__timer_signal_thread_pclk, + __timer_signal_thread_tclk): Remove. + (init_module): Remove their initialization. + (thread_cleanup): Remove their cleanup assertions. + * sysdeps/pthread/posix-timer.h (__timer_signal_thread_pclk, + __timer_signal_thread_tclk): Remove. + * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Removed. + * sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h: Removed. + * sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h: Removed. + +2004-12-07 Jakub Jelinek + + * sysdeps/ia64/tcb-offsets.sym (TID): Add. + * sysdeps/unix/sysv/linux/ia64/clone2.S: New file. + + * Makefile (tests): Add tst-getpid2. + * tst-getpid1.c (TEST_CLONE_FLAGS): Define. + (do_test): Use it. Use __clone2 instead of clone on ia64. + * tst-getpid2.c: New test. + +2004-12-07 Kaz Kojima + + * sysdeps/unix/sysv/linux/sh/clone.S: New file. + +2004-12-04 Ulrich Drepper + + * Makefile (tests): Add tst-getpid1. + * tst-getpid1.c: New file. + * sysdeps/unix/sysv/linux/i386/clone.S: New file. + * sysdeps/unix/sysv/linux/x86_64/clone.S: New file. + +2004-12-02 Roland McGrath + + * Makefile (libpthread-nonshared): Variable removed. + ($(objpfx)libpthread_nonshared.a): Target removed. + ($(inst_libdir)/libpthread_nonshared.a): Likewise. + These are now handled by generic magic from + libpthread-static-only-routines being set. + +2004-11-27 Ulrich Drepper + + * sysdeps/unix/sysv/linux/bits/posix_opt.h (_POSIX_PRIORITIZED_IO, + _POSIX2_CHAR_TERM, _POSIX_THREAD_PRIO_INHERIT, + _POSIX_THREAD_PRIO_PROTECT): Define. + * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h: Likewise. + +2004-11-26 Jakub Jelinek + + * sysdeps/unix/sysv/linux/bits/posix_opt.h (_POSIX_ADVISORY_INFO, + _POSIX_SPORADIC_SERVER, _POSIX_THREAD_SPORADIC_SERVER, _POSIX_TRACE, + _POSIX_TRACE_EVENT_FILTER, _POSIX_TRACE_INHERIT, _POSIX_TRACE_LOG, + _POSIX_TYPED_MEMORY_OBJECTS, _POSIX_IPV6, _POSIX_RAW_SOCKETS): Define. + * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h: Likewise. + +2004-11-24 Ulrich Drepper + + * sysdeps/x86_64/Makefile [nptl]: Define CFLAGS-pthread_create.c. + + * Makefile (libpthread-routines): Add pthread_setschedprio. + * Versions [libpthread, GLIBC_2.3.4]: Add pthread_setschedprio. + * sysdeps/pthread/pthread.h: Declare pthread_setschedprio. + * pthread_setschedprio.c: New file. + +2004-11-20 Jakub Jelinek + + * pthread_create.c (pthread_cancel): Add PTHREAD_STATIC_FN_REQUIRE. + * pthread_cancel.c (pthread_create): Likewise. + + * Makefile (libpthread-routines): Add vars. + * sysdeps/pthread/createthread.c (__pthread_multiple_threads): Remove. + * init.c (__default_stacksize, __is_smp): Remove. + * vars.c: New file. + * pthreadP.h (__find_thread_by_id): If !SHARED, add weak_function + and define a wrapper macro. + (PTHREAD_STATIC_FN_REQUIRE): Define. + * allocatestack.c (__find_thread_by_id): Undefine. + * pthread_create (__pthread_keys): Remove. + (pthread_mutex_lock, pthread_mutex_unlock, pthread_once, + pthread_key_create, pthread_setspecific, pthread_getspecific): Add + PTHREAD_STATIC_FN_REQUIRE. + +2004-11-18 Kaz Kojima + + * sysdeps/sh/tls.h (DB_THREAD_SELF): Set the correct bias + parameter to REGISTER macro. + +2004-11-17 Roland McGrath + + * sysdeps/unix/sysv/linux/timer_routines.c (__start_helper_thread): + Make sure SIGCANCEL is blocked as well. + +2004-11-10 Jakub Jelinek + + * sysdeps/pthread/setxid.h: New file. + * sysdeps/pthread/pthread-functions.h (HAVE_PTR__NPTL_SETXID): Remove. + (struct xid_command): Add forward decl. + (struct pthread_functions): Change return type of __nptl_setxid hook + to int. + * pthreadP.h (__nptl_setxid): Change return type to int. + * allocatestack.c (__nptl_setxid): Call INTERNAL_SYSCALL_NCS in the + calling thread, return its return value and set errno on failure. + * descr.h (struct xid_command): Change id type to long array. + + * Makefile: Add rules to build and test tst-setuid1 and + tst-setuid1-static. + * tst-setuid1.c: New test. + * tst-setuid1-static.c: New test. + +2004-11-10 Jakub Jelinek + + * Makefile (tests): Add tst-exit3. + * tst-exit3.c: New test. + +2004-11-09 Ulrich Drepper + + * Makefile (tests): Add tst-exit2. + * tst-exit2.c: New file. + +2004-11-09 Roland McGrath + + [BZ #530] + * sysdeps/pthread/createthread.c (do_clone): Increment __nptl_nthreads + here, before calling clone. + * pthread_create.c (start_thread): Don't do it here. + +2004-11-02 Jakub Jelinek + + * sysdeps/unix/sysv/linux/smp.h: Include . + +2004-10-29 Kaz Kojima + + * sysdeps/unix/sysv/linux/sh/sem_timedwait.S (sem_timedwait): + Set ETIMEDOUT to errno when time is up. Tweak to avoid + assembler warning. + +2004-10-28 Jakub Jelinek + + * pthread_create.c (__pthread_create_2_1): Avoid leaking stacks + if sched_priority is not between minprio and maxprio. + +2004-10-25 Kaz Kojima + + * sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S + (__pthread_cond_timedwait): Use clock_gettime syscall if exists. + + * sysdeps/unix/sysv/linux/sh/lowlevellock.S + (__lll_mutex_timedlock_wait): Fix a bad branch condition. + +2004-10-24 Ulrich Drepper + + * sysdeps/unix/sysv/linux/smp.h (is_smp_system): Use + not-cancelable I/O functions. + +2004-10-21 Kaz Kojima + + * sysdeps/unix/sysv/linux/sh/lowlevellock.S + (__lll_mutex_timedlock_wait): If woken but cannot get the lock, + make sure 2 is stored in the futex and we looked at the old value. + Fix a few other problems to return the correct value. + +2004-10-14 Richard Henderson + + * sysdeps/alpha/tcb-offsets.sym (thread_offsetof): Redefine to + make gcc4 happy. + +2004-10-06 Jakub Jelinek + + * sysdeps/unix/sysv/linux/jmp-unwind.c: Include pthreadP.h instead + of pthread-functions.h and pthreaddef.h. + * sysdeps/unix/sysv/linux/s390/jmp-unwind.c: Likewise. + + * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h (pthread_cond_t): + Change __data.__nwaiters from int to unsigned int. + + * tst-clock2.c (do_test): Don't fail if _POSIX_THREAD_CPUTIME == 0 and + sysconf (_SC_THREAD_CPUTIME) returns negative value. + + * allocatestack.c (__find_thread_by_id): Move attribute_hidden + before return type. + + * sysdeps/s390/jmpbuf-unwind.h: Include bits/wordsize.h. + (JMPBUF_CFA_UNWINDS_ADJ): Subtract 96 resp. 160 bytes from CFA. + +2004-10-06 Ulrich Drepper + + * tst-cancel4.c (tf_msgrcv): Check for failure in msgget. If the + test fails, remove message queue. + (tf_msgsnd): Likewise. + +2004-10-05 Jakub Jelinek + + * tst-clock1.c: Change #ifdef to #if defined. + * tst-clock2.c: Likewise. + * tst-cond11.c: Likewise. + + * sysdeps/pthread/timer_create.c (timer_create): Use + defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0 instead of + defined CLOCK_PROCESS_CPUTIME_ID #ifs and similarly for + THREAD_CPUTIME. + +2004-10-05 Jakub Jelinek + + * sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h (_POSIX_CPUTIME, + _POSIX_THREAD_CPUTIME): Define to 0. + +2004-10-04 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Define _POSIX_CPUTIME + and _POSIX_THREAD_CPUTIME to zero. + * sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h: Likewise. + * tst-barrier2.c: Fix testing for POSIX feature. + * tst-clock1.c: Likewise. + * tst-clock2.c: Likewise. + * tst-cond11.c: Likewise. + * tst-cond4.c: Likewise. + * tst-cond6.c: Likewise. + * tst-flock2.c: Likewise. + * tst-mutex4.c: Likewise. + * tst-mutex9.c: Likewise. + * tst-rwlock12.c: Likewise. + * tst-rwlock4.c: Likewise. + * tst-signal1.c: Likewise. + * tst-spin2.c: Likewise. + * sysdeps/pthread/posix-timer.h: Likewise. + * sysdeps/pthread/timer_create.c: Likewise. + * sysdeps/pthread/timer_routines.c: Likewise. + +2004-10-01 Ulrich Drepper + + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S + (__lll_mutex_timedlock_wait): Address futex correctly. + + * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S + (__lll_mutex_timedlock_wait): If 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. + [BZ #417] + +2004-09-28 Ulrich Drepper + + * sysdeps/unix/sysv/linux/pthread_kill.c (__pthread_kill): Don't + allow SIGSETXID to be sent. + * sysdeps/pthread/sigaction.c (__sigaction): Don't allow action + for SIGSETXID to be defined. + * sysdeps/pthread/pthread_sigmask.c (pthread_sigmask): Make sure + SIGSETXID cannot be blocked. + + * sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_cond_t): + Add __extension__ to long long types. + * sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: Likewise. + * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise. + +2004-09-25 Ulrich Drepper + + * descr.h (struct pthread): Add stopped_start field. + * sysdeps/pthread/createthread.c (create_thread): Set + start_stopped flag in descriptor for new thread appropriately. + * pthread_create.c (start_thread): Only take lock to be stopped on + startup if stopped_start flag says so. + +2004-09-24 Ulrich Drepper + + * pthread_create.c (__pthread_create_2_1): Remember whether thread + is created detached and if yes, do not try to free the stack in case + the thread creation failed. + * sysdeps/pthread/createthread.c (do_clone): Free stack here if clone + call fails. Don't depend on INTERNAL_SYSCALL_ERRNO return zero in + case there has been no error. [BZ #405] + + * pthread_create.c (start_thread): Don't wait for scheduler data + etc to be set at the beginning of the function. The cancellation + infrastructure must have been set up. And enable async + cancellation before potentially going to sleep. [BZ #401] + +2004-09-20 Ulrich Drepper + + * Versions: Remove exports for pthread_set*id_np functions. + * sysdeps/pthread/pthread.h: Remove pthread_set*id_np prototypes + for now. + * Makefile: Don't build pthread_set*id code for now. + +2004-09-19 Ulrich Drepper + + * sysdeps/unix/sysv/linux/allocrtsig.c: Allocate second signal for + internal use. + * allocatestack.c (__nptl_setxid): New function. + * descr.h (struct xid_command): Define type. + * init.c (pthread_functions): Add ptr__nptl_setxid initialization. + (sighandler_setxid): New function. + (__pthread_initialize_minimal): Register sighandler_setxid for + SIGCANCEL. + * pt-allocrtsig.c: Update comment. + * pthreadP.h: Define SIGSETXID. Declare __xidcmd variable. + Declare __nptl_setxid. + * sysdeps/pthread/pthread-functions.h: Add ptr__nptl_setxid. + * sysdeps/pthread/pthread.h: Declare pthread_setgid_np, + pthread_setuid_np, pthread_setegid_np, pthread_seteuid_np, + pthread_setregid_np, pthread_setreuid_np, pthread_setresgid_np, + and pthread_setresuid_np. + * pthread_setgid_np.c: New file. + * pthread_setuid_np.c: New file. + * pthread_setegid_np.c: New file. + * pthread_seteuid_np.c: New file. + * pthread_setregid_np.c: New file. + * pthread_setreuid_np.c: New file. + * pthread_setresgid_np.c: New file. + * pthread_setresuid_np.c: New file. + * Versions [libpthread, GLIBC_2.3.4]: Add pthread_setgid_np, + pthread_setuid_np, pthread_setegid_np, pthread_seteuid_np, + pthread_setregid_np, pthread_setreuid_np, pthread_setresgid_np, + and pthread_setresuid_np. + * Makefile (libpthread-routines): Add pthread_setuid, pthread_seteuid, + pthread_setreuid, pthread_setresuid, pthread_setgid, pthread_setegid, + pthread_setregid, and pthread_setresgid. + +2004-09-18 Ulrich Drepper + + * allocatestack.c (allocate_stack): Return EAGAIN instead of + ENOMEM when out of memory. + +2004-09-10 Roland McGrath + + [BZ #379] + * allocatestack.c (allocate_stack): Remove [__ASSUME_CLONE_STOPPED] + code, since we don't try to use the broken CLONE_STOPPED any more. + * pthread_create.c (start_thread): Likewise. + +2004-09-15 Richard Henderson + + * sysdeps/unix/sysv/linux/alpha/vfork.S: Use libc_hidden_def. + +2004-09-01 David Mosberger + + * 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. + +2004-09-12 Ulrich Drepper + + * sysdeps/pthread/pthread.h: Make rwlock prototypes available also + for __USE_XOPEN2K. + * sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: Define rwlock + types also for __USE_XOPEN2K. + * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Likewise. + * 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/