This file describes changes to the nptl/ subdirectory prior to 2014-03-03.
Later nptl/ changes go into the top-level ChangeLog file, not here.



2014-02-28  Roland McGrath  <roland@hack.frob.com>

	* Makefile (generated-dirs): Use += rather than =.

2014-02-26  Joseph Myers  <joseph@codesourcery.com>

	* Makefile: Include Makeconfig immediately after defining subdir.

2014-02-21  Joseph Myers  <joseph@codesourcery.com>

	* Makefile ($(objpfx)tst-stack3-mem): Use $(evaluate-test).
	($(objpfx)tst-tls6.out): Likewise.
	($(objpfx)tst-cleanup0.out): Likewise.
	($(objpfx)tst-cleanup0-cmp.out): Likewise.
	($(objpfx)tst-cancel-wrappers.out): Likewise.
	($(objpfx)tst-oddstacklimit.out): Likewise.

2014-02-14  Joseph Myers  <joseph@codesourcery.com>

	* Makefile ($(objpfx)tst-cleanup0.out): Do not run cmp.
	[$(run-built-tests) = yes] (tests): Depend on
	$(objpfx)tst-cleanup0-cmp.out.
	($(objpfx)tst-cleanup0-cmp.out): New rule.

2014-02-10  Ondřej Bílka  <neleai@seznam.cz>

	* allocatestack.c (queue_stack, allocate_stack,
	__deallocate_stack, __reclaim_stacks): Use glibc_likely instead
	__builtin_expect.
	* cancellation.c (__pthread_enable_asynccancel,
	__pthread_disable_asynccancel): Likewise.
	* cleanup_defer.c (__pthread_register_cancel_defer,
	__pthread_unregister_cancel_restore): Likewise.
	* cleanup_defer_compat.c (_pthread_cleanup_push_defer,
	_pthread_cleanup_pop_restore): Likewise.
	* cond-perf.c (main): Likewise.
	* nptl-init.c (sigcancel_handler, sighandler_setxid): Likewise.
	* perf.c (get_clockfreq): Likewise.
	* pthread_barrier_destroy.c (pthread_barrier_destroy): Likewise.
	* pthread_barrier_init.c (pthread_barrier_init): Likewise.
	* pthread_cond_timedwait.c (__pthread_cond_timedwait): Likewise.
	* pthread_cond_wait.c (__pthread_cond_wait): Likewise.
	* pthread_create.c (__free_tcb, start_thread, __pthread_create_2_1):
	Likewise.
	* pthread_getattr_np.c (pthread_getattr_np): Likewise.
	* pthread_getspecific.c (__pthread_getspecific): Likewise.
	* pthread_join.c (pthread_join): Likewise.
	* pthread_key_delete.c (pthread_key_delete): Likewise.
	* pthread_mutex_init.c (__pthread_mutex_init): Likewise.
	* pthread_mutex_lock.c (__pthread_mutex_lock,
	__pthread_mutex_lock_full): Likewise.
	* pthread_mutex_timedlock.c (pthread_mutex_timedlock): Likewise.
	* pthread_mutex_trylock.c (__pthread_mutex_trylock): Likewise.
	* pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): Likewise.
	* pthread_rwlock_rdlock.c (__pthread_rwlock_rdlock): Likewise.
	* pthread_rwlock_timedrdlock.c (pthread_rwlock_timedrdlock): Likewise.
	* pthread_rwlock_timedwrlock.c (pthread_rwlock_timedwrlock): Likewise.
	* pthread_rwlock_tryrdlock.c (__pthread_rwlock_tryrdlock): Likewise.
	* pthread_setcancelstate.c (__pthread_setcancelstate): Likewise.
	* pthread_setcanceltype.c (__pthread_setcanceltype): Likewise.
	* pthread_setschedprio.c (pthread_setschedprio): Likewise.
	* pthread_setspecific.c (__pthread_setspecific): Likewise.
	* sem_init.c (__new_sem_init): Likewise.
	* sem_open.c (__where_is_shmfs): Likewise.
	* sigaction.c: Likewise.
	* sockperf.c (get_clockfreq): Likewise.
	* sysdeps/pthread/createthread.c (do_clone, create_thread): Likewise.
	* sysdeps/pthread/setxid.h: Likewise.
	* sysdeps/pthread/timer_create.c (timer_create): Likewise.
	* sysdeps/pthread/unwind-forcedunwind.c (pthread_cancel_init,
	__unwind_freeres, _Unwind_Resume, __gcc_personality_v0,
	_Unwind_ForcedUnwind): Likewise.
	* sysdeps/unix/sysv/linux/getpid.c (__getpid): Likewise.
	* sysdeps/unix/sysv/linux/lowlevelrobustlock.c
	(__lll_robust_lock_wait, __lll_robust_timedlock_wait): Likewise.
	* sysdeps/unix/sysv/linux/mq_notify.c (mq_notify): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/pthread_kill.c (__pthread_kill): Likewise.
	* sysdeps/unix/sysv/linux/pthread_setaffinity.c
	(__pthread_setaffinity_new): Likewise.
	* sysdeps/unix/sysv/linux/pthread_sigqueue.c (pthread_sigqueue):
	Likewise.
	* sysdeps/unix/sysv/linux/pt-raise.c (raise): Likewise.
	* sysdeps/unix/sysv/linux/raise.c (raise): Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h (__lll_robust_trylock,
	__lll_robust_lock, __lll_cond_lock, __lll_robust_timedlock): Likewise.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h (__lll_lock,
	__lll_cond_lock, __lll_timedlock, __lll_robust_timedlock): Likewise.
	* sysdeps/unix/sysv/linux/sparc/pthread_barrier_destroy.c
	(pthread_barrier_destroy): Likewise.
	* sysdeps/unix/sysv/linux/sparc/pthread_barrier_init.c
	(pthread_barrier_init): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sem_init.c (__new_sem_init): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/timer_create.c (__timer_create_old):
	Likewise.
	* unwind.c (unwind_stop): Likewise.

2014-02-08  Mike Frysinger  <vapier@gentoo.org>

	* sem_open.c (__where_is_shmfs): Compare f.f_type to RAMFS_MAGIC too.

2014-02-05  Carlos O'Donell  <carlos@redhat.com>

	* sysdeps/unix/sysv/linux/tst-setgetname.c (do_test): Skip the
	test if !__ASSUME_PROC_PID_TASK_COMM and get_self_comm returns
	ENOENT.

2014-01-23  Stefan Liebler  <stli@linux.vnet.ibm.com>

	* tst-tls7.c: Adjust testcase timeout

2014-01-18  H.J. Lu  <hongjiu.lu@intel.com>

	[BZ #14782]
	* tst-cancel-wrappers.sh: Remove system.

2014-01-11  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* tst-tls7.c (action): New function.
	(do_test): Call it.
	* tst-tls7mod.c (action): Move sem_post to caller.

2011-12-12  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>

	* sysdeps/powerpc/tls.h (struct tcbhead_t): Add DSO and TAR fields.
	* nptl/sysdeps/powerpc/tcb-offsets.sym: Likewise.

2013-12-09  Carlos O'Donell  <carlos@redhat.com>

	* sysdeps/unix/sysv/linux/tst-setgetname.c: New file.
	* sysdeps/unix/sysv/linux/Makefile (tests): Add tst-setgetname.

2013-12-09  Andreas Schwab  <schwab@suse.de>

	[BZ #15843]
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Remove wrong cfi_adjust_cfa_offset
	before __condvar_tw_cleanup2 label.

2013-12-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
	(CANCEL_FRAMESIZE, CANCEL_PARM_SAVE): New macros to save parameters
	into our own stack frame instead of the caller's.
	(PSEUDO): Use them.  Use symbolic stack frame offsets.
	(DOCARGS_1, UNDOCARGS_1): Use CANCEL_PARM_SAVE.
	(DOCARGS_2, UNDOCARGS_2): Likewise.
	(DOCARGS_3, UNDOCARGS_3): Likewise.
	(DOCARGS_4, UNDOCARGS_4): Likewise.
	(DOCARGS_5, UNDOCARGS_5): Likewise.
	(DOCARGS_6, UNDOCARGS_6): Likewise.

2013-11-26  Ondřej Bílka  <neleai@seznam.cz>

	* sysdeps/i386/tls.h: Use __glibc_reserved instead __unused.
	* sysdeps/x86_64/tls.h: Likewise.

2013-11-25  Paul Pluzhnikov  <ppluzhnikov@google.com>

	[BZ #11214]
	* Makefile (tst-getpid2-ENV): New variable.

2013-11-20  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* Makefile (tst-cleanup2, tst-cleanupx2): Add -fno-builtin

2013-10-30  Mike Frysinger  <vapier@gentoo.org>

	* sysdeps/pthread/configure.in: Moved to ...
	* sysdeps/pthread/configure.ac: ... here.
	* sysdeps/x86_64/configure.in: Moved to ...
	* sysdeps/x86_64/configure.ac: ... here.
	* sysdeps/pthread/configure: Regenerated.
	* sysdeps/x86_64/configure: Likewise.

2013-10-04  Maciej W. Rozycki  <macro@codesourcery.com>

	* tst-mutex8.c (check_type) [ENABLE_PI]: Handle ENOTSUP failure
	from pthread_mutex_init.

2013-10-01  Siddhesh Poyarekar  <siddhesh@redhat.com>

	[BZ #15988]
	* pthread_cond_broadcast.c (__pthread_cond_broadcast)
	[lll_futex_cmp_requeue_pi && __ASSUME_REQUEUE_PI]: Use
	USE_REQUEUE_PI.
	* pthread_cond_signal.c (__pthread_cond_signal)
	[lll_futex_cmd_requeue_pi && __ASSUME_REQUEUE_PI]: Likewise.

2013-09-27  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* sysdeps/pthread/bits/libc-lock.h [_LIBC && (!NOT_IN_libc ||
	IS_IN_libpthread)] (__libc_lock_fini_recursive): Use the mutex
	member of the argument.
	(__libc_lock_trylock_recursive): Likewise.
	(__libc_lock_unlock_recursive): Likewise.

2013-09-04  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/x86_64/cancellation.S
	[SHARED && DO_VERSIONING && !NO_HIDDEN]: Change conditional to
	[SHARED && !NO_HIDDEN].

2013-09-03  Siddhesh Poyarekar  <siddhesh@redhat.com>

	[BZ #15921]
	* tst-cleanup2.c (do_test): New volatile variable RET to
	return success.

2013-08-30   Ondřej Bílka  <neleai@seznam.cz>

	* sysdeps/pthread/pthread.h: Fix typos.
	* sysdeps/unix/sysv/linux/internaltypes.h: Likewise.
	* tst-cancel4.c: Likewise.

2013-08-21   Ondřej Bílka  <neleai@seznam.cz>

	* pthread_getschedparam.c: Fix typos.
	* sysdeps/unix/sysv/linux/register-atfork.c: Likewise.

2013-07-23  David S. Miller  <davem@davemloft.net>

	* tst-cancel4.c (WRITE_BUFFER_SIZE): Adjust comment.

2013-07-22  David S. Miller  <davem@davemloft.net>

	* tst-cancel4.c (WRITE_BUFFER_SIZE): Increase to 16384.

2013-07-19  Dominik Vogt  <vogt@de.ibm.com>

	* pthread_mutex_lock.c: Fix whitespace.
	* pthread_mutex_trylock.c: Likewise.
	* sysdeps/unix/sysv/linux/x86/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/x86/elision-conf.c: Likewise.
	* sysdeps/unix/sysv/linux/x86/elision-conf.h: Likewise.
	* sysdeps/unix/sysv/linux/x86/elision-lock.c: Likewise.
	* sysdeps/unix/sysv/linux/x86/elision-timed.c: Likewise.
	* sysdeps/unix/sysv/linux/x86/elision-trylock.c: Likewise.
	* sysdeps/unix/sysv/linux/x86/force-elision.h: Likewise.
	* sysdeps/unix/sysv/linux/x86/hle.h: Likewise.
	* sysdeps/unix/sysv/linux/x86/pthread_mutex_cond_lock.c: Likewise.
	* sysdeps/unix/sysv/linux/x86/pthread_mutex_lock.c: Likewise.
	* sysdeps/unix/sysv/linux/x86/pthread_mutex_timedlock.c: Likewise.
	* sysdeps/unix/sysv/linux/x86/pthread_mutex_trylock.c: Likewise.

	* sysdeps/unix/sysv/linux/x86/elision-conf.c:
	Remove __rwlock_rtm_enabled and __rwlock_rtm_read_retries.
	(elision_init): Don't set __rwlock_rtm_enabled.
	* sysdeps/unix/sysv/linux/x86/elision-conf.h:
	Remove __rwlock_rtm_enabled.

2013-07-03  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/x86/init-arch.c: New file.
	* sysdeps/unix/sysv/linux/x86/init-arch.h: Likewise.

2013-07-02  Andi Kleen <ak@linux.intel.com>

	* sysdeps/unix/sysv/linux/x86/elision-conf.c (elision_init):
	  Check ENABLE_LOCK_ELISION.

2013-07-02  Andi Kleen  <ak@linux.intel.com>

	* pthread_mutexattr_settype.c (__pthread_mutexattr_settype):
	  Disable elision for PTHREAD_MUTEX_DEFAULT.

2013-07-02  Andi Kleen  <ak@linux.intel.com>
	    Hongjiu Lu  <hongjiu.lu@intel.com>

	* pthread_mutex_lock.c
	(__pthread_mutex_lock): Add lock elision support.
	* pthread_mutex_timedlock.c (pthread_mutex_timedlock): Likewise.
	* pthread_mutex_trylock.c (__pthread_mutex_trylock): Likewise.
	* pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): Likewise.
	* sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c: Likewise.
	* sysdeps/unix/sysv/linux/x86/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/x86/Makefile: New file.
	* sysdeps/unix/sysv/linux/x86/force-elision.h: New file
	* sysdeps/unix/sysv/linux/x86/pthread_mutex_cond_lock.c: Likewise.
	* sysdeps/unix/sysv/linux/x86/pthread_mutex_lock.c: Likewise.
	* sysdeps/unix/sysv/linux/x86/pthread_mutex_timedlock.c: Likewise.
	* sysdeps/unix/sysv/linux/x86/pthread_mutex_trylock.c: Likewise.
	* sysdeps/unix/sysv/linux/x86/pthread_mutex_unlock.c: Likewise.

2013-07-02  Andi Kleen  <ak@linux.intel.com>

	* tst-mutex5.c: Include config.h.
	  (do_test): Add checks for ENABLE_LOCK_ELISION.
	* tst-mutex8.c: Include config.h
	  (tf): Add checks for ENABLE_LOCK_ELISION.
	  (check_type): Likewise.

2013-07-02  Andi Kleen  <ak@linux.intel.com>

	* pthreadP.h: Add elision types.
	  (PTHREAD_MUTEX_TYPE_ELISION): Add.
	* sysdeps/pthread/pthread.h: Add elision initializers.
	  (PTHREAD_MUTEX_ELISION_NP, PTHREAD_MUTEX_NO_ELISION_NP,
	   PTHREAD_MUTEX_PSHARED_NP): Add new flags.
	  (__PTHREAD_SPINS): Add.

2013-07-02  Andi Kleen  <ak@linux.intel.com>
	    Hongjiu Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (__lll_timedwait_tid,
	  lll_timedlock_elision, __lll_lock_elision, __lll_unlock_elision,
	  __lll_trylock_elision, lll_lock_elision, lll_unlock_elision,
	  lll_trylock_elision): Add.
	* sysdeps/unix/sysv/linux/x86/Makefile: Imply x86.
	* sysdeps/unix/sysv/linux/x86/elision-conf.c: New file.
	* sysdeps/unix/sysv/linux/x86/elision-conf.h: New file.
	* sysdeps/unix/sysv/linux/x86/elision-lock.c: New file.
	* sysdeps/unix/sysv/linux/x86/elision-timed.c: New file.
	* sysdeps/unix/sysv/linux/x86/elision-trylock.c: New file.
	* sysdeps/unix/sysv/linux/x86/elision-unlock.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (__lll_timedwait_tid,
	  lll_timedlock_elision, __lll_lock_elision, __lll_unlock_elision,
	  __lll_trylock_elision, lll_lock_elision, lll_unlock_elision,
	  lll_trylock_elision): Add.
	* nptl/sysdeps/unix/sysv/linux/x86/hle.h: New file.
	* elision-conf.h: New file.

2013-06-24  Vladimir Nikulichev  <v.nikulichev@gmail.com>

	[BZ #12310]
	* pthread_exit.c: Add reference to pthread_create.

2013-06-22  Joseph Myers  <joseph@codesourcery.com>

	* pthread_getattr_default_np.c: Include <string.h>.

2013-06-15  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* Versions (libpthread): Add GLIBC_2.18.
	(GLIBC_2.18): Add pthread_setattr_default_np and
	pthread_getattr_default_np.
	* allocatestack.c (allocate_stack): Synchronize read from
	__default_pthread_attr.
	(__reclaim_stacks): Initialize __default_pthread_attr_lock.
	* nptl-init.c (__pthread_initialize_minimal_internal):
	Synchronize write to __default_pthread_attr.
	* pthreadP.h (__default_pthread_attr_lock): Declare.
	* pthread_attr_getstacksize (__pthread_attr_getstacksize):
	Synchronize read from __default_pthread_attr.
	* pthread_create.c (__pthread_create_2_1): Make a local copy of
	__default_pthread_attr.  Check value of flags in IATTR even if
	input ATTR is NULL.
	* pthread_getattr_default_np.c: New file.
	* pthread_setattr_default_np.c: New file.
	* sysdeps/pthread/pthread.h [__USE_GNU]
	(pthread_getattr_default_np, pthread_setattr_default_np):
	Declare.
	* tst-default-attr.c: New test case.
	* Makefile (libpthread-routines): Add
	pthread_setattr_default_np and pthread_getattr_default_np.
	(tests): Add tst-default-attr.
	* vars.c (__default_pthread_attr_lock): Declare and initialize.

2013-06-13  Siddhesh Poyarekar  <siddhesh@redhat.com>
	    Carlos O'Donell  <carlos@redhat.com>

	[BZ #15618]
	* tst-pthread-attr-affinity: New test case.
	* Makefile (tests): Add it.
	* sysdeps/unix/sysv/linux/pthread_attr_getaffinity.c
	(__pthread_attr_getaffinity_new): Copy minimum of source and
	destination sizes to avoid a buffer overrun.

2013-06-10  Carlos O'Donell  <carlos@redhat.com>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h
	(lll_futex_wake): Return syscall error.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
	(lll_futex_wake): Return syscall error.

2013-08-06   Ondřej Bílka  <neleai@seznam.cz>

	* sysdeps/pthread/allocalim.h: (__libc_use_alloca): Fix warning.

2013-06-06   Ondřej Bílka  <neleai@seznam.cz>

	* tst-cond22.c: Fix leading whitespaces.
	* tst-umask1.c: Likewise.

2013-06-06  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Remove
	trailing whitespace.
	* sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c: Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_once.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise.
	* tst-mutexpp10.c: Likewise.
	* tst-stackguard1.c: Likewise.

2013-05-31  Joseph Myers  <joseph@codesourcery.com>

	* Makefile ($(objpfx)libpthread.so): Remove dependencies on libc
	and ld.so.

2013-05-16  Ryan S. Arnold  <rsa@linux.vnet.ibm.com>

	* pthread_create.c: Add missing #include <stdint.h> due to uint64_t or
	uint32_t usage.
	* sysdeps/pthread/createthread.c: Likewise.

2013-05-14  Andreas Jaeger  <aj@suse.de>

	[BZ #10686]
	* sysdeps/x86_64/tls.h (struct tcbhead_t): Add __private_ss field.
	* sysdeps/i386/tls.h (struct tcbhead_t): Likewise.

2013-05-09  Andi Kleen  <ak@linux.intel.com>

	* tst-mutex8.c (do_test): Check for ENABLE_PI.

2013-04-22  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* pthreadP.h (check_sched_policy_attr): New inline function.
	(check_sched_priority_attr): Likewise.
	(check_stacksize_attr): Likewise.
	(__kernel_cpumask_size, __determine_cpumask_size): Declare
	extern.
	(check_cpuset_attr): New inline function.
	* pthread_attr_setschedparam (__pthread_attr_setschedparam):
	Use check_sched_priority_attr.
	* pthread_attr_setschedpolicy.c
	(__pthread_attr_setschedpolicy): Use check_sched_policy_attr.
	* pthread_attr_setstack.c (__pthread_attr_setstack): Use
	check_stacksize_attr.
	* pthread_attr_setstacksize.c (__pthread_attr_setstacksize):
	Likewise.
	* sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c
	(__pthread_attr_setaffinity_new): Use check_cpuset_attr.

2013-04-11  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): If possible use FUTEX_WAIT_BITSET to
	directly use absolute timeout.

2013-04-07  Carlos O'Donell  <carlos@redhat.com>

	* sysdeps/unix/sysv/linux/sem_post.c: Include atomic.h.

2013-04-04  Siddhesh Poyarekar  <siddhesh@redhat.com>

	[BZ #15337]
	* sysdeps/unix/sysv/linux/x86_64/cancellation.S
	[IS_IN_libpthread]
	[SHARED && defined DO_VERSIONING && !defined NO_HIDDEN]: Mark
	__pthread_unwind hidden.

2013-03-28  Roland McGrath  <roland@hack.frob.com>

	* pthread_create.c (start_thread) [!SHARED]:
	Call __call_tls_dtors only if it's not NULL.

2013-03-19  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* allocatestack.c (allocate_stack): Use __default_pthread_attr
	instead of __default_stacksize.
	* nptl-init.c (__pthread_initialize_minimal_internal):
	Likewise.  Initialize guardsize.
	* pthreadP.h (__default_pthread_attr): Declare.
	* pthread_attr_getstacksize.c (__pthread_attr_getstacksize):
	Use __default_pthread_attr instead of __default_stacksize.
	* pthread_create.c (default_attr): Remove.
	(__pthread_create_2_1): Use __default_pthread_attr instead of
	default_attr.
	* vars.c (__default_stacksize): Remove.
	(__default_pthread_attr): New static variable to store
	default thread attributes.

2013-03-18  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* pthread_barrier_init.c (default_attr): Rename to
	default_barrierattr.
	(pthread_barrier_init): Adjust for the rename.
	* pthread_mutex_init.c (default_attr): Rename to
	default_mutexattr.
	(__pthread_mutex_init): Adjust for the rename.
	* pthread_rwlock_init.c (default_attr): Rebane to
	default_rwlockattr.
	(__pthread_rwlock_init): Adjust for the rename.

2013-03-12  Carlos O'Donell  <carlos@redhat.com>

	* sysdeps/unix/sysv/linux/lowlevellock.c: Include <atomic.h>.

2013-03-04  Roland McGrath  <roland@hack.frob.com>

	* sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h:
	Change multiple inclusion guard to _LINUX_I686_DL_SYSDEP_H.
	Use #include_next.
	(HAVE_DL_DISCOVER_OSVERSION): Remove definition, now redundant.
	(RTLD_PRIVATE_ERRNO): Likewise.
	(NEED_DL_SYSINFO, DL_SYSINFO_DEFAULT, DL_SYSINFO_IMPLEMENTATION):
	Move macros and associated declaration to ...
	* sysdeps/unix/sysv/linux/i386/dl-sysdep.h: ... here.
	Change multiple include guard to _LINUX_I386_DL_SYSDEP_H.
	Use #include_next.

2013-03-01  Carlos O'Donell  <carlos@redhat.com>

	* Makefile (tests): Revert last change.
	(tst-pthread-stack-env-ENV): Likewise.
	* nptl-init.c (set_default_stacksize): Likewise.
	(__pthread_initialize_minimal_internal): Likewise.
	* tst-pthread-stack-env.c: Likewise.

2013-03-01  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* tst-oddstacklimit.c: Include stdlib.h.

	* Makefile (tests): Add tst-pthread-stack-env.
	(tst-pthread-stack-env-ENV): Set environment for test.
	* nptl-init.c (set_default_stacksize): New function.
	(__pthread_initialize_minimal_internal): Accept ARGC, ARGV and
	ENVP.  Initialize __ENVIRON and set __DEFAULT_STACKSIZE.
	* tst-pthread-stack-env.c: New test case.

2013-02-21  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h
	(FUTEX_WAIT_REQUEUE_PI): Define.
	(FUTEX_CMP_REQUEUE_PI): Likewise.
	(lll_futex_wait_requeue_pi): Likewise.
	(lll_futex_timed_wait_requeue_pi): Likewise.
	(lll_futex_cmp_requeue_pi): Likewise.

2013-02-21  Carlos O'Donell  <carlos@redhat.com>

	* sysdeps/unix/sysv/linux/fork.c: Fix comment typo.

2013-02-18  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* sysdeps/pthread/tst-timer.c: Include stdlib.h for declaration
	of exit.
	* tst-barrier4.c: Likewise.
	* tst-robust7.c: Likewise.

	[BZ #14920]
	* pthreadP.h (USE_REQUEUE_PI): New macro to check if mutex is
	PI-aware.
	* pthread_cond_broadcast.c (__pthread_cond_broadcast): Use
	PI-aware futex operations if available and mutex is PI-aware.
	* pthread_cond_signal.c (__pthread_cond_signal): Likewise.
	* nptl/pthread_cond_timedwait.c (__pthread_cond_timedwait):
	Likewise.
	* pthread_cond_wait.c (__condvar_cleanup): Adjust lock if
	cancellation occurred just after futex returned successfully
	from a PI operation with the mutex held.
	(__pthread_cond_wait): Use PI-aware futex operations if
	available and mutex is PI-aware.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
	(FUTEX_WAIT_REQUEUE_PI): Define.
	(FUTEX_CMP_REQUEUE_PI): Likewise.
	(lll_futex_wait_requeue_pi): Likewise.
	(lll_futex_timed_wait_requeue_pi): Likewise.
	(lll_futex_cmp_requeue_pi): Likewise.
	* nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
	(FUTEX_WAIT_REQUEUE_PI): Define.
	(FUTEX_CMP_REQUEUE_PI): Likewise.
	(lll_futex_wait_requeue_pi): Likewise.
	(lll_futex_timed_wait_requeue_pi): Likewise.
	(lll_futex_cmp_requeue_pi): Likewise.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define
	__ASSUME_REQUEUE_PI for Linux version higher than 2.6.31.

2013-02-04  Andreas Schwab  <schwab@suse.de>

	[BZ #14142]
	* tst-cancel14.c: Include <sys/time.h>.
	* tst-cancel15.c: Likewise.
	* tst-mutex9.c: Include <stdint.h>, <stdlib.h> and <sys/time.h>.
	* tst-stackguard1.c: Include <tls.h>

2013-01-16  Andreas Schwab  <schwab@suse.de>

	[BZ #14327]
	* sem_open.c (sem_open): Use __mktemp instead of mktemp.

2013-01-11  Carlos O'Donell  <codonell@redhat.com>

	* allocatestack.c (allocate_stack): Add comment. Remove assert
	on attr.

2013-01-11  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile (tst-cancel7-ARGS: Replace $(host-built-program-cmd)
	with $(host-test-program-cmd).
	(tst-exec4-ARGS): Likewise.
	(tst-stackguard1-ARGS): Likewise.
	($(objpfx)tst-tls6.out): Don't pass $(elf-objpfx) to tst-tls6.sh.
	Replace $(rtld-installed-name) with $(test-via-rtld-prefix).
	* tst-tls6.sh (elf_objpfx): Removed.
	(rtld_installed_name): Renamed to ...
	(test_via_rtld_prefix): This.
	(tst_tls5): Prepend ${test_via_rtld_prefix}.

2013-01-02  Joseph Myers  <joseph@codesourcery.com>

	* All files with FSF copyright notices: Update copyright dates
	using scripts/update-copyrights.

2013-01-01  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S: Reformat
	copyright notice.

2012-12-28  Andi Kleen  <ak@linux.intel.com>

	* pthread_rwlock_tryrdlock.c (__pthread_rwlock_tryrdlock): Convert
	to prototype.
	* pthread_rwlock_trywrlock.c (__pthread_rwlock_trywrlock):
	Likewise.

2012-12-27  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h
	(lll_futex_timed_wait_bitset): New macro.

2012-12-27  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* sysdeps/unix/sysv/linux/s390/lowlevellock.h (SYS_futex):
	Remove definition.
	(lll_futex_timed_wait): Replace assembly code with
	INTERNAL_SYSCALL.
	(lll_futex_timed_wait_bitset): Likewise.
	(lll_futex_wake): Likewise.
	(lll_futex_requeue): Likewise.
	(lll_futex_wake_unlock): Likewise.

2012-12-08  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* sysdeps/unix/sysv/linux/s390/jmp-unwind.c (_longjmp_unwind):
	Declare LOCAL_VAR as char.

2012-12-04  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/powerpc/sem_post.c (__old_sem_post):
	Cast result of atomic_increment_val to (void) instead of storing
	in otherwise-unused variable.

2012-12-03  Allan McRae  <allan@archlinux.org>

	* Makefile (LDFLAGS-tst-cond24, LDFLAGS-tst-cond25): Remove.

2012-11-26  H.J. Lu  <hongjiu.lu@intel.com>

	* unwind.c (__pthread_unwind): Pass address of unwind_cleanup
	to THREAD_SETMEM.
	* sysdeps/i386/tls.h: Include <libc-internal.h>.
	(THREAD_SETMEM): Use cast_to_integer before casting to uint64_t.
	(THREAD_SETMEM_NC): Likewise.
	* sysdeps/x86_64/tls.h: Include <libc-internal.h>.
	(THREAD_SETMEM): Use cast_to_integer before casting to uint64_t.
	(THREAD_SETMEM_NC): Likewise.

2012-11-21  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/sem_post.c (__old_sem_post): Cast result
	of atomic_increment_val to (void) instead of storing in
	otherwise-unused variable.

	* pthread_cond_timedwait.c (__pthread_cond_timedwait)
	[__NR_clock_gettime]: Cast result of INTERNAL_VSYSCALL to void
	instead of storing in otherwise-unused variable.

2012-11-14  Marcus Shawcroft  <marcus.shawcroft@linaro.org>

	* Makefile (CFLAGS-open.c, CFLAGS-open64.c, CFLAGS-pause.c)
	  (CFLAGS-recv.c, CFLAGS-send.c): Define.

2012-11-06  Chris Metcalf  <cmetcalf@tilera.com>

	* tst-sem14.c (TIMEOUT): Set timeout to 10 seconds.
	* tst-cond24.c (TIMEOUT): Increase from 10 to 20 seconds.

2012-11-05  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* pthread_cond_timedwait.c (__pthread_cond_timedwait): Time out
	if absolute timeout is negative.
	[__ASSUME_FUTEX_CLOCK_REALTIME &&
	lll_futex_timed_wait_bitset]: Use lll_futex_timed_wait_bitset.
	* pthread_rwlock_timedrdlock.c (pthread_rwlock_timedrdlock):
	Likewise.
	* pthread_rwlock_timedwrlock.c (pthread_rwlock_timedwrlock):
	Likewise.
	* sysdeps/unix/sysv/linux/lowlevelrobustlock.c
	(__lll_robust_timedlock_wait): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
	(lll_futex_timed_wait_bitset): New macro.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h
	(lll_futex_timed_wait_bitset): Likewise.

2012-11-03  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h (BUSY_WAIT_NOP):
	Add missing spaces.
	(__cpu_relax): Likewise.

2012-11-02  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/tls.h: Don't include <xmmintrin.h>.
	(__128bits): New struct typedef.
	(tcbhead_t): Replace __m128 with __128bits.

2012-10-30  Aurelien Jarno  <aurelien@aurel32.net>
	    Joseph Myers  <joseph@codesourcery.com>

	* Makefile (tst-cancel7-ARGS): Use exec in --command argument.

2012-10-28  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h (BUSY_WAIT_NOP):
	Define when we have v9 instructions available.
	* sysdeps/unix/sysv/linux/sparc/sparc64/cpu_relax.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/cpu_relax.S: New
	file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/Makefile: New
	file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: Add cpu_relax
	to libpthread-routines.

2012-10-25  Roland McGrath  <roland@hack.frob.com>

	* tst-cond-except.c (TEST_FUNCTION): New macro.

2012-10-25  Joseph Myers  <joseph@codesourcery.com>

	* Makefile ($(objpfx)tst-tls6.out): Use $(BASH) not $(SHELL) to
	run tst-tls6.sh.
	* tst-tls6.sh: Use /bin/bash not /bin/sh.

2012-10-25  Roland McGrath  <roland@hack.frob.com>

	* tst-basic2.c (do_test): Return RESULT, not always zero.

	* tst-cond25.c: Include <stdint.h>
	(waiter): Add casts to uintptr_t between casting integer<->pointer.
	(timed_waiter): Likewise.
	(do_test_wait): Likewise.
	* tst-cond-except.c (thr): Likewise.
	(do_test): Use prototype definition.

2012-10-24  Joseph Myers  <joseph@codesourcery.com>
	    Jim Blandy  <jimb@codesourcery.com>

	* Makefile ($(objpfx)tst-tls6.out): Pass $(test-wrapper-env) to
	tst-tls6.sh.
	* tst-tls6.sh (test_wrapper_env): New variable.  Use it to run
	programs with LD_PRELOAD set.

2012-10-24  Roland McGrath  <roland@hack.frob.com>

	* Makefile ($(objpfx)tst-cond11, $(objpfx)tst-cond19): Targets removed.
	($(objpfx)tst-sem5, $(objpfx)tst-cancel18): Likewise.
	((objpfx)tst-cancelx18, $(objpfx)tst-clock2): Likewise.
	($(objpfx)tst-rwlock14): Likewise.

2012-10-24  Joseph Myers  <joseph@codesourcery.com>

	* Makefile (tests): Remove tst-oddstacklimit.
	(test-srcs): New variable.
	(tst-oddstacklimit-ENV): Remove.
	[$(run-built-tests) = yes] (tests): Depend on
	$(objpfx)tst-oddstacklimit.out.
	[$(run-built-tests) = yes] ($(objpfx)tst-oddstacklimit.out): New
	target.
	* tst-oddstacklimit.c: Do not include "tst-basic1.c".  Use
	setrlimit before executing tst-basic1 test passed to --command.

2012-10-23  Joseph Myers  <joseph@codesourcery.com>

	* Makefile [$(cross-compiling) = no]: Change condition to
	[$(run-built-tests) = yes].

2012-10-23  Jim Blandy  <jimb@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* Makefile (tst-cancel7-ARGS): Use $(host-built-program-cmd).
	(tst-exec4-ARGS): Likewise.
	(tst-stackguard1-ARGS): Likewise.

2012-10-21  Jim Blandy  <jimb@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* Makefile ($(objpfx)tst-cancel-wrappers.out): Pass $(NM) to
	tst-cancel-wrappers.sh.
	* tst-cancel-wrappers.sh: Use nm program given as first argument,
	not hardcoded "nm".

2012-10-17  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* tst-cond25.c (do_test_wait): Don't check for return value from
	pthread_cancel.

2012-10-16  Siddhesh Poyarekar  <siddhesh@redhat.com>

	[BZ #14652]
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__condvar_tw_cleanup):  Adjust the mutex data structure if it
	was locked by FUTEX_WAIT_REQUEUE_PI.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait
	(__condvar_w_cleanup): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
	(__condvar_cleanup2): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
	(__condvar_cleanup1): Likewise.

2012-10-10  Carlos O'Donell  <carlos@systemhalted.org>

	* sysdeps/pthread/pthread.h [!(defined __GNUC__ &&
	defined __EXCEPTIONS) && defined __USE_GNU]
	(pthread_cleanup_push_defer_np): Fix formatting.

2012-10-10  Siddhesh Poyarekar  <siddhesh@redhat.com>

	[BZ #14652]
	* Makefile (tests): New test case tst-cond25.
	(LDFLAGS-tst-cond25): Link tst-cond25 against librt.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__condvar_tw_cleanup): Lock mutex only if we don't already
	own it.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
	(__condvar_w_cleanup): Likewise.
	* sysdeps/unix/sysv/linux/pthread-pi-defines.sym: Add TID_MASK.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
	(__condvar_cleanup2): Lock mutex only if we don't already
	own it.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
	(__condvar_cleanup1): Likewise.
	* tst-cond25.c: New test case.

2012-10-09  Roland McGrath  <roland@hack.frob.com>

	* sysdeps/pthread/configure: Regenerated.
	* sysdeps/x86_64/configure: Regenerated.

2012-10-05  David S. Miller  <davem@davemloft.net>

	[BZ #14568]
	* sysdeps/sparc/tls.h (DB_THREAD_SELF_INCLUDE): Delete.
	(DB_THREAD_SELF): Use constants for the register offsets.  Correct
	the case of a 64-bit debugger with a 32-bit inferior.

2012-10-05  H.J. Lu  <hongjiu.lu@intel.com>

	[BZ #14557]
	* Makefile (tests-static): Add tst-cancel24-static,
	tst-cond8-static tst-mutex8-static, tst-mutexpi8-static,
	tst-sem11-static and tst-sem12-static.
	(tests): Likewise.
	(LDLIBS-tst-cancel24-static): New macro.
	* tst-cancel24-static.cc: New file.
	* tst-cond8-static.c: Likewise.
	* tst-mutex8-static.c: Likewise.
	* tst-mutexpi8-static.c: Likewise.
	* tst-sem11-static.c: Likewise.
	* tst-sem12-static.c: Likewise.

2012-10-05  Siddhesh Poyarekar  <siddhesh@redhat.com>

	[BZ #14417]
	* Makefile (tests): New test case tst-cond24.
	(LDFLAGS-tst-cond24): Link tst-cond24 against librt.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Unlock mutex before going back to
	wait in PI case.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
	(__pthread_cond_wait): Likewise.  Revert handling of EAGAIN
	return from futex_wait.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Unlock mutex before going back to
	wait in PI case.  Set requeue_pi flag only if wait returned 0.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
	(__pthread_cond_wait): Likewise.  Revert handling of EAGAIN
	return from futex_wait.
	* tst-cond24.c: New test case.

2012-10-04  Roland McGrath  <roland@hack.frob.com>

	* pthread_create.c (start_thread): Use __madvise, not madvise.

2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/tls.h: Update copyright years.

2012-10-02  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* pthread_create.c (start_thread): Fix clone flag name in
	comment to CLONE_CHILD_CLEARTID.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.

2012-10-01  Siddhesh Poyarekar  <siddhesh@redhat.com>

	[BZ #14477]
	* Makefile (tests): Add tst-cond-except.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Mark instructions where %ebx is
	incremented in PI case.
	(.gcc_except_table): Add entry to jump to __condvar_tw_cleanup2
	for the marked PI case instructions.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
	(__pthread_cond_wait): Mark instructions where %ebx is
	incremented in PI case.
	(.gcc_except_table): Add entry to jump to __condvar_w_cleanup2
	for the marked PI case instructions.
	* tst-cond-except.c: New test case.

2012-09-24  Dmitry V. Levin  <ldv@altlinux.org>

	* tst-tls6.sh: Add "set -e".
	* Makefile: Do not specify -e option when running testsuite
	shell scripts.

	* tst-tls6.sh: Add copyright header.

2012-09-24  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/tls.h (THREAD_SETMEM): Add "()" when casting
	to uint64_t for 64-bit store.
	(THREAD_SETMEM_NC): Likewise.

2012-09-19  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/tls.h (THREAD_SETMEM): Cast to uint64_t for
	64-bit store.
	(THREAD_SETMEM_NC): Likewise.

2012-09-14  Jeff Law  <law@redhat.com>

	[BZ #14583]
	* sysdeps/pthread/pthread.h: Fix prototype of __sigsetjmp.

2012-09-13  H.J. Lu  <hongjiu.lu@intel.com>

	[BZ #14576]
	* sysdeps/pthread/bits/libc-lockP.h (__rtld_lock_init_recursive):
	Removed.

2012-09-07  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile (LDFLAGS-tst-cancel24): Renamed to ...
	(LDLIBS-tst-cancel24): This.

2012-09-06  H.J. Lu  <hongjiu.lu@intel.com>

	[BZ #14545]
	* Makefile (tests-static): Add tst-cancel21-static.
	(tests): Likewise.
	* tst-cancel21-static.c: New file.

2012-09-01  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/pthread_getcpuclockid.c
	[!__ASSUME_POSIX_CPU_TIMERS]: Remove conditional code.
	[__NR_clock_getres]: Make code unconditional.
	(pthread_getcpuclockid): Remove code left unreachable by removal
	of conditionals.

2012-08-31  Joseph Myers  <joseph@codesourcery.com>

	[BZ #14532]
	* sysdeps/unix/sysv/linux/sem_post.c (__new_sem_post): Use
	atomic_compare_and_exchange_bool_rel.
	* tst-sem14.c: New file.
	* Makefile (tests): Add tst-sem14.

2012-08-15  Roland McGrath  <roland@hack.frob.com>

	* Makefile (CFLAGS-flockfile.c): Use $(libio-mtsafe) instead
	of -D_IO_MTSAFE_IO.
	(CFLAGS-ftrylockfile.c, CFLAGS-funlockfile.c): Likewise.
	* sysdeps/unix/sysv/linux/Makefile (CFLAGS-fork.c): Likewise.

2012-08-16  Joseph Myers  <joseph@codesourcery.com>

	* pthread_cond_timedwait.c (__pthread_cond_timedwait)
	[!__ASSUME_POSIX_TIMERS]: Remove conditional code.
	* pthread_condattr_setclock.c (pthread_condattr_setclock)
	[!__ASSUME_POSIX_TIMERS]: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait) [!__ASSUME_POSIX_TIMERS]: Likewise.
	* sysdeps/unix/sysv/linux/pthread_getcpuclockid.c
	[!__ASSUME_POSIX_TIMERS]: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
	(__pthread_cond_timedwait) [!__ASSUME_POSIX_TIMERS]: Likewise.
	* sysdeps/unix/sysv/linux/timer_create.c [__NR_timer_create]: Make
	code unconditional.
	[!__NR-timer_create]: Remove conditional code.
	(timer_create) [!__ASSUME_POSIX_TIMERS]: Likewise.
	* sysdeps/unix/sysv/linux/timer_delete.c [__NR_timer_delete]: Make
	code unconditional.
	[!__NR_timer_delete]: Remove conditional code.
	(timer_delete) [!__ASSUME_POSIX_TIMERS]: Likewise.
	* sysdeps/unix/sysv/linux/timer_getoverr.c
	[__NR_timer_getoverrun]: Make code unconditional.
	[!__NR_timer_getoverrun]: Remove conditional code.
	(timer_getoverrun) [!__ASSUME_POSIX_TIMERS]: Likewise.
	* sysdeps/unix/sysv/linux/timer_gettime.c [__NR_timer_gettime]:
	Make code unconditional.
	[!__NR_timer_gettime]: Remove conditional code.
	(timer_gettime) [!__ASSUME_POSIX_TIMERS]: Likewise.
	* sysdeps/unix/sysv/linux/timer_routines.c [__NR_timer_create]:
	Make code unconditional.
	[!__ASSUME_POSIX_TIMERS]: Remove conditional code.
	* sysdeps/unix/sysv/linux/timer_settime.c [__NR_timer_settime]:
	Make code unconditional.
	[!__NR_timer_settime]: Remove conditional code.
	(timer_settime) [!__ASSUME_POSIX_TIMERS]: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
	(__pthread_cond_timedwait) [!__ASSUME_POSIX_TIMERS]: Remove
	conditional code.

2012-08-15  Tom de Vries  <vries@codesourcery.com>
	    Maxim Kuvyrkov  <maxim@codesourcery.com>

	* sysdeps/pthread/bits/libc-lockP.h (__libc_lock_lock)
	(__libc_lock_trylock): Allow pre-existing definitions.

2012-08-15  Maxim Kuvyrkov  <maxim@codesourcery.com>

	* pthread_spin_lock.c: New file.
	* pthread_spin_trylock.c: New file.

2012-08-08  Joseph Myers  <joseph@codesourcery.com>

	* allocatestack.c (setxid_signal_thread) [__ASSUME_TGKILL]: Make
	code unconditional.
	(setxid_signal_thread) [!__ASSUME_TGKILL]: Remove conditional code.
	* pthread_cancel.c (pthread_cancel) [__ASSUME_TGKILL]: Make code
	unconditional.
	(pthread_cancel) [!__ASSUME_TGKILL]: Remove conditional code.
	* sysdeps/pthread/createthread.c (do_clone) [__ASSUME_TGKILL]:
	Make code unconditional.
	(do_clone) [!__ASSUME_TGKILL]: Remove conditional code.
	* sysdeps/unix/sysv/linux/pt-raise.c (raise) [__ASSUME_TGKILL ||
	__NR_tgkill]: Make code unconditional.
	(raise) [__ASSUME_TGKILL]: Likewise.
	(raise) [!__ASSUME_TGKILL]: Remove conditional code.
	* sysdeps/unix/sysv/linux/pthread_kill.c (__pthread_kill)
	[__ASSUME_TGKILL]: Make code unconditional.
	(__pthread_kill) [!__ASSUME_TGKILL]: Remove conditional code.
	* sysdeps/unix/sysv/linux/raise.c (raise) [__ASSUME_TGKILL ||
	__NR_tgkill]: Make code unconditional.
	(raise) [__ASSUME_TGKILL]: Likewise.
	(raise) [!__ASSUME_TGKILL]: Remove conditional code.

2012-08-07  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/pthread/createthread.c (create_thread)
	[!__ASSUME_NO_CLONE_DETACHED]: Remove conditional code.

2012-08-03  Joseph Myers  <joseph@codesourcery.com>

	* nptl-init.c (sigcancel_handler) [__ASSUME_CORRECT_SI_PID]: Make
	code unconditional.
	(sighandler_setxid) [__ASSUME_CORRECT_SI_PID]: Likewise.

2012-07-28  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* tst-pthread-getattr.c (MAX_STACK_SIZE): New macro.
	(pagesize): New static variable.
	(allocate_and_test): Return MEM.  Rename parameter to TARGET.
	(check_stack_top): New local variables MEM and PAGEMASK.  Cap
	stack size to MAX_STACK_SIZE.  Call allocate_and_test for
	halfway up the stack top page.  Verify that the top page was
	written into.
	(do_test): Get pagesize using sysconf.

2012-07-25  Andreas Schwab  <schwab@linux-m68k.org>

	* sysdeps/unix/sysv/linux/i386/pt-vfork.S: Remove pseudo_end
	label.
	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (PSEUDO): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (PSEUDO):
	Likewise.

2012-07-25  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* tst-pthread-getattr.c: Revert last change.

2012-07-20  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* tst-pthread-getattr.c (MAX_STACK_SIZE): New max cap for stack
	size.
	(_MIN): New macro.
	(allocate_and_test): Return STACKADDR.  Access STACKADDR instead
	of MEM to test.
	(check_stack_top): Read valued written into STACKADDR in
	allocate_and_test.  Cap stack size to MAX_STACK_SIZE.

2012-07-19  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* nptl-init.c (sighandler_setxid): Fix the comment that
	describes it.

2012-06-23  Thomas Schwinge  <thomas@codesourcery.com>

	* sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S
	(__lll_robust_timedlock_wait): Simplify CFI directives.

2012-06-20  Siddhesh Poyarekar  <siddhesh@redhat.com>

	[BZ #12416]
	* Makefile (tests): Add test case.
	* pthread_getattr_np.c (pthread_getattr_np): Deduct pages below
	the __libc_stack_end page from stacksize.  Truncate stacksize to
	make it page aligned when it is computed from RLIMIT_STACK.
	* tst-pthread-getattr.c: New test case. Verify that stackaddr is
	accessible.

2012-06-07  Carlos Sánchez de La Lama  <csanchezdll@gmail.com>

	[BZ #14205]
	* sysdeps/sparc/sparc32/pthread_spin_lock.S: Do not use v9
	branches.

2012-06-04  Siddhesh Poyarekar  <siddhesh@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	[BZ #14188]
	* sysdeps/pthread/pthread.h
	[!(defined __GNUC__ && defined __EXCEPTIONS)]
	(pthread_cleanup_push, pthread_cleanup_push_defer_np): Use
	__libc_unlikely instead of __builtin_expect.

2012-05-30  H.J. Lu  <hongjiu.lu@intel.com>

	[BZ #14117]
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Removed.
	* sysdeps/unix/sysv/linux/i386/bits/semaphore.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/Implies: New file.
	* sysdeps/unix/sysv/linux/x86_64/Implies: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Renamed
	to ...
	* sysdeps/unix/sysv/linux/x86/bits/pthreadtypes.h: This.
	* sysdeps/unix/sysv/linux/x86_64/bits/semaphore.h: Renamed
	to ...
	* sysdeps/unix/sysv/linux/x86/bits/semaphore.h: This.

2012-05-30  Andreas Schwab  <schwab@linux-m68k.org>

	[BZ #14132]
	* nptl-init.c (pthread_functions): Remove use of INTUSE and
	_internal aliases.
	(__pthread_initialize_minimal_internal): Likewise.
	* sem_open.c: Likewise.
	* sem_unlink.c: Likewise.
	* pthreadP.h: Replace _internal aliases by hidden_proto
	declarations.
	* pthread_getspecific.c: Replace _internal alias by hidden_def.
	* pthread_key_create.c: Likewise.
	* pthread_mutex_destroy.c: Likewise.
	* pthread_mutex_init.c: Likewise.
	* pthread_mutex_lock.c: Likewise.
	* pthread_mutex_unlock.c: Likewise.
	* pthread_once.c: Likewise.
	* pthread_rwlock_rdlock.c: Likewise.
	* pthread_rwlock_unlock.c: Likewise.
	* pthread_rwlock_wrlock.c: Likewise.
	* pthread_setspecific.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/pthread_once.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/pthread_once.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/pthread_once.c: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_once.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/pthread_once.c: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S:
	Likewise.

2012-05-27  Chung-Lin Tang  <cltang@codesourcery.com>

	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (PSEUDO, LOAD_ARGS_1)
	(LOAD_ARGS_2 ,LOAD_ARGS_3 ,LOAD_ARGS_4): Add CFI restores.

	* sysdeps/unix/sysv/linux/sh/lowlevellock.S (__lll_lock_wait_private)
	(__lll_lock_wait, __lll_timedlock_wait, __lll_timedwait_tid): Add CFI
	directives.
	* sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S
	(__lll_robust_lock_wait, __lll_robust_timedlock_wait): Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S
	(pthread_barrier_wait): Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S
	(__pthread_cond_broadcast): Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S
	(__pthread_cond_signal): Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S (__pthread_cond_wait):
	Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S
	(__pthread_rwlock_rdlock): Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S
	(pthread_rwlock_timedrdlock): Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S
	(pthread_rwlock_timedwrlock): Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S
	(__pthread_rwlock_unlock): Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S
	(__pthread_rwlock_wrlock): Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_post.S (__new_sem_post): Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_timedwait.S (sem_timedwait): Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_trywait.S (__new_sem_trywait):
	Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_wait.S (__new_sem_wait): Likewise.

2012-05-26  Siddhesh Poyarekar  <siddhesh@redhat.com>

	[BZ #12416]
	* nptl/pthread_getattr_np.c (pthread_getattr_np): Use
	__libc_stack_end rounded to the end of containing page as the
	real stack end.

2012-05-25  Rayson Ho  <rho@redhat.com>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Low-level SystemTap
	probes for i386.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.

2012-05-25  Rayson Ho  <rho@redhat.com>
	    Roland McGrath  <roland@hack.frob.com>

	* DESIGN-systemtap-probes.txt: New file.
	* pthread_cond_broadcast.c: SystemTap probes.
	* pthread_cond_init.c: Likewise.
	* pthread_cond_signal.c: Likewise.
	* pthread_cond_wait.c: Likewise.
	* pthread_cond_destroy.c: Likewise.
	* pthread_create.c: Likewise.
	* pthread_join.c: Likewise.
	* pthread_mutex_destroy.c: Likewise.
	* pthread_mutex_init.c: Likewise.
	* pthread_mutex_lock.c: Likewise.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_unlock.c: Likewise.
	* pthread_rwlock_destroy.c: Likewise.
	* pthread_rwlock_rdlock.c: Likewise.
	* pthread_rwlock_unlock.c: Likewise.
	* pthread_rwlock_wrlock.c: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.

2012-05-24  Roland McGrath  <roland@hack.frob.com>

	* pthread_create.c (start_thread): Define pthread_start LIBC_PROBE.

2012-05-17  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
	(HAVE_DL_DISCOVER_OSVERSION): Don't declare _dl_discover_osversion
	only for older kernels.

2012-05-15  Joseph Myers  <joseph@codesourcery.com>

	* pthreadP.h [!__NR_set_robust_list] (__NR_set_robust_list): Do
	not define.

2012-05-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_lock): Load
	futex pointer into RDI_LP.  Use RSP_LP to operate on stack.
	(lll_robust_lock): Likewise.
	(lll_cond_lock): Likewise.
	(lll_robust_cond_lock): Likewise.
	(lll_timedlock): Likewise.
	(lll_robust_timedlock): Likewise.
	(lll_unlock): Likewise.
	(lll_robust_unlock): Likewise.

2012-05-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Use
	LP_OP(cmp) and RCX_LP on dep_mutex pointer.

2012-05-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Use LP_OP(op)
	on NWAITERS.
	(__gcc_personality_v0): Replace 8-byte data alignment with
	LP_SIZE alignment and .quad with ASM_ADDR.

2012-05-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Use LP_OP(op)
	on NWAITERS.
	(__gcc_personality_v0): Replace 8-byte data alignment with
	LP_SIZE alignment and .quad with ASM_ADDR.

2012-05-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Use LP_OP(cmp) on
	NWAITERS, which is unsigned long int.

2012-05-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S
	(__gcc_personality_v0): Replace 8-byte data alignment with
	LP_SIZE alignment and .quad with ASM_ADDR.

2012-05-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Use
	LP_OP(cmp), RSI_LP and R8_LP on dep_mutex pointer.  Load
	__vdso_clock_gettime pointer into RAX_LP.
	(__gcc_personality_v0): Replace 8-byte data alignment with
	LP_SIZE alignment and .quad with ASM_ADDR.

2012-05-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Use
	LP_OP(cmp), RSI_LP and R8_LP on dep_mutex pointer.  Load
	__vdso_clock_gettime pointer into RAX_LP.
	(__gcc_personality_v0): Replace 8-byte data alignment with
	LP_SIZE alignment and .quad with ASM_ADDR.

2012-05-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Use
	LP_OP(cmp) and R8_LP on dep_mutex pointer.

2012-05-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/x86_64/cancellation.S: Use LP_OP(mov)
	to update pointer in memory.  Load pointer into RDI_LP.

2012-05-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
	(LLL_STUB_UNWIND_INFO_START): Align label to LP_SIZE instead
	of 8.
	(LLL_STUB_UNWIND_INFO_END): Likewise.
	(lll_timedlock): Load timeout pointer into RDX_LP.
	(lll_robust_timedlock): Likewise.

2012-05-15  Siddhesh Poyarekar  <siddhesh@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	[BZ #13613]
	* Makefile (tests): Add test cases.
	* descr.h (struct pthread): Add a comment describing multiple_threads.
	* pthreadP.h (__pthread_multiple_threads): Expand comment to include
	single-process case.
	* pthread_cancel.c (pthread_cancel): Enable multiple_threads
	before setting cancelstate of the thread.
	* sysdeps/unix/sysv/linux/libc_multiple_threads.c
	(__libc_multiple_threads): Add explanatory comment.
	* tst-cancel-self-cancelstate.c: New test case.
	* tst-cancel-self-canceltype.c: Likewise.
	* tst-cancel-self-cleanup.c: Supporting file for test cases.
	* tst-cancel-self-testcancel.c: New test case.
	* tst-cancel-self.c: Likewise.
	* vars.c: Expand comment to include single-process case.

2012-05-14  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/tls.h: Don't include <bits/wordsize.h>.
	(tcbhead_t): Remove __x86_64__ check.  Align rtld_savespace_sse
	to 32 bytes.

2012-05-14  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/pthread/pthread.h (__PTHREAD_RWLOCK_INT_FLAGS_SHARED):
	New.
	(PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP): Check
	__PTHREAD_RWLOCK_INT_FLAGS_SHARED instead of __WORDSIZE.

2012-05-14  H.J. Lu  <hongjiu.lu@intel.com>

	* shlib-versions: Move x86_64-.*-linux.* entry to ...
	* sysdeps/x86_64/64/shlib-versions: Here.  New file.
	* sysdeps/x86_64/x32/shlib-versions: New file.

2012-05-14  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Define x32
	__SIZEOF_PTHREAD_XXX_T.
	(__pthread_internal_list): Check __x86_64__ instead of __WORDSIZE.
	(pthread_mutex_t): Likewise.
	(pthread_rwlock_t): Likewise.
	(__PTHREAD_RWLOCK_INT_FLAGS_SHARED): New.  Defined if __x86_64__
	is defined.

2012-05-11  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/x32/tls.h: New file.

2012-05-11  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/tls.h (THREAD_SETMEM): Use uint64_t on 64-bit
	integer.
	(THREAD_SETMEM_NC): Likewise.

2012-05-11  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/tls.h (THREAD_SELF): Replace movq/%q0 with
	mov/%0.

2012-05-11  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
	(__cleanup_fct_attribute): Check __x86_64__ instead of
	__WORDSIZE.

2012-05-11  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/pthread/pthread.h (PTHREAD_MUTEX_INITIALIZER): Check
	__PTHREAD_MUTEX_HAVE_PREV instead of __WORDSIZE.
	(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP): Likewise.
	(PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP): Likewise.
	(PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP): Likewise.

2012-05-11  H.J. Lu  <hongjiu.lu@intel.com>

	* pthread_create.c (start_thread): Check __PTHREAD_MUTEX_HAVE_PREV
	instead of __WORDSIZE.

2012-05-10  Thomas Schwinge  <thomas@schwinge.name>

	[BZ #3748]
	* sysdeps/pthread/bits/libc-lockP.h (__libc_once_get): New macro.

2012-05-09  Chung-Lin Tang  <cltang@codesourcery.com>

	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Use CFI directives.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
	(__pthread_cond_wait): Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_timedwait.S (sem_timedwait): Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_wait.S (__new_sem_wait): Likewise.

2012-05-03  David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/sparc64/pthread_spin_unlock.S: Fix thinko, we
	always have to return 0, especially for the pthread_spin_init
	alias.
	* sysdeps/sparc/sparc32/pthread_spin_lock.S: Add missing trailing
	newline.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.S: Likewise.
	* sysdeps/sparc/sparc64/pthread_spin_lock.S: Likewise.

2012-05-02  David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/sparc64/pthread_spin_lock.S: New.
	* sysdeps/sparc/sparc64/pthread_spin_lock.c: Delete.
	* sysdeps/sparc/sparc64/pthread_spin_unlock.S: New.
	* sysdeps/sparc/sparc64/pthread_spin_unlock.c: Delete.
	* sysdeps/sparc/sparc64/pthread_spin_trylock.S: New.
	* sysdeps/sparc/sparc64/pthread_spin_trylock.c: Delete.
	* sysdeps/sparc/sparc64/pthread_spin_init.c: New.
	* sysdeps/sparc/sparc32/pthread_spin_lock.S: New.
	* sysdeps/sparc/sparc32/pthread_spin_lock.c: Delete.
	* sysdeps/sparc/sparc32/pthread_spin_trylock.S: New.
	* sysdeps/sparc/sparc32/pthread_spin_trylock.c: Delete.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.S: New.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.c: Delete.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_trylock.S: New.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_trylock.c: Delete.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_unlock.S: New.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_unlock.c: Delete.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_init.c: New.

2012-05-02  Allan McRae  <allan@archlinux.org>

	* Makefile: (LDFLAGS-tst-tls5): Use $(no-as-needed).
	(LDFLAGS-tst-cancel24): Likewise.

2012-05-02  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* sysdeps/i386/pthread_spin_lock.S: New.
	* sysdeps/i386/pthread_spin_lock.c: Delete.
	* sysdeps/x86_64/pthread_spin_lock.S: New.
	* sysdeps/x86_64/pthread_spin_lock.c: Delete.

2012-04-28  Andreas Schwab  <schwab@linux-m68k.org>

	* Makefile ($(objpfx)tst-stack3-mem, $(objpfx)tst-tls6.out): Don't
	run when cross-compiling.

2012-04-26  Siddhesh Poyarekar  <siddhesh@redhat.com>

	* sysdeps/pthread/unwind-forcedunwind.c: Include gnu/lib-names.h
	instead of libgcc_s.h.

2012-04-20  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* sysdeps/x86_64/tls.h (TLS_GET_FS, TLS_SET_FS): Delete.

2012-03-27  David S. Miller  <davem@davemloft.net>

	* tst-cond16.c (do_test): Use a thread stack size which is either
	PTHREAD_STACK_MIN or the page size, whichever is larger.
	* tst-cond18.c (do_test): Likewise.

2012-03-19  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/pthreaddef.h (CURRENT_STACK_FRAME): Use
	register char * __asm__("rsp") to get stack frame.

2012-03-19  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (SYS_futex): Use
	__NR_futex directly.

2012-03-19  H.J. Lu  <hongjiu.lu@intel.com>

	* unwind.c (unwind_stop): Cast _Unwind_GetCFA return to
	_Unwind_Ptr first.

2012-03-16  David S. Miller  <davem@davemloft.net>

	[BZ #13844]
	* sysdeps/unix/sysv/linux/libc-lowlevellock.c: Include using <..>
	instead of "...".
	* sysdeps/unix/sysv/linux/sparc/sparc32/libc-lowlevellock.c:
	Delete, not needed.

2012-03-15  David S. Miller  <davem@davemloft.net>

	[BZ #13844]
	* sysdeps/unix/sysv/linux/sparc/sparc32/libc-lowlevellock.c: New file.

2012-03-09  Paul Eggert  <eggert@cs.ucla.edu>

	[BZ #13673]
	* pt-crti.S: Replace FSF snail mail address with URL.

2012-03-09  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/pthread/pthread.h (__need_clockid_t, __need_timespec):
	Do not define before including <time.h>.

2012-03-08  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/sem_post.c: Update copyright year.

2012-03-08  Thomas Schwinge  <thomas@codesourcery.com>

	* sysdeps/unix/sysv/linux/sh/lowlevellock.S (__lll_timedlock_wait):
	Check for timestamp before the Epoch.

	* sysdeps/unix/sysv/linux/sh/sem_timedwait.S (sem_timedwait): Fix
	updating nwaiters.

	* tst-sem13.c (do_test): Add another test case.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait):
	Fix updating nwaiters.

2012-03-07  Joseph Myers  <joseph@codesourcery.com>

	[BZ #10545]
	* sysdeps/pthread/configure.in (libc_cv_forced_unwind): Change
	link test to a compile test.
	(libc_cv_c_cleanup): Likewise.  Declare puts rather than including
	<stdio.h>.
	* sysdeps/pthread/configure: Regenerated.

2012-03-07  Ulrich Drepper  <drepper@gmail.com>

	* Makefile (distribute): Remove variable.

2012-01-23  Thomas Schwinge  <thomas@codesourcery.com>

	* sysdeps/unix/sysv/linux/sem_timedwait.c (sem_timedwait): Get rid of
	superfluous assignment.
	* sysdeps/unix/sysv/linux/sparc/sem_timedwait.c (sem_timedwait):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_timedwait.c
	(sem_timedwait): Likewise.

2012-03-06  Ulrich Drepper  <drepper@gmail.com>

	* sysdeps/pthread/bits/libc-lock.h: Move information not needed in
	installed headers to...
	* sysdeps/pthread/bits/libc-lockP.h: ...here.  New file.

2012-03-06  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/sem_post.c (__new_sem_post): Use
	atomic_increment and remove unused local variable.
	(__old_sem_post): Likewise.

2012-02-27  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Don't refer to
	non-existing __pthread_attr.
	* 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/sparc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.

2012-02-26  Ulrich Drepper  <drepper@gmail.com>

	* sysdeps/pthread/pthread.h: Define __need_clockid_t for __USE_XOPEN2K.

	* sysdeps/pthread/pthread.h: Define __need_timespec before including
	<time.h>.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Name pthread_attr_t
	union.
	* 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/sparc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.

2012-02-21  Joseph Myers  <joseph@codesourcery.com>

	[BZ #13695]
	* Makefile (generated): Remove crti.S, crtn.S, defs.h and
	pt-initfini.s.
	[crti.S not in sysdirs] (omit-deps): Do not append.
	[crti.S not in sysdirs] (CFLAGS-pt-initfini.s): Remove variable.
	[crti.S not in sysdirs] (pt-initfini.c): Remove vpath directive.
	[crti.S not in sysdirs] ($(objpfx)crti.S): Remove rule.
	[crti.S not in sysdirs] ($(objpfx)crtn.S): Likewise.
	[crti.S not in sysdirs] ($(objpfx)defs.h): Likewise.
	[crti.S not in sysdirs] ($(objpfx)crti.o): Likewise.
	[crti.S not in sysdirs] ($(objpfx)crtn.o): Likewise.
	[crti.S in sysdirs] (extra-objs): Append unconditionally.
	[crti.S in sysdirs] ($(objpfx)crti.o): Define rule
	unconditionally.
	* sysdeps/pthread/pt-initfini.c: Remove file.

2012-02-16  Richard Henderson  <rth@twiddle.net>

	* sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c: Remove file.
	* sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c: Remove file.

2012-02-15  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/pt-initfini.c: Remove file.

2012-02-16  David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/Makefile: Add -fPIC when building pt-crti.S and crtn.S

2012-02-15  Marek Polacek  <polacek@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/Makefile: Remove file.

2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	Replace FSF snail mail address with URLs, as per GNU coding standards.

2012-02-08  Andreas Schwab  <schwab@linux-m68k.org>

	* Makefile (extra-objs) [crti.S in sysdirs]: Add pt-crti.o.

2012-02-08  Joseph Myers  <joseph@codesourcery.com>

	Support crti.S and crtn.S provided directly by architectures.
	* Makefile [crti.S in sysdirs] (omit-deps): Do not append.
	[crti.S in sysdirs] (CFLAGS-pt-initfini.s): Do not define variable.
	[crti.S in sysdirs] ($(objpfx)pt-initfini.s): Disable rule.
	[crti.S in sysdirs] ($(objpfx)crti.S): Likewise.
	[crti.S in sysdirs] ($(objpfx)crtn.S): Likewise.
	[crti.S in sysdirs] ($(objpfx)defs.h): Likewise.
	[crti.S in sysdirs] ($(objpfx)crti.o): Likewise.
	[crti.S in sysdirs] ($(objpfx)crtn.o): Likewise.
	[crti.S in sysdirs] (pt-initfini.c): Remove vpath directive.
	[crti.S in sysdirs] ($(objpfx)crti.o): New rule.
	* pt-crti.S: New file.
	* sysdeps/unix/sysv/linux/i386/Makefile: Remove file.

2012-02-03  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Use
	macros for PIC register setup.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/pthread_once.S: Likewise.

2012-01-11  Marek Polacek  <polacek@redhat.com>

	* forward.c (FORWARD_NORETURN): Define macro.
	(__pthread_unwind): Use FORWARD_NORETURN macro to avoid warning.
	(__pthread_exit): Likewise.

2012-01-10  Ulrich Drepper  <drepper@gmail.com>

	* sysdeps/pthread/pthread.h: Add const attribute to pthread_equal.

	* pthreadP.h: Add noreturn to __pthread_exit.
	* sysdeps/pthread/pthread-functions.h: Likewise for ptr___pthread_exit.

2011-12-30  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>

	* sysdeps/unix/sysv/linux/aio_misc.h (__aio_create_helper_thread):
	Call pthread_attr_setstacksize() with result of
	__pthread_get_minstack() to account for application TLS usage.

2012-01-08  Marek Polacek  <polacek@redhat.com>

	* sysdeps/unix/sysv/linux/mq_notify.c: Include <nptl/pthreadP.h>.

2012-01-07  Ulrich Drepper  <drepper@gmail.com>

	[BZ #13553]
	* pthreadP.h: Use const instead of __const.
	* semaphore.h: Likewise.
	* sysdeps/pthread/bits/libc-lock.h: Likewise.
	* sysdeps/pthread/bits/sigthread.h: Likewise.
	* sysdeps/pthread/pthread.h: Likewise.

	* Makefile: Remove elf=yes test, only ELF is supported.

	* shlib-versions: Remove entries for ports architectures.

	In case anyone cares, the IA-64 architecture could move to ports.
	* sysdeps/ia64/*: Removed.
	* sysdeps/unix/sysv/linux/ia64/*: Removed.

2011-12-22  Ulrich Drepper  <drepper@gmail.com>

	* sysdeps/pthread/gai_misc.h (__gai_create_helper_thread): Use
	__pthread_get_minstack.
	* sysdeps/unix/sysv/linux/mq_notify.c (init_mq_netlink): Likewise.

	[BZ #13088]
	* sysdeps/unix/sysv/linux/timer_routines.c: Get minimum stack size
	through __pthread_get_minstack.
	* nptl-init.c (__pthread_initialize_minimal_internal): Get page size
	directly from _rtld_global_ro.
	(__pthread_get_minstack): New function.
	* pthreadP.h: Declare __pthread_get_minstack.
	* Versions (libpthread) [GLIBC_PRIVATE]: Add __pthread_get_minstack.

2011-12-21  Ulrich Drepper  <drepper@gmail.com>

	[BZ #13515]
	* sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np):
	Correct reading name from file.

2011-12-14  Carlos O'Donell  <carlos@systemhalted.org>

	* allocatestack.c (allocate_stack): Return errno on failure.

2011-12-14  Jeff Law  <law@redhat.com>

	[BZ #5245]
	* pthread_create.c (__pthread_create_2_1): Translate ENOMEM to EAGAIN.

2011-11-28  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Handle
	EAGAIN from FUTEX_WAIT_REQUEUE_PI.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.

2011-11-15  Ulrich Drepper  <drepper@gmail.com>

	* pthread_getattr_np.c (pthread_getattr_np): Set FD_CLOEXEC for
	/proc/self/maps.

2011-10-29  Ulrich Drepper  <drepper@gmail.com>

	[BZ #13358]
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Initialize %r15 correctly also for code
	path for kernels with FUTEX_CLOCK_REALTIME.
	Debugged by H.J. Lu <hjl.tools@gmail.com>.

2011-10-27  Andreas Schwab  <schwab@redhat.com>

	[BZ #13344]
	* sysdeps/pthread/pthread.h: Use __THREADNL instead of __THREAD
	for memory synchronization functions.
	* semaphore.h: Likewise.

2011-10-24  Ulrich Drepper  <drepper@gmail.com>

	* tst-cancel7.c: Avoid warning.
	* tst-mutex6.c: Likewise.
	* tst-mutex9.c: Likewise.
	* tst-mutexpi6.c: Likewise.

2011-10-23  Ulrich Drepper  <drepper@gmail.com>

	* sysdeps/i386/tls.h: Remove #include <list.h>.

2011-10-15  Ulrich Drepper  <drepper@gmail.com>

	* pthread_create.c (start_thread): Call __ctype_init.

2011-09-15  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/pthread/list.h: Define only list_t if __need_list_t is
	defined.
	(list_add): Add atomic_write_barrier.
	* descr.h: Define __need_list_t before including <list.h>.
	* nptl-init.c: Include <list.h>
	* allocatestack.c: Likewise.

2011-09-11  Ulrich Drepper  <drepper@gmail.com>

	* sysdeps/i386/tls.h: Remove HAVE_TLS_SUPPORT test.
	* 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.

2011-09-10  Ulrich Drepper  <drepper@gmail.com>

	* sysdeps/pthread/malloc-machine.h: Define MUTEX_INITIALIZER.

	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Don't handle
	!USE___THREAD.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.

	* tst-tls1.c: Support for __thread is now mandatory.
	* tst-tls2.c: Likewise.
	* tst-tls3.c: Likewise.
	* tst-tls3mod.c: Likewise.
	* tst-tls4.c: Likewise.
	* tst-tls4moda.c: Likewise.
	* tst-tls4modb.c: Likewise.
	* tst-tls5.h: Likewise.

2011-09-08  Ulrich Drepper  <drepper@gmail.com>

	[BZ #12403]
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
	(pthread_rwlock_timedwrlock): Use correct macro in test.
	Patch by H.J. Lu <hongjiu.lu@intel.com>.

2011-09-06  Ulrich Drepper  <drepper@gmail.com>

	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait): Don't
	use gettimeofday vsyscall, just call gettimeofday.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	Simplify __vdso_clock_gettime use.

2011-09-05  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/sem_timedwait.c (do_futex_timed_wait):
	New function.
	(sem_timedwait): Call it to force an exception region around
	the async cancel enable and the futex operation.
	* sysdeps/unix/sysv/linux/sparc/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/sem_wait.c (do_futex_wait): New function.
	(__new_sem_wait): Call it to force an exception region around
	the async cancel enable and the futex operation.
	* sysdeps/unix/sysv/linux/sparc/sem_wait.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c: Likewise.

2011-08-31  Andreas Schwab  <schwab@redhat.com>

	* allocatestack.c (setxid_mark_thread): Ensure that the exiting
	thread is woken up.

2011-08-20  David S. Miller  <davem@davemloft.net>

	* Makefile (tst-cleanup0.out): Fix typo in output redirection.

2011-08-14  Roland McGrath  <roland@hack.frob.com>

	* sysdeps/i386/pthreaddef.h (TCB_ALIGNMENT): Set to 64, optimal on Atom.
	* sysdeps/x86_64/pthreaddef.h (TCB_ALIGNMENT): Likewise.

2011-08-08  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/cancellation.S: Maintain aligned
	stack.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.

2011-07-22  Ulrich Drepper  <drepper@gmail.com>

	* sysdeps/pthread/unwind-forcedunwind.c (_Unwind_Resume): Add read
	barrier.
	(__gcc_personality_v0): Likewise.
	(_Unwind_ForcedUnwind): Likewise.
	(_Unwind_GetCFA): Likewise.

2011-07-14  Roland McGrath  <roland@hack.frob.com>

	* allocatestack.c (__reclaim_stacks): Use uintptr_t cast rather than
	UINTMAX_C.

2011-06-30  Ulrich Drepper  <drepper@gmail.com>

	* nptl-init.c (__nptl_set_robust): New function.
	(pthread_functions): Add reference.
	* npthreadP.h: Declare __nptl_set_robust.
	* sysdeps/pthread/pthread-functions.h (pthread_functions): Add
	ptr_set_robust member.
	* sysdeps/unix/sysv/linux/fork.c: Call set_robust_list syscall in
	child if threads are used.

2011-06-14  Andreas Jaeger  <aj@suse.de>

	* pthread_rwlock_init.c: Include <string.h> for memset declaration.

2011-05-11  Ulrich Drepper  <drepper@gmail.com>

	[BZ #386]
	* allocatestack.c (allocate_stack): Convert ENOMEM error to EAGAIN.

2011-04-10  Ulrich Drepper  <drepper@gmail.com>

	[BZ #12650]
	* allocatestack.c (get_cached_stack): Deallocate DTV entries before
	clearing memory.
	Patch partly by Robert Rex <robert.rex@exasol.com>.

2011-01-19  Roland McGrath  <roland@redhat.com>

	* pthread_cond_wait.c (__pthread_cond_wait): Fix comment typo.
	* pthread_cond_timedwait.c (__pthread_cond_timedwait): Likewise.
	* pthread_rwlock_rdlock.c (__pthread_rwlock_rdlock): Likewise.
	* pthread_rwlock_wrlock.c (__pthread_rwlock_wrlock): Likewise.
	* pthread_rwlock_timedrdlock.c (pthread_rwlock_timedrdlock): Likewise.
	* pthread_rwlock_timedwrlock.c (pthread_rwlock_timedwrlock): Likewise.

2011-01-16  Andreas Schwab  <schwab@linux-m68k.org>

	* Makefile (test-extras): Add tst-cleanup4aux.

2011-01-14  Ulrich Drepper  <drepper@gmail.com>

	[BZ #10563]
	* sysdeps/pthread/setxid.h (__SETXID_1): Add cast to assignment.
	(__SETXID_2): Likewise.
	(__SETXID_3): Likewise.

2011-01-13  Ulrich Drepper  <drepper@gmail.com>

	[BZ #10484]
	* Versions [libc] (GLIBC_PRIVATE): Export __libc_alloca_cutoff.
	* alloca_cutoff.c: Add libc_hidden_def.

2010-10-13  H.J. Lu  <hongjiu.lu@intel.com>

	[BZ #12113]
	* sysdeps/x86_64/pthreaddef.h (TCB_ALIGNMENT): Changed to 32.
	* sysdeps/x86_64/tls.h (TLS_TCB_ALIGN): Defined with alignment
	of "struct pthread".

2010-09-21  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/pthread/pthread.h (pthread_cleanup_push)
	[!__EXCEPTIONS]: Mangle local variable not_first_call.
	(pthread_cleanup_push_defer_np): Likewise.

2010-09-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/allocalim.h (__libc_use_alloca): Expect blocks are
	small.

2010-08-10  Dinakar Guniguntala  <dino@in.ibm.com>
	    Stefan Hajnoczi  <stefanha@linux.vnet.ibm.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: If
	FUTEX_WAKE_OP fails make sure to call FUTEX_WAKE instead.

2010-08-12  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/i386/Makefile: New file.

2010-05-01  Alan Modra  <amodra@gmail.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
	(PSEUDO): Use correct cr save.  Don't use wrong parm save area
	to save temps.  Correct cfi for possible later frame manipulation.
	(DOCARGS_1, UNDOCARGS_1): Use the correct parm save area.
	(DOCARGS_2, UNDOCARGS_2, DOCARGS_3, UNDOCARGS_3): Likewise.
	(DOCARGS_4, UNDOCARGS_4, DOCARGS_5, UNDOCARGS_5): Likewise.
	(DOCARGS_6, UNDOCARGS_6): Likewise.
	(CENABLE, CDISABLE): Add nops for non-shared calls.

2010-07-06  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np):
	Fix type mismatch.

2010-07-03  Ulrich Drepper  <drepper@redhat.com>

	* tst-abstime.c (do_test): Some more cleanups

2010-07-02  Ulrich Drepper  <drepper@redhat.com>

	* tst-abstime.c: Correct testing and add test for sem_timedwait.

2010-07-01  Andreas Schwab  <schwab@redhat.com>
	    Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-abstime.
	* tst-abstime.c: New file.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(__lll_timedlock_wait): Check for timestamp before the Epoch.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
	(__lll_timedlock_wait): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
	(__lll_robust_timedlock_wait): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
	(pthread_rwlock_timedrdlock): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
	(pthread_rwlock_timedwrlock): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
	Likewise.

2010-07-01  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tst-_res1): Add tst-_res1mod1 to dependency list.

2010-06-01  Takashi Yoshii  <takashi.yoshii.zj@renesas.com>

	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Fix incorrect
	location of ifndef __ASSUME_FUTEX_CLOCK_REALTIME.

2010-04-09  Ulrich Drepper  <drepper@redhat.com>

	[BZ #11390]
	* sysdeps/unix/sysv/linux/pthread_getname.c: New file.
	* sysdeps/unix/sysv/linux/pthread_setname.c: New file.
	* nptl/sysdeps/pthread/pthread.h: Declare pthread_getname and
	pthread_setname.
	* Makefile (libpthread-routines): Add pthread_getname and
	pthread_setname.
	* Versions: Export pthread_getname and pthread_setname for GLIBC_2.12.

2010-04-05  Thomas Schwinge  <thomas@schwinge.name>

	* sysdeps/pthread/unwind-resume.c: Moved to main tree sysdeps/gnu/.
	* sysdeps/pthread/rt-unwind-resume.c: Likewise.
	* sysdeps/pthread/Makefile: Remove csu section and rt section's
	unwind-resume bits, now in main tree sysdeps/gnu/Makefile instead.

2010-03-23  Luis Machado  <luisgpm@br.ibm.com>

	* pthread_cond_timedwait.c: Add check for
	HAVE_CLOCK_GETTIME_VSYSCALL to use VDSO whenever possible.
	(pthread_cond_timedwait): Use INTERNAL_VSYSCALL instead of
	INTERNAL_SYSCALL.

2010-03-09  Ulrich Drepper  <drepper@redhat.com>

	* pthread_create.c (__pthread_create_2_1): If priorities are incorrect
	and the call fails wake eventually waiting setxid threads.  Don't free
	stack here if we try starting a thread.
	* sysdeps/pthread/createthread.c (do_clone): Only wake setxid waiter
	if the clone call failed.

2010-03-08  Andreas Schwab  <schwab@redhat.com>

	* pthread_create.c (__pthread_create_2_1): Don't set setxid_futex.
	* allocatestack.c (get_cached_stack): Set setxid_futex.
	(allocate_stack): Likewise.

2010-03-05  Andreas Schwab  <schwab@redhat.com>
	    Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (setxid_mark_thread): Delay handling of thread if
	it is creating a thread or it is just being created.
	* pthread_create.c (start_thread): Wake setxid thread if it is
	waiting.
	(__pthread_create_2_1): Initialize setxid_futex.
	* sysdeps/pthread/createthread.c (do_clone): Wake setxid thread if it
	is waiting.

2010-01-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S:
	Fix unwind info.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.

2010-01-15  Michal Schmidt  <mschmidt@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S:
	Fix pthread_cond_timedwait with requeue-PI.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:
	Fix pthread_cond_wait with requeue-PI.

2010-01-14  Ulrich Drepper  <drepper@redhat.com>

	* Versions: Add pthread_mutex_consistent, pthread_mutexattr_getrobust,
	and pthread_mutexattr_setrobust for GLIBC_2.12.
	* pthread_mutex_consistent.c: Define alias pthread_mutex_consistent.
	* pthread_mutexattr_getrobust.c: Define alias
	pthread_mutexattr_getrobust.
	* pthread_mutexattr_setrobust.c: Define alias
	pthread_mutexattr_setrobust.

2010-01-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h: Cleanup.  Fix up for XPG7.

2010-01-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h: Fix pthread_mutex_consistent declaration.

2009-12-18  Thomas Schwinge  <thomas@codesourcery.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c (_init): Don't
	call __gmon_start__.
	* sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c (_init): Likewise.

2009-12-17  Ulrich Drepper  <drepper@redhat.com>

	* pthread_rwlock_init.c (__pthread_rwlock_init): Simplify code by
	using memset.

2009-12-01  Dinakar Guniguntala  <dino@in.ibm.com>

	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.h: Define
	FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: If mutex
	is a non robust PI mutex, then use FUTEX_CMP_REQUEUE_PI.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: If mutex
	is a non robust PI mutex, then use FUTEX_WAIT_REQUEUE_PI.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.

2009-12-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait):
	Don't update nwaiters after invalid timeout is recognized.

2009-11-27  Thomas Schwinge  <thomas@codesourcery.com>

	* sysdeps/unix/sysv/linux/sh/pt-initfini.c (_init): Don't call
	__gmon_start__.

2009-11-27  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/cancellation.S: Reload
	THREAD_SELF->cancelhandling after returning from futex call.

2009-11-24  Ulrich Drepper  <drepper@redhat.com>

	* tst-sem13.c: New file.
	* Makefile (tests): Add tst-sem13.

2009-11-22  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/i386/dl-sysdep.h: # include "i686/dl-sysdep.h"
	instead of recapitulating its contents.

2009-11-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Minor
	optimizations and cleanups.

2009-11-18  Dinakar Guniguntala  <dino@in.ibm.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S:
	Remove redundant code. Fix cfi offsets.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S:
	Fix cfi offsets.

2009-11-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Minimally
	reduce size of unwind info.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Convert to use
	cfi directives.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	Based on a patch by Dinakar Guniguntala <dino@in.ibm.com>.

2009-11-03  Andreas Schwab  <schwab@linux-m68k.org>

	[BZ #4457]
	* sysdeps/pthread/unwind-resume.c: Include <libgcc_s.h> and use
	LIBGCC_S_SO.
	* sysdeps/pthread/unwind-forcedunwind.c: Likewise.

2009-10-30  Ulrich Drepper  <drepper@redhat.com>

	* tst-sem11.c (main): Rewrite to avoid aliasing problems.

	[BZ #3270]
	* allocatestack.c (__nptl_setxid): Perform the operation in multiple
	steps to avoid races with creation and terminations.
	* nptl-init.c (sighandler_setxid): Adjust.
	Patch by Daniel Jacobowitz.

2009-09-07  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/pthread/bits/libc-lock.h (BP_SYM): Remove space before paren.

2009-09-02  Suzuki K P  <suzuki@in.ibm.com>
	    Joseph Myers  <joseph@codesourcery.com>

	[BZ #7094]
	* sysdeps/unix/sysv/linux/timer_create.c (timer_create):
	Initialize the sigev_notify field for newly created timer to make sure
	the timer gets deleted from the active timer's list upon timer_delete.

2009-08-27  Andrew Stubbs  <ams@codesourcery.com>

	* sysdeps/unix/sysv/linux/sh/lowlevellock.S (__lll_timedlock_wait):
	Correct a logic error.

2009-08-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/tls.h (RTLD_ENABLE_FOREIGN_CALL): Store old value
	of the field in local variables.
	(RTLD_FINALIZE_FOREIGN_CALL): Restore rtld_must_xmm_save from local
	variable and don't unconditionally clear it.

2009-08-24  Ulrich Drepper  <drepper@redhat.com>

	* pthread_create.c (start_thread): Hint to the kernel that memory for
	the stack can be reused.  We do not mark all the memory.  The part
	still in use and some reserve are kept.

2009-08-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Clean up namespace.

2009-08-11  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S: Add CFI
	directives.

2009-08-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Add CFI
	directives.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.

2009-08-10  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
	(__pthread_cond_signal): Don't clobber register used for syscall
	number.

2009-08-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
	Optimize code path used when FUTEX_CLOCK_REALTIME is supported.

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
	(__pthread_cond_wait): Optimize by avoiding use of callee-safe
	register.

2009-08-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Little optimizations
	enabled by the special *_asynccancel functions.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.

	* sysdeps/unix/sysv/linux/x86_64/cancellation.S: Include lowlevellock.h.

2009-08-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/cancellation.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/libc-cancellation.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/librt-cancellation.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (PSEUDO): Optimize
	since we can assume the special __*_{en,dis}able_asynccancel
	functions.
	(PUSHARGS_*, POPARGS_*, SAVESTK_*, RESTSTK_*): Removed.
	* sysdeps/x86_64/tcb-offsets.sym: Add cancellation-related bits
	and PTHREAD_CANCELED.

2009-07-31  Ulrich Drepper  <drepper@redhat.com>

	* descr.h: Better definition of *_BITMASK macros for cancellation.

2009-07-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/tls.h (TLS_TCB_ALIGN): Define explicitly to 32.

	* sysdeps/x86_64/tls.h (tcbhead_t): Add room for SSE registers the
	dynamic linker might have to save.
	Define RTLD_CHECK_FOREIGN_CALL, RTLD_ENABLE_FOREIGN_CALL,
	RTLD_PREPARE_FOREIGN_CALL, and RTLD_FINALIZE_FOREIGN_CALL.  Pretty
	printing.

	* sysdeps/x86_64/tcb-offsets.sym: Add RTLD_SAVESPACE_SSE.

2009-07-28  Ulrich Drepper  <drepper@redhat.com>

	* pthread_mutex_lock.c [NO_INCR] (__pthread_mutex_cond_lock_adjust):
	New function.
	* pthreadP.h: Declare __pthread_mutex_cond_lock_adjust.
	* sysdeps/unix/sysv/linux/pthread-pi-defines.sym: Add ROBUST_BIT.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Don't use
	requeue_pi for robust mutexes.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
	Don't only skip __pthread_mutex_cond_lock.  Call instead
	__pthread_mutex_cond_lock_adjust.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.

	* pthread_mutex_unlock.c (__pthread_mutex_unlock_full): Minor
	optimization of PI mutex handling.

2009-07-27  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10418]
	* pthread_mutex_unlock.c (__pthread_mutex_unlock_full): Use _rel
	instead of of _acq variants of cmpxchg.

2009-07-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/configure.in: New file.

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Fix error
	path when not using absolute timeout futex.

2009-07-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Minor
	optimizations of last changes.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.

2009-07-19  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Define
	FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: If mutex
	is a PI mutex, then use FUTEX_CMP_REQUEUE_PI.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: If mutex
	is a PI mutex, then use FUTEX_WAIT_REQUEUE_PI.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Make more robust.

2009-07-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
	(__lll_robust_timedlock_wait): If possible use FUTEX_WAIT_BITSET to
	directly use absolute timeout.

	* tst-sem5.c (do_test): Add test for premature timeout.
	* Makefile: Linu tst-sem5 with librt.

	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
	(pthread_rwlock_timedwrlock): If possible use FUTEX_WAIT_BITSET to
	directly use absolute timeout.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
	(pthread_rwlock_timedrdlock): Likewise.

	* tst-cond11.c (run_test): Add test to check that the timeout is
	long enough.

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
	(__pthread_cond_timedwait): If possible use FUTEX_WAIT_BITSET to
	directly use absolute timeout.

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
	(__pthread_cond_wait): Convert to using exception handler instead of
	registered unwind buffer.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Likewise.

2009-07-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
	If possible use FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME to directly
	use absolute timeout.

	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S (sem_wait): Optimize
	handling of uncontested semaphore.

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
	(__condvar_cleanup): Rewrite to use cfi directives instead of
	hand-coded unwind tables.
	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S (__pthread_once):
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S (sem_wait): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
	Likewise.

2009-06-12  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (libpthread-routines): Add pthread_sigqueue.
	* Versions: Add pthread_sigqueue for GLIBC_2.11.
	* sysdeps/pthread/bits/sigthread.h: Declare pthread_sigqueue.
	* sysdeps/unix/sysv/linux/pthread_sigqueue.c: New file.

2009-06-11  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10262]
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(LOAD_FUTEX_WAIT_ABS): Fix futex parameter in case private futexes
	cannot be assumed.
	Patch by Bryan Kadzban <bz-glibc@kdzbn.homelinux.net>.

2009-05-16  Ulrich Drepper  <drepper@redhat.com>

	* libc-cancellation.c: Move __libc_cleanup_routine to...
	* libc-cleanup.c: ...here.  New file.
	* Makefile (routines): Add libc-cleanup.

	* cancellation.c (__pthread_disable_asynccancel): Remove unnecessary
	test.
	* libc-cancellation.c: Use <nptl/cancellation.c: to define the code.
	* sysdeps/pthread/librt-cancellation.c: Likewise.

	[BZ #9924]
	* nptl-init.c: Renamed from init.c.
	* Makefile: Change all occurences of init.c to nptl-init.c.

2009-05-15  Ulrich Drepper  <drepper@redhat.com>

	* cancellation.c (__pthread_disable_asynccancel): Correct the bits
	to test when deciding on the delay.
	* libc-cancellation.c (__libc_disable_asynccancel): Likewise.
	* pthread_cancel.c: Close race between deciding on sending a signal
	and setting the CANCELING_BIT bit.

	* cancellation.c (__pthread_disable_asynccancel): Don't return if
	thread is canceled.
	* libc-cancellation.c (__libc_disable_asynccancel): Likewise.

2009-04-27  Ulrich Drepper  <drepper@redhat.com>

	* 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-26  Ulrich Drepper  <drepper@redhat.com>

	* sem_open.c (sem_open): Rewrite initialization of initsem to
	avoid warnings.

	* sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
	Avoid warning by using may_alias attribute on ptrhack.

2009-04-22  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10090]
	* pthread_attr_setschedparam.c (__pthread_attr_setschedparam):
	Check policy and priority for validity.
	Patch mostly by Zhang Xiliang <zhangxiliang@cn.fujitsu.com>.

2009-03-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Change to use cfi directives instead of
	hand-coded unwind sections.

2009-03-10  Ulrich Drepper  <drepper@redhat.com>

	* init.c (nptl_freeres): Compile only for SHARED.

2009-03-09  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Define
	FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_CLOCK_REALTIME and
	FUTEX_BITSET_MATCH_ANY.

2009-02-27  Roland McGrath  <roland@redhat.com>

	* init.c (__nptl_initial_report_events): Mark __attribute_used__.
	* pthread_create.c (__nptl_threads_events, __nptl_last_event): Likewise.

2009-02-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
	_POSIX_THREAD_ROBUST_PRIO_INHERIT and
	_POSIX_THREAD_ROBUST_PRIO_PROTECT.  Reset value of macros from
	200112L to 200809L.

2009-02-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h: The robust mutex functions are in
	POSIX 2008.

2009-02-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/posix_opt.h (_BITS_POSIX_OPT_H):
	Unify name of include protector macro.

2009-02-14  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>

	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Define
	LOAD_FUTEX_WAIT_ABS even if (FUTEX_WAIT == 0).

2009-01-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/unwind-forcedunwind.c: Encrypt all function
	pointer variables.

	* 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-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/lowlevellock.S
	(__lll_timedlock_wait): Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME
	instead of computing relative timeout.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Define
	FUTEX_CLOCK_REALTIME and FUTEX_BITSET_MATCH_ANY.

2009-01-25  Ulrich Drepper  <drepper@redhat.com>

	* pthread_mutex_lock.c (__pthread_mutex_lock): Remove unused label out.

2009-01-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/list.h (list_add): Initialize new element first.
	(list_add_tail): Removed.

2009-01-07  Ulrich Drepper  <drepper@redhat.com>

	* (in_flight_stack): New variable.
	(stack_list_del): New function.  Use instead of list_del.
	(stack_list_add): New function.  Use instead of list_add when adding to
	stack_cache and stack_used lists.
	(__reclaim_stacks): Complete operations on stack_cache and stack_used lists
	when the fork call interrupted another thread.

2009-01-04  Ulrich Drepper  <drepper@redhat.com>

	* init.c (__pthread_initialize_minimal_internal): Optimize test
	FUTEX_CLOCK_REALTIME a bit.

2009-01-03  Ulrich Drepper  <drepper@redhat.com>

	* init.c (__pthread_initialize_minimal_internal): Cheat a bit by
	only passing five parameters to FUTEX_WAIT_BITSET call.

	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(__lll_timedlock_wait): Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME
	instead of computing relative timeout.

2009-01-02  Ulrich Drepper  <drepper@redhat.com>

	* 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_REALTIME instead of computing
	relative timeout.

	* 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.

2008-12-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h (pthread_cleanup_pop): Use { } as empty
	loop body instead of ; to avoid gcc warnings.
	(pthread_cleanup_pop_restore_np): Likewise.
	Patch by Caolán McNamara <caolanm@redhat.com>.

2008-12-09  Jakub Jelinek  <jakub@redhat.com>

	* 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-08  Ulrich Drepper  <drepper@redhat.com>

	* 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-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Define FUTEX_WAIT_BITSET
	and FUTEX_WAKE_BITSET.

2008-12-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Define FUTEX_WAIT_BITSET
	and FUTEX_WAKE_BITSET.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.

2008-11-25  Roland McGrath  <roland@redhat.com>

	* sysdeps/alpha, sysdeps/unix/sysv/linux/alpha:
	Subdirectories moved to ports repository as
	sysdeps/.../nptl subdirectories.

2008-11-12  Jakub Jelinek  <jakub@redhat.com>

	[BZ #7008]
	* pthread_condattr_setclock.c (pthread_condattr_setclock): Fix masking
	of old value.
	* pthread_cond_init.c (__pthread_cond_init): Fix
	cond->__data.__nwaiters initialization.
	* Makefile (tests): Add tst-cond23.
	* tst-cond23.c: New test.

2008-11-07  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/malloc-machine.h (MALLOC): Adjust __libc_tsd_define
	arguments.
	(tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get}
	arguments.

2008-11-01  Ulrich Drepper  <drepper@redhat.com>

	[BZ #6955]
	* pthread_mutex_lock.c: Add support for private PI mutexes.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_trylock.c: Likewise.
	* pthread_mutex_unlock.c: Likewise.
	Patch mostly by Ben Jackson <ben@ben.com>.

2008-10-31  Ulrich Drepper  <drepper@redhat.com>

	[BZ #6843]
	* sysdeps/pthread/gai_misc.h (__gai_create_helper_thread):
	Increase stack size for helper thread.

2008-10-06  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/tls.h (THREAD_SET_STACK_GUARD): Add empty inline
	assembly with a clobber list for access registers a0 and a1.

2008-09-11  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Add memory barrier
	to force runp->refcntr to be read from memory.

2008-09-08  Richard Guenther  <rguenther@suse.de>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_lock,
	lll_robust_lock, lll_cond_lock, lll_robust_cond_lock,
	lll_timedlock, lll_robust_timedlock, lll_unlock,
	lll_robust_unlock): Promote private to int.

2008-08-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/pthreaddef.h: Remove ARCH_MAP_FLAGS and
	ARCH_RETRY_MMAP definitions.
	* allocatestack.c: Remove definition of ARCH_MAP_FLAGS.
	Define MAP_STACK when not defined.
	(allocate_stack): Use MAP_STACK instead of ARCH_MAP_FLAGS.  Remove
	handling of ARCH_RETRY_MMAP.

2008-07-30  Ulrich Drepper  <drepper@redhat.com>

	* tst-align2.c (f): Print message that f is reached.

2008-04-28  Hiroki Kaminaga  <kaminaga@sm.sony.co.jp>

	[BZ #6740]
	* sysdeps/powerpc/tcb-offsets.sym (PRIVATE_FUTEX_OFFSET): Guard symbol
	definition with #ifndef __ASSUME_PRIVATE_FUTEX.

2008-07-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/mq_notify.c (init_mq_netlink): Use
	SOCK_CLOEXEC if possible.

2008-05-29  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-rwlock2a.
	* tst-rwlock2.c: Use TYPE macro to decide what rwlock type to use.
	* tst-rwlock2a.c: New file.

2008-06-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h: Remove inadvertant checkin.

2008-05-17  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* sysdeps/pthread/pthread.h: Fix typo in comment.

2008-05-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/createthread.c (do_clone): Pass accurate length
	of CPU set to the kernel.

2008-05-23  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Add
	cfi directives.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.

2008-05-22  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S: Add
	cfi directives.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S:
	Likewise.

2008-05-26  Ulrich Drepper  <drepper@redhat.com>

	* tst-typesizes.c: Explicitly check __SIZEOF_PTHREAD_* constants.

2008-05-20  Jakub Jelinek  <jakub@redhat.com>

	David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: New file.

2008-05-10  Ulrich Drepper  <drepper@redhat.com>

	* 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-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().

2007-11-26  Daniel Jacobowitz  <dan@codesourcery.com>

	* pthread_create.c: Require pthread_mutex_trylock and
	pthread_key_delete for libgcc.

2008-04-08  Jakub Jelinek  <jakub@redhat.com>

	[BZ #6020]
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h
	(lll_futex_wake_unlock): Add private argument to the pre-v9 macro.
	Patch by Sunil Amitkumar Janki <devel.sjanki@gmail.com>.

2008-03-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/local_lim.h: Undefine ARG_MAX if
	<linux/limits.h> has defined it.
	* sysdeps/unix/sysv/linux/alpha/bits/local_lim.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/local_lim.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/local_lim.h: Likewise.

2008-03-18  Jakub Jelinek  <jakub@redhat.com>

	* 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-14  Ulrich Drepper  <drepper@redhat.com>

	* 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-07  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5778]
	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Change
	_POSIX_CHOWN_RESTRICTED value to zero.

2008-01-31  Roland McGrath  <roland@redhat.com>

	* Makefile (omit-deps): Variable removed.

2008-01-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sem_post.S (sem_post): Avoid
	unnecessary addr32 prefix.

2008-01-29  Roland McGrath  <roland@redhat.com>

	* Makeconfig (ptw-CPPFLAGS, sysd-rules-patterns): New variables.

2008-01-22  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/sem_post.S: Don't overflow value field.

2008-01-21  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h (XADD): Use
	a scratch register.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.S
	(__lll_lock_wait_private): Fix typo.
	* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S
	(pthread_barrier_wait): Likewise.  Adjust XADD use.
	* sysdeps/unix/sysv/linux/sh/sem_post.S (__new_sem_post):
	Adjust XADD use.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S
	(pthread_rwlock_timedrdlock): Return correct return value.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S
	(pthread_rwlock_timedwrlock): Likewise.

2008-01-15  Ulrich Drepper  <drepper@redhat.com>

	* tst-eintr2.c (do_test): make sure that if mutex_lock in main
	thread returns the program exits with an error code.

2008-01-10  Ulrich Drepper  <drepper@redhat.com>

	* pthread-errnos.sym: Add EOVERFLOW.
	* sysdeps/unix/sysv/linux/structsem.sym: Add SEM_VALUE_MAX.
	* sysdeps/unix/sysv/linux/sem_post.c: Don't overflow value field.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.

2007-12-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/pthreaddef.h (ARCH_RETRY_MMAP): Take additional
	parameter.  Passed it as permission to mmap.
	* allocatestack.c (allocate_stack): Pass prot as second parameter
	to ARCH_RETRY_MMAP.

2007-12-12  Ulrich Drepper  <drepper@redhat.com>

	* tst-basic7.c: Allocate memory for the stack.

	[BZ #5465]
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S [!SHARED]
	(__pthread_cond_timedwait): Don't use VDSO.
	Patch by Michal Januszewski.

2007-12-07  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5455]
	* sysdeps/pthread/pthread.h [!__EXCEPTIONS] (pthread_cleanup_pop):
	Allow label before pthread_cleanup_pop.
	(pthread_cleanup_pop_restore_np): Likewise.

2007-12-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/lowlevellock.S (__lll_timedlock_wait):
	Store 2 before returning ETIMEDOUT.

2007-11-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S (__lll_timedlock_wait):
	Store 2 before returning ETIMEDOUT.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise
	* sysdeps/unix/sysv/linux/lowlevellock.c: Likewise.
	(__lll_lock_wait_private): Optimize.
	(__lll_lock_wait): Likewise.

2007-11-20  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/pthread.h (pthread_cleanup_push,
	pthread_cleanup_push_defer_np): Add extra (void *) cast to shut up
	g++ 4.1 and 4.2 -Wstrict-aliasing warnings.

2007-11-08  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5240]
	* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_timedlock_wait):
	If we time out, try one last time to lock the futex to avoid
	losing a wakeup signal.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise.

	[BZ #5245]
	* sysdeps/pthread/createthread.c (do_clone): Translate clone error
	if necessary.

2007-11-07  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5245]
	* allocatestack.c (allocate_stack): Change ENOMEM error in case
	mmap failed to EAGAIN.
	* Makefile (tests): Add tst-basic7.
	* tst-basic7.c: New file.

2007-11-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/register-atfork.c (__register_atfork):
	Use __linkin_atfork.

2007-11-03  Mike Frysinger  <vapier@gentoo.org>

	* sysdeps/unix/sysv/linux/sh/lowlevellock.S (LOAD_FUTEX_WAIT): Add
	missing line continuations.
	* sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S (LOAD_FUTEX_WAIT,
	LOAD_FUTEX_WAKE): Likewise.  Also add missing 3rd parameter.

2007-10-28  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5220]
	* sysdeps/unix/sysv/linux/kernel-posix-timers.h: Declare
	__active_timer_sigev_thread and __active_timer_sigev_thread_lock.
	(struct timer): Add next element.
	* sysdeps/unix/sysv/linux/timer_create.c: For SIGEV_THREAD timers,
	enqueue timer structure into __active_timer_sigev_thread list.
	* sysdeps/unix/sysv/linux/timer_delete.c: For SIGEV_THREAD timers,
	remove timer struct from __active_timer_sigev_thread.
	* sysdeps/unix/sysv/linux/timer_routines.c (timer_helper_thread):
	Before using timer structure make sure it is still on the
	__active_timer_sigev_thread list.  Keep lock until done.
	Define __active_timer_sigev_thread and
	__active_timer_sigev_thread_lock.

2007-10-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/malloc-machine.h: Define ATFORK_MEM.
	Redefine thread_atfork for use of ATFORK_MEM.
	* sysdeps/unix/sysv/linux/fork.h: Define __linkin_atfork.
	* sysdeps/unix/sysv/linux/register-atfork.c (__linkin_atfork): New
	function.
	* sysdeps/unix/sysv/linux/unregister-atfork.c (__unregister_atfork):
	Use atomic operation when removing first element of list.

2007-10-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S (__old_sem_post): New
	routine instead of an alias to __new_sem_post.

2007-10-15  Jakub Jelinek  <jakub@redhat.com>

	* init.c (__pthread_initialize_minimal): Initialize word to appease
	valgrind.

2007-10-10  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/bits/libc-lock.h (__libc_rwlock_init): Inside of
	libc.so just clear NAME.
	(__libc_rwlock_fini): Nop inside of libc.so.
	* tst-initializers1.c (main): Test if PTHREAD_RWLOCK_INITIALIZER is
	all zeros.

2007-09-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
	(__pthread_cond_wait): Fix unlocking of internal lock after mutex
	unlocking failed.
	Patch by Luca Barbieri <luca.barbieri@gmail.com>.

2007-08-21  Ulrich Drepper  <drepper@redhat.com>

	[BZ #4938]
	* allocatestack.c (__reclaim_stacks): Clear the TSD in the
	reclaimed stack if necessary.
	* Makefile (tests): Add tst-tsd6.
	* tst-tsd6.c: New file.

2007-08-21  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h (lll_robust_dead):
	Add private argument.

2007-08-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Use clock_gettime from VDSO if possible.

2007-08-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h
	(__lll_robust_timedlock): Pass private as last argument to
	__lll_robust_timedlock_wait.
	(__lll_unlock): Fix a pasto.

2007-08-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/internaltypes.h (sparc_new_sem,
	sparc_old_sem): New structs.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c
	(__sem_wait_cleanup): New function.
	(__new_sem_wait): Use sparc_new_sem structure.  Bump and afterwards
	decrease nwaiters.  Register __sem_wait_cleanup as cleanup handler.
	Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to
	lll_futex_wait.
	(__old_sem_wait): New function.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_wait.c: Include
	nptl/sysdeps/unix/sysv/linux/sparc version.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_timedwait.c:
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_post.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_trywait.c
	(__new_sem_trywait): Use sparc_old_sem structure.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_timedwait.c
	(sem_timedwait): Use sparc_new_sem structure.  Bump and afterwards
	decrease nwaiters.  Register __sem_wait_cleanup as cleanup handler.
	Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to
	lll_futex_timed_wait.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c (__new_sem_post):
	Use sparc_new_sem structure.  Only wake if nwaiters > 0.  Pass
	isem->private ^ FUTEX_PRIVATE_FLAG as last argument to
	lll_futex_wake.
	(__old_sem_post): New function.
	* sysdeps/unix/sysv/linux/sparc/sem_wait.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sem_init.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sem_timedwait.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sem_post.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_init.c: Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_init.c: Remove.

2007-08-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S
	(__pthread_cond_broadcast): Pass LLL_PRIVATE to lll_* and or
	FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private.
	Don't use FUTEX_CMP_REQUEUE if dep_mutex is not process private.
	* sysdeps/unix/sysv/linux/shpthread_cond_signal.S
	(__pthread_cond_signal): Pass LLL_PRIVATE to lll_* and or
	FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private.
	Use FUTEX_WAKE_OP.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Include
	kernel-features.h and tcb-offsets.h.
	(__pthread_cond_wait, __condvar_w_cleanup): Pass LLL_PRIVATE to
	lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is
	process private.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Include
	tcb-offsets.h.
	(__pthread_cond_timedwait, __condvar_tw_cleanup): Pass LLL_PRIVATE
	to lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is
	process private.
	* sysdeps/unix/sysv/linux/sh/pthread_once.S: Use #ifdef
	__ASSUME_PRIVATE_FUTEX instead of #if __ASSUME_PRIVATE_FUTEX.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.

2007-08-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/lowlevellock.c: Comment fix.
	* sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c
	(__lll_timedwait_tid): Pass LLL_SHARED as 4th argument to
	lll_futex_timed_wait.

	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h (__lll_unlock,
	__lll_robust_unlock): Rewrite as macros instead of inline functions.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h (__lll_unlock,
	__lll_robust_unlock, __lll_wait_tid): Likewise.

2007-08-13  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (__lll_private_flag):
	Fix a pasto.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
	(__pthread_cond_broadcast): Pass LLL_PRIVATE to lll_* and or
	FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private.
	Don't use FUTEX_CMP_REQUEUE if dep_mutex is not process private.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
	(__pthread_cond_signal): Pass LLL_PRIVATE to lll_* and or
	FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Include
	kernel-features.h.
	(__pthread_cond_wait, __condvar_w_cleanup): Pass LLL_PRIVATE to
	lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is
	process private.  Switch DW_CFA_advance_loc1 and some
	DW_CFA_advance_loc .eh_frame opcodes to DW_CFA_advance_loc4.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait, __condvar_tw_cleanup): Pass LLL_PRIVATE to
	lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is
	process private.  Switch DW_CFA_advance_loc{1,2} and some
	DW_CFA_advance_loc .eh_frame opcodes to DW_CFA_advance_loc4.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Use
	#ifdef __ASSUME_PRIVATE_FUTEX instead of #if __ASSUME_PRIVATE_FUTEX.
	* 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.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
	(__pthread_cond_broadcast): Compare %r8 instead of
	dep_mutex-cond_*(%rdi) with $-1.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
	(__pthread_cond_signal): Xor FUTEX_WAKE_OP with FUTEX_WAKE instead
	of oring.

2007-08-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i786/Implies: New file.

2007-08-13  Jakub Jelinek  <jakub@redhat.com>

	* allocatestack.c: Include kernel-features.h.
	* pthread_create.c: Likewise.
	* pthread_mutex_init.c: Likewise.
	* init.c: Likewise.
	* pthread_cond_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.

2007-08-12  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h
	[__WORDSIZE=32] (pthread_rwlock_t): Split __flags element into four
	byte elements.  One of them is the new __shared element.
	[__WORDSIZE=64] (pthread_rwlock_t): Renamed __pad1 element to __shared,
	adjust names of other padding elements.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
	[__WORDSIZE=32] (pthread_rwlock_t): Split __flags element into four
	byte elements.  One of them is the new __shared element.
	[__WORDSIZE=64] (pthread_rwlock_t): Renamed __pad1 element to __shared,
	adjust names of other padding elements.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h (pthread_rwlock_t):
	Renamed __pad1 element to __shared, adjust names of other padding
	elements.
	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h
	(pthread_rwlock_t): Likewise.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (__lll_lock): Fix a
	typo.

2007-08-09  Anton Blanchard  <anton@samba.org>

	* sysdeps/unix/sysv/linux/powerpc/pthread_spin_unlock.c: New file.

2007-08-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Include
	<kernel-features.h>.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.

2007-08-11  Ulrich Drepper  <drepper@redhat.com>

	* pthreadP.h (PTHREAD_ROBUST_MUTEX_PSHARED): Define.
	* pthread_mutex_lock.c: Use it instead of PTHREAD_MUTEX_PSHARED when
	dealing with robust mutexes.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_trylock.c: Likewise.
	* pthread_mutex_unlock.c: Likewise.
	* sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c: Likewise.

2007-08-06  Jakub Jelinek  <jakub@redhat.com>

	* pthreadP.h (PTHREAD_MUTEX_PSHARED_BIT): Define.
	(PTHREAD_MUTEX_TYPE): Mask __kind with 127.
	(PTHREAD_MUTEX_PSHARED): Define.
	* pthread_mutex_init.c (__pthread_mutex_init): Set
	PTHREAD_MUTEX_PSHARED_BIT for pshared or robust
	mutexes.
	* pthread_mutex_lock.c (LLL_MUTEX_LOCK): Take mutex as argument
	instead of its __data.__lock field, pass PTHREAD_MUTEX_PSHARED
	as second argument to lll_lock.
	(LLL_MUTEX_TRYLOCK): Take mutex as argument
	instead of its __data.__lock field.
	(LLL_ROBUST_MUTEX_LOCK): Take mutex as argument instead of its
	__data.__lock field, pass PTHREAD_MUTEX_PSHARED as second argument
	to lll_robust_lock.
	(__pthread_mutex_lock): Update LLL_MUTEX_LOCK, LLL_MUTEX_TRYLOCK,
	LLL_ROBUST_MUTEX_LOCK users, use PTHREAD_MUTEX_TYPE (mutex)
	instead of mutex->__data.__kind directly, pass
	PTHREAD_MUTEX_PSHARED (mutex) to lll_unlock and lll_futex_wait.
	* pthread_mutex_trylock.c (__pthread_mutex_trylock): Use
	PTHREAD_MUTEX_TYPE (mutex) instead of mutex->__data.__kind
	directly, pass PTHREAD_MUTEX_PSHARED (mutex) to lll_unlock.
	(pthread_mutex_timedlock): Pass PTHREAD_MUTEX_PSHARED (mutex)
	to lll_timedlock, lll_robust_timedlock, lll_unlock and
	lll_futex_timed_wait.  Use PTHREAD_MUTEX_TYPE (mutex) instead
	of mutex->__data.__kind directly.
	* pthread_mutex_timedlock.c (pthread_mutex_timedlock): Pass
	PTHREAD_MUTEX_PSHARED (mutex) to lll_timedlock,
	lll_robust_timedlock, lll_unlock and lll_futex_timed_wait.  Use
	PTHREAD_MUTEX_TYPE (mutex) instead of mutex->__data.__kind directly.
	* pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): Pass
	PTHREAD_MUTEX_PSHARED (mutex) to lll_unlock, lll_robust_unlock
	and lll_futex_wake.
	* pthread_mutex_setprioceiling.c (pthread_mutex_setprioceiling): Pass
	PTHREAD_MUTEX_PSHARED (mutex) to lll_futex_wait and lll_futex_wake.
	Use PTHREAD_MUTEX_TYPE (mutex) instead of mutex->__data.__kind
	directly.
	* sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c (LLL_MUTEX_LOCK):
	Take mutex as argument instead of its __data.__lock field, pass
	PTHREAD_MUTEX_PSHARED as second argument to lll_cond_lock.
	(LLL_MUTEX_TRYLOCK): Take mutex as argument instead of its
	__data.__lock field.
	(LLL_ROBUST_MUTEX_LOCK): Take mutex as argument instead of its
	__data.__lock field, pass PTHREAD_MUTEX_PSHARED as second argument
	to lll_robust_cond_lock.
	* pthread_cond_broadcast.c (__pthread_cond_broadcast): Add pshared
	variable, pass it to lll_lock, lll_unlock, lll_futex_requeue and
	lll_futex_wake.  Don't use lll_futex_requeue if dependent mutex
	has PTHREAD_MUTEX_PSHARED_BIT bit set in its __data.__kind.
	* pthread_cond_destroy.c (__pthread_cond_destroy): Add pshared
	variable, pass it to lll_lock, lll_unlock, lll_futex_wake and
	lll_futex_wait.
	* pthread_cond_signal.c (__pthread_cond_signal): Add pshared
	variable, pass it to lll_lock, lll_unlock, lll_futex_wake_unlock and
	lll_futex_wake.
	* pthread_cond_timedwait.c (__pthread_cond_wait): Add
	pshared variable, pass it to lll_lock, lll_unlock,
	lll_futex_timedwait and lll_futex_wake.
	* pthread_cond_wait.c (__condvar_cleanup, __pthread_cond_wait): Add
	pshared variable, pass it to lll_lock, lll_unlock, lll_futex_wait
	and lll_futex_wake.
	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h (lll_futex_requeue,
	lll_futex_wake_unlock): Add private argument, use __lll_private_flag
	macro.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (lll_futex_requeue,
	lll_futex_wake_unlock): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (lll_futex_requeue):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h (lll_futex_requeue,
	lll_futex_wake_unlock): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_futex_requeue):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h (lll_futex_requeue,
	lll_futex_wake_unlock): Likewise.
	(lll_futex_wake): Fix a typo.
	* sysdeps/unix/sysv/linux/pthread-pi-defines.sym (PS_BIT): Add.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
	(__pthread_cond_broadcast): Pass LLL_PRIVATE to lll_* and or
	FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private.
	Don't use FUTEX_CMP_REQUEUE if dep_mutex is not process private.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
	(__pthread_cond_signal): Pass LLL_PRIVATE to lll_* and or
	FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:
	(__condvar_cleanup, __pthread_cond_wait): Likewise.

2007-08-05  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h (PSEUDO):
	Don't use CGOTSETUP and CGOTRESTORE macros.
	(CGOTSETUP, CGOTRESTORE): Remove.
	<IS_IN_rtld> (CENABLE, CDISABLE): Don't use JUMPTARGET, branch to
	@local symbol.

2007-08-01  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Remove
	definitions for private futexes.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Include
	kernel-features.h and lowlevellock.h.  Use private futexes if
	they are available.
	(__lll_lock_wait_private, __lll_unlock_wake_private): New.
	(__lll_mutex_lock_wait): Rename to
	(__lll_lock_wait): ... this.  Don't compile in for libc.so.
	(__lll_mutex_timedlock_wait): Rename to ...
	(__lll_timedlock_wait): ... this.  Use __NR_gettimeofday.
	Don't compile in for libc.so.
	(__lll_mutex_unlock_wake): Rename to ...
	(__lll_unlock_wake): ... this.  Don't compile in for libc.so.
	(__lll_timedwait_tid): Use __NR_gettimeofday.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Allow including
	the header from assembler.  Renamed all lll_mutex_* resp.
	lll_robust_mutex_* macros to lll_* resp. lll_robust_*.
	Renamed all LLL_MUTEX_LOCK_* macros to LLL_LOCK_*.
	(FUTEX_CMP_REQUEUE, FUTEX_WAKE_OP, FUTEX_OP_CLEAR_WAKE_IF_GT_ONE):
	Define.
	(__lll_lock_wait_private): Add prototype.
	(__lll_lock_wait, __lll_timedlock_wait, __lll_robust_lock_wait,
	__lll_robust_timedlock_wait, __lll_unlock_wake_private,
	__lll_unlock_wake): Likewise.
	(lll_lock): Add private argument.  Call __lll_lock_wait_private
	if private is constant LLL_PRIVATE.
	(lll_robust_lock, lll_cond_lock, lll_robust_cond_lock,
	lll_timedlock, lll_robust_timedlock): Add private argument.
	(lll_unlock): Add private argument.  Call __lll_unlock_wake_private
	if private is constant LLL_PRIVATE.
	(lll_robust_unlock, lll_robust_dead): Add private argument.
	(lll_lock_t): Remove.
	(__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake,
	__lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait,
	lll_cond_wake, lll_cond_broadcast): Remove.
	* sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S: Include
	kernel-features.h and lowlevellock.h.
	(SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Remove.
	(LOAD_FUTEX_WAIT): Define.
	(__lll_robust_mutex_lock_wait): Rename to ...
	(__lll_robust_lock_wait): ... this.  Add private argument.
	Use LOAD_FUTEX_WAIT macro.
	(__lll_robust_mutex_timedlock_wait): Rename to ...
	(__lll_robust_timedlock_wait): ... this.    Add private argument.
	Use __NR_gettimeofday.  Use LOAD_FUTEX_WAIT macro.
	* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: Include
	lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Remove.
	(pthread_barrier_wait): Use __lll_{lock,unlock}_* instead of
	__lll_mutex_{lock,unlock}_*.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S: Include
	lowlevellock.h and pthread-errnos.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_REQUEUE,
	FUTEX_CMP_REQUEUE, EINVAL): Remove.
	(__pthread_cond_broadcast): Use __lll_{lock,unlock}_* instead of
	__lll_mutex_{lock,unlock}_*.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S: Include
	lowlevellock.h and pthread-errnos.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_REQUEUE, EINVAL): Remove.
	(__pthread_cond_signal): Use __lll_{lock,unlock}_* instead of
	__lll_mutex_{lock,unlock}_*.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Include
	lowlevellock.h.
	(SYS_futex, SYS_gettimeofday, FUTEX_WAIT, FUTEX_WAKE): Remove.
	(__pthread_cond_timedwait): Use __lll_{lock,unlock}_* instead of
	__lll_mutex_{lock,unlock}_*.  Use __NR_gettimeofday.
	(__condvar_tw_cleanup): Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Include
	lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Remove.
	(__pthread_cond_wait): Use __lll_{lock,unlock}_* instead of
	__lll_mutex_{lock,unlock}_*.
	( __condvar_w_cleanup): Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_once.S: Include lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Include
	lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove.
	(__pthread_rwlock_rdlock): Use __lll_{lock,unlock}_* instead of
	__lll_mutex_{lock,unlock}_*.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Include
	lowlevellock.h.
	(SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE,
	FUTEX_PRIVATE_FLAG): Remove.
	(pthread_rwlock_timedrdlock): Use __lll_{lock,unlock}_* instead of
	__lll_mutex_{lock,unlock}_*.  Use __NR_gettimeofday.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Include
	lowlevellock.h.
	(SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE,
	FUTEX_PRIVATE_FLAG): Remove.
	(pthread_rwlock_timedwrlock): Use __lll_{lock,unlock}_* instead of
	__lll_mutex_{lock,unlock}_*.  Use __NR_gettimeofday.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S: Include
	lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove.
	(__pthread_rwlock_unlock): Use __lll_{lock,unlock}_* instead of
	__lll_mutex_{lock,unlock}_*.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Include
	lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove.
	(__pthread_rwlock_wrlock): Use __lll_{lock,unlock}_* instead of
	__lll_mutex_{lock,unlock}_*.
	* sysdeps/unix/sysv/linux/sh/sem_post.S: Include lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove.
	(__new_sem_post): Use standard initial exec code sequences.
	* sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Include
	lowlevellock.h.
	(SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE,
	FUTEX_PRIVATE_FLAG): Remove.
	(sem_timedwait): Use __NR_gettimeofday.  Use standard initial
	exec code sequences.
	* sysdeps/unix/sysv/linux/sh/sem_trywait.S: Include lowlevellock.h.
	(__new_sem_trywait): Use standard initial exec code sequences.
	* sysdeps/unix/sysv/linux/sh/sem_wait.S: Include lowlevellock.h.
	(__new_sem_wait): Use standard initial exec code sequences.

2007-07-31  Anton Blanchard  <anton@samba.org>

	* sysdeps/unix/sysv/linux/powerpc/sem_post.c (__new_sem_post):
	Use __asm __volatile (__lll_acq_instr ::: "memory") instead of
	atomic_full_barrier.

2007-07-31  Jakub Jelinek  <jakub@redhat.com>

	* allocatestack.c (stack_cache_lock): Change type to int.
	(get_cached_stack, allocate_stack, __deallocate_stack,
	__make_stacks_executable, __find_thread_by_id, __nptl_setxid,
	__pthread_init_static_tls, __wait_lookup_done): Add LLL_PRIVATE
	as second argument to lll_lock and lll_unlock macros on
	stack_cache_lock.
	* pthread_create.c (__find_in_stack_list): Likewise.
	(start_thread): Similarly with pd->lock.  Use lll_robust_dead
	macro instead of lll_robust_mutex_dead, pass LLL_SHARED to it
	as second argument.
	* descr.h (struct pthread): Change lock and setxid_futex field
	type to int.
	* old_pthread_cond_broadcast.c (__pthread_cond_broadcast_2_0): Use
	LLL_LOCK_INITIALIZER instead of LLL_MUTEX_LOCK_INITIALIZER.
	* old_pthread_cond_signal.c (__pthread_cond_signal_2_0): Likewise.
	* old_pthread_cond_timedwait.c (__pthread_cond_timedwait_2_0):
	Likewise.
	* old_pthread_cond_wait.c (__pthread_cond_wait_2_0): Likewise.
	* pthread_cond_init.c (__pthread_cond_init): Likewise.
	* pthreadP.h (__attr_list_lock): Change type to int.
	* pthread_attr_init.c (__attr_list_lock): Likewise.
	* pthread_barrier_destroy.c (pthread_barrier_destroy): Pass
	ibarrier->private ^ FUTEX_PRIVATE_FLAG as second argument to
	lll_{,un}lock.
	* pthread_barrier_wait.c (pthread_barrier_wait): Likewise and
	also for lll_futex_{wake,wait}.
	* pthread_barrier_init.c (pthread_barrier_init): Make iattr
	a pointer to const.
	* pthread_cond_broadcast.c (__pthread_cond_broadcast): Pass
	LLL_SHARED as second argument to lll_{,un}lock.
	* pthread_cond_destroy.c (__pthread_cond_destroy): Likewise.
	* pthread_cond_signal.c (__pthread_cond_singal): Likewise.
	* pthread_cond_timedwait.c (__pthread_cond_timedwait): Likewise.
	* pthread_cond_wait.c (__condvar_cleanup, __pthread_cond_wait):
	Likewise.
	* pthread_getattr_np.c (pthread_getattr_np): Add LLL_PRIVATE
	as second argument to lll_{,un}lock macros on pd->lock.
	* pthread_getschedparam.c (__pthread_getschedparam): Likewise.
	* pthread_setschedparam.c (__pthread_setschedparam): Likewise.
	* pthread_setschedprio.c (pthread_setschedprio): Likewise.
	* tpp.c (__pthread_tpp_change_priority, __pthread_current_priority):
	Likewise.
	* sysdeps/pthread/createthread.c (do_clone, create_thread):
	Likewise.
	* pthread_once.c (once_lock): Change type to int.
	(__pthread_once): Pass LLL_PRIVATE as second argument to
	lll_{,un}lock macros on once_lock.
	* pthread_rwlock_rdlock.c (__pthread_rwlock_rdlock): Use
	lll_{,un}lock macros instead of lll_mutex_{,un}lock, pass
	rwlock->__data.__shared as second argument to them and similarly
	for lll_futex_w*.
	* pthread_rwlock_timedrdlock.c (pthread_rwlock_timedrdlock):
	Likewise.
	* pthread_rwlock_timedwrlock.c (pthread_rwlock_timedwrlock):
	Likewise.
	* pthread_rwlock_tryrdlock.c (__pthread_rwlock_tryrdlock): Likewise.
	* pthread_rwlock_trywrlock.c (__pthread_rwlock_trywrlock): Likewise.
	* pthread_rwlock_unlock.c (__pthread_rwlock_unlock): Likewise.
	* pthread_rwlock_wrlock.c (__pthread_rwlock_wrlock): Likewise.
	* sem_close.c (sem_close): Pass LLL_PRIVATE as second argument
	to lll_{,un}lock macros on __sem_mappings_lock.
	* sem_open.c (check_add_mapping): Likewise.
	(__sem_mappings_lock): Change type to int.
	* semaphoreP.h (__sem_mappings_lock): Likewise.
	* pthread_mutex_lock.c (LLL_MUTEX_LOCK, LLL_MUTEX_TRYLOCK,
	LLL_ROBUST_MUTEX_LOCK): Use lll_{,try,robust_}lock macros
	instead of lll_*mutex_*, pass LLL_SHARED as last
	argument.
	(__pthread_mutex_lock): Use lll_unlock instead of lll_mutex_unlock,
	pass LLL_SHARED as last argument.
	* sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c (LLL_MUTEX_LOCK,
	LLL_MUTEX_TRYLOCK, LLL_ROBUST_MUTEX_LOCK): Use
	lll_{cond_,cond_try,robust_cond}lock macros instead of lll_*mutex_*,
	pass LLL_SHARED as last argument.
	* pthread_mutex_timedlock.c (pthread_mutex_timedlock): Use
	lll_{timed,try,robust_timed,un}lock instead of lll_*mutex*, pass
	LLL_SHARED as last argument.
	* pthread_mutex_trylock.c (__pthread_mutex_trylock): Similarly.
	* pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt):
	Similarly.
	* sysdeps/pthread/bits/libc-lock.h (__libc_lock_lock,
	__libc_lock_lock_recursive, __libc_lock_unlock,
	__libc_lock_unlock_recursive): Pass LLL_PRIVATE as second
	argument to lll_{,un}lock.
	* sysdeps/pthread/bits/stdio-lock.h (_IO_lock_lock,
	_IO_lock_unlock): Likewise.
	* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Don't use
	compound literal.
	* sysdeps/unix/sysv/linux/unregister-atfork.c (__unregister_atfork):
	Pass LLL_PRIVATE as second argument to lll_{,un}lock macros on
	__fork_lock.
	* sysdeps/unix/sysv/linux/register-atfork.c (__register_atfork,
	free_mem): Likewise.
	(__fork_lock): Change type to int.
	* sysdeps/unix/sysv/linux/fork.h (__fork_lock): Likewise.
	* sysdeps/unix/sysv/linux/sem_post.c (__new_sem_post): Pass
	isem->private ^ FUTEX_PRIVATE_FLAG as second argument to
	lll_futex_wake.
	* sysdeps/unix/sysv/linux/sem_timedwait.c (sem_timedwait): Likewise.
	* sysdeps/unix/sysv/linux/sem_wait.c (__new_sem_wait): Likewise.
	* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait_private):
	New function.
	(__lll_lock_wait, __lll_timedlock_wait): Add private argument and
	pass it through to lll_futex_*wait, only compile in when
	IS_IN_libpthread.
	* sysdeps/unix/sysv/linux/lowlevelrobustlock.c
	(__lll_robust_lock_wait, __lll_robust_timedlock_wait): Add private
	argument and pass it through to lll_futex_*wait.
	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h: Renamed all
	lll_mutex_* resp. lll_robust_mutex_* macros to lll_* resp.
	lll_robust_*.  Renamed all __lll_mutex_* resp. __lll_robust_mutex_*
	inline functions to __lll_* resp. __lll_robust_*.
	(LLL_MUTEX_LOCK_INITIALIZER): Remove.
	(lll_mutex_dead): Add private argument.
	(__lll_lock_wait_private): New prototype.
	(__lll_lock_wait, __lll_robust_lock_wait, __lll_lock_timedwait,
	__lll_robust_lock_timedwait): Add private argument to prototypes.
	(__lll_lock): Add private argument, if it is constant LLL_PRIVATE,
	call __lll_lock_wait_private, otherwise pass private to
	__lll_lock_wait.
	(__lll_robust_lock, __lll_cond_lock, __lll_timedlock,
	__lll_robust_timedlock): Add private argument, pass it to
	__lll_*wait functions.
	(__lll_unlock): Add private argument, if it is constant LLL_PRIVATE,
	call __lll_unlock_wake_private, otherwise pass private to
	__lll_unlock_wake.
	(__lll_robust_unlock): Add private argument, pass it to
	__lll_robust_unlock_wake.
	(lll_lock, lll_robust_lock, lll_cond_lock, lll_timedlock,
	lll_robust_timedlock, lll_unlock, lll_robust_unlock): Add private
	argument, pass it through to __lll_* inline function.
	(__lll_mutex_unlock_force, lll_mutex_unlock_force): Remove.
	(lll_lock_t): Remove.
	(__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake,
	__lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait,
	lll_cond_wake, lll_cond_broadcast): Remove.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Allow including
	the header from assembler.  Renamed all lll_mutex_* resp.
	lll_robust_mutex_* macros to lll_* resp. lll_robust_*.
	(LOCK, FUTEX_CMP_REQUEUE, FUTEX_WAKE_OP,
	FUTEX_OP_CLEAR_WAKE_IF_GT_ONE): Define.
	(LLL_MUTEX_LOCK_INITIALIZER, LLL_MUTEX_LOCK_INITIALIZER_LOCKED,
	LLL_MUTEX_LOCK_INITIALIZER_WAITERS): Remove.
	(__lll_mutex_lock_wait, __lll_mutex_timedlock_wait,
	__lll_mutex_unlock_wake, __lll_lock_wait, __lll_unlock_wake):
	Remove prototype.
	(__lll_trylock_asm, __lll_lock_asm_start, __lll_unlock_asm): Define.
	(lll_robust_trylock, lll_cond_trylock): Use LLL_LOCK_INITIALIZER*
	rather than LLL_MUTEX_LOCK_INITIALIZER* macros.
	(lll_trylock): Likewise, use __lll_trylock_asm, pass
	MULTIPLE_THREADS_OFFSET as another asm operand.
	(lll_lock): Add private argument, use __lll_lock_asm_start, pass
	MULTIPLE_THREADS_OFFSET as last asm operand, call
	__lll_lock_wait_private if private is constant LLL_PRIVATE,
	otherwise pass private as another argument to __lll_lock_wait.
	(lll_robust_lock, lll_cond_lock, lll_robust_cond_lock,
	lll_timedlock, lll_robust_timedlock): Add private argument, pass
	private as another argument to __lll_*lock_wait call.
	(lll_unlock): Add private argument, use __lll_unlock_asm, pass
	MULTIPLE_THREADS_OFFSET as another asm operand, call
	__lll_unlock_wake_private if private is constant LLL_PRIVATE,
	otherwise pass private as another argument to __lll_unlock_wake.
	(lll_robust_unlock): Add private argument, pass private as another
	argument to __lll_unlock_wake.
	(lll_robust_dead): Add private argument, use __lll_private_flag
	macro.
	(lll_islocked): Use LLL_LOCK_INITIALIZER instead of
	LLL_MUTEX_LOCK_INITIALIZER.
	(lll_lock_t): Remove.
	(LLL_LOCK_INITIALIZER_WAITERS): Define.
	(__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake,
	__lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait,
	lll_cond_wake, lll_cond_broadcast): Remove.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Revert
	2007-05-2{3,9} changes.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Include
	kernel-features.h and lowlevellock.h.
	(LOAD_PRIVATE_FUTEX_WAIT): Define.
	(LOAD_FUTEX_WAIT): Rewritten.
	(LOCK, SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Don't
	define.
	(__lll_lock_wait_private, __lll_unlock_wake_private): New functions.
	(__lll_mutex_lock_wait): Rename to ...
	(__lll_lock_wait): ... this.  Take futex addr from %edx instead of
	%ecx, %ecx is now private argument.  Don't compile in for libc.so.
	(__lll_mutex_timedlock_wait): Rename to ...
	(__lll_timedlock_wait): ... this.  Use __NR_gettimeofday.  %esi
	contains private argument.  Don't compile in for libc.so.
	(__lll_mutex_unlock_wake): Rename to ...
	(__lll_unlock_wake): ... this.  %ecx contains private argument.
	Don't compile in for libc.so.
	(__lll_timedwait_tid): Use __NR_gettimeofday.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelrobustlock.S: Include
	kernel-features.h and lowlevellock.h.
	(LOAD_FUTEX_WAIT): Define.
	(LOCK, SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Don't
	define.
	(__lll_robust_mutex_lock_wait): Rename to ...
	(__lll_robust_lock_wait): ... this.  Futex addr is now in %edx
	argument, %ecx argument contains private.  Use LOAD_FUTEX_WAIT
	macro.
	(__lll_robust_mutex_timedlock_wait): Rename to ...
	(__lll_robust_timedlock_wait): ... this.  Use __NR_gettimeofday.
	%esi argument contains private, use LOAD_FUTEX_WAIT macro.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Include
	lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
	(pthread_barrier_wait): Rename __lll_mutex_* to __lll_*, pass
	PRIVATE(%ebx) ^ LLL_SHARED as private argument in %ecx to
	__lll_lock_wait and __lll_unlock_wake, pass MUTEX(%ebx) address
	to __lll_lock_wait in %edx.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S:
	Include lowlevellock.h and pthread-errnos.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_REQUEUE,
	FUTEX_CMP_REQUEUE, EINVAL, LOCK): Don't define.
	(__pthread_cond_broadcast): Rename __lll_mutex_* to __lll_*, pass
	cond_lock address in %edx rather than %ecx to __lll_lock_wait,
	pass LLL_SHARED in %ecx to both __lll_lock_wait and
	__lll_unlock_wake.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S:
	Include lowlevellock.h and pthread-errnos.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_WAKE_OP,
	FUTEX_OP_CLEAR_WAKE_IF_GT_ONE, EINVAL, LOCK): Don't define.
	(__pthread_cond_signal): Rename __lll_mutex_* to __lll_*, pass
	cond_lock address in %edx rather than %ecx to __lll_lock_wait,
	pass LLL_SHARED in %ecx to both __lll_lock_wait and
	__lll_unlock_wake.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S:
	Include lowlevellock.h.
	(SYS_futex, SYS_gettimeofday, FUTEX_WAIT, FUTEX_WAKE, LOCK):
	Don't define.
	(__pthread_cond_timedwait): Rename __lll_mutex_* to __lll_*, pass
	cond_lock address in %edx rather than %ecx to __lll_lock_wait,
	pass LLL_SHARED in %ecx to both __lll_lock_wait and
	__lll_unlock_wake.  Use __NR_gettimeofday.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:
	Include lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
	(__pthread_cond_wait, __condvar_w_cleanup): Rename __lll_mutex_*
	to __lll_*, pass cond_lock address in %edx rather than %ecx to
	__lll_lock_wait, pass LLL_SHARED in %ecx to both __lll_lock_wait
	and __lll_unlock_wake.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S:
	Include lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
	(__pthread_rwlock_rdlock): Rename __lll_mutex_* to __lll_*, pass
	MUTEX(%ebx) address in %edx rather than %ecx to
	__lll_lock_wait, pass PSHARED(%ebx) in %ecx to both __lll_lock_wait
	and __lll_unlock_wake.  Move return value from %ecx to %edx
	register.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
	Include lowlevellock.h.
	(SYS_futex, SYS_gettimeofday, FUTEX_WAIT, FUTEX_WAKE, LOCK):
	Don't define.
	(__pthread_rwlock_wrlock): Rename __lll_mutex_* to __lll_*, pass
	MUTEX(%ebp) address in %edx rather than %ecx to
	__lll_lock_wait, pass PSHARED(%ebp) in %ecx to both __lll_lock_wait
	and __lll_unlock_wake.  Move return value from %ecx to %edx
	register.  Use __NR_gettimeofday.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
	Include lowlevellock.h.
	(SYS_futex, SYS_gettimeofday, FUTEX_WAIT, FUTEX_WAKE, LOCK):
	Don't define.
	(__pthread_rwlock_wrlock): Rename __lll_mutex_* to __lll_*, pass
	MUTEX(%ebp) address in %edx rather than %ecx to
	__lll_lock_wait, pass PSHARED(%ebp) in %ecx to both __lll_lock_wait
	and __lll_unlock_wake.  Move return value from %ecx to %edx
	register.  Use __NR_gettimeofday.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S:
	Include lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
	(__pthread_rwlock_unlock): Rename __lll_mutex_* to __lll_*, pass
	MUTEX(%edi) address in %edx rather than %ecx to
	__lll_lock_wait, pass PSHARED(%edi) in %ecx to both __lll_lock_wait
	and __lll_unlock_wake.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S:
	Include lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
	(__pthread_rwlock_wrlock): Rename __lll_mutex_* to __lll_*, pass
	MUTEX(%ebx) address in %edx rather than %ecx to
	__lll_lock_wait, pass PSHARED(%ebx) in %ecx to both __lll_lock_wait
	and __lll_unlock_wake.  Move return value from %ecx to %edx
	register.
	* sysdeps/unix/sysv/linux/i386/pthread_once.S: Include
	lowlevellock.h.
	(LOCK, SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Don't
	define.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Include lowlevellock.h.
	(LOCK, SYS_futex, FUTEX_WAKE): Don't define.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Include
	lowlevellock.h.
	(LOCK, SYS_futex, SYS_gettimeofday, FUTEX_WAIT): Don't define.
	(sem_timedwait): Use __NR_gettimeofday.
	* sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Include
	lowlevellock.h.
	(LOCK): Don't define.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Include
	lowlevellock.h.
	(LOCK, SYS_futex, FUTEX_WAIT): Don't define.
	* sysdeps/unix/sysv/linux/powerpc/sem_post.c: Wake only when there
	are waiters.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: Revert
	2007-05-2{3,9} changes.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Include
	kernel-features.h and lowlevellock.h.
	(LOAD_PRIVATE_FUTEX_WAIT): Define.
	(LOAD_FUTEX_WAIT): Rewritten.
	(LOCK, SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Don't define.
	(__lll_lock_wait_private, __lll_unlock_wake_private): New functions.
	(__lll_mutex_lock_wait): Rename to ...
	(__lll_lock_wait): ... this.  %esi is now private argument.
	Don't compile in for libc.so.
	(__lll_mutex_timedlock_wait): Rename to ...
	(__lll_timedlock_wait): ... this.  %esi contains private argument.
	Don't compile in for libc.so.
	(__lll_mutex_unlock_wake): Rename to ...
	(__lll_unlock_wake): ... this.  %esi contains private argument.
	Don't compile in for libc.so.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S: Include
	kernel-features.h and lowlevellock.h.
	(LOAD_FUTEX_WAIT): Define.
	(LOCK, SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Don't define.
	(__lll_robust_mutex_lock_wait): Rename to ...
	(__lll_robust_lock_wait): ... this.  %esi argument contains private.
	Use LOAD_FUTEX_WAIT macro.
	(__lll_robust_mutex_timedlock_wait): Rename to ...
	(__lll_robust_timedlock_wait): ... this. %esi argument contains
	private, use LOAD_FUTEX_WAIT macro.
	* sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S: Include
	lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
	(pthread_barrier_wait): Rename __lll_mutex_* to __lll_*, pass
	PRIVATE(%rdi) ^ LLL_SHARED as private argument in %esi to
	__lll_lock_wait and __lll_unlock_wake.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S:
	Include lowlevellock.h and pthread-errnos.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_REQUEUE,
	FUTEX_CMP_REQUEUE, EINVAL, LOCK): Don't define.
	(__pthread_cond_broadcast): Rename __lll_mutex_* to __lll_*,
	pass LLL_SHARED in %esi to both __lll_lock_wait and
	__lll_unlock_wake.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S:
	Include lowlevellock.h and pthread-errnos.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_WAKE_OP,
	FUTEX_OP_CLEAR_WAKE_IF_GT_ONE, EINVAL, LOCK): Don't define.
	(__pthread_cond_signal): Rename __lll_mutex_* to __lll_*,
	pass LLL_SHARED in %esi to both __lll_lock_wait and
	__lll_unlock_wake.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:
	Include lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
	(__pthread_cond_timedwait): Rename __lll_mutex_* to __lll_*,
	pass LLL_SHARED in %esi to both __lll_lock_wait and
	__lll_unlock_wake.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:
	Include lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
	(__pthread_cond_wait, __condvar_cleanup): Rename __lll_mutex_*
	to __lll_*, pass LLL_SHARED in %esi to both __lll_lock_wait
	and __lll_unlock_wake.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S:
	Include lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG, LOCK):
	Don't define.
	(__pthread_rwlock_rdlock): Rename __lll_mutex_* to __lll_*,
	pass PSHARED(%rdi) in %esi to both __lll_lock_wait
	and __lll_unlock_wake.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S:
	Include lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG, LOCK):
	Don't define.
	(__pthread_rwlock_wrlock): Rename __lll_mutex_* to __lll_*,
	pass PSHARED(%rdi) in %esi to both __lll_lock_wait
	and __lll_unlock_wake.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S:
	Include lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG, LOCK):
	Don't define.
	(__pthread_rwlock_wrlock): Rename __lll_mutex_* to __lll_*,
	pass PSHARED(%rdi) in %esi to both __lll_lock_wait
	and __lll_unlock_wake.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S:
	Include lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG, LOCK):
	Don't define.
	(__pthread_rwlock_unlock): Rename __lll_mutex_* to __lll_*,
	pass PSHARED(%rdi) in %esi to both __lll_lock_wait
	and __lll_unlock_wake.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S:
	Include lowlevellock.h.
	(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG, LOCK):
	Don't define.
	(__pthread_rwlock_wrlock): Rename __lll_mutex_* to __lll_*,
	pass PSHARED(%rdi) in %ecx to both __lll_lock_wait
	and __lll_unlock_wake.
	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Include
	lowlevellock.h.
	(LOCK, SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Don't
	define.
	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Include lowlevellock.h.
	(LOCK, SYS_futex, FUTEX_WAKE): Don't define.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Include
	lowlevellock.h.
	(LOCK, SYS_futex, FUTEX_WAIT): Don't define.
	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Include
	lowlevellock.h.
	(LOCK): Don't define.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Include
	lowlevellock.h.
	(LOCK, SYS_futex, FUTEX_WAIT): Don't define.
	* sysdeps/unix/sysv/linux/sparc/internaltypes.h: New file.
	* sysdeps/unix/sysv/linux/sparc/pthread_barrier_destroy.c: New file.
	* sysdeps/unix/sysv/linux/sparc/pthread_barrier_init.c: New file.
	* sysdeps/unix/sysv/linux/sparc/pthread_barrier_wait.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c
	(__lll_lock_wait_private): New function.
	(__lll_lock_wait, __lll_timedlock_wait): Add private argument, pass
	it to lll_futex_*wait.  Don't compile in for libc.so.
	* sysdeps/unix/sysv/linux/sparc/sparc32/pthread_barrier_init.c:
	Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc32/pthread_barrier_wait.c
	(struct sparc_pthread_barrier): Remove.
	(pthread_barrier_wait): Use union sparc_pthread_barrier instead of
	struct sparc_pthread_barrier.  Pass
	ibarrier->s.pshared ? LLL_SHARED : LLL_PRIVATE to lll_{,un}lock
	and lll_futex_wait macros.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/pthread_barrier_init.c:
	Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/pthread_barrier_wait.c:
	Include sparc pthread_barrier_wait.c instead of generic one.

2007-07-30  Jakub Jelinek  <jakub@redhat.com>

	* tst-rwlock14.c (do_test): Avoid warnings on 32-bit arches.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S
	(pthread_rwlock_timedrdlock): Copy futex retval to %esi rather than
	%ecx.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S
	(pthread_rwlock_timedwrlock): Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S
	(__pthread_rwlock_unlock): Fix MUTEX != 0 args to __lll_*.

2007-07-31  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/tls.h (tcbhead_t): Add private_futex field.

2007-07-26  Jakub Jelinek  <jakub@redhat.com>

	* tst-locale2.c (useless): Add return statement.

2007-07-24  Jakub Jelinek  <jakub@redhat.com>

	* allocatestack.c (__nptl_setxid, __wait_lookup_done): Replace
	lll_private_futex_* (*) with lll_futex_* (*, LLL_PRIVATE).
	* pthread_create.c (start_thread): Likewise.
	* init.c (sighandler_setxid): Likewise.
	* sysdeps/alpha/tls.h (THREAD_GSCOPE_RESET_FLAG): Likewise.
	* sysdeps/ia64/tls.h (THREAD_GSCOPE_RESET_FLAG): Likewise.
	* sysdeps/i386/tls.h (THREAD_GSCOPE_RESET_FLAG): Likewise.
	* sysdeps/s390/tls.h (THREAD_GSCOPE_RESET_FLAG): Likewise.
	* sysdeps/powerpc/tls.h (THREAD_GSCOPE_RESET_FLAG): Likewise.
	* sysdeps/x86_64/tls.h (THREAD_GSCOPE_RESET_FLAG): Likewise.
	* sysdeps/sparc/tls.h (THREAD_GSCOPE_RESET_FLAG): Likewise.
	* sysdeps/sh/tls.h (THREAD_GSCOPE_RESET_FLAG): Likewise.
	* sysdeps/pthread/aio_misc.h (AIO_MISC_NOTIFY, AIO_MISC_WAIT):
	Likewise.
	* sysdeps/pthread/gai_misc.h (GAI_MISC_NOTIFY, GAI_MISC_WAIT):
	Likewise.
	* sysdeps/unix/sysv/linux/unregister-atfork.c (__unregister_atfork):
	Likewise.
	* sysdeps/unix/sysv/linux/rtld-lowlevel.h (__rtld_waitzero,
	__rtld_notify): Likewise.
	* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/pthread_once.c (clear_once_control,
	__pthread_once): Likewise.
	* sysdeps/unix/sysv/linux/alpha/pthread_once.c (clear_once_control,
	__pthread_once): Add LLL_PRIVATE as last argument to lll_futex_*.
	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h (FUTEX_PRIVATE_FLAG,
	LLL_PRIVATE, LLL_SHARED, __lll_private_flag): Define.
	(lll_futex_wait): Add private argument, define as wrapper around
	lll_futex_timed_wait.
	(lll_futex_timed_wait, lll_futex_wake): Add private argument,
	use __lll_private_flag macro.
	(lll_robust_mutex_dead, __lll_mutex_unlock, __lll_robust_mutex_unlock,
	__lll_mutex_unlock_force): Pass LLL_SHARED as last arg to lll_futex_*.
	* sysdeps/unix/sysv/linux/ia64/pthread_once.c (clear_once_control,
	__pthread_once): Add LLL_PRIVATE as last argument to lll_futex_*.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (FUTEX_PRIVATE_FLAG,
	LLL_PRIVATE, LLL_SHARED, __lll_private_flag): Define.
	(lll_futex_wait): Add private argument, define as wrapper around
	lll_futex_timed_wait.
	(lll_futex_timed_wait, lll_futex_wake): Add private argument,
	use __lll_private_flag macro.
	(__lll_mutex_unlock, __lll_robust_mutex_unlock, lll_wait_tid,
	__lll_mutex_unlock_force): Pass LLL_SHARED as last arg to lll_futex_*.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (__lll_private_flag):
	Define.
	(lll_futex_timed_wait, lll_futex_wake): Use it.
	(lll_private_futex_wait, lll_private_futex_timed_wait,
	lll_private_futex_wake): Removed.
	* sysdeps/unix/sysv/linux/s390/pthread_once.c (clear_once_control,
	__pthread_once): Add LLL_PRIVATE as last argument to lll_futex_*.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h (FUTEX_PRIVATE_FLAG,
	LLL_PRIVATE, LLL_SHARED, __lll_private_flag): Define.
	(lll_futex_wait): Add private argument, define as wrapper around
	lll_futex_timed_wait.
	(lll_futex_timed_wait, lll_futex_wake): Add private argument,
	use __lll_private_flag macro.
	(lll_robust_mutex_dead, __lll_mutex_unlock, __lll_robust_mutex_unlock,
	lll_wait_tid, __lll_mutex_unlock_force): Pass LLL_SHARED as last arg
	to lll_futex_*.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
	(lll_private_futex_wait, lll_private_futex_timed_wait,
	lll_private_futex_wake): Removed.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (__lll_private_flag):
	Fix !__ASSUME_PRIVATE_FUTEX non-constant private case.
	(lll_private_futex_wait, lll_private_futex_timed_wait,
	lll_private_futex_wake): Removed.
	* sysdeps/unix/sysv/linux/sparc/pthread_once.c (clear_once_control,
	__pthread_once): Add LLL_PRIVATE as last argument to lll_futex_*.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h (FUTEX_PRIVATE_FLAG,
	LLL_PRIVATE, LLL_SHARED, __lll_private_flag): Define.
	(lll_futex_wait): Add private argument, define as wrapper around
	lll_futex_timed_wait.
	(lll_futex_timed_wait, lll_futex_wake): Add private argument,
	use __lll_private_flag macro.
	(lll_robust_mutex_dead, __lll_mutex_unlock, __lll_robust_mutex_unlock,
	lll_wait_tid, __lll_mutex_unlock_force): Pass LLL_SHARED as last arg
	to lll_futex_*.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.h (__lll_private_flag):
	Define.
	(lll_futex_timed_wait, lll_futex_wake): Use it.
	(lll_private_futex_wait, lll_private_futex_timed_wait,
	lll_private_futex_wake): Removed.

2007-07-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/tls.h (tcbhead_t): Move gscope_flag to the end
	of the structure for sparc32.

2007-07-26  Aurelien Jarno  <aurelien@aurel32.net>

	* sysdeps/sparc/tls.h (tcbhead_t): Add gscope_flag.

2007-07-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S: Fix
	code used when private futexes are assumed.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S:
	Likewise.

2007-07-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
	(__lll_private_flag): Define.
	(lll_futex_wait): Define as a wrapper around lll_futex_timed_wait.
	(lll_futex_timed_wait, lll_futex_wake, lll_futex_wake_unlock): Use
	__lll_private_flag.
	(lll_private_futex_wait, lll_private_futex_timedwait,
	lll_private_futex_wake): Define as wrapper around non-_private
	macros.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
	(__lll_private_flag): Define.
	(lll_futex_timed_wait, lll_futex_wake): Use __lll_private_flag.
	(lll_private_futex_wait, lll_private_futex_timedwait,
	lll_private_futex_wake): Define as wrapper around non-_private
	macros.

2007-07-10  Steven Munroe  <sjmunroe@us.ibm.com>

	* pthread_rwlock_rdlock.c (__pthread_rwlock_rdlock): Add LLL_SHARED
	parameter to lll_futex_wait call.
	* pthread_rwlock_wrlock.c (__pthread_rwlock_wrlock): Likewise.

	* sysdeps/unix/sysv/linux/powerpc/pthread_once.c (__pthread_once):
	Replace lll_futex_wait with lll_private_futex_wait.
	* sysdeps/unix/sysv/linux/powerpc/sem_post.c (__new_sem_post):
	Add LLL_SHARED parameter to lll_futex_wake().

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Define LLL_PRIVATE
	LLL_SHARED, lll_private_futex_wait, lll_private_futex_timed_wait and
	lll_private_futex_wake.
	(lll_futex_wait): Add private parameter. Adjust FUTEX_PRIVATE_FLAG
	bit from private parm before syscall.
	(lll_futex_timed_wait): Likewise.
	(lll_futex_wake): Likewise.
	(lll_futex_wake_unlock): Likewise.
	(lll_mutex_unlock): Add LLL_SHARED parm to lll_futex_wake call.
	(lll_robust_mutex_unlock): Likewise.
	(lll_mutex_unlock_force): Likewise.
	(lll_wait_tid): Add LLL_SHARED parm to lll_futex_wait call.

2007-07-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S: Fix
	compilation when unconditionally using private futexes.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.

2007-07-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/bits/stdio-lock.h (_IO_acquire_lock_clear_flags2):
	Define.

2007-07-06  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/tls.h: Include stdlib.h, list.h, sysdep.h and
	kernel-features.h.

2007-05-16  Roland McGrath  <roland@redhat.com>

	* init.c (__nptl_initial_report_events): New variable.
	(__pthread_initialize_minimal_internal): Initialize pd->report_events
	to that.

2007-06-22  Jakub Jelinek  <jakub@redhat.com>

	* pthread_getattr_np.c (pthread_getattr_np): Clear cpuset and
	cpusetsize if pthread_getaffinity_np failed with ENOSYS.

2007-06-19  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/rtld-lowlevel.h: Remove mrlock
	implementation.

2007-06-18  Ulrich Drepper  <drepper@redhat.com>

	* pthreadP.h: Define PTHREAD_MUTEX_TYPE.
	* phtread_mutex_lock.c: Use PTHREAD_MUTEX_TYPE.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_trylock.c: Likewise.
	* pthread_mutex_unlock.c: Likewise.

2007-06-17  Andreas Schwab  <schwab@suse.de>

	* sysdeps/pthread/pt-initfini.c: Tell gcc about the nonstandard
	sections.

2007-06-17  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (allocate_stack): Make code compile if
	__ASSUME_PRIVATE_FUTEX is set.

2007-06-17  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S:
	(__pthread_rwlock_rdlock): Don't use non SH-3/4 instruction.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S:
	(__pthread_rwlock_wrlock): Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S:
	(pthread_rwlock_timedrdlock): Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S:
	(pthread_rwlock_timedwrlock): Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S:
	(__pthread_rwlock_unlock): Likewise.

2007-06-10  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/tcb-offsets.sym: Add PRIVATE_FUTEX.
	* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Include endian.h.
	Split __flags into __flags, __shared, __pad1 and __pad2.
	* sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Use private
	futexes if they are available.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Adjust so that change
	in libc-lowlevellock.S allow using private futexes.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Define
	FUTEX_PRIVATE_FLAG.  Add additional parameter to lll_futex_wait,
	lll_futex_timed_wait and lll_futex_wake.  Change lll_futex_wait
	to call lll_futex_timed_wait.  Add lll_private_futex_wait,
	lll_private_futex_timed_wait and lll_private_futex_wake.
	(lll_robust_mutex_unlock): Fix typo.
	* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: Use private
	field in futex command setup.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Use
	COND_NWAITERS_SHIFT instead of COND_CLOCK_BITS.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_once.S: Use private futexes
	if they are available.  Remove clear_once_control.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Use private
	futexes if they are available.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_post.S: Add private futex support.
	Wake only when there are waiters.
	* sysdeps/unix/sysv/linux/sh/sem_wait.S: Add private futex
	support.  Indicate that there are waiters.  Remove unnecessary
	extra cancellation test.
	* sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Likewise.  Removed
	left-over duplication of __sem_wait_cleanup.

2007-06-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Add additional
	parameter to lll_futex_wait, lll_futex_timed_wait, and
	lll_futex_wake.  Change lll_futex_wait to call lll_futex_timed_wait.
	Add lll_private_futex_wait, lll_private_futex_timed_wait, and
	lll_private_futex_wake.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise.
	* allocatestack.c: Adjust use of lll_futex_* macros.
	* init.c: Likewise.
	* lowlevellock.h: Likewise.
	* pthread_barrier_wait.c: Likewise.
	* pthread_cond_broadcast.c: Likewise.
	* pthread_cond_destroy.c: Likewise.
	* pthread_cond_signal.c: Likewise.
	* pthread_cond_timedwait.c: Likewise.
	* pthread_cond_wait.c: Likewise.
	* pthread_create.c: Likewise.
	* pthread_mutex_lock.c: Likewise.
	* pthread_mutex_setprioceiling.c: Likewise.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_unlock.c: Likewise.
	* pthread_rwlock_timedrdlock.c: Likewise.
	* pthread_rwlock_timedwrlock.c: Likewise.
	* pthread_rwlock_unlock.c: Likewise.
	* sysdeps/alpha/tls.h: Likewise.
	* sysdeps/i386/tls.h: Likewise.
	* sysdeps/ia64/tls.h: Likewise.
	* sysdeps/powerpc/tls.h: Likewise.
	* sysdeps/pthread/aio_misc.h: Likewise.
	* sysdeps/pthread/gai_misc.h: Likewise.
	* sysdeps/s390/tls.h: Likewise.
	* sysdeps/sh/tls.h: Likewise.
	* sysdeps/sparc/tls.h: Likewise.
	* sysdeps/unix/sysv/linux/fork.c: Likewise.
	* sysdeps/unix/sysv/linux/lowlevellock.c: Likewise.
	* sysdeps/unix/sysv/linux/lowlevelrobustlock.c: Likewise.
	* sysdeps/unix/sysv/linux/rtld-lowlevel.h: Likewise.
	* sysdeps/unix/sysv/linux/sem_post.c: Likewise.
	* sysdeps/unix/sysv/linux/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/sem_wait.c: Likewise.
	* sysdeps/unix/sysv/linux/unregister-atfork.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/pthread_once.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/pthread_barrier_wait.c:
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c: Likewise.
	* sysdeps/x86_64/tls.h: Likewise.

2007-05-29  Ulrich Drepper  <drepper@redhat.com>

	* pthread_getattr_np.c: No need to install a cancellation handler,
	this is no cancellation point.
	* pthread_getschedparam.c: Likewise.
	* pthread_setschedparam.c: Likewise.
	* pthread_setschedprio.c: Likewise.
	* sysdeps/unix/sysv/linux/lowlevellock.c: Remove all traces of
	lll_unlock_wake_cb.
	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: 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.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.

	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Checking
	whether there are more than one thread makes no sense here since
	we only call the slow path if the locks are taken.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: Likewise.

	* sysdeps/unix/sysv/linux/internaltypes.h: Introduce
	COND_NWAITERS_SHIFT.
	* pthread_cond_destroy.c: Use COND_NWAITERS_SHIFT instead of
	COND_CLOCK_BITS.
	* pthread_cond_init.c: Likewise.
	* pthread_cond_timedwait.c: Likewise.
	* pthread_cond_wait.c: Likewise.
	* pthread_condattr_getclock.c: Likewise.
	* pthread_condattr_setclock.c: Likewise.
	* sysdeps/unix/sysv/linux/lowlevelcond.sym: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.

2007-05-28  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstacksize.c: Include
	unistd.h.

	* sysdeps/i386/tls.h (THREAD_GSCOPE_RESET_FLAG): Use explicit
	insn suffix.
	(THREAD_GSCOPE_GET_FLAG): Remove.
	* sysdeps/x86_64/tls.h (THREAD_GSCOPE_GET_FLAG): Remove.
	* allocatestack.c (__wait_lookup_done): Revert 2007-05-24
	changes.
	* sysdeps/powerpc/tls.h (tcbhead_t): Remove gscope_flag.
	(THREAD_GSCOPE_GET_FLAG): Remove.
	(THREAD_GSCOPE_RESET_FLAG): Use THREAD_SELF->header.gscope_flag
	instead of THREAD_GSCOPE_GET_FLAG.
	(THREAD_GSCOPE_SET_FLAG): Likewise.  Add atomic_write_barrier after
	it.
	* sysdeps/s390/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
	THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT,
	THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
	THREAD_GSCOPE_WAIT): Define.
	* sysdeps/sparc/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
	THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT,
	THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
	THREAD_GSCOPE_WAIT): Define.
	* sysdeps/sh/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
	THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT,
	THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
	THREAD_GSCOPE_WAIT): Define.
	* sysdeps/ia64/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
	THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT,
	THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
	THREAD_GSCOPE_WAIT): Define.

2007-05-24  Richard Henderson  <rth@redhat.com>

	* descr.h (struct pthread): Add header.gscope_flag.
	* sysdeps/alpha/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
	THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT,
	THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
	THREAD_GSCOPE_WAIT): Define.

2007-05-27  Ulrich Drepper  <drepper@redhat.com>

	* init.c: Make it compile with older kernel headers.

	* tst-initializers1.c: Show through exit code which test failed.

	* pthread_rwlock_init.c: Also initialize __shared field.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Split __flags
	element in rwlock structure into four byte elements.  One of them is
	the new __shared element.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h [__WORDSIZE=32]:
	Likewise.
	[__WORDSIZE=64]: Renamed __pad1 element int rwlock structure to
	__shared, adjust names of other padding elements.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
	* sysdeps/pthread/pthread.h: Adjust rwlock initializers.
	* sysdeps/unix/sysv/linux/lowlevelrwlock.sym: Add PSHARED.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Define
	FUTEX_PRIVATE_FLAG.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Change main
	futex to use private operations if possible.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
	* 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.

2007-05-26  Ulrich Drepper  <drepper@redhat.com>

	* pthreadP.h (PTHREAD_RWLOCK_PREFER_READER_P): Define.
	* pthread_rwlock_rdlock.c: Use PTHREAD_RWLOCK_PREFER_READER_P.
	* pthread_rwlock_timedrdlock.c: Likewise.
	* pthread_rwlock_tryrdlock.c: Likewise.

	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S (sem_trywait): Tiny
	optimization.

	* sysdeps/unix/sysv/linux/sem_wait.c: Add missing break.
	* sysdeps/unix/sysv/linux/sem_timedwait.c: Removed left-over
	duplication of __sem_wait_cleanup.

	* allocatestack.c: Revert last change.
	* init.c: Likewise.
	* sysdeps/i386/tls.h: Likewise.
	* sysdeps/x86_64/tls.h: Likewise.
	* descr.h [TLS_DTV_AT_TP] (struct pthread): Add private_futex field to
	header structure.
	* sysdeps/powerpc/tcb-offsets.sym: Add PRIVATE_FUTEX_OFFSET.

	* sysdeps/unix/sysv/linux/internaltypes.h (struct pthread_barrier):
	Add private field.
	* sysdeps/unix/sysv/linux/lowlevelbarrier.sym: Add PRIVATE definition.
	* pthread_barrier_init.c: Set private flag if pshared and private
	futexes are supported.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Use
	private field in futex command setup.
	* sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S: Likewise.

2007-05-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Add private futex
	support.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.

	* semaphoreP.h: Declare __old_sem_init and __old_sem_wait.
	* sem_init.c (__new_sem_init): Rewrite to initialize all three
	fields in the structure.
	(__old_sem_init): New function.
	* sem_open.c: Initialize all fields of the structure.
	* sem_getvalue.c: Adjust for renamed element.
	* sysdeps/unix/sysv/linux/Makefile [subdir=nptl]
	(gen-as-const-headers): Add structsem.sym.
	* sysdeps/unix/sysv/linux/structsem.sym: New file.
	* sysdeps/unix/sysv/linux/internaltypes.h: Rename struct sem to
	struct new_sem.  Add struct old_sem.
	* sysdeps/unix/sysv/linux/sem_post.c: Wake only when there are waiters.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/sem_wait.c: Indicate that there are waiters.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
	* Makefile (tests): Add tst-sem10, tst-sem11, tst-sem12.
	* tst-sem10.c: New file.
	* tst-sem11.c: New file.
	* tst-sem12.c: New file.
	* tst-typesizes.c: Test struct new_sem and struct old_sem instead
	of struct sem.

2007-05-25  Ulrich Drepper  <drepper@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait):
	Move __pthread_enable_asynccancel right before futex syscall.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
	Likewise.

2007-05-24  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/tls.h (THREAD_SET_PRIVATE_FUTEX,
	THREAD_COPY_PRIVATE_FUTEX): Define.
	* sysdeps/x86_64/tls.h (THREAD_SET_PRIVATE_FUTEX,
	THREAD_COPY_PRIVATE_FUTEX): Define.
	* allocatestack.c (allocate_stack): Use THREAD_COPY_PRIVATE_FUTEX.
	* init.c (__pthread_initialize_minimal_internal): Use
	THREAD_SET_PRIVATE_FUTEX.

	* sysdeps/powerpc/tls.h (tcbhead_t): Add gscope_flag.
	(THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED,
	THREAD_GSCOPE_FLAG_WAIT): Define.
	(THREAD_GSCOPE_GET_FLAG, THREAD_GSCOPE_SET_FLAG,
	THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_WAIT): Define.
	* sysdeps/i386/tls.h (THREAD_GSCOPE_WAIT): Don't use
	PTR_DEMANGLE.
	(THREAD_GSCOPE_GET_FLAG): Define.
	* sysdeps/x86_64/tls.h (THREAD_GSCOPE_GET_FLAG): Define.
	* allocatestack.c (__wait_lookup_done): Use THREAD_GSCOPE_GET_FLAG
	instead of ->header.gscope_flag directly.

2007-05-23  Ulrich Drepper  <drepper@redhat.com>

	* init.c (__pthread_initialize_minimal_internal): Check whether
	private futexes are available.
	* allocatestack.c (allocate_stack): Copy private_futex field from
	current thread into the new stack.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: Use private
	futexes if they are available.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Likewise
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Adjust so that change
	in libc-lowlevellock.S allow using private futexes.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Define
	FUTEX_PRIVATE_FLAG.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Use private futexes
	if they are available.
	* sysdeps/unix/sysv/linux/i386/pthread_once.S: Likewise.
	* sysdeps/x86_64/tcb-offsets.sym: Add PRIVATE_FUTEX.
	* sysdeps/i386/tcb-offsets.sym: Likewise.
	* sysdeps/x86_64/tls.h (tcbhead_t): Add private_futex field.
	* sysdeps/i386/tls.h (tcbhead_t): Likewise.

2007-05-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread-functions.h (struct pthread_functions):
	Remove ptr_wait_lookup_done again.
	* init.c (pthread_functions): Don't add .ptr_wait_lookup_done here.
	(__pthread_initialize_minimal_internal): Initialize
	_dl_wait_lookup_done pointer in _rtld_global directly.
	* sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
	Remove code to code _dl_wait_lookup_done.
	* sysdeps/x86_64/tls.h (THREAD_GSCOPE_WAIT): The pointer is not
	encrypted for now.

2007-05-21  Jakub Jelinek  <jakub@redhat.com>

	* tst-robust9.c (do_test): Don't fail if ENABLE_PI and
	pthread_mutex_init failed with ENOTSUP.

2007-05-19  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (__wait_lookup_done): New function.
	* sysdeps/pthread/pthread-functions.h (struct pthread_functions):
	Add ptr_wait_lookup_done.
	* init.c (pthread_functions): Initialize .ptr_wait_lookup_done.
	* pthreadP.h: Declare __wait_lookup_done.
	* sysdeps/i386/tls.h (tcbhead_t): Add gscope_flag.
	Define macros to implement reference handling of global scope.
	* sysdeps/x86_64/tls.h: Likewise.
	* sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
	Initialize GL(dl_wait_lookup_done).

2007-05-17  Ulrich Drepper  <drepper@redhat.com>

	[BZ #4512]
	* pthread_mutex_lock.c: Preserve FUTEX_WAITERS bit when dead owner
	is detected.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_trylock.c: Likewise.
	Patch in part by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.

	* Makefile (tests): Add tst-robust9 and tst-robustpi9.
	* tst-robust9.c: New file.
	* tst-robustpi9.c: New file.

	* sysdeps/unix/sysv/linux/sem_wait.c (__new_sem_wait): Remove
	unnecessary extra cancellation test.

2007-05-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Remove unnecessary
	extra cancellation test.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.

2007-05-10  Ulrich Drepper  <drepper@redhat.com>

	* descr.h (struct pthread): Rearrange members to fill hole in
	64-bit layout.

	* sysdeps/unix/sysv/linux/pthread_setaffinity.c
	(__pthread_setaffinity_new): If syscall was successful and
	RESET_VGETCPU_CACHE is defined, use it before returning.
	* sysdeps/unix/sysv/linux/x86_64/pthread_setaffinity.c: New file.

2007-05-10  Jakub Jelinek  <jakub@redhat.com>

	[BZ #4455]
	* tst-align2.c: Include stackinfo.h.
	* tst-getpid1.c: Likewise.

2007-05-02  Carlos O'Donell  <carlos@systemhalted.org>

	[BZ #4455]
	* tst-align2.c (do_test): Add _STACK_GROWS_UP case.
	* tst-getpid1.c (do_test): Likewise.

	[BZ #4456]
	* allocatestack.c (change_stack_perm): Add _STACK_GROWS_UP case.
	(allocate_stack): Likewise.

2007-05-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/lowlevelrobustlock.c
	(__lll_robust_lock_wait): Fix race caused by reloading of futex value.
	(__lll_robust_timedlock_wait): Likewise.
	Reported by Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>.

2007-05-06  Mike Frysinger  <vapier@gentoo.org>

	[BZ #4465]
	* tst-cancel-wrappers.sh: Set C["fdatasync"] to 1.
	* tst-cancel4.c (tf_fdatasync): New test.

2007-04-27  Ulrich Drepper  <drepper@redhat.com>

	[BZ #4392]
	* pthread_mutex_trylock.c (__pthread_mutex_trylock): Treat error
	check mutexes like normal mutexes.

	[BZ #4306]
	* sysdeps/unix/sysv/linux/timer_create.c (timer_create):
	Initialize the whole sigevent structure to appease valgrind.

2007-04-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/tls.h (tcbhead_t): Add vgetcpu_cache.
	* sysdeps/x86_64/tcb-offsets.sym: Add VGETCPU_CACHE_OFFSET.

2007-04-06  Ulrich Drepper  <drepper@redhat.com>

	* tst-locale1.c: Avoid warnings.
	* tst-locale2.c: Likewise.

2007-03-19  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
	(__lll_robust_trylock):	Add MUTEX_HINT_ACQ to lwarx instruction.

2007-03-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/bits/libc-lock.h: Use __extern_inline and
	__extern_always_inline where appropriate.
	* sysdeps/pthread/pthread.h: Likewise.

2007-03-13  Richard Henderson  <rth@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Use two
	separate cfi regions for the two subsections.

2007-02-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Reset refcntr in
	new thread, don't just decrement it.
	Patch by Suzuki K P <suzuki@in.ibm.com>.

2007-02-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread-functions.h: Correct last patch, correct
	PTHFCT_CALL definition.

2007-02-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread-functions.h: If PTR_DEMANGLE is not
	available, don't use it.

2007-02-09  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
	(__lll_mutex_timedlock_wait): Use correct pointer when we don't
	call into the kernel to delay.

2007-01-18  Ulrich Drepper  <drepper@redhat.com>

	* tst-initializers1.c: We want to test the initializers as seen
	outside of libc, so undefined _LIBC.

	* pthread_join.c (cleanup): Avoid warning.

2007-01-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
	(__lll_timedwait_tid): Add unwind info.

	* sysdeps/unix/sysv/linux/libc_pthread_init.c: Don't just copy the
	function table, mangle the pointers.
	* sysdeps/pthread/pthread-functions.h: Define PTHFCT_CALL.
	* forward.c: Use PTHFCT_CALL and __libc_pthread_functions_init.
	* sysdeps/pthread/bits/libc-lock.h: When using __libc_pthread_functions
	demangle pointers before use.
	* sysdeps/unix/sysv/linux/s390/jmp-unwind.c: Use PTHFCT_CALL to
	demangle pointer.
	* sysdeps/unix/sysv/linux/jmp-unwind.c: Likewise.
	* sysdeps/pthread/setxid.h: Likewise.

2007-01-12  Ulrich Drepper  <drepper@redhat.com>

	* tst-rwlock7.c: Show some more information in case of correct
	behavior.

2007-01-11  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
	(lll_futex_timed_wait): Undo part of last change, don't negate
	return value.

2007-01-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Cleanups.  Define
	FUTEX_CMP_REQUEUE and lll_futex_requeue.

2006-12-28  David S. Miller  <davem@davemloft.net>

	* shlib-versions: Fix sparc64 linux target specification.

2007-01-10  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/pthread_barrier_wait.c:
	Adjust include path for pthread_barrier_wait.c move.

2006-12-21  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/pthread_kill.c (pthread_kill): Make sure
	tid isn't reread from pd->tid in between ESRCH test and the syscall.

2006-12-06  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO): Handle
	6 argument cancellable syscalls.
	(STM_6, LM_6, LR7_0, LR7_1, LR7_2, LR7_3, LR7_4, LR7_5, LR7_6): Define.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO): Handle
	6 argument cancellable syscalls.
	(STM_6, LM_6, LR7_0, LR7_1, LR7_2, LR7_3, LR7_4, LR7_5, LR7_6): Define.

2006-12-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/rtld-lowlevel.h
	(__rtld_mrlock_initialize): Add missing closing parenthesis.

2006-10-30  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ia64/pthread_spin_unlock.c (pthread_spin_unlock): Use
	__sync_lock_release instead of __sync_lock_release_si.

2006-10-29  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (RTLD_SINGLE_THREAD_P):
	Define.
	(SINGLE_THREAD_P): Define to 1 if IS_IN_rtld.
	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise.

2006-10-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread_barrier_wait.c: Move to...
	* pthread_barrier_wait.c: ...here.
	* sysdeps/pthread/pthread_cond_broadcast.c: Move to...
	* pthread_cond_broadcast.c: ...here.
	* sysdeps/pthread/pthread_cond_signal.c: Move to...
	* pthread_cond_signal.c: ...here.
	* sysdeps/pthread/pthread_cond_timedwait.c: Move to...
	* pthread_cond_timedwait.c: ...here.
	* sysdeps/pthread/pthread_cond_wait.c: Move to...
	* pthread_cond_wait.c: ...here.
	* sysdeps/pthread/pthread_once.c: Move to...
	* pthread_once.c: ...here.
	* sysdeps/pthread/pthread_rwlock_rdlock.c: Move to...
	* pthread_rwlock_rdlock.c: ...here.
	* sysdeps/pthread/pthread_rwlock_timedrdlock.c: Move to...
	* pthread_rwlock_timedrdlock.c: ...here.
	* sysdeps/pthread/pthread_rwlock_timedwrlock.c: Move to...
	* pthread_rwlock_timedwrlock.c: ...here.
	* sysdeps/pthread/pthread_rwlock_unlock.c: Move to...
	* pthread_rwlock_unlock.c: ...here.
	* sysdeps/pthread/pthread_rwlock_wrlock.c: Move to...
	* pthread_rwlock_wrlock.c: ...here.
	* sysdeps/pthread/pthread_spin_destroy.c: Move to...
	* pthread_spin_destroy.c: ...here.
	* sysdeps/pthread/pthread_spin_init.c: Move to...
	* pthread_spin_init.c: ...here.
	* sysdeps/pthread/pthread_spin_unlock.c: Move to...
	* pthread_spin_unlock.c: ...here.
	* sysdeps/pthread/pthread_getcpuclockid.c: Move to...
	* pthread_getcpuclockid.c: ...here.

	* init.c: USE_TLS support is now always enabled.
	* tst-tls5.h: Likewise.
	* sysdeps/alpha/tls.h: Likewise.
	* 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.

2006-10-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/rtld-lowlevel.h (__rtld_mrlock_lock,
	__rtld_mrlock_change): Update oldval if atomic compare and exchange
	failed.

	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (SINGLE_THREAD_P):
	Define to THREAD_SELF->header.multiple_threads.
	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (SINGLE_THREAD_P):
	Likewise.
	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (SINGLE_THREAD_P):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
	(SINGLE_THREAD_P): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
	(SINGLE_THREAD_P): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
	(SINGLE_THREAD_P): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
	(SINGLE_THREAD_P): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (SINGLE_THREAD_P):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
	(SINGLE_THREAD_P): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
	(SINGLE_THREAD_P): Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (SINGLE_THREAD_P):
	Likewise.

2006-10-26  Jakub Jelinek  <jakub@redhat.com>

	* pthread_attr_setstacksize.c (NEW_VERNUM): Define to GLIBC_2_3_3
	by default rather than 2_3_3.

2006-10-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/rtld-lowlevel.h (__rtld_mrlock_lock,
	__rtld_mrlock_unlock, __rtld_mrlock_change, __rtld_mrlock_done): Use
	atomic_* instead of catomic_* macros.

2006-10-12  Ulrich Drepper  <drepper@redhat.com>

	[BZ #3285]
	* sysdeps/unix/sysv/linux/bits/local_lim.h: Add SEM_VALUE_MAX.
	* sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/local_lim.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/local_lim.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/local_lim.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/semaphore.h: Remove SEM_VALUE_MAX.
	* sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/semaphore.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/semaphore.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/semaphore.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/semaphore.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/semaphore.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/semaphore.h: Likewise.

2006-10-11  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Add support for
	cancelable syscalls with six parameters.

	* sysdeps/unix/sysv/linux/rtld-lowlevel.h: Use catomic_*
	operations instead of atomic_*.

2006-10-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/rtld-lowlevel.h: New file..

2006-10-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstack.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstacksize.c:
	New file.
	* pthread_attr_setstack.c: Allow overwriting the version number of the
	new symbol.
	* pthread_attr_setstacksize.c: Likewise.
	(__old_pthread_attr_setstacksize): If STACKSIZE_ADJUST is defined use
	it.
	* sysdeps/unix/sysv/linux/powerpc/Versions (libpthread): Add
	pthread_attr_setstack and pthread_attr_setstacksize to GLIBC_2.6.

2006-09-24  Ulrich Drepper  <drepper@redhat.com>

	[BZ #3251]
	* descr.h (ENQUEUE_MUTEX_BOTH): Add cast to avoid warning.
	Patch by Petr Baudis.

2006-09-18  Jakub Jelinek  <jakub@redhat.com>

	* tst-kill4.c (do_test): Explicitly set tf thread's stack size.

	* tst-cancel2.c (tf): Loop as long as something was written.

2006-09-12  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S: For PI
	mutexes wake all mutexes.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Don't increment
	WAKEUP_SEQ if this would increase the value beyond TOTAL_SEQ.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.

2006-09-12  Ulrich Drepper  <drepper@redhat.com>

	* tst-cond22.c (tf): Slight changes to the pthread_cond_wait use
	to guarantee the thread is always canceled.

2006-09-08  Jakub Jelinek  <jakub@redhat.com>

	* tst-cond22.c: Include pthread.h instead of pthreadP.h.
	Include stdlib.h.
	* sysdeps/pthread/pthread_cond_wait.c (__condvar_cleanup): Only
	increase FUTEX if increasing WAKEUP_SEQ.  Fix comment typo.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.

2006-09-08  Ulrich Drepper  <drepper@redhat.com>

	[BZ #3123]
	* sysdeps/pthread/pthread_cond_wait.c (__condvar_cleanup): Don't
	increment WAKEUP_SEQ if this would increase the value beyond TOTAL_SEQ.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
	* Makefile (tests): Add tst-cond22.
	* tst-cond22.c: New file.

2006-09-05  Ulrich Drepper  <drepper@redhat.com>

	[BZ #3124]
	* descr.h (struct pthread): Add parent_cancelhandling.
	* sysdeps/pthread/createthread.c (create_thread): Pass parent
	cancelhandling value to child.
	* pthread_create.c (start_thread): If parent thread was canceled
	reset the SIGCANCEL mask.
	* Makefile (tests): Add tst-cancel25.
	* tst-cancel25.c: New file.

2006-09-05  Jakub Jelinek  <jakub@redhat.com>
	    Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/gai_misc.h (GAI_MISC_NOTIFY): Don't decrement
	counterp if it is already zero.
	* sysdeps/pthread/aio_misc.h (AIO_MISC_NOTIFY): Likewise..

2006-03-04  Jakub Jelinek  <jakub@redhat.com>
	    Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h
	(LLL_STUB_UNWIND_INFO_START, LLL_STUB_UNWIND_INFO_END,
	LLL_STUB_UNWIND_INFO_3, LLL_STUB_UNWIND_INFO_4): Define.
	(lll_mutex_lock, lll_robust_mutex_lock, lll_mutex_cond_lock,
	lll_robust_mutex_cond_lock, lll_mutex_timedlock,
	lll_robust_mutex_timedlock, lll_mutex_unlock,
	lll_robust_mutex_unlock, lll_lock, lll_unlock): Use them.
	Add _L_*_ symbols around the subsection.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Add unwind info.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelrobustlock.S: Likewise.

2006-03-03  Jakub Jelinek  <jakub@redhat.com>
	    Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
	(LLL_STUB_UNWIND_INFO_START, LLL_STUB_UNWIND_INFO_END,
	LLL_STUB_UNWIND_INFO_5, LLL_STUB_UNWIND_INFO_6): Define.
	(lll_mutex_lock, lll_robust_mutex_lock, lll_mutex_cond_lock,
	lll_robust_mutex_cond_lock, lll_mutex_timedlock,
	lll_robust_mutex_timedlock, lll_mutex_unlock,
	lll_robust_mutex_unlock, lll_lock, lll_unlock): Use them.
	Add _L_*_ symbols around the subsection.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Add unwind info.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S: Likewise.

2006-08-31  Ulrich Drepper  <drepper@redhat.com>

	* pthread_rwlock_trywrlock.c (__pthread_rwlock_trywrlock): Undo last
	change because it can disturb too much existing code.  If real hard
	reader preference is needed we'll introduce another type.
	* sysdeps/pthread/pthread_rwlock_timedwrlock.c
	(pthread_rwlock_timedwrlock): Likewise.
	* sysdeps/pthread/pthread_rwlock_wrlock.c (__pthread_rwlock_wrlock):
	Likewise.

2006-08-30  Ulrich Drepper  <drepper@redhat.com>

	* pthread_rwlock_trywrlock.c (__pthread_rwlock_trywrlock): Respect
	reader preference.
	* sysdeps/pthread/pthread_rwlock_timedwrlock.c
	(pthread_rwlock_timedwrlock): Likewise.
	* sysdeps/pthread/pthread_rwlock_wrlock.c (__pthread_rwlock_wrlock):
	Likewise.

2006-08-25  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/libc_pthread_init.c (freeres_libpthread):
	Only define ifdef SHARED.

2006-08-23  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (queue_stack): Move freeing of surplus stacks to...
	(free_stacks): ...here.
	(__free_stack_cache): New function.
	* pthreadP.h: Declare __free_stack_cache.
	* sysdeps/pthread/pthread-functions.h (pthread_functions): Add
	ptr_freeres.
	* init.c (pthread_functions): Initialize ptr_freeres.
	* sysdeps/unix/sysv/linux/libc_pthread_init.c (freeres_libptread):
	New freeres function.

2006-07-30  Joseph S. Myers  <joseph@codesourcery.com>

	[BZ #3018]
	* Makefile (extra-objs): Add modules to extra-test-objs instead.

2006-08-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
	_XOPEN_REALTIME_THREADS.

2006-08-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/clock_settime.c (INTERNAL_VSYSCALL): Use
	HAVE_CLOCK_GETRES_VSYSCALL as guard macro rather than
	HAVE_CLOCK_GETTIME_VSYSCALL.
	(maybe_syscall_settime_cpu): Use plain INTERNAL_VSYSCALL here.

2006-08-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/bits/posix_opt.h
	(_POSIX_THREAD_PRIO_PROTECT): Define to 200112L.
	* descr.h (struct priority_protection_data): New type.
	(struct pthread): Add tpp field.
	* pthreadP.h (PTHREAD_MUTEX_PP_NORMAL_NP,
	PTHREAD_MUTEX_PP_RECURSIVE_NP, PTHREAD_MUTEX_PP_ERRORCHECK_NP,
	PTHREAD_MUTEX_PP_ADAPTIVE_NP): New enum values.
	* pthread_mutex_init.c (__pthread_mutex_init): Handle non-robust
	TPP mutexes.
	* pthread_mutex_lock.c (__pthread_mutex_lock): Handle TPP mutexes.
	* pthread_mutex_trylock.c (__pthread_mutex_trylock): Likewise.
	* pthread_mutex_timedlock.c (pthread_mutex_timedlock): Likewise.
	* pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): Likewise.
	* tpp.c: New file.
	* pthread_setschedparam.c (__pthread_setschedparam): Handle priority
	boosted by TPP.
	* pthread_setschedprio.c (pthread_setschedprio): Likewise.
	* pthread_mutexattr_getprioceiling.c
	(pthread_mutexattr_getprioceiling): If ceiling is 0, ensure it is
	in the SCHED_FIFO priority range.
	* pthread_mutexattr_setprioceiling.c
	(pthread_mutexattr_setprioceiling): Fix prioceiling validation.
	* pthread_mutex_getprioceiling.c (pthread_mutex_getprioceiling): Fail
	if mutex is not TPP.  Ceiling is now in __data.__lock.
	* pthread_mutex_setprioceiling.c: Include stdbool.h.
	(pthread_mutex_setprioceiling): Fix prioceiling validation.  Ceiling
	is now in __data.__lock.  Add locking.
	* pthread_create.c (__free_tcb): Free pd->tpp structure.
	* Makefile (libpthread-routines): Add tpp.
	(xtests): Add tst-mutexpp1, tst-mutexpp6 and tst-mutexpp10.
	* tst-tpp.h: New file.
	* tst-mutexpp1.c: New file.
	* tst-mutexpp6.c: New file.
	* tst-mutexpp10.c: New file.
	* tst-mutex1.c (TEST_FUNCTION): Don't redefine if already defined.
	* tst-mutex6.c (TEST_FUNCTION): Likewise.

2006-08-12  Ulrich Drepper  <drepper@redhat.com>

	[BZ #2843]
	* pthread_join.c (pthread_join): Account for self being canceled
	when checking for deadlocks.
	* tst-join5.c: Cleanups.  Allow to be used in tst-join6.
	(tf1): Don't print anything after pthread_join returns, this would be
	another cancellation point.
	(tf2): Likewise.
	* tst-join6.c: New file.
	* Makefile (tests): Add tst-join6.

2006-08-03  Ulrich Drepper  <drepper@redhat.com>

	[BZ #2892]
	* pthread_setspecific.c (__pthread_setspecific): Check
	out-of-range index before checking for unused key.

	* sysdeps/pthread/gai_misc.h: New file.

2006-08-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/smp.h: New file.  Old Linux-specific
	file.  Don't use sysctl.
	* sysdeps/unix/sysv/linux/smp.h: Always assume SMP.  Archs can
	overwrite the file if this is likely not true.

2006-07-31  Daniel Jacobowitz  <dan@codesourcery.com>

	* allocatestack.c (__reclaim_stacks): Reset the PID on cached stacks.
	* Makefile (tests): Add tst-getpid3.
	* tst-getpid3.c: New file.

2006-07-30  Roland McGrath  <roland@redhat.com>

	* Makefile (libpthread-routines): Add ptw-sigsuspend.

	* sysdeps/unix/sysv/linux/i386/not-cancel.h
	(pause_not_cancel): New macro.
	(nanosleep_not_cancel): New macro.
	(sigsuspend_not_cancel): New macro.
	* pthread_mutex_timedlock.c (pthread_mutex_timedlock): Use
	nanosleep_not_cancel macro from <not-cancel.h>.
	* pthread_mutex_lock.c (__pthread_mutex_lock): Use pause_not_cancel
	macro from <not-cancel.h>.

2006-07-28  Ulrich Drepper  <drepper@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* descr.h: Change ENQUEUE_MUTEX and DEQUEUE_MUTEX for bit 0
	notification of PI mutex.  Add ENQUEUE_MUTEX_PI.
	* pthreadP.h: Define PTHREAD_MUTEX_PI_* macros for PI mutex types.
	* pthread_mutex_setprioceilining.c: Adjust for mutex type name change.
	* pthread_mutex_init.c: Add support for priority inheritance mutex.
	* pthread_mutex_lock.c: Likewise.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_trylock.c: Likewise.
	* pthread_mutex_unlock.c: Likewise.
	* sysdeps/pthread/pthread_cond_broadcast.c: For PI mutexes wake
	all mutexes.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.c: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.c: Likewise.
	* sysdeps/unix/sysv/linux/pthread-pi-defines.sym: New file.
	* sysdeps/unix/sysv/linux/Makefile (gen-as-const-header): Add
	pthread-pi-defines.sym.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Define FUTEX_LOCK_PI,
	FUTEX_UNLOCK_PI, and FUTEX_TRYLOCK_PI.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/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.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
	_POSIX_THREAD_PRIO_INHERIT to 200112L.
	* tst-mutex1.c: Adjust to allow use in PI mutex test.
	* tst-mutex2.c: Likewise.
	* tst-mutex3.c: Likewise.
	* tst-mutex4.c: Likewise.
	* tst-mutex5.c: Likewise.
	* tst-mutex6.c: Likewise.
	* tst-mutex7.c: Likewise.
	* tst-mutex7a.c: Likewise.
	* tst-mutex8.c: Likewise.
	* tst-mutex9.c: Likewise.
	* tst-robust1.c: Likewise.
	* tst-robust7.c: Likewise.
	* tst-robust8.c: Likewise.
	* tst-mutexpi1.c: New file.
	* tst-mutexpi2.c: New file.
	* tst-mutexpi3.c: New file.
	* tst-mutexpi4.c: New file.
	* tst-mutexpi5.c: New file.
	* tst-mutexpi6.c: New file.
	* tst-mutexpi7.c: New file.
	* tst-mutexpi7a.c: New file.
	* tst-mutexpi8.c: New file.
	* tst-mutexpi9.c: New file.
	* tst-robust1.c: New file.
	* tst-robust2.c: New file.
	* tst-robust3.c: New file.
	* tst-robust4.c: New file.
	* tst-robust5.c: New file.
	* tst-robust6.c: New file.
	* tst-robust7.c: New file.
	* tst-robust8.c: New file.
	* Makefile (tests): Add the new tests.

	* pthread_create.c (start_thread): Add some casts to avoid warnings.
	* pthread_mutex_destroy.c: Remove unneeded label.

2006-07-01  Ulrich Drepper  <drepper@redhat.com>

	* pthread_mutex_init.c (__pthread_mutex_init): Move some
	computations to compile time.

2006-06-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h: Add pthread_equal inline version.

2006-05-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/fork.h: Mark __fork_handlers as hidden.

2006-05-11  Ulrich Drepper  <drepper@redhat.com>

	* pthread_key_create.c (__pthread_key_create): Do away with
	__pthread_keys_lock.

	* sysdeps/unix/sysv/linux/pthread_setaffinity.c
	(__kernel_cpumask_size): Mark as hidden.
	* sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c: Likewise.

	* sem_open.c (__sem_mappings_lock): Mark as hidden.
	* semaphoreP.h (__sem_mappings_lock): Likewise.

2006-05-10  Ulrich Drepper  <drepper@redhat.com>

	* pthread_atfork.c: Mark __dso_handle as hidden.

2006-05-09  Ulrich Drepper  <drepper@redhat.com>

	[BZ #2644]
	* sysdeps/pthread/unwind-forcedunwind.c: Different solution for
	the reload problem.  Change the one path in pthread_cancel_init
	which causes the problem.  Force gcc to reload.  Simplify callers.
	* sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c
	(_Unwind_GetBSP): Undo last patch.

2006-05-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c: Make sure the
	function pointer is reloaded after pthread_cancel_init calls.

	[BZ #2644]
	* sysdeps/pthread/unwind-forcedunwind.c: Make sure functions
	pointers are reloaded after pthread_cancel_init calls.

2006-05-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/allocalim.h (__libc_use_alloca): Mark with
	__always_inline.

2006-04-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/timer_routines.c (timer_helper_thread):
	Allocate new object which is passed to timer_sigev_thread so that
	the timer can be deleted before the new thread is scheduled.

2006-04-26  Roland McGrath  <roland@redhat.com>

	* sysdeps/x86_64/tls.h: Include <asm/prctl.h> inside [! __ASSEMBLER__].

2006-04-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Remove branch predicion
	suffix for conditional jumps.
	* sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.

	* init.c (sigcancel_handler): Compare with correct PID even if the
	thread is in the middle of a fork call.
	(sighandler_setxid): Likewise.
	Reported by Suzuki K P <suzuki@in.ibm.com> .

2006-04-07  Jakub Jelinek  <jakub@redhat.com>

	* pthreadP.h (FUTEX_TID_MASK): Sync with kernel.

2006-04-06  Ulrich Drepper  <drepper@redhat.com>

	* pthread_getattr_np.c (pthread_getattr_np): Close fp if getrlimit
	fails [Coverity CID 105].

2006-04-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h: Add nonnull attributes.

2006-04-03  Steven Munroe  <sjmunroe@us.ibm.com>

	[BZ #2505]
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h [_ARCH_PWR4]:
	Define __lll_rel_instr using lwsync.

2006-03-27  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (allocate_stack): Always initialize robust_head.
	* descr.h: Define struct robust_list_head.
	(struct pthread): Use robust_list_head in robust mutex list definition.
	Adjust ENQUEUE_MUTEX and DEQUEUE_MUTEX.
	* init.c [!__ASSUME_SET_ROBUST_LIST] (__set_robust_list_avail): Define.
	(__pthread_initialize_minimal_internal): Register robust_list with
	the kernel.
	* pthreadP.h: Remove PRIVATE_ from PTHREAD_MUTEX_ROBUST_* names.
	Declare __set_robust_list_avail.
	* pthread_create.c (start_thread): Register robust_list of new thread.
	[!__ASSUME_SET_ROBUST_LIST]: If robust_list is not empty wake up
	waiters.
	* pthread_mutex_destroy.c: For robust mutexes don't look at the
	number of users, it's unreliable.
	* pthread_mutex_init.c: Allow use of pshared robust mutexes if
	set_robust_list syscall is available.
	* pthread_mutex_consistent.c: Adjust for PTHREAD_MUTEX_ROBUST_* rename.
	* pthread_mutex_lock.c: Simplify robust mutex code a bit.
	Set robust_head.list_op_pending before trying to lock a robust mutex.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_trylock.c: Likewise.
	* pthread_mutex_unlock.c: Likewise for unlocking.
	* Makefile (tests): Add tst-robust8.
	* tst-robust8.c: New file.

2006-03-08  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/ia64/dl-sysdep.h
	(DL_SYSINFO_IMPLEMENTATION): Add missing newline.

2006-03-05  Roland McGrath  <roland@redhat.com>

	* configure (libc_add_on): Disable add-on when $add_ons_automatic = yes
	and $config_os doesn't match *linux*.

2006-03-05  David S. Miller  <davem@sunset.davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S:
	Use __syscall_error.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/pt-vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/Makefile: New file.

2006-03-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/aio_misc.h: Various cleanups.

2006-03-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
	(__lll_robust_lock_wait): Also set FUTEX_WAITERS bit if we got the
	mutex.
	(__lll_robust_timedlock_wait): Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelrobustlock.S
	(__lll_robust_lock_wait): Likewise.
	(__lll_robust_timedlock_wait): Likewise.
	* sysdeps/unix/sysv/linux/lowlevelrobustlock.c
	(__lll_robust_lock_wait): Likewise.
	(__lll_robust_timedlock_wait): Likewise.

2006-03-01  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h (lll_robust_mutex_dead,
	lll_robust_mutex_trylock, lll_robust_mutex_lock,
	lll_robust_mutex_cond_lock, lll_robust_mutex_timedlock,
	lll_robust_mutex_unlock): Define.
	(__lll_robust_lock_wait, __lll_robust_timedlock_wait): New prototypes.

2006-02-28  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/ia64/clone2.S: Include <clone2.S>
	instead of <clone.S>.

2006-02-27  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (libpthread-routines): Add
	pthread_mutexattr_[sg]etprotocol, pthread_mutexattr_[sg]etprioceiling
	and pthread_mutex_[sg]etprioceiling.
	* Versions (GLIBC_2.4): Export pthread_mutexattr_getprotocol,
	pthread_mutexattr_setprotocol, pthread_mutexattr_getprioceiling,
	pthread_mutexattr_setprioceiling, pthread_mutex_getprioceiling and
	pthread_mutex_setprioceiling.
	* sysdeps/pthread/pthread.h (PTHREAD_PRIO_NONE, PTHREAD_PRIO_INHERIT,
	PTHREAD_PRIO_PROTECT): New enum values.
	(pthread_mutexattr_getprotocol, pthread_mutexattr_setprotocol,
	pthread_mutexattr_getprioceiling, pthread_mutexattr_setprioceiling,
	pthread_mutex_getprioceiling, pthread_mutex_setprioceiling): New
	prototypes.
	* pthreadP.h (PTHREAD_MUTEX_PRIO_INHERIT_PRIVATE_NP,
	PTHREAD_MUTEX_PRIO_PROTECT_PRIVATE_NP): New enum values.
	(PTHREAD_MUTEX_PRIO_CEILING_SHIFT, PTHREAD_MUTEX_PRIO_CEILING_MASK):
	Define.
	(PTHREAD_MUTEXATTR_PROTOCOL_SHIFT, PTHREAD_MUTEXATTR_PROTOCOL_MASK,
	PTHREAD_MUTEXATTR_PRIO_CEILING_SHIFT,
	PTHREAD_MUTEXATTR_PRIO_CEILING_MASK): Define.
	(PTHREAD_MUTEXATTR_FLAG_BITS): Or in PTHREAD_MUTEXATTR_PROTOCOL_MASK
	and PTHREAD_MUTEXATTR_PRIO_CEILING_MASK.
	* pthread_mutex_init.c (__pthread_mutex_init): For the time being
	return ENOTSUP for PTHREAD_PRIO_INHERIT or PTHREAD_PRIO_PROTECT
	protocol mutexes.
	* pthread_mutex_getprioceiling.c: New file.
	* pthread_mutex_setprioceiling.c: New file.
	* pthread_mutexattr_getprioceiling.c: New file.
	* pthread_mutexattr_setprioceiling.c: New file.
	* pthread_mutexattr_getprotocol.c: New file.
	* pthread_mutexattr_setprotocol.c: New file.

2006-02-27  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/aio_misc.h: Include <limits.h>.

2006-02-27  Roland McGrath  <roland@redhat.com>

	* sysdeps/pthread/Subdirs: List nptl here too.
	* configure (libc_add_on_canonical): New variable.

	* sysdeps/unix/sysv/linux/sh/sh4/lowlevellock.h: Use #include_next.

	* sysdeps/unix/sysv/linux/sleep.c: Use #include_next after #include of
	self to get main source tree's file.
	* sysdeps/unix/sysv/linux/alpha/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/ia64/clone2.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise.

	* Makefile: Use $(sysdirs) in vpath directive.

	* sysdeps/pthread/Makefile (CFLAGS-libc-start.c): Variable removed.
	(CPPFLAGS-timer_routines.c): Likewise.

	* Makeconfig (includes): Variable removed.

2006-02-26  Roland McGrath  <roland@redhat.com>

	* sysdeps/generic/pt-raise.c: Moved to ...
	* pt-raise.c: ... here.
	* sysdeps/generic/lowlevellock.h: Moved to ...
	* lowlevellock.h: ... here.

2006-02-23  Roland McGrath  <roland@redhat.com>

	* descr.h (struct pthread): Add final member `end_padding'.
	(PTHREAD_STRUCT_END_PADDING): Use it.

2006-02-20  Roland McGrath  <roland@redhat.com>

	* sysdeps/mips: Directory removed, saved in ports repository.
	* sysdeps/unix/sysv/linux/mips: Likewise.

2006-02-18  Ulrich Drepper  <drepper@redhat.com>

	* tst-robust1.c: Add second mutex to check that the mutex list is
	handled correctly.

2006-02-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h (lll_robust_mutex_dead,
	lll_robust_mutex_trylock, lll_robust_mutex_lock,
	lll_robust_mutex_cond_lock, lll_robust_mutex_timedlock,
	lll_robust_mutex_unlock): New macros.
	(__lll_robust_lock_wait, __lll_robust_timedlock_wait): New prototypes.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/lowlevelrobustlock.c: New file.

2006-02-17  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Add lll_robust_mutex_*
	definitions.
	* sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S: New file.

2006-02-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
	(lll_robust_mutex_unlock): Avoid unnecessary wakeups.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h
	(lll_robust_mutex_unlock): Likewise.

2006-02-13  Jakub Jelinek  <jakub@redhat.com>

	* descr.h [!__PTHREAD_MUTEX_HAVE_PREV] (DEQUEUE_MUTEX):
	Set robust_list.__next rather than robust_list.
	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h
	(__pthread_list_t): New typedef.
	(pthread_mutex_t): Replace __next and __prev fields with __list.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h
	(__pthread_list_t): New typedef.
	(pthread_mutex_t): Replace __next and __prev fields with __list.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
	(__pthread_list_t, __pthread_slist_t): New typedefs.
	(pthread_mutex_t): Replace __next and __prev fields with __list.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
	(__pthread_list_t, __pthread_slist_t): New typedefs.
	(pthread_mutex_t): Replace __next and __prev fields with __list.
	* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h
	(__pthread_list_t, __pthread_slist_t): New typedefs.
	(pthread_mutex_t): Replace __next and __prev fields with __list.
	* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h
	(__pthread_slist_t): New typedef.
	(pthread_mutex_t): Replace __next field with __list.

2006-02-15  Ulrich Drepper  <drepper@redhat.com>

	* pthreadP.h: Define PTHREAD_MUTEX_INCONSISTENT instead of
	PTHREAD_MUTEX_OWNERDEAD.
	(PTHREAD_MUTEX_ROBUST_PRIVATE_NP): Define as 16, not 256.
	Define FUTEX_WAITERS, FUTEX_OWNER_DIED, FUTEX_TID_MASK.
	* Makefile (libpthread-routines): Add lowlevelrobustlock.
	* pthread_create.c (start_thread): Very much simplify robust_list loop.
	* pthread_mutex_consistent.c: Inconsistent mutex have __owner now set
	to PTHREAD_MUTEX_INCONSISTENT.
	* pthread_mutex_destroy.c: Allow destroying of inconsistent mutexes.
	* pthread_mutex_lock.c: Reimplement robust mutex handling.
	* pthread_mutex_trylock.c: Likewise.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_unlock.c: Likewise.
	* sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c: Likewise.
	* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add
	lowlevelrobustlock.sym.
	* sysdeps/unix/sysv/linux/lowlevelrobustlock.sym: New file.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Add lll_robust_mutex_*
	definitions.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelrobustlock.S: New file.
	* sysdeps/unix/sysv/linux/i386/i586/lowlevelrobustlock.S: New file.
	* sysdeps/unix/sysv/linux/i386/i686/lowlevelrobustlock.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S: New file.

2006-02-12  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (allocate_stack): Initialize robust_list.
	* init.c (__pthread_initialize_minimal_internal): Likewise.
	* descr.h (struct xid_command): Pretty printing.
	(struct pthread): Use __pthread_list_t or __pthread_slist_t for
	robust_list.  Adjust macros.
	* pthread_create.c (start_thread): Adjust robust_list handling.
	* phtread_mutex_unlock.c: Don't allow unlocking from any thread
	but the owner for all robust mutex types.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Define
	__pthread_list_t and __pthread_slist_t.  Use them in pthread_mutex_t.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
	* sysdeps/pthread/pthread.h: Adjust mutex initializers.

	* sysdeps/unix/sysv/linux/i386/not-cancel.h: Define openat_not_cancel,
	openat_not_cancel_3, openat64_not_cancel, and openat64_not_cancel_3.

2006-02-08  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_futex_wait,
	lll_futex_timedwait, lll_wait_tid): Add "memory" clobber.

2006-01-20  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/lowlevellock.h (lll_futex_wait):
	Return status.
	(lll_futex_timed_wait): Define.

2006-01-19  Ulrich Drepper  <drepper@redhat.com>

	* tst-cancel4.c: Test ppoll.

2006-01-18  Andreas Jaeger  <aj@suse.de>

	[BZ #2167]
	* sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h
	(pthread_mutex_t): Follow changes for other archs.  Based on patch
	by Jim Gifford <patches@jg555.com>.

2006-01-13  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/tls.h (tcbhead_t): Rename member to __private.

2006-01-10  Roland McGrath  <roland@redhat.com>

	* sysdeps/alpha/jmpbuf-unwind.h: File moved to main source tree.
	* sysdeps/i386/jmpbuf-unwind.h: Likewise.
	* sysdeps/mips/jmpbuf-unwind.h: Likewise.
	* sysdeps/powerpc/jmpbuf-unwind.h: Likewise.
	* sysdeps/s390/jmpbuf-unwind.h: Likewise.
	* sysdeps/sh/jmpbuf-unwind.h: Likewise.
	* sysdeps/sparc/sparc32/jmpbuf-unwind.h: Likewise.
	* sysdeps/sparc/sparc64/jmpbuf-unwind.h: Likewise.
	* sysdeps/x86_64/jmpbuf-unwind.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h: Likewise.

2006-01-09  Roland McGrath  <roland@redhat.com>

	* tst-initializers1-c89.c: New file.
	* tst-initializers1-c99.c: New file.
	* tst-initializers1-gnu89.c: New file.
	* tst-initializers1-gnu99.c: New file.
	* Makefile (tests): Add them.
	(CFLAGS-tst-initializers1-c89.c): New variable.
	(CFLAGS-tst-initializers1-c99.c): New variable.
	(CFLAGS-tst-initializers1-gnu89.c): New variable.
	(CFLAGS-tst-initializers1-gnu99.c): New variable.

	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_mutex_t):
	Use __extension__ on anonymous union definition.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/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/sparc/bits/pthreadtypes.h: Likewise.

2006-01-08  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h (pthread_mutex_t):
	Don't give the union a name because it changes the mangled name.
	Instead name the struct for __data.
	* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_mutex_t):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h (pthread_mutex_t):
	Likewise.

2006-01-09  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/sparc64/jmpbuf-unwind.h (_JMPBUF_UNWINDS_ADJ): Add
	stack bias to mc_ftp field.

2006-01-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/aio_misc.h (AIO_MISC_WAIT): Work around gcc
	being too clever and reloading the futex value where it shouldn't.

2006-01-06  Ulrich Drepper  <drepper@redhat.com>

	* descr.h [!__PTHREAD_MUTEX_HAVE_PREV] (DEQUEUE_MUTEX): Use
	correct type.

2006-01-06  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h (PSEUDO):
	Add cfi directives.

2006-01-06  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/ia64/tls.h (tcbhead_t): Rename private member to __private.
	* sysdeps/ia64/tcb-offsets.sym: Adjust for private->__private
	rename in tcbhead_t.

	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_mutex_t):
	Don't give the union a name because it changes the mangled name.
	Instead name the struct for __data.
	* 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/x86_64/bits/pthreadtypes.h: Likewise.
	* pthread_create.c (start_thread): Adjust robust mutex free loop.
	* descr.h (ENQUEUE_MUTEX, DEQUEUE_MUTEX): Adjust.

2006-01-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_futex_wait):
	Return status.
	(lll_futex_timed_wait): Define.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
	* sysdeps/pthread/aio_misc.h: New file.

2006-01-03  Joseph S. Myers  <joseph@codesourcery.com>

	* Makefile ($(objpfx)$(multidir)): Use mkdir -p.

2006-01-03  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
	(PSEUDO): Remove redundant cfi_startproc and cfi_endproc directives.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise.

2006-01-04  Ulrich Drepper  <drepper@redhat.com>

	* tst-cancel24.cc: Use C headers instead of C++ headers.

2006-01-03  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Remove #error for
	sparc-linux configured glibc.
	(lll_futex_wake_unlock): Define to 1 for sparc-linux configured glibc.
	(__lll_mutex_trylock, __lll_mutex_cond_trylock, __lll_mutex_lock,
	__lll_mutex_cond_lock, __lll_mutex_timedlock): Use
	atomic_compare_and_exchange_val_24_acq instead of
	atomic_compare_and_exchange_val_acq.
	(lll_mutex_unlock, lll_mutex_unlock_force): Use atomic_exchange_24_rel
	instead of atomic_exchange_rel.
	* sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/pthread_barrier_init.c: New
	file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/pthread_barrier_wait.c: New
	file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_init.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_timedwait.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_trywait.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/pthread_barrier_init.c:
	New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/pthread_barrier_wait.c:
	New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_init.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_post.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_timedwait.c: New
	file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_trywait.c: New
	file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_wait.c: New file.

2006-01-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h [__WORDSIZE==64]: Don't use cast in
	mutex initializers.

2006-01-02  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/tls.h (tcbhead_t): Add pointer_guard field.
	(THREAD_GET_POINTER_GUARD, THREAD_SET_POINTER_GUARD,
	THREAD_COPY_POINTER_GUARD): Define.
	* sysdeps/sparc/tcb-offsets.sym (POINTER_GUARD): Define.
	* sysdeps/sparc/sparc64/jmpbuf-unwind.h: Revert 2005-12-27 changes.

2006-01-01  Ulrich Drepper  <drepper@redhat.com>

	* version.c: Update copyright year.

2005-12-29  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Remove explicit
	.eh_frame section, use cfi_* directives.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Add cfi instrumentation.

2005-12-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h: Undo last change for
	now.

2005-12-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/sigaction.c: Removed.
	* sigaction.c: New file.
	* sysdeps/unix/sysv/linux/Makefile: Define CFLAGS-sigaction.c.

2005-12-28  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-signal7.
	* tst-signal7.c: New file.

2005-12-27  Roland McGrath  <roland@redhat.com>

	* sysdeps/x86_64/jmpbuf-unwind.h (_jmpbuf_sp): New inline function.
	(_JMPBUF_UNWINDS_ADJ): Use it, to PTR_DEMANGLE before comparison.
	* sysdeps/alpha/jmpbuf-unwind.h: Likewise.
	* sysdeps/i386/jmpbuf-unwind.h: Likewise.
	* sysdeps/mips/jmpbuf-unwind.h: Likewise.
	* sysdeps/powerpc/jmpbuf-unwind.h: Likewise.
	* sysdeps/s390/jmpbuf-unwind.h: Likewise.
	* sysdeps/sh/jmpbuf-unwind.h: Likewise.
	* sysdeps/sparc/sparc32/jmpbuf-unwind.h: Likewise.
	* sysdeps/sparc/sparc64/jmpbuf-unwind.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h: Likewise.

2005-12-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: Add __next
	and __prev field to pthread_mutex_t.
	* 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/sparc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Add __next field
	to pthread_mutex_t.

2005-12-26  Ulrich Drepper  <drepper@redhat.com>

	* pthreadP.h: Define PTHREAD_MUTEX_ROBUST_PRIVATE_NP,
	PTHREAD_MUTEX_ROBUST_PRIVATE_RECURSIVE_NP,
	PTHREAD_MUTEX_ROBUST_PRIVATE_ERRORCHECK_NP,
	PTHREAD_MUTEX_ROBUST_PRIVATE_ADAPTIVE_NP,
	PTHREAD_MUTEXATTR_FLAG_ROBUST, PTHREAD_MUTEXATTR_FLAG_PSHARED,
	and PTHREAD_MUTEXATTR_FLAG_BITS.
	* descr.h (struct pthread): Add robust_list field and define
	ENQUEUE_MUTEX and DEQUEUE_MUTEX macros.
	* pthread_mutexattr_getrobust.c: New file.
	* pthread_mutexattr_setrobust.c: New file.
	* pthread_mutex_consistent.c: New file.
	* sysdeps/pthread/pthread.h: Declare pthread_mutexattr_getrobust,
	pthread_mutexattr_setrobust, and pthread_mutex_consistent.
	Define PTHREAD_MUTEX_STALLED_NP and PTHREAD_MUTEX_ROBUST_NP.
	Adjust pthread_mutex_t initializers.
	* nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Add __next
	field to pthread_mutex_t.
	* nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Add __next
	and __prev field to pthread_mutex_t.
	* Versions [GLIBC_2.4]: Export pthread_mutexattr_getrobust_np,
	pthread_mutexattr_setrobust_np, and pthread_mutex_consistent_np.
	* pthread_mutexattr_getpshared.c: Use PTHREAD_MUTEXATTR_FLAG_PSHARED
	and PTHREAD_MUTEXATTR_FLAG_BITS macros instead of magic numbers.
	* pthread_mutexattr_gettype.c: Likewise.
	* pthread_mutexattr_setpshared.c: Likewise.
	* pthread_mutexattr_settype.c: Likewise.
	* pthread_mutex_init.c: Reject robust+pshared attribute for now.
	Initialize mutex kind according to robust flag.
	* pthread_mutex_lock.c: Implement local robust mutex.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_trylock.c: Likewise.
	* pthread_mutex_unlock.c: Likewise.
	* pthread_create.c (start_thread): Mark robust mutexes which remained
	locked as dead.
	* tst-robust1.c: New file.
	* tst-robust2.c: New file.
	* tst-robust3.c: New file.
	* tst-robust4.c: New file.
	* tst-robust5.c: New file.
	* tst-robust6.c: New file.
	* tst-robust7.c: New file.
	* Makefile (libpthread-routines): Add pthread_mutexattr_getrobust,
	pthread_mutexattr_setrobust, and pthread_mutex_consistent.
	(tests): Add tst-robust1, tst-robust2, tst-robust3, tst-robust4,
	tst-robust5, tst-robust6, and tst-robust7.

	* tst-typesizes.c: New file.
	* Makefile (tests): Add tst-typesizes.

	* tst-once3.c: More debug output.

2005-12-24  Ulrich Drepper  <drepper@redhat.com>

	* pthread_mutex_trylock.c (__pthread_mutex_trylock): Add break
	missing after last change.

	* version.c: Update copyright year.

2005-12-23  Ulrich Drepper  <drepper@redhat.com>

	* pthread_mutex_destroy.c: Set mutex type to an invalid value.
	* pthread_mutex_lock.c: Return EINVAL for invalid mutex type.
	* pthread_mutex_trylock.c: Likewise.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_unlock.c: Likewise.

2005-12-22  Roland McGrath  <roland@redhat.com>

	* sysdeps/pthread/sigaction.c: Use "" instead of <> to include self,
	so that #include_next's search location is not reset to the -I..
	directory where <nptl/...> can be found.

2005-12-22  Ulrich Drepper  <drepper@redhat.com>

	[BZ #1913]
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S (__new_sem_wait):
	Fix unwind info.  Remove useless branch prediction prefix.
	* tst-cancel24.cc: New file.
	* Makefile: Add rules to build and run tst-cancel24.

2005-12-21  Roland McGrath  <roland@redhat.com>

	* libc-cancellation.c: Use <> rather than "" #includes.
	* pt-cleanup.c: Likewise.
	* pthread_create.c: Likewise.
	* pthread_join.c: Likewise.
	* pthread_timedjoin.c: Likewise.
	* pthread_tryjoin.c: Likewise.
	* sysdeps/unix/sysv/linux/libc_pthread_init.c: Likewise.
	* sysdeps/unix/sysv/linux/register-atfork.c: Likewise.
	* sysdeps/unix/sysv/linux/unregister-atfork.c: Likewise.
	* unwind.c: Likewise.

2005-12-19  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/tcb-offsets.sym: Add POINTER_GUARD.
	* sysdeps/sh/tls.h (tcbhead_t): Remove private and add pointer_guard.
	(THREAD_GET_POINTER_GUARD, THREAD_SET_POINTER_GUARD,
	THREAD_COPY_POINTER_GUARD): Define.

2005-12-19  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ia64/tls.h (TLS_PRE_TCB_SIZE): Make room for 2 uintptr_t's
	rather than one.
	(THREAD_GET_POINTER_GUARD, THREAD_SET_POINTER_GUARD,
	THREAD_COPY_POINTER_GUARD): Define.
	* sysdeps/powerpc/tcb-offsets.sym (POINTER_GUARD): Add.
	* sysdeps/powerpc/tls.h (tcbhead_t): Add pointer_guard field.
	(THREAD_GET_POINTER_GUARD, THREAD_SET_POINTER_GUARD,
	THREAD_COPY_POINTER_GUARD): Define.
	* sysdeps/s390/tcb-offsets.sym (STACK_GUARD): Add.
	* sysdeps/s390/tls.h (THREAD_GET_POINTER_GUARD,
	THREAD_SET_POINTER_GUARD, THREAD_COPY_POINTER_GUARD): Define.
	* sysdeps/unix/sysv/linux/ia64/__ia64_longjmp.S (__ia64_longjmp):
	Use PTR_DEMANGLE for B0 if defined.

2005-12-17  Ulrich Drepper  <drepper@redhat.com>

	* pthread_create.c (__pthread_create_2_1): Use
	THREAD_COPY_POINTER_GUARD if available.
	* sysdeps/i386/tcb-offsets.sym: Add POINTER_GUARD.
	* sysdeps/x86_64/tcb-offsets.sym: Likewise.
	* sysdeps/i386/tls.h (tcbhead_t): Add pointer_guard.
	Define THREAD_SET_POINTER_GUARD and THREAD_COPY_POINTER_GUARD.
	* sysdeps/x86_64/tls.h: Likewise.

2005-12-15  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/mq_notify.c: Don't use sysdeps/generic.

2005-12-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/sigfillset.c: Adjust for files moved out of
	sysdeps/generic.
	* errno-loc.c: New file.

2005-12-12  Roland McGrath  <roland@redhat.com>

	* init.c (__pthread_initialize_minimal_internal): Do __static_tls_size
	adjustments before choosing stack size.  Update minimum stack size
	calculation to match allocate_stack change.

2005-12-12  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (allocate_stack): Don't demand that there is an
	additional full page available on the stack beside guard, TLS, the
	minimum stack.

2005-11-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h
	(__cleanup_fct_attribute): Use __regparm__ not regparm.

	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: When
	compiling 32-bit code we must define __cleanup_fct_attribute.

005-11-24  Jakub Jelinek  <jakub@redhat.com>

	[BZ #1920]
	* sysdeps/pthread/pthread.h (__pthread_unwind_next): Use
	__attribute__ instead of __attribute.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h
	(__cleanup_fct_attribute): Likewise.

2005-11-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/unwind-forcedunwind.c (pthread_cancel_init): Put
	a write barrier before writing libgcc_s_getcfa.

2005-11-06  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/configure: Removed.

2005-11-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/pt-initfini.c: Remove trace of
	optional init_array/fini_array support.

2005-10-24  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Remove unnecessary
	versioned_symbol use.

2005-10-16  Roland McGrath  <roland@redhat.com>

	* init.c (__pthread_initialize_minimal_internal): Even when using a
	compile-time default stack size, apply the minimum that allocate_stack
	will require, and round up to page size.

2005-10-10  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile ($(test-modules)): Remove static pattern rule.

2005-10-14  Jakub Jelinek  <jakub@redhat.com>
	    Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Fix stack
	alignment in callback function.
	* Makefile: Add rules to build and run tst-align3.
	* tst-align3.c: New file.

2005-10-03  Jakub Jelinek  <jakub@redhat.com>

	* allocatestack.c (setxid_signal_thread): Add
	INTERNAL_SYSCALL_DECL (err).

2005-10-02  Jakub Jelinek  <jakub@redhat.com>

	* allocatestack.c (setxid_signal_thread): Need to use
	atomic_compare_and_exchange_bool_acq.

2005-10-01  Ulrich Drepper  <drepper@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* descr.h: Define SETXID_BIT and SETXID_BITMASK.  Adjust
	CANCEL_RESTMASK.
	(struct pthread): Move specific_used field to avoid padding.
	Add setxid_futex field.
	* init.c (sighandler_setxid): Reset setxid flag and release the
	setxid futex.
	* allocatestack.c (setxid_signal_thread): New function.  Broken
	out of the bodies of the two loops in __nptl_setxid.  For undetached
	threads check whether they are exiting and if yes, don't send a signal.
	(__nptl_setxid): Simplify loops by using setxid_signal_thread.
	* pthread_create.c (start_thread): For undetached threads, check
	whether setxid bit is set.  If yes, wait until signal has been
	processed.

	* allocatestack.c (STACK_VARIABLES): Initialize them.
	* pthread_create.c (__pthread_create_2_1): Initialize pd.

2004-09-02  Jakub Jelinek  <jakub@redhat.com>

	* pthread_cond_destroy.c (__pthread_cond_destroy): If there are
	waiters, awake all waiters on the associated mutex.

2005-09-22  Roland McGrath  <roland@redhat.com>

	* perf.c [__x86_64__] (HP_TIMING_NOW): New macro (copied from
	../sysdeps/x86_64/hp-timing.h).

2005-08-29  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (FUTEX_WAKE_OP,
	FUTEX_OP_CLEAR_WAKE_IF_GT_ONE): Define.
	(lll_futex_wake_unlock): Define.
	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h (FUTEX_WAKE_OP,
	FUTEX_OP_CLEAR_WAKE_IF_GT_ONE): Define.
	(lll_futex_wake_unlock): Define.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (FUTEX_WAKE_OP,
	FUTEX_OP_CLEAR_WAKE_IF_GT_ONE): Define.
	(lll_futex_wake_unlock): Define.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h (FUTEX_WAKE_OP,
	FUTEX_OP_CLEAR_WAKE_IF_GT_ONE): Define.
	(lll_futex_wake_unlock): Define.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h (FUTEX_WAKE_OP,
	FUTEX_OP_CLEAR_WAKE_IF_GT_ONE): Define.
	(lll_futex_wake_unlock): Define.
	* sysdeps/pthread/pthread_cond_signal.c (__pthread_cond_signal): Use
	lll_futex_wake_unlock.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
	(FUTEX_WAKE_OP, FUTEX_OP_CLEAR_WAKE_IF_GT_ONE): Define.
	(__pthread_cond_signal): Use FUTEX_WAKE_OP.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
	(FUTEX_WAKE_OP, FUTEX_OP_CLEAR_WAKE_IF_GT_ONE): Define.
	(__pthread_cond_signal): Use FUTEX_WAKE_OP.

2005-09-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/lowlevellock.S (__lll_mutex_lock_wait):
	Fix typo in register name.

2005-08-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/timer_routines.c (timer_helper_thread):
	Use __sigfillset.  Document that sigfillset does the right thing wrt
	to SIGSETXID.

2005-07-11  Jakub Jelinek  <jakub@redhat.com>

	[BZ #1102]
	* sysdeps/pthread/pthread.h (PTHREAD_MUTEX_INITIALIZER,
	PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,
	PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP,
	PTHREAD_MUTEX_ADAPTIVE_NP, PTHREAD_RWLOCK_INITIALIZER,
	PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP,
	PTHREAD_COND_INITIALIZER): Supply zeros for all fields
	in the structure.
	* Makefile (tests): Add tst-initializers1.
	(CFLAGS-tst-initializers1.c): Set.
	* tst-initializers1.c: New test.

2005-07-11  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h (pthread_rwlock_t):
	Make sure __flags are located at offset 48 from the start of the
	structure.

2005-07-02  Roland McGrath  <roland@redhat.com>

	* Makeconfig: Comment fix.

2005-07-05  Jakub Jelinek  <jakub@redhat.com>

	* descr.h (PTHREAD_STRUCT_END_PADDING): Define.
	* sysdeps/ia64/tls.h (TLS_PRE_TCB_SIZE): If PTHREAD_STRUCT_END_PADDING
	is smaller than 8 bytes, increase TLS_PRE_TCB_SIZE by 16 bytes.
	(THREAD_SYSINFO, THREAD_SELF, DB_THREAD_SELF): Don't assume
	TLS_PRE_TCB_SIZE is sizeof (struct pthread).
	(THREAD_SET_STACK_GUARD, THREAD_COPY_STACK_GUARD): Define.
	* sysdeps/ia64/tcb-offsets.sym (PID, TID, MULTIPLE_THREADS_OFFSET):
	Use TLS_PRE_TCB_SIZE instead of sizeof (struct pthread).
	* sysdeps/unix/sysv/linux/ia64/createthread.c (TLS_VALUE): Don't
	assume TLS_PRE_TCB_SIZE is sizeof (struct pthread).

2005-06-25  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/tls.h (tcbhead_t): Add stack_guard field.
	(THREAD_SET_STACK_GUARD, THREAD_COPY_STACK_GUARD): Define.
	* sysdeps/x86_64/tls.h (tcbhead_t): Add sysinfo and stack_guard
	fields.
	(THREAD_SET_STACK_GUARD, THREAD_COPY_STACK_GUARD): Define.
	* sysdeps/s390/tls.h (tcbhead_t): Add stack_guard
	field.  Put in sysinfo field unconditionally.
	(THREAD_SET_STACK_GUARD, THREAD_COPY_STACK_GUARD): Define.
	* sysdeps/powerpc/tls.h (tcbhead_t): Add stack_guard field.
	(THREAD_SET_STACK_GUARD, THREAD_COPY_STACK_GUARD): Define.
	* sysdeps/sparc/tls.h (tcbhead_t): Add sysinfo and stack_guard
	fields.
	(THREAD_SET_STACK_GUARD, THREAD_COPY_STACK_GUARD): Define.
	* pthread_create.c (__pthread_create_2_1): Use
	THREAD_COPY_STACK_GUARD macro.
	* Makefile: Add rules to build and run tst-stackguard1{,-static}
	tests.
	* tst-stackguard1.c: New file.
	* tst-stackguard1-static.c: New file.

2005-06-14  Alan Modra  <amodra@bigpond.net.au>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h (PSEUDO):
	Invoke CGOTSETUP and CGOTRESTORE.
	(CGOTSETUP, CGOTRESTORE): Define.

2005-05-29  Richard Henderson  <rth@redhat.com>

	* tst-cancel4.c (WRITE_BUFFER_SIZE): New.
	(tf_write, tf_writev): Use it.
	(do_test): Use socketpair instead of pipe.  Set SO_SNDBUF to
	the system minimum.

2005-05-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
	[IS_IN_librt] (CENABLE, CDISABLE): Use JUMPTARGET instead of
	__librt_*_asynccancel@local.

2005-05-17  Alan Modra  <amodra@bigpond.net.au>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Delete
	all occurrences of JUMPTARGET.  Instead append @local to labels.

2005-05-20  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/tls.h (TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN): Define to
	size/alignment of struct pthread rather than tcbhead_t.
	* sysdeps/x86_64/tls.h (TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN):
	Likewise.
	* sysdeps/s390/tls.h (TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN):
	Likewise.
	* sysdeps/sparc/tls.h (TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN):
	Likewise.

2005-05-19  Richard Henderson  <rth@redhat.com>

	* sysdeps/ia64/pthread_spin_lock.c (pthread_spin_lock): Use
	__sync_val_compare_and_swap, not explicit _si variant.
	* sysdeps/ia64/pthread_spin_trylock.c (pthread_spin_trylock): Likewise.

2005-05-03  Ulrich Drepper  <drepper@redhat.com>

	[BZ #915]
	* sysdeps/pthread/pthread.h: Avoid empty initializers.

2005-05-03  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Remove explicit
	.eh_frame section, use cfi_* directives.

2005-04-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/pthread_getcpuclockid.c: Use <> instead
	of "" includes.

2005-04-27  Ulrich Drepper  <drepper@redhat.com>

	[BZ #1075]
	* tst-cancel17.c (do_test): Add arbitrary factor to make sure
	aio_write blocks.

2005-04-27  Roland McGrath  <roland@redhat.com>

	* 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  <jakub@redhat.com>

	* old_pthread_cond_init.c: Include <errno.h>.
	(__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  <davem@davemloft.net>

	* sysdeps/sparc/sparc64/jmpbuf-unwind.h: New file.
	* sysdeps/sparc/sparc64/clone.S: New file.

2005-04-05  Jakub Jelinek  <jakub@redhat.com>

	[BZ #1102]
	* 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  <jakub@redhat.com>

	* 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  <dan@codesourcery.com>

	* 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  <drepper@redhat.com>

	[BZ #1112]
	* pthread_create.c (__pthread_create_2_1): Rename syscall error
	variable to scerr.

2005-03-10  Jakub Jelinek  <jakub@redhat.com>

	* tst-getpid1.c (do_test): Align stack passed to clone{2,}.

2005-02-25  Roland McGrath  <roland@redhat.com>

	* 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  <roland@redhat.com>

	* sysdeps/pthread/pthread-functions.h (struct pthread_functions):
	Use unsigned int * for ptr_nthreads.

2005-02-14  Alan Modra  <amodra@bigpond.net.au>

	[BZ #721]
	* sysdeps/powerpc/tcb-offsets.sym (thread_offsetof): Redefine to suit
	gcc4.

2005-02-07  Richard Henderson  <rth@redhat.com>

	[BZ #787]
	* sysdeps/pthread/pthread.h (__sigsetjmp): Use pointer as first
	argument.

2004-11-03  Marcus Brinkmann  <marcus@gnu.org>

	* sysdeps/generic/lowlevellock.h (__generic_mutex_unlock): Fix
	order of arguments in invocation of atomic_add_zero.

2005-01-26  Jakub Jelinek  <jakub@redhat.com>

	[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  <drepper@redhat.com>

	* 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  <drepper@redhat.com>

	* init.c (__pthread_initialize_minimal_internal): Use __sigemptyset.

2004-12-21  Jakub Jelinek  <jakub@redhat.com>

	* 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  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/bits/local_lim.h:
	New file removed withdrawn for the moment.

2004-12-17  Richard Henderson  <rth@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/clone.S: New file.
	* sysdeps/alpha/tcb-offsets.sym (TID_OFFSET): New.

2004-12-16  Ulrich Drepper  <drepper@redhat.com>

	* 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  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: New file.
	* sysdeps/sparc/tcb-offsets.sym: Add TID.

2004-12-15  Jakub Jelinek  <jakub@redhat.com>

	* 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  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: New file.

2004-12-14  Ulrich Drepper  <drepper@redhat.com>

	* 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  <drepper@redhat.com>

	* init.c (__pthread_initialize_minimal_internal): Also unblock
	SIGSETXID.

2004-12-01  Jakub Jelinek  <jakub@redhat.com>

	* 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  <jakub@redhat.com>

	* 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  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/clone.S: New file.

2004-12-04  Ulrich Drepper  <drepper@redhat.com>

	* 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  <roland@redhat.com>

	* 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  <drepper@redhat.com>

	* 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  <jakub@redhat.com>

	* 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  <drepper@redhat.com>

	* 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  <jakub@redhat.com>

	* 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  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/tls.h (DB_THREAD_SELF): Set the correct bias
	parameter to REGISTER macro.

2004-11-17  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/timer_routines.c (__start_helper_thread):
	Make sure SIGCANCEL is blocked as well.

2004-11-10  Jakub Jelinek  <jakub@redhat.com>

	* 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  <jakub@redhat.com>

	* Makefile (tests): Add tst-exit3.
	* tst-exit3.c: New test.

2004-11-09  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-exit2.
	* tst-exit2.c: New file.

2004-11-09  Roland McGrath  <roland@redhat.com>

	[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  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/smp.h: Include <errno.h>.

2004-10-29  Kaz  Kojima  <kkojima@rr.iij4u.or.jp>

	* 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  <jakub@redhat.com>

	* pthread_create.c (__pthread_create_2_1): Avoid leaking stacks
	if sched_priority is not between minprio and maxprio.

2004-10-25  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* 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  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/smp.h (is_smp_system): Use
	not-cancelable I/O functions.

2004-10-21  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* 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  <rth@redhat.com>

	* sysdeps/alpha/tcb-offsets.sym (thread_offsetof): Redefine to
	make gcc4 happy.

2004-10-06  Jakub Jelinek  <jakub@redhat.com>

	* 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  <drepper@redhat.com>

	* 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  <jakub@redhat.com>

	* 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  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h (_POSIX_CPUTIME,
	_POSIX_THREAD_CPUTIME): Define to 0.

2004-10-04  Ulrich Drepper  <drepper@redhat.com>

	* 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  <drepper@redhat.com>

	* 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  <drepper@redhat.com>

	* 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  <drepper@redhat.com>

	* 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  <drepper@redhat.com>

	* 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  <drepper@redhat.com>

	* 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  <drepper@redhat.com>

	* 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  <drepper@redhat.com>

	* allocatestack.c (allocate_stack): Return EAGAIN instead of
	ENOMEM when out of memory.

2004-09-10  Roland McGrath  <roland@redhat.com>

	[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  <rth@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/vfork.S: Use libc_hidden_def.

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.

2004-09-12  Ulrich Drepper  <drepper@redhat.com>

	* 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/sysv/linux/sparc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
	[BZ #320]

2004-09-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h
	(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP): Make safe for C++.
	(PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP): Likewise.
	(PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP): Likewise.
	(PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP): Likewise.
	[BZ #375]

2004-09-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Allow
	PSEUDO to be used with . prefix.

	* sysdeps/unix/sysv/linux/alpha/pthread_once.c (__pthread_once):
	Use atomic_increment instead of atomic_exchange_and_add.
	* sysdeps/unix/sysv/linux/sparc/pthread_once.c (__pthread_once):
	Likewise.
	* sysdeps/unix/sysv/linux/ia64/pthread_once.c (__pthread_once):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/pthread_once.c (__pthread_once):
	Likewise.

	* allocatestack.c (allocate_stack): Use atomic_increment_val
	instead of atomic_exchange_and_add.
	* sysdeps/unix/sysv/linux/sem_post.c (__new_sem_post): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/sem_post.c (__new_sem_post):
	Likewise.
	* sysdeps/pthread/pthread_barrier_wait.c (pthread_barrier_wait):
	Likewise.

	* sysdeps/pthread/pthread.h (pthread_once): Remove __THROW since
	the initialization function might throw.

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.

2004-09-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/alpha/jmpbuf-unwind.h: Define __libc_unwind_longjmp.
	* sysdeps/i386/jmpbuf-unwind.h: Likewise
	* sysdeps/powerpc/jmpbuf-unwind.h: Likewise.
	* sysdeps/s390/jmpbuf-unwind.h: Likewise.
	* sysdeps/sh/jmpbuf-unwind.h: Likewise.
	* sysdeps/sparc/sparc32/jmpbuf-unwind.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h: Likewise.
	* sysdeps/x86_64/jmpbuf-unwind.h: Likewise.
	* unwind.c: Use it.

	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_cond_t):
	Rename __data.__clock to __data.__nwaiters, make it unsigned int.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h (pthread_cond_t):
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/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/x86_64/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	Read clock type from the least significant bits of __nwaiters instead
	of __clock.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/internaltypes.h: Define COND_CLOCK_BITS.

2004-08-31  Jakub Jelinek  <jakub@redhat.com>

	[BZ #342]
	* Makefile (tests): Add tst-cond20 and tst-cond21.
	* tst-cond20.c: New test.
	* tst-cond21.c: New test.
	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h
	(pthread_cond_t): Rename __data.__clock to __data.__nwaiters, make
	it unsigned int.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h (pthread_cond_t):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
	(pthread_cond_t): Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h (pthread_cond_t):
	Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_cond_t):
	Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h (pthread_cond_t):
	Likewise.
	* sysdeps/unix/sysv/linux/lowlevelcond.sym (cond_clock): Remove.
	(cond_nwaiters): New.
	(clock_bits): New.
	* pthread_cond_destroy.c (__pthread_cond_destroy): Return EBUSY
	if there are waiters not signalled yet.
	Wait until all already signalled waiters wake up.
	* sysdeps/pthread/pthread_cond_wait.c (__condvar_cleanup): 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.
	(__pthread_cond_wait): Increment __nwaiters in the beginning,
	decrement it when leaving.  If pthread_cond_destroy has been called
	and this is the last waiter, signal pthread_cond_destroy caller.
	* sysdeps/pthread/pthread_cond_timedwait.c (__pthread_cond_timedwait):
	Likewise.  Read clock type from the least significant bits of
	__nwaiters instead of __clock.
	* pthread_condattr_setclock.c (pthread_condattr_setclock): Check
	whether clock ID can be encoded in COND_CLOCK_BITS bits.
	* pthread_condattr_getclock.c (pthread_condattr_getclock): Decode
	clock type just from the last COND_CLOCK_BITS bits of value.
	* pthread_cond_init.c (__pthread_cond_init): Initialize __nwaiters
	instead of __clock, just from second bit of condattr's value.

2004-08-30  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Include
	bits/wordsize.h.  Make the header match i386 header when __WORDSIZE
	!= 64.
	* sysdeps/unix/sysv/linux/x86_64/bits/semaphore.h: Likewise.

2004-08-15  Roland McGrath  <roland@frob.com>

	* pthread_atfork.c: Update copyright terms including special exception
	for these trivial files, which are statically linked into executables
	that use dynamic linking for the significant library code.

2004-08-09  Jakub Jelinek  <jakub@redhat.com>

	* DESIGN-rwlock.txt: Add decreasing of nr_readers_queued to
	pthread_rwlock_rdlock.
	* sysdeps/pthread/pthread_rwlock_rdlock (__pthread_rwlock_rdlock):
	Decrease __nr_readers_queued after reacquiring lock.
	* sysdeps/pthread/pthread_rwlock_timedrdlock
	(pthread_rwlock_timedrdlock): Likewise.
	Reported by Bob Cook <bobcook47@hotmail.com>.

2004-08-11  Jakub Jelinek  <jakub@redhat.com>

	* tst-rwlock14.c (tf): Read main thread handle from *ARG
	before pthread_barrier_wait.

2004-08-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S:
	Remove unnecessary exception handling data.

2004-07-23  Jakub Jelinek  <jakub@redhat.com>

	[BZ #284]
	* sysdeps/pthread/pthread.h (pthread_getcpuclockid): Use __clockid_t
	instead of clockid_t.

2004-07-21  Roland McGrath  <roland@redhat.com>

	* Makefile ($(objpfx)multidir.mk): Use $(make-target-directory).

2004-07-19  Roland McGrath  <roland@redhat.com>

	* tst-cancel4.c (tf_waitid): Use WEXITED flag bit if available.

2004-07-02  Roland McGrath  <roland@redhat.com>

	* configure: Don't exit.

2004-07-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Check for invalid nanosecond in
	timeout value.

2004-07-07  Ulrich Drepper  <drepper@redhat.com>

	* Makefile: Add rules to build and run tst-fini1.
	* tst-fini1.c: New file.
	* tst-fini1mod.c: New file.

2004-07-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Define NO_CANCELLATION
	if no cancellation support is needed.
	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise.

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Define __NR_futex
	only if not already defined.

2004-07-05  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_unlock): Use
	constraint "m" instead of "0" for futex.

	* shlib-versions: Add powerpc64-.*-linux.*.

2004-07-04  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
	(pthread_rwlock_timedrdlock): Use cmpq instead of cmpl to check
	for valid tv_nsec.
	* tst-rwlock14.c (do_test): Test for invalid tv_nsec equal to
	1 billion and 64-bit tv_nsec which is valid when truncated to 32
	bits.

2004-06-29  Roland McGrath  <roland@redhat.com>

	* Banner: NPTL no longer has its own version number.
	* Makefile (nptl-version): Variable removed.
	* sysdeps/pthread/Makefile (CFLAGS-confstr.c): Set LIBPTHREAD_VERSION
	using $(version), the glibc version number.

2004-06-29  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/pthread_once.S (__pthread_once):
	Fix branch offset for a PLT entry.
	* sysdeps/unix/sysv/linux/sh/sem_post.S (__new_sem_post):
	Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_timedwait.S (sem_timedwait):
	Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_trywait.S (__new_sem_trywait):
	Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_wait.S (__new_sem_wait):
	Likewise.

2004-06-28  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/alpha/tcb-offsets.sym (MULTIPLE_THREADS_OFFSET): Define
	unconditionally.

2004-06-28  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/pthread_rwlock_timedwrlock.c
	(pthread_rwlock_timedwrlock): Return EINVAL if tv_nsec is negative,
	instead of tv_sec.
	* sysdeps/pthread/pthread_rwlock_timedrdlock.c
	(pthread_rwlock_timedrdlock): Likewise.

2004-06-22  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/s390/lowlevellock.h (lll_futex_requeue):
	Set __r7 to val, not mutex.

2004-06-27  Ulrich Drepper  <drepper@redhat.com>

	* Makefile: Add rules to build tst-rwlock14.
	* tst-rwlock14.c: New file.

2004-06-24  Boris Hu  <boris.hu@intel.com>

	* sysdeps/pthread/pthread_rwlock_timedrdlock.c: Add timeout validation
	check.
	* sysdeps/pthread/pthread_rwlock_timedwrlock.c: Likewise.

2004-06-19  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Fix
	assembler in last patch.

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-15  Steven Munroe  <sjmunroe@us.ibm.com>

	* tst-context1.c (GUARD_PATTERN): Defined.
	(tst_context_t): Define struct containing ucontext_t & guard words.
	(ctx): Declare as an array of tst_context_t.
	(fct): Verify uc_link & guard words are still valid.
	(tf): Initialize guard words in ctx.  Adjust ctx refs for new struct.

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.

2004-06-08  Jakub Jelinek  <jakub@redhat.com>

	* pthread_mutexattr_getpshared.c (pthread_mutex_getpshared): Fix
	comment typo.
	* pthread_mutexattr_gettype.c (pthread_mutexattr_gettype): Likewise.
	* pthread_mutexattr_init.c (__pthread_mutexattr_init): Likewise.
	* pthread_mutexattr_settype.c (__pthread_mutexattr_settype): Likewise.
	* pthread_mutexattr_setpshared.c (pthread_mutexattr_setpshared):
	Likewise.  Reported by Bob Cook <bobcook47@hotmail.com>.

2004-06-11  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/lowlevellock.h (lll_compare_and_swap):
	Add memory clobber to inline assembly.
	(__lll_mutex_trylock): Likewise.
	(__lll_mutex_cond_trylock): Likewise.

2004-06-07  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/lowlevellock.h (lll_futex_requeue):
	Pass val argument as 6th system call argument in %r7.

2004-05-21  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (tests): Add tst-cond16.
	* sysdeps/unix/sysv/linux/lowlevelcond.sym (cond_futex): Add.
	* pthread_cond_init.c (__pthread_cond_init): Clear __data.__futex.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_cond_t):
	Add __data.__futex field, reshuffle __data.__clock.
	* sysdeps/unix/sysv/linux/i386/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/i386/pthread_cond_wait.S
	(__pthread_cond_wait): Likewise.  Pass __futex value from before
	releasing internal lock to FUTEX_WAIT.
	* sysdeps/unix/sysv/linux/i386/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Likewise.
	* sysdeps/unix/sysv/linux/i386/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.
	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h (FUTEX_CMP_REQUEUE):
	Define.
	(lll_futex_requeue): Add val argument, use FUTEX_CMP_REQUEUE
	internally.  Return non-zero if error, zero if success.
	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h (pthread_cond_t):
	Add __data.__futex field, reshuffle __data.__clock.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h (FUTEX_CMP_REQUEUE):
	Define.
	(lll_futex_requeue): Add val argument, return 1 unconditionally
	for the time being.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h (pthread_cond_t):
	Add __data.__futex field, reshuffle __data.__clock.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (FUTEX_CMP_REQUEUE):
	Define.
	(lll_futex_requeue): Add val argument, use FUTEX_CMP_REQUEUE
	internally.  Return non-zero if error, zero if success.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
	(pthread_cond_t): Add __data.__futex field, reshuffle __data.__clock.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h (FUTEX_CMP_REQUEUE):
	Define.
	(lll_futex_requeue): Add val argument, use FUTEX_CMP_REQUEUE
	internally.  Return non-zero if error, zero if success.
	* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h (pthread_cond_t):
	Add __data.__futex field, reshuffle __data.__clock.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (FUTEX_CMP_REQUEUE):
	Define.
	(lll_futex_requeue): Add val argument, use FUTEX_CMP_REQUEUE
	internally.  Return non-zero if error, zero if success.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h (pthread_cond_t):
	Add __data.__futex field, reshuffle __data.__clock.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h (pthread_cond_t):
	Add __data.__futex field, reshuffle __data.__clock.
	* sysdeps/pthread/pthread_cond_signal.c (__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/pthread/pthread_cond_wait.c (__pthread_cond_wait): Likewise.
	Pass __futex value from before releasing internal lock
	to FUTEX_WAIT.
	* sysdeps/pthread/pthread_cond_timedwait.c (__pthread_cond_timedwait):
	Likewise.  Avoid unnecessary shadowing of variables.
	* sysdeps/pthread/pthread_cond_broadcast.c (__pthread_cond_broadcast):
	Set __futex to 2 * __total_seq.  Pass __futex value from before the
	unlock and __futex address instead of address of low 32-bits of
	__wakeup_seq to futex_requeue macro, adjust for new return value
	meaning.
	* sysdeps/unix/sysv/linux/x86_64/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/x86_64/pthread_cond_wait.S
	(__pthread_cond_wait): Likewise.  Pass __futex value from before
	releasing internal lock to FUTEX_WAIT.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/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.

2004-06-03  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/lowlevellock.h (lll_mutex_lock):
	Add nop to align the end of critical section.
	(lll_mutex_cond_lock, lll_mutex_timedlock): Likewise.

2004-06-01  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_cond_t):
	Add __broadcast_seq field.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S: Mark
	all waiters as woken with woken_seq and bump broadcast counter.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Use new
	__broadcast_seq.  Increment __woken_seq correctly when cleanuped.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
	Comment typo fixes.  Avoid returning -ETIMEDOUT.

2004-06-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__condvar_tw_cleanup): Fix access to saved broadcast_seq value.
	Reported by Kaz Kojima.

2004-05-25  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/aio_misc.h: New file.

2004-05-21  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait): Compare
	__broadcast_seq with bc_seq after acquiring internal lock instead of
	before it.

2004-05-18  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (.NOTPARALLEL): Only serialize make check/xcheck, not
	compilation.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Avoid returning -ETIMEDOUT.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
	(pthread_cond_t): Add __data.__broadcast_seq field.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
	(FRAME_SIZE): Define.
	(__pthread_cond_timedwait): Use it.  Store/check broadcast_seq.
	Comment typo fixes.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S (FRAME_SIZE):
	Define.
	(__pthread_cond_wait): Use it.  Store/check broadcast_seq.  Comment
	typo fixes.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
	(__pthread_cond_broadcast): Increment broadcast_seq.  Comment typo
	fixes.

2004-05-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/lowlevelcond.sym: Add broadcast_seq entry.
	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h (pthread_cond_t):
	Add __broadcast_seq field.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Mark
	all waiters as woken with woken_seq and bump broadcast counter.
	* sysdeps/pthread/pthread_cond_broadcast.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Use new
	__broadcast_seq field.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/pthread/pthread_cond_wait.c: Likewise.
	* sysdeps/pthread/pthread_cond_timedwait.c: Likewise.
	* pthread_cond_init.c: Initialize __broadcast_seq field.
	* Makefile (tests): Add tst-cond17 and tst-cond18.
	Add .NOTPARALLEL goal.
	* tst-cond16.c: New file.  From Jakub.
	* tst-cond17.c: New file.  From Jakub.
	* tst-cond18.c: New file.  From Jakub.

2004-05-16  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Correct some
	unwind info.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:
	Parametrize frame size.  Correct some unwind info.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.

2004-05-04  Jakub Jelinek  <jakub@redhat.com>

	* tst-stack3.c: Note testing functionality beyond POSIX.

2004-05-04  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (USE___THREAD):
	Change conditional from ifdef to if.

2004-04-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (SYSDEP_CANCEL_ERRNO,
	SYSDEP_CANCEL_ERROR): Define.
	(PSEUDO): Use it.

2004-05-01  Jakub Jelinek  <jakub@redhat.com>

	* Versions (libpthread): Remove __pthread_cleanup_upto@@GLIBC_PRIVATE.

2004-04-20  Jakub Jelinek  <jakub@redhat.com>

	* sem_unlink.c (sem_unlink): Change EPERM into EACCES.

2004-04-19  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Add frame info.
	Use HIDDEN_JUMPTARGET to jump to __pthread_unwind.
	* sysdeps/unix/sysv/linux/sh/sem_wait.S: Remove unneeded frame
	info.  Use HIDDEN_JUMPTARGET to jump to __pthread_unwind.

2004-04-19  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/timer_routines.c: Make sure helper
	thread has all signals blocked.

2004-04-18  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/bits/semaphore.h
	(SEM_VALUE_MAX): Add missing brace.

2004-04-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/Makefile (tests): Add tst-mqueue8x
	in rt subdir.
	(CFLAGS-tst-mqueue8x.c): Add -fexceptions.
	* sysdeps/pthread/tst-mqueue8x.c: New test.
	* tst-cancel4.c: Update comment about message queues.

	* sysdeps/pthread/timer_gettime.c (timer_gettime): For expired timer
	return it_value { 0, 0 }.
	* sysdeps/pthread/timer_create.c (timer_create): Handle SIGEV_NONE
	like SIGEV_SIGNAL.
	* sysdeps/pthread/timer_routines.c (thread_expire_timer): Remove
	assertion for SIGEV_NONE.
	(thread_attr_compare): Compare all attributes, not just a partial
	subset.

2004-04-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/mq_notify.c: Include stdlib.h.

2004-04-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/bits/semaphore.h (SEM_VALUE_MAX):
	Just use a plain number.
	* sysdeps/unix/sysv/linux/i386/bits/semaphore.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/semaphore.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/semaphore.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/semaphore.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/semaphore.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/semaphore.h: Likewise.

2004-04-16  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Remove unneeded
	frame info.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.

2004-04-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/timer_routines.c: Include errno.h.
	(timer_helper_thread): Use inline rt_sigtimedwait syscall instead
	of calling sigwaitinfo.

2004-04-16  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (allocate_stack): Set reported_guardsize
	unconditionally.
	* pthread_getattr_np.c (pthread_getattr_np): Use
	reported_guardsize instead of guardsize.
	* descr.h (struct pthread): Add reported_guardsize field.

2004-04-13  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/mq_notify.c: Shut up GCC warning.

2004-04-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/mq-notify.c: New file.

2004-04-08  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/bits/local_lim.h (MQ_PRIO_MAX): Define.
	* sysdeps/unix/sysv/linux/alpha/bits/local_lim.h (MQ_PRIO_MAX): Define.
	* sysdeps/unix/sysv/linux/ia64/bits/local_lim.h (MQ_PRIO_MAX): Define.
	* sysdeps/unix/sysv/linux/sparc/bits/local_lim.h (MQ_PRIO_MAX): Define.
	* sysdeps/unix/sysv/linux/bits/posix_opt.h (_POSIX_MESSAGE_PASSING):
	Define.
	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h
	(_POSIX_MESSAGE_PASSING): Define.
	* sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h
	(_POSIX_MESSAGE_PASSING): Define.
	* sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h
	(_POSIX_MESSAGE_PASSING): Define.

2004-04-04  Ulrich Drepper  <drepper@redhat.com>

	* tst-context1.c (fct): Check whether correct stack is used.

2004-04-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Never use
	matching constraints for asm mem parameters.

	* tst-clock2.c (tf): Don't define unless needed.

2004-03-30  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile (link-libc-static): Use $(static-gnulib) instead of
	$(gnulib).

2004-03-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread-functions.h: Add ptr__nptl_deallocate_tsd.
	* init.c (pthread_functions): Add ptr__nptl_deallocate_tsd.
	* pthreadP.h: Declare __nptl_deallocate_tsd.
	* pthread_create.c (deallocate_tsd): Remove to __nptl_deallocate_tsd.
	Adjust caller.

	* Makefile (tests): Add tst-tsd5.
	* tst-tsd5.c: New file.

2004-03-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c
	(__pthread_attr_setaffinity_old): Prepend GLIBC_ to version names
	is SHLIB_COMPAT check.
	* sysdeps/unix/sysv/linux/pthread_attr_getaffinity.c
	(__pthread_attr_getaffinity_old): Likewise.
	* sysdeps/unix/sysv/linux/pthread_getaffinity.c
	(__pthread_getaffinity_old): Likewise.
	* sysdeps/unix/sysv/linux/pthread_setaffinity.c
	(__pthread_setaffinity_old): Likewise.

2004-03-26  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (_make_stacks_executable): Call
	_dl_make_stack_executable first.

2004-03-24  Roland McGrath  <roland@redhat.com>

	* sysdeps/i386/pthread_spin_lock.c (pthread_spin_lock): Use "m"
	constraint instead of "0".

2004-03-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
	(lll_mutex_cond_trylock): Define as wrapper around __lll_cond_trylock.

	* sysdeps/unix/sysv/linux/getpid.c (really_getpid): Reorganize
	code to avoid warning.

2004-03-24  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c
	(__pthread_attr_setaffinity_old): Remove const.

2004-03-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/smp.h: New file.
	* sysdeps/unix/sysv/linux/sh/smp.h: New file.
	* init.c: Define __is_smp.
	(__pthread_initialize_minimal_internal): Call is_smp_system to
	initialize __is_smp.
	* pthreadP.h: Declare __is_smp.
	Define MAX_ADAPTIVE_COUNT is necessary.
	* pthread_mutex_init.c: Add comment regarding __spins field.
	* pthread_mutex_lock.c: Implement adaptive mutex type.
	* pthread_mutex_timedlock.c: Likewise.
	* sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h (pthread_mutex_t):
	Add __spins field.
	* 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/sh/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: Define
	lll_mutex_cond_trylock.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Likewise.
	Define BUSY_WAIT_NOP.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.

	* tst-mutex5.c: Add support for testing adaptive mutexes.
	* tst-mutex7.c: Likewise.
	* tst-mutex5a.c: New file.
	* tst-mutex7a.c: New file.
	* Makefile (tests): Add tst-mutex5a and tst-mutex7a.

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
	(__lll_mutex_timedlock_wait): Preserve r8 and r9 since the
	vgettimeofday call might destroy the content.

	* sysdeps/ia64/pthread_spin_lock.c (pthread_spin_lock): Use hint
	@pause in the loop.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_mutex_trylock):
	No need to restrict type of ret.  Make it int.  Add comment.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_mutex_trylock):
	Remove unnecessary setne instruction.

2004-03-22  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/pthread_getaffinity.c
	(__pthread_getaffinity_new): Use INT_MAX instead of UINT_MAX.
	* pthread_getattr_np.c (pthread_getattr_np): Double size every cycle.
	If realloc fails, break out of the loop.

2004-03-20  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/pthread_setaffinity.c
	(__pthread_setaffinity_old): Fix interface.
	* sysdeps/unix/sysv/linux/pthread_getaffinity.c
	(__pthread_getaffinity_old): Likewise.

	* sysdeps/unix/sysv/linux/pthread_setaffinity.c
	(__pthread_setaffinity_new): Remove duplicate declaration.

2004-03-20  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (CENABLE): Save
	the return value to a safe register.
	(CDISABLE): Set the function argument correctly.

2004-03-17  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h (XCHG): Define.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.S (__lll_mutex_lock_wait):
	Rewrite so that only one locked memory operation per round is needed.
	* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S
	(pthread_barrier_wait): After wakeup, release lock only when the
	last thread stopped using the barrier object.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
	(__pthread_cond_wait): Don't store mutex address if the current
	value is ~0l.  Add correct cleanup support and unwind info.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S
	(__pthread_cond_broadcast): Don't use requeue for pshared condvars.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S: Update comment.
	* sysdeps/unix/sysv/linux/sh/pthread_once.S (__pthread_once):
	Add correct cleanup support and unwind info.
	* sysdeps/unix/sysv/linux/sh/sem_wait.S (__new_sem_wait): Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Add unwind
	information for syscall wrappers.

2004-03-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/internaltypes.h (struct pthread_attr): Add
	cpusetsize field, remove next.
	* sysdeps/pthread/pthread.h (pthread_getaffinity_np): Add new second
	parameter for size of the CPU set.
	(pthread_setaffinity_np): Likewise.
	(pthread_attr_getaffinity_np): Likewise.
	(pthread_attr_setaffinity_np): Likewise.
	* sysdeps/unix/sysv/linux/pthread_attr_getaffinity.c: Implement
	interface change, keep compatibility code.
	* sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c: Likewise.
	* sysdeps/unix/sysv/linux/pthread_getaffinity.c: Likewise.
	* sysdeps/unix/sysv/linux/pthread_setaffinity.c: Likewise.
	* pthreadP.h: Remove hidden_proto for pthread_getaffinity_np.  Declare
	__pthread_getaffinity_np.
	* Versions: Add version for changed interfaces.
	* tst-attr3.c: Adjust test for interface change.
	* pthread_getattr_np.c: Query the kernel about the affinity mask with
	increasing buffer sizes.
	* pthread_attr_destroy.c: Remove unused list handling.
	* pthread_attr_init.c: Likewise.

2004-03-17  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/timer_create.c (timer_create): Pass missing
	first argument to clock_getres so we ever enable kernel timers.

2004-03-15  Ulrich Weigand  <uweigand@de.ibm.com>

	* init.c (nptl_version): Add __attribute_used__ to nptl_version.

2004-03-12  Richard Henderson  <rth@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Propagate
	oldvalue from CENABLE to CDISABLE.

2004-03-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/local_lim.h: Define HOST_NAME_MAX.
	* sysdeps/unix/sysv/linux/alpha/bits/local_lim.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/local_lim.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/local_lim.h: Likewise.

2004-03-11  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/tcb-offsets.sym (PID_OFFSET): New.
	* sysdeps/unix/sysv/linux/alpha/pt-vfork.S: Save/restore PID.
	* sysdeps/unix/sysv/linux/alpha/vfork.S: New file.

2004-03-11  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/s390/s390-64/vfork.S (__vfork): Use jgnl
	instead of jnl instruction to jump to SYSCALL_ERROR_LABEL.
	* sysdeps/unix/sysv/linux/s390/s390-64/pt-vfork.S (__vfork): Likewise.

2004-03-11  Jakub Jelinek  <jakub@redhat.com>

	* forward.c (__pthread_cond_broadcast_2_0,
	__pthread_cond_destroy_2_0, __pthread_cond_init_2_0,
	__pthread_cond_signal_2_0, __pthread_cond_wait_2_0,
	__pthread_cond_timedwait_2_0): Use return 0 as defaction instead of 0.

2004-03-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/tcb-offsets.sym: Add PID.
	* sysdeps/unix/sysv/linux/sh/pt-vfork.S: Properly handle PID cache.
	* sysdeps/unix/sysv/linux/sh/vfork.S: New file.

2004-03-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: No need to
	include <sysdep-cancel.h>, vfork is no cancellation point.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pt-vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S: Likewise.

2004-03-10  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/vfork.S (__vfork): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/s390/s390-64/vfork.S (__vfork): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S (__vfork):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S (__vfork):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S (__vfork): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S (__vfork): Likewise.
	* sysdeps/unix/sysv/linux/ia64/pt-vfork.S: Include tcb-offsets.h.
	* sysdeps/unix/sysv/linux/ia64/vfork.S (__vfork): Use DO_CALL instead
	of DO_CALL_VIA_BREAK.  Work around a gas problem.

	* sysdeps/unix/sysv/linux/powerpc/pt-vfork.S: Remove.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pt-vfork.S: New file.
	* sysdeps/powerpc/tcb-offsets.sym: Add PID.

	* sysdeps/unix/sysv/linux/ia64/pt-vfork.S (__vfork): Don't use
	a local register for saving old PID.  Negate PID in parent upon exit.

	* sysdeps/unix/sysv/linux/s390/s390-32/pt-vfork.S: Include
	tcb-offsets.h.
	(__vfork): Negate PID if non-zero and set to INT_MIN if zero
	before syscall, set to the old value in the parent afterwards.
	* sysdeps/unix/sysv/linux/s390/s390-32/vfork.S: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/pt-vfork.S: Include
	tcb-offsets.h.
	(__vfork): Negate PID if non-zero and set to INT_MIN if zero
	before syscall, set to the old value in the parent afterwards.
	* sysdeps/unix/sysv/linux/s390/s390-64/vfork.S: New file.
	* sysdeps/s390/tcb-offsets.sym: Add PID.

	* sysdeps/unix/sysv/linux/sparc/pt-vfork.S: Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/pt-vfork.S: New file.
	* sysdeps/sparc/tcb-offsets.sym: Add PID.

2004-03-10  Andreas Schwab  <schwab@suse.de>

	* sysdeps/ia64/tcb-offsets.sym: Add PID.
	* sysdeps/unix/sysv/linux/ia64/vfork.S: New file.
	* sysdeps/unix/sysv/linux/ia64/pt-vfork.S: Properly handle PID cache.

2004-03-09  Jakub Jelinek  <jakub@redhat.com>

	* tst-cancel20.c (do_one_test): Clear in_sh_body first.
	* tst-cancel21.c (do_one_test): Likewise.
	Reported by Gordon Jin <gordon.jin@intel.com>.

2004-02-09  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/vfork.S (SAVE_PID): Negate PID
	if non-zero and set to INT_MIN if zero.
	* sysdeps/unix/sysv/linux/x86_64/vfork.S (SAVE_PID): Likewise.
	* sysdeps/unix/sysv/linux/i386/pt-vfork.S: Include tcb-offsets.h.
	(SAVE_PID, RESTORE_PID): Define.
	(__vfork): Use it.
	* sysdeps/unix/sysv/linux/x86_64/pt-vfork.S: Include tcb-offsets.h.
	Use relative path to avoid including NPTL i386/vfork.S.
	(SAVE_PID, RESTORE_PID): Define.
	* sysdeps/unix/sysv/linux/raise.c: Include limits.h.
	(raise): Handle THREAD_SELF->pid INT_MIN the same as 0.
	* Makefile (tests): Add tst-vfork1, tst-vfork2, tst-vfork1x and
	tst-vfork2x.
	(tests-reverse): Add tst-vfork1x and tst-vfork2x.
	* tst-vfork1.c: New test.
	* tst-vfork2.c: New test.
	* tst-vfork1x.c: New test.
	* tst-vfork2x.c: New test.

2004-03-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/tcb-offsets.sym: Add PID.
	* sysdeps/x86_64/tcb-offsets.sym: Likewise.
	* sysdeps/unix/sysv/linux/i386/vfork.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/vfork.S: New file.

2004-03-08  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/Versions: Remove leading tabs.

2004-03-08  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/s390/tls.h (INIT_SYSINFO): _dl_sysinfo is now in
	_rtld_global_ro.

2004-03-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/ia64/tls.h (INIT_SYSINFO): _dl_sysinfo is now in
	_rtld_global_ro.

	* tst-once4.c: Remove unnecessary macro definition.

	* tst-mutex7.c (do_test): Limit thread stack size.
	* tst-once2.c (do_test): Likewise.
	* tst-tls3.c (do_test): Likewise.
	* tst-tls1.c (do_test): Likewise.
	* tst-signal3.c (do_test): Likewise.
	* tst-kill6.c (do_test): Likewise.
	* tst-key4.c (do_test): Likewise.
	* tst-join4.c (do_test): Likewise.
	* tst-fork1.c (do_test): Likewise.
	* tst-context1.c (do_test): Likewise.
	* tst-cond2.c (do_test): Likewise.
	* tst-cond10.c (do_test): Likewise.
	* tst-clock2.c (do_test): Likewise.
	* tst-cancel10.c (do_test): Likewise.
	* tst-basic2.c (do_test): Likewise.
	* tst-barrier4.c (do_test): Likewise.

2004-03-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/tls.h: Use GLRO instead of GL where appropriate.

2004-03-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Optimize wakeup test.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
	(__pthread_cond_wait): Likewise.
	* sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait): Likewise.
	* sysdeps/pthread/pthread_cond_timedwait.c (__pthread_cond_timedwait):
	Likewise.

2004-02-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(__lll_mutex_lock_wait): Optimize a bit more.  Just one copy of
	the atomic instruction needed.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
	(__lll_mutex_lock_wait): Likewise.

2004-02-28  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-cond14 and tst-cond15.
	* tst-cond14.c: New file.
	* tst-cond15.c: New file.

2004-02-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/createthread.c (create_thread): Remove use of
	CLONE_STOPPED.  We cannot use SIGCONT which means CLONE_STOPPED
	needs to be implemented differently to be useful.

2004-02-26  Ulrich Drepper  <drepper@redhat.com>

	* pthread_attr_setschedparam.c: Don't test priority against limits
	here.  Set ATTR_FLAG_SCHED_SET flag.
	* pthread_attr_setschedpolicy.c: Set ATTR_FLAG_POLICY_SET flag.
	* pthread_create.c (__pthread_create_2_1): Copy scheduling attributes
	from parent thread to child.  If attribute is used and scheduling
	parameters are not inherited, copy parameters from attribute or
	compute them.  Check priority value.
	* pthread_getschedparam.c: If the parameters aren't known yet get
	them from the kernel.
	* pthread_setschedparam.c: Set ATTR_FLAG_SCHED_SET and
	ATTR_FLAG_POLICY_SET flag for thread.
	* sysdeps/unix/sysv/linux/internaltypes.h: Define ATTR_FLAG_SCHED_SET
	and ATTR_FLAG_POLICY_SET.

	* sysdeps/pthread/createthread.c: Use tgkill if possible.

	* pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr): Don't
	fail if stack address hasn't been set.  Just return 0.

2004-02-25  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests-nolibpthread): Add tst-unload.  Don't link with
	libpthread for the files in this list.
	(CFLAGS-tst-unload): Removed.
	* tst-unload.c (do_test): Don't use complete path for
	LIBPHREAD_SO.

	* Makefile: Define sonames for tst-tls5mod, tst-_res1mod1, and
	tst-_res1mod2.

2004-02-22  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(__lll_mutex_lock_wait): Rewrite so that only one locked memory
	operation per round is needed.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
	(__lll_mutex_lock_wait): Likewise.

2004-02-20  Ulrich Drepper  <drepper@redhat.com>

	* tst-cancel9.c (cleanup): Don't print to stderr.

2004-02-20  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/jmpbuf-unwind.h (_JMPBUF_UNWINDS_ADJ): Fix variable name.

2004-02-20  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
	(__syscall_error_handler2): Call CDISABLE.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
	(__syscall_error_handler2): Call CDISABLE.

	* sysdeps/pthread/pthread_barrier_wait.c (pthread_barrier_wait):
	Release lock before the loop, don't reacquire it.

	* sysdeps/unix/sysv/linux/ia64/dl-sysdep.h (DL_ARGV_NOT_RELRO): Define.

2004-02-19  Andreas Schwab  <schwab@suse.de>

	* sysdeps/pthread/pthread_barrier_wait.c (pthread_barrier_wait):
	Fix last change.

2004-02-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S
	(pthread_barrier_wait): After wakeup, release lock only when the
	last thread stopped using the barrier object.
	* sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S
	(pthread_barrier_wait): Likewise.
	* sysdeps/pthread/pthread_barrier_wait.c (pthread_barrier_wait):
	Likewise.
	* Makefile (tests): Add tst-barrier4.
	* tst-barrier4.c: New file.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Perform timeout test while holding
	internal lock to prevent wakeup race.
	Patch by Dinakar Guniguntala <dgunigun@in.ibm.com>.
	* sysdeps/pthread/pthread_cond_timedwait.c
	(__pthread_cond_timedwait): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Likewise.

2004-02-18  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S
	(__pthread_rwlock_unlock): Access WRITER as 32-bit value.
	* Makefile (tests): Add tst-rwlock13.
	* tst-rwlock13.c: New test.

2004-02-16  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__condvar_tw_cleanup): Little optimization.
	Patch by Dinakar Guniguntala <dgunigun@in.ibm.com>.

2004-02-16  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c: Replace libc with
	libpthread as "lib" parameter to SHLIB_COMPAT.
	(__novmx_siglongjmp): Fix typo in function name.
	(__novmx_longjmp): Fix typo in function name.

2004-02-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait): Add a
	__builtin_expect.

	* sysdeps/generic/pt-longjmp.c: Moved to...
	* sysdeps/pthread/pt-longjmp.c: ...here.  New file.

2004-01-29  Steven Munroe  <sjmunroe@us.ibm.com>

	* Makefile (libpthread-routines): Add pt-cleanup.
	* pt-longjmp.c: Removed.
	* pt-cleanup.c: Copied __pthread_cleanup_upto to here. New file.
	* sysdeps/generic/pt-longjmp.c: Copied longjmp to here. New file.
	* sysdeps/unix/sysv/linux/powerpc/Versions: New file.
	Version longjmp, siglongjmp for GLIBC_2.3.4.
	* sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c: New File.

2004-02-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread_cond_timedwait.c
	(__pthread_cond_timedwait): Optimize.  Drop internal lock earlier.
	Reuse code.  Add __builtin_expects.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Get internal lock in case timeout has
	passed before the futex syscall.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.

2004-01-20  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c: Pretty printing.

	* sysdeps/pthread/createthread.c (create_thread): Don't add
	CLONE_DETACHED bit if it is not necessary.

2004-01-16  Ulrich Drepper  <drepper@redhat.com>

	* pthread_getattr_np.c: Include ldsodefs.h.

2004-01-16  Richard Henderson  <rth@redhat.com>

	* allocatestack.c: Don't declare __libc_stack_end.
	* init.c (__pthread_initialize_minimal_internal): Likewise.
	* pthread_getattr_np.c (pthread_getattr_np): Likewise.

2004-01-15  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/tls.h (tcbhead_t): Add private.
	(TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN, TLS_TCB_SIZE,
	TLS_PRE_TCB_SIZE, TLS_TCB_ALIGN, INSTALL_DTV, INSTALL_NEW_DTV,
	GET_DTV, THREAD_DTV, THREAD_SELF, DB_THREAD_SELF): Match ia64.
	(TLS_TCB_OFFSET, THREAD_ID, NO_TLS_OFFSET): Remove.
	(THREAD_GETMEM, THREAD_GETMEM_NC): Simplify.
	(THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
	* sysdeps/unix/sysv/linux/alpha/createthread.c (TLS_VALUE): Match ia64.

2004-01-14  Ulrich Drepper  <drepper@redhat.com>

	* init.c (pthread_functions): Make array const.

2004-01-13  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (__make_stacks_executable): Change interface.
	Check parameters.  Pass parameter on to libc counterpart.
	* pthreadP.h: Change declaration.

2004-01-13  Richard Henderson  <rth@redhat.com>

	* pthread_attr_setstack.c (__old_pthread_attr_setstack): Use
	prototype form.
	* pthread_attr_setstacksize.c (__old_pthread_attr_setstacksize):
	Likewise.

	* sysdeps/alpha/Makefile: New file.
	* sysdeps/alpha/tcb-offsets.sym: New file.
	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (SINGLE_THREAD_P):
	Use MULTIPLE_THREADS_OFFSET to implement !libpthread !libc version.

	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h: Rewrite based
	on powerpc version.

2004-01-08  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (tests): Add tst-backtrace1.
	* tst-backtrace1.c: New test.

2003-12-11  Ulrich Weigand  <uweigand@de.ibm.com>

	* sysdeps/alpha/tls.h (DB_THREAD_SELF): Pass bit size of thread
	register as second parameter to the REGISTER macro.
	* sysdeps/ia64/tls.h (DB_THREAD_SELF): Likewise.
	* sysdeps/powerpc/tls.h (DB_THREAD_SELF): Likewise.
	* sysdeps/sh/tls.h (DB_THREAD_SELF): Likewise.
	* sysdeps/sparc/tls.h (DB_THREAD_SELF): Likewise.
	* sysdeps/s390/tls.h (DB_THREAD_SELF): Pass __WORDSIZE as bit size
	of thread register as second parameter to REGISTER macro in 64 case.

2004-01-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/Makefile (CFLAGS-getpid.c): Removed.
	(CFLAGS-getpid.o): Defined.
	(CFLAGS-getpid.os): Defined.

2003-12-31  Ulrich Drepper  <drepper@redhat.com>

	* pthread_getattr_np.c (pthread_getattr_np): Make sure stack info
	returned for main thread does not overlap with any other VMA.
	Patch by Jakub Jelinek.

2003-12-29  Jakub Jelinek  <jakub@redhat.com>

	* tst-raise1.c: Include stdio.h.

2003-12-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/raise.c (raise): Protect pid = selftid
	setting with __ASSUME_TGKILL || defined __NR_tgkill.
	If pid is 0, set it to selftid.
	* sysdeps/unix/sysv/linux/getpid.c (really_getpid): Make inline.
	Don't set self->pid but self->tid.  If self->pid == 0 and self->tid
	!= 0, return self->tid without doing a syscall.
	* descr.h (struct pthread): Move pid field after tid.

	* Makefile (tests): Add tst-raise1.
	* tst-raise1.c: New file.

2003-12-23  Roland McGrath  <roland@redhat.com>

	* tst-oddstacklimit.c: New file.
	* Makefile (tests): Add it.
	(tst-oddstacklimit-ENV): New variable.

	* init.c (__pthread_initialize_minimal_internal): Round stack rlimit
	value up to page size for __default_stacksize.

2003-12-21  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-eintr5.
	* tst-eintr5.c: New file.

	* eintr.c (eintr_source): Prevent sending signal to self.

	* tst-eintr2.c (tf1): Improve error message.

2003-12-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/Makefile (CFLAGS-getpid.c): Define.
	* sysdeps/unix/sysv/linux/getpid.c: New file.
	* pthread_cancel.c: Add comment explaining use of PID field.
	* sysdeps/unix/sysv/linux/pthread_kill.c: Likewise.
	* pthread_getattr_np.c: Use abs() when comparing PID and TID fields.
	* sysdeps/unix/sysv/linux/fork.c: Negate PID field of parent
	temporarily to signal the field must not be relied on and updated
	by getpid().
	* sysdeps/unix/sysv/linux/pt-raise.c: Handle case where PID is
	temporarily negative.
	* sysdeps/unix/sysv/linux/raise.c: Likewise.

2003-12-19  Ulrich Drepper  <drepper@redhat.com>

	* eintr.c (setup_eintr): Add new parameter.  Pass to thread function.
	(eintr_source): If ARG != NULL, use pthread_kill.
	* tst-eintr1.c: Adjust for this change.
	* tst-eintr2.c: Likewise.
	* Makefile (tests): Add tst-eintr3 and tst-eintr4.
	* tst-eintr3.c: New file.
	* tst-eintr4.c: New file.

2003-12-19  Jakub Jelinek  <jakub@redhat.com>

	* libc-cancellation.c (__libc_enable_asynccancel): Don't cancel
	if CANCELSTATE_BITMASK is set.
	* sysdeps/pthread/librt-cancellation.c (__librt_enable_asynccancel):
	Likewise.

	* Makefile (tests): Add tst-cancel22 and tst-cancel23.
	(tests-reverse): Add tst-cancel23.
	* tst-cancel22.c: New test.
	* tst-cancel23.c: New test.

2003-12-18  Ulrich Drepper  <drepper@redhat.com>

	* tst-eintr1.c: Better error messages.

	* Makefile (tests): Add tst-eintr2.
	* tst-eintr2.c: New file.

2003-12-18  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (tests): Add tst-cancel21 and tst-cancelx21.
	(CFLAGS-tst-cancelx21.c): Set.
	* tst-cancel21.c: New test.
	* tst-cancelx21.c: New test.

	* unwind.c (FRAME_LEFT): Add adj argument.  Subtract it from each
	comparison operand.
	(unwind_stop): Use _JMPBUF_CFA_UNWINDS_ADJ macro instead of
	_JMPBUF_CFA_UNWINDS.  Adjust FRAME_LEFT invocations.
	* pt-longjmp.c: Include jmpbuf-unwind.h.
	(__pthread_cleanup_upto): Use _JMPBUF_UNWINDS_ADJ macro instead of
	_JMPBUF_UNWINDS.  Adjust compared pointers.
	* init.c (__pthread_initialize_minimal_internal): Initialize
	pd->stackblock_size.
	* sysdeps/pthread/jmpbuf-unwind.h: Removed.
	* sysdeps/alpha/jmpbuf-unwind.h: New file.
	* sysdeps/i386/jmpbuf-unwind.h: New file.
	* sysdeps/powerpc/jmpbuf-unwind.h: New file.
	* sysdeps/s390/jmpbuf-unwind.h: New file.
	* sysdeps/sh/jmpbuf-unwind.h: New file.
	* sysdeps/sparc/sparc32/jmpbuf-unwind.h: New file.
	* sysdeps/x86_64/jmpbuf-unwind.h: New file.
	* sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h: Include stdint.h.
	(_JMPBUF_CFA_UNWINDS): Remove.
	(_JMPBUF_CFA_UNWINDS_ADJ, _JMPBUF_UNWINDS_ADJ): Define.

2003-12-12  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (tests): Add tst-cancel20 and tst-cancelx20.
	(CFLAGS-tst-cancelx20.c): Set.
	* tst-cancel20.c: New test.
	* tst-cancelx20.c: New test.

2003-12-17  Ulrich Drepper  <drepper@redhat.com>

	* init.c (__pthread_initialize_minimal_internal): Don't treat
	architectures with separate register stack special here when
	computing default stack size.

2003-12-17  Roland McGrath  <roland@redhat.com>

	* Makefile (tst-cancelx7-ARGS): New variable.
	Reportd by Greg Schafer <gschafer@zip.com.au>.

2003-12-17  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (tests): Add tst-stack3.  Depend on $(objpfx)tst-stack3-mem.
	(generated): Add tst-stack3.mtrace and tst-stack3-mem.
	(tst-stack3-ENV): Set.
	($(objpfx)tst-stack3-mem): New.
	* tst-stack3.c: New test.

2003-12-10  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/unix/sysv/linux/ia64/pt-initfini.c (_init_EPILOG_BEGINS):
	Add unwind directives.  Drop unused .regstk directive.
	(_fini_EPILOG_BEGINS): Add unwind directives.

2003-12-11  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_futex_wait):
	Assume parameter is a pointer.
	(lll_futex_wake): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_futex_wait):
	Likewise.
	(lll_futex_wake): Likewise.
	Reported by Boris Hu.
	* sysdeps/unix/sysv/linux/unregister-atfork.c
	(__unregister_atfork): Pass pointer to refcntr to lll_futex_wait.

	* sysdeps/unix/sysv/linux/sem_wait.c (__new_sem_wait): Simplify a bit.

2003-12-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/bits/libc-lock.h (__rtld_lock_initialize): Define.
	* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Call
	__rtld_lock_initialize for ld.so lock.
	Patch in part by Adam Li <adam.li@intel.com>.

2003-12-02  David Mosberger  <davidm@hpl.hp.com>

	* Makefile (link-libc-static): Remove -lgcc_eh---it's already mentioned
	in $(gnulib).  Also, remove stale comment.

2003-11-12  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (PSEUDO): Take
	advantage of new syscall stub and optimize accordingly.

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (__NR_futex): Rename
	from SYS_futex, to match expectations of
	sysdep.h:DO_INLINE_SYSCALL.
	(lll_futex_clobbers): Remove.
	(lll_futex_timed_wait): Rewrite in terms of DO_INLINE_SYSCALL.
	(lll_futex_wake): Likewise.
	(lll_futex_requeue): Likewise.
	(__lll_mutex_trylock): Rewrite to a macro, so we can include this
	file before DO_INLINE_SYSCALL is defined (proposed by Jakub
	Jelinek).
	(__lll_mutex_lock): Likewise.
	(__lll_mutex_cond_lock): Likewise.
	(__lll_mutex_timed_lock): Likewise.
	(__lll_mutex_unlock): Likewise.
	(__lll_mutex_unlock_force): Likewise.

	* sysdeps/ia64/tls.h: Move declaration of __thread_self up so it
	comes before the include of <sysdep.h>.
	(THREAD_SELF_SYSINFO): New macro.
	(THREAD_SYSINFO): Likewise.
	(INIT_SYSINFO): New macro.
	(TLS_INIT_TP): Call INIT_SYSINFO.

	* sysdeps/ia64/tcb-offsets.sym: Add SYSINFO_OFFSET.

	* sysdeps/pthread/createthread.c (create_thread): Use
	THREAD_SELF_SYSINFO and THREAD_SYSINFO instead of open code.
	* allocatestack.c (allocate_stack): Use THREAD_SYSINFO and
	THREAD_SELF_SYSINFO instead of open code.
	* sysdeps/i386/tls.h (THREAD_SELF_SYSINFO): New macro.
	(THREAD_SYSINFO): Likewise.

	* sysdeps/unix/sysv/linux/ia64/dl-sysdep.h: New file.

	* sysdeps/unix/sysv/linux/ia64/pt-vfork.S: Work around gas problem.

2003-12-06  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/pt-initfini.c: Use .init_array
	instead of .init.  Patch by David Mosberger.

2003-11-30  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/pthread/configure.in: Remove broken declaration in C
	cleanup handling check.

2003-11-30  Andreas Jaeger  <aj@suse.de>

	* Makefile (CFLAGS-pt-initfini.s): Add $(fno_unit_at_a_time).
	* sysdeps/unix/sysv/linux/x86_64/Makefile (CFLAGS-pt-initfini.s):
	Likewise.

2003-11-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/internaltypes.h (ATTR_FLAG_OLDATTR): Define.
	* pthread_attr_destroy.c: Include shlib-compat.h.
	(__pthread_attr_destroy): Return immediately if ATTR_FLAG_OLDATTR
	is set in iattr->flags.
	* pthread_attr_init.c (__pthread_attr_init_2_0): Set ATTR_FLAG_OLDATTR.

2003-11-21  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (distribute): Add tst-cleanup4aux.c.

	* tst-cond12.c (prepare): Add prototype.  Move after test-skeleton.c
	include.

2003-11-21  Ulrich Drepper  <drepper@redhat.com>

	* tst-cond12.c (do_test): If USE_COND_SIGNAL is defined, use
	pthread_cond_signal.

	* sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait): Don't
	store mutex address if the current value is ~0l.
	* sysdeps/pthread/pthread_cond_timedwait.c
	(__pthread_cond_timedwait): Likewise.
	* sysdeps/pthread/pthread_cond_broadcast.c
	(__pthread_cond_broadcast): Don't use requeue for pshared
	condvars.

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
	(__pthread_cond_wait): Don't store mutex address if the current
	value is ~0l.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
	(__pthread_cond_broadcast): Don't use requeue for pshared
	condvars.

	* pthread_cond_init.c (__pthread_cond_init): Initialize __mutex
	element with ~0l for pshared condvars, with NULL otherwise.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
	(__pthread_cond_wait): Don't store mutex address if the current
	value is ~0l.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
	(__pthread_cond_broadcast): Don't use requeue for pshared
	condvars.

	* Makefile: Add rules to build and run tst-cond12 and tst-cond13.
	* tst-cond12.c: New file.
	* tst-cond13.c: New file.

2003-11-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/configure.in: Make missing forced unwind support
	fatal.

2003-11-11  Ulrich Drepper  <drepper@redhat.com>

	* pthreadP.h: Don't declare __pthread_unwind as weak inside libpthread.

2003-11-06  Ulrich Drepper  <drepper@redhat.com>

	* Makefile: Add magic to clean up correctly.

2003-11-05  Jakub Jelinek  <jakub@redhat.com>

	* unwind.c (FRAME_LEFT): Define.
	(unwind_stop): Handle old style cleanups here.
	(__pthread_unwind): Handle old style cleanups only if
	!HAVE_FORCED_UNWIND.
	* Makefile (tests): Add tst-cleanup4 and tst-cleanupx4.
	(CFLAGS-tst-cleanupx4.c): Add -fexceptions.
	($(objpfx)tst-cleanup4): Depend on $(objpfx)tst-cleanup4aux.o.
	($(objpfx)tst-cleanupx4): Likewise.
	* tst-cleanup4.c: New test.
	* tst-cleanup4aux.c: New.
	* tst-cleanupx4.c: New test.

2003-11-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/bits/stdio-lock.h: Use lll_*lock instead of
	lll_mutex_*lock macros to skip atomic operations on some archs.

2003-11-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/tst-timer.c (main): Initialize
	sigev2.sigev_value as well.

2003-10-15  Roland McGrath  <roland@redhat.com>

	* sysdeps/pthread/configure.in: Barf if visibility attribute support
	is missing.
	* sysdeps/pthread/configure: Regenerated.

2003-10-09  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Completely revamp the
	locking macros.  No distinction between normal and mutex locking
	anymore.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Rewrite mutex locking.
	Merge bits from lowlevelmutex.S we still need.
	* sysdeps/unix/sysv/linux/sh/libc-lowlevelmutex.S: Remove.
	* sysdeps/unix/sysv/linux/sh/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/not-cancel.h: New file.
	* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: Adjust for
	new mutex implementation.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (PSEUDO): Also defined
	symbol for entry point to avoid cancellation.

2003-10-07  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Backout 2003-10-02
	changes.
	(SAVE_OLDTYPE_0): Fix a typo.

2003-10-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/pthread_once.S (__pthread_once):
	Check __sigsetjmp return value.  Reported by Daniel Jacobowitz.

2003-10-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (DOCARGS_1): Use
	correct offset.

2003-10-02  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (tests): Add tst-cancel19.
	* tst-cancel19.c: New test.

2003-10-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Fix saving and
	restoring of the old cancellation type.

2003-09-30  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/malloc-machine.h: Remove misleading comment.

2003-09-27  Wolfram Gloger  <wg@malloc.de>

	* sysdeps/pthread/malloc-machine.h: New file

2003-09-24  Roland McGrath  <roland@redhat.com>

	* allocatestack.c (__make_stacks_executable): Don't ignore return
	value from _dl_make_stack_executable.

2003-09-24  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (__make_stacks_executable): Also change
	permission of the currently unused stacks.

	* allocatestack.c (change_stack_perm): Split out from
	__make_stacks_executable.
	(allocate_stack): If the required permission changed between the time
	we started preparing the stack and queueing it, change the permission.
	(__make_stacks_executable): Call change_stack_perm.

	* Makefile: Build tst-execstack-mod locally.
	* tst-execstack-mod.c: New file.

2003-09-23  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (tests): Only add tst-execstack if have-z-execstack is yes.

2003-09-23  Roland McGrath  <roland@redhat.com>

	* tst-execstack.c: New file.
	* Makefile (tests): Add it.
	($(objpfx)tst-execstack, $(objpfx)tst-execstack.out): New targets.
	(LDFLAGS-tst-execstack): New variable.

	* allocatestack.c (allocate_stack): Use GL(dl_stack_flags) to decide
	whether to use PROT_EXEC for stack mmap.
	(__make_stacks_executable): New function.
	* pthreadP.h: Declare it.
	* init.c (__pthread_initialize_minimal_internal): Set
	GL(dl_make_stack_executable_hook) to that.

2003-09-22  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Adjust for latest
	recommendation from AMD re avoidance of lock prefix.

2003-09-22  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_timedlock_wait): Use
	lll_futex_timed_wait instead of lll_futex_wait.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.c: Removed.
	* sysdeps/unix/sysv/linux/s390/lowlevelmutex.c: Removed.
	* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c: Removed.
	* sysdeps/unix/sysv/linux/s390/libc-lowlevelmutex.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_trywait.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_wait.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_post.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Removed.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Include atomic.h.
	Completely revamp the locking macros.  No distinction between
	normal and mutex locking anymore.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (__lll_lock_wait,
	__lll_lock_timedwait): Fix prototypes.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (__lll_lock_wait,
	__lll_lock_timedwait): Likewise.
	(lll_mutex_lock, lll_mutex_cond_lock): Use _val instead of _bool
	macros, add __builtin_expect.
	(lll_mutex_timedlock): Likewise.  Fix return value.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i586/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i586/lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i686/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i686/lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/lowlevelmutex.c: Removed.
	* sysdeps/unix/sysv/linux/libc-lowlevelmutex.c: Removed.

2003-09-22  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(__lll_mutex_lock_wait): Minor optimization to avoid one atomic
	operation if possible.

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Don't play tricks
	like jumping over the lock prefix.

2003-09-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Completely revamp the
	locking macros.  No distinction between normal and mutex locking
	anymore.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Rewrite mutex
	locking.  Merge bits from lowlevelmutex.S we still need.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/lowlevellock.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: Removed.
	* Makefile (routines): Remove libc-lowlevelmutex.
	(libpthread-rountines): Remove lowlevelmutex.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Adjust
	for new mutex implementation.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
	* 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.
	* sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S: Likewise
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise.
	Don't use requeue.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
	* sysdeps/pthread/pthread_cond_signal.c: Don't use requeue.

2003-09-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Don't match memory
	in parameters of asm with output parameters.

	* pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): Change
	type of DECR parameter to int.
	* pthreadP.h: Adjust prototype of __pthread_mutex_unlock_usercnt.

2003-09-18  Jakub Jelinek  <jakub@redhat.com>

	* tst-attr3.c (tf, do_test): Print stack start/end/size and
	guardsize for each thread.

2003-09-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/pthread.h (pthread_getattr_np): Clarify usage.
	* sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c
	(pthread_attr_setaffinity_np): Handle cpuset == NULL.

	* sysdeps/unix/sysv/linux/pthread_attr_getaffinity.c
	(pthread_attr_getaffinity_np): Don't segfault if iattr->cpuset is
	NULL.
	* pthread_getattr_np.c: Set cpuset using pthread_getaffinity_np.
	* pthreadP.h (pthread_getaffinity_np): Add hidden_proto.
	* sysdeps/unix/sysv/linux/pthread_getaffinity.c
	(pthread_getaffinity_np): Add hidden_def.

	* Makefile (tests): Add tst-attr3.
	* tst-attr3.c: New test.

	* sysdeps/i386/Makefile (CFLAGS-tst-align.c): Remove.

2003-09-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/Makefile (CFLAGS-pthread_create.c,
	CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.

2003-09-17  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (CFLAGS-tst-align.c): Add $(stack-align-test-flags).
	* tst-align.c: Include tst-stack-align.h.
	(tf, do_test): Use TEST_STACK_ALIGN macro.

2003-09-17  Ulrich Drepper  <drepper@redhat.com>

	* pthread_attr_init.c (__pthread_attr_init_2_0): Remove unused
	variable.

2003-09-16  Ulrich Drepper  <drepper@redhat.com>

	* pthread_getattr_np.c (pthread_getattr_np): Correctly fill in the
	stack-related values for the initial thread.

2003-09-15  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (CFLAGS-pthread_once.c): Add $(uses-callbacks).

2003-09-11  Ulrich Drepper  <drepper@redhat.com>

	* pthread_mutex_lock.c: Minor code rearrangements.

2003-09-05  Roland McGrath  <roland@redhat.com>

	* pthread_create.c (__pthread_pthread_sizeof_descr): Removed.
	Instead, include ../nptl_db/db_info.c to do its magic.
	* pthread_key_create.c (__pthread_pthread_keys_max): Removed.
	(__pthread_pthread_key_2ndlevel_size): Likewise.
	* sysdeps/alpha/tls.h (DB_THREAD_SELF): New macro.
	* sysdeps/i386/tls.h (DB_THREAD_SELF): New macro.
	* sysdeps/ia64/tls.h (DB_THREAD_SELF): New macro.
	* sysdeps/powerpc/tls.h (DB_THREAD_SELF): New macro.
	* sysdeps/s390/tls.h (DB_THREAD_SELF): New macro.
	* sysdeps/sh/tls.h (DB_THREAD_SELF): New macro.
	* sysdeps/sparc/tls.h (DB_THREAD_SELF): New macro.
	* sysdeps/x86_64/tls.h (DB_THREAD_SELF): New macro.
	* sysdeps/alpha/td_ta_map_lwp2thr.c: File removed.
	* sysdeps/generic/td_ta_map_lwp2thr.c: File removed.
	* sysdeps/i386/td_ta_map_lwp2thr.c: File removed.
	* sysdeps/ia64/td_ta_map_lwp2thr.c: File removed.
	* sysdeps/powerpc/td_ta_map_lwp2thr.c: File removed.
	* sysdeps/s390/td_ta_map_lwp2thr.c: File removed.
	* sysdeps/sh/td_ta_map_lwp2thr.c: File removed.
	* sysdeps/sparc/td_ta_map_lwp2thr.c: File removed.
	* sysdeps/x86_64/td_ta_map_lwp2thr.c: File removed.

2003-09-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Change type
	of pthread_t to be compatible with LT.
	* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/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/alpha/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Likewise.

2003-09-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/not-cancel.h (fcntl_not_cancel): Define.

2003-09-04  Jakub Jelinek  <jakub@redhat.com>

	* unwind-forcedunwind.c: Move to...
	* sysdeps/pthread/unwind-forcedunwind.c: ...here.
	(pthread_cancel_init): Use ARCH_CANCEL_INIT if defined.
	* sysdeps/pthread/jmpbuf-unwind.h: New file.
	* sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c: New file.
	* sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h: New file.
	* unwind.c: Include jmpbuf-unwind.h.
	(unwind_stop): Use _JMPBUF_CFA_UNWINDS macro.

2003-09-02  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/bits/local_lim.h: New file.
	* sysdeps/unix/sysv/linux/ia64/Versions (libpthread): Export
	pthread_attr_setstack and pthread_attr_setstacksize @@GLIBC_2.3.3.
	* sysdeps/unix/sysv/linux/alpha/bits/local_lim.h: New file.
	* sysdeps/unix/sysv/linux/alpha/Versions: New file.
	* sysdeps/unix/sysv/linux/sparc/bits/local_lim.h: New file.
	* sysdeps/unix/sysv/linux/sparc/Versions: New file.
	* pthread_attr_setstack.c (__old_pthread_attr_setstack): New function.
	(pthread_attr_setstack): If PTHREAD_STACK_MIN != 16384, export
	as @@GLIBC_2.3.2 and also export compatibility @GLIBC_2.2.
	* pthread_attr_setstacksize.c (__old_pthread_attr_setstacksize): New
	function.
	(pthread_attr_setstacksize): If PTHREAD_STACK_MIN != 16384, export
	as @@GLIBC_2.3.2 and also export compatibility @GLIBC_2.1.
	* Makefile (tests): Add tst-stack2.
	* tst-stack2.c: New test.
	* tst-stack1.c: Include limits.h and sys/param.h.
	(do_test): Set size to MAX (4 * getpagesize (), PTHREAD_STACK_MIN).

	* pthread_condattr_setpshared.c: Include errno.h.
	(pthread_condattr_setpshared): Return EINVAL if pshared
	is neither PTHREAD_PROCESS_PRIVATE nor PTHREAD_PROCESS_SHARED.

	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO): Also
	defined symbol for entry point to avoid cancellation.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/i386/not-cancel.h (__open_nocancel,
	__close_nocancel, __read_nocancel, __write_nocancel,
	__waitpid_nocancel): Add attribute_hidden.  If not in libc.so,
	libpthread.so or librt.so, define to corresponding function
	without _nocancel suffix.
	* sysdeps/unix/sysv/linux/s390/not-cancel.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/not-cancel.h: New file.
	* sysdeps/unix/sysv/linux/sparc/not-cancel.h: New file.

	* sysdeps/unix/sysv/linux/x86_64/not-cancel.h: Fix a typo.

2003-09-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/not-cancel.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/not-cancel.h: New file.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Make sure the code
	in subsections has a symbol associated with it.

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (PSEUDO): Also
	defined symbol for entry point to avoid cancellation.
	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (PSEUDO): Likewise.

2003-09-01  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (tests): Add tst-tls5.
	(module-names): Add tst-tls5mod{,a,b,c,d,e,f}.
	($(objpfx)tst-tls5mod{,a,b,c,d,e,f}.so-no-z-defs): Set to yes.
	($(objpfx)tst-tls5): New.
	($(objpfx)tst-tls6.out): Likewise.
	(tests): Depend on $(objpfx)tst-tls6.out.
	* tst-tls3.c: Include stdint.h and pthreaddef.h.
	(do_test): Check pthread_self () return value alignment.
	* tst-tls3mod.c: Include stdint.h and pthreaddef.h.
	(tf): Check pthread_self () return value alignment.
	* tst-tls5.c: New test.
	* tst-tls5.h: New.
	* tst-tls5mod.c: New.
	* tst-tls5moda.c: New.
	* tst-tls5modb.c: New.
	* tst-tls5modc.c: New.
	* tst-tls5modd.c: New.
	* tst-tls5mode.c: New.
	* tst-tls5modf.c: New.
	* tst-tls6.sh: New test.

	* sysdeps/pthread/pthread-functions.h (struct pthread_functions): Add
	ptr___pthread_cond_timedwait and ptr___pthread_cond_timedwait_2_0.
	* init.c (pthread_functions): Initialize them.
	* forward.c (pthread_cond_timedwait@GLIBC_2.0,
	pthread_cond_timedwait@@GLIBC_2.3.2): New forwards.
	* Versions (libc): Export pthread_cond_timedwait@GLIBC_2.0,
	pthread_cond_timedwait@@GLIBC_2.3.2.

2003-09-01  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/timer_create.c: New file.
	* sysdeps/unix/sysv/linux/alpha/timer_delete.c: New file.
	* sysdeps/unix/sysv/linux/alpha/timer_getoverr.c: New file.
	* sysdeps/unix/sysv/linux/alpha/timer_gettime.c: New file.
	* sysdeps/unix/sysv/linux/alpha/timer_settime.c: New file.
	* sysdeps/unix/sysv/linux/alpha/Versions: New file.

	* sysdeps/unix/sysv/linux/alpha/aio_cancel.c: New file.

	* sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h: Define
	_POSIX_THREAD_PRIORITY_SCHEDULING.
	* sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h: Likewise.

2003-08-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/bits/stdio-lock.h (_IO_acquire_lock): Avoid
	nested function, use static inline function from libio.h.
	Code by Richard Henderson.

	* sysdeps/pthread/bits/libc-lock.h: Mark pthread_setcancelstate as
	weak.

2003-08-30  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc64/Versions: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/timer_create.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/timer_delete.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/timer_getoverr.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/timer_gettime.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: New file.
	* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: New file.
	* sysdeps/unix/sysv/linux/sparc/bits/semaphore.h: New file.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: New file.
	* sysdeps/unix/sysv/linux/sparc/pthread_once.c: New file.
	* sysdeps/unix/sysv/linux/sparc/pt-vfork.S: New file.
	* sysdeps/unix/sysv/linux/sparc/fork.c: New file.
	* sysdeps/unix/sysv/linux/sparc/aio_cancel.c: New file.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.c: New file.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_trylock.c: New file.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_unlock.c: New file.
	* sysdeps/sparc/sparc32/pthread_spin_lock.c: New file.
	* sysdeps/sparc/sparc32/pthread_spin_trylock.c: New file.
	* sysdeps/sparc/sparc32/pthreaddef.h: New file.
	* sysdeps/sparc/sparc64/pthread_spin_lock.c: New file.
	* sysdeps/sparc/sparc64/pthread_spin_trylock.c: New file.
	* sysdeps/sparc/sparc64/pthread_spin_unlock.c: New file.
	* sysdeps/sparc/sparc64/pthreaddef.h: New file.
	* sysdeps/sparc/tls.h: New file.
	* sysdeps/sparc/tcb-offsets.sym: New file.
	* sysdeps/sparc/Makefile: New file.
	* sysdeps/sparc/td_ta_map_lwp2thr.c: New file.
	* init.c [__sparc__] (__NR_set_tid_address): Define.

2003-08-29  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/bits/stdio-lock.h (_IO_acquire_lock,
	_IO_release_lock): Define.

2003-08-29  Jakub Jelinek  <jakuB@redhat.com>

	* tst-cancel4.c (tf_sigwait, tf_sigwaitinfo, tf_sigtimedwait): Add
	sigemptyset before sigaddset.  Reported by jreiser@BitWagon.com.

2003-08-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h (pthread_exit): Remove __THROW.
	(__pthread_cleanup_class): Add missing return types of member
	functions.

2003-08-26  Steven Munroe <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
	(lll_mutex_unlock_force): Add memory barrier between store and futex
	syscall.

2003-08-25  Ulrich Drepper  <drepper@redhat.com>

	* tst-cancel4.c (do_test): Also unlink tempfname and remove
	tempmsg in first loop.

2003-08-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
	_POSIX_THREAD_PRIORITY_SCHEDULING.
	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.

2003-08-07  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/bits/libc-lock.h [_LIBC && SHARED]
	(__rtld_lock_default_lock_recursive,
	__rtld_lock_default_unlock_recursive): Define.
	[_LIBC && SHARED] (__rtld_lock_lock_recursive,
	__rtld_lock_unlock_recursive): Define using
	GL(_dl_rtld_*lock_recursive).
	* init.c (__pthread_initialize_minimal_internal): Initialize
	_dl_rtld_lock_recursive and _dl_rtld_unlock_recursive.
	Lock GL(_dl_load_lock) the same number of times as
	GL(_dl_load_lock) using non-mt implementation was nested.

	* pthreadP.h (__pthread_cleanup_upto): Add hidden_proto.
	* pt-longjmp.c (__pthread_cleanup_upto): Add hidden_def.

2003-08-06  Jakub Jelinek  <jakub@redhat.com>

	* tst-cancel17.c (do_test): Make len2 maximum of page size and
	PIPE_BUF.

2003-08-07  Jakub Jelinek  <jakub@redhat.com>

	* pthread_create.c (__pthread_create_2_0): Clear new_attr.cpuset.

2003-08-03  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/createthread.c (do_clone): Move error handling
	to first syscall error check.  Move syscall error check for tkill
	into __ASSUME_CLONE_STOPPED #ifdef.

2003-08-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/createthread.c (do_clone): If __ASSUME_CLONE_STOPPED
	is not defined, do explicit synchronization.
	(create_thread): Do not lock pd->lock here.  If __ASSUME_CLONE_STOPPED
	is not defined also unlock pd->lock for non-debugging case in case
	it is necessary.
	* pthread_create.c (start_thread): Always get and release pd->lock
	if __ASSUME_CLONE_STOPPED is not defined.
	(start_thread_debug): Removed.  Adjust users.
	* allocatestack.c (allocate_stack): Always initialize lock if
	__ASSUME_CLONE_STOPPED is not defined.
	* Makefile (tests): Add tst-sched1.
	* tst-sched1.c: New file.

	* sysdeps/pthread/createthread.c (do_clone): Only use
	sched_setschduler and pass correct parameters.

2003-07-31  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/pthread.h (pthread_attr_setstackaddr,
	pthread_attr_setstacksize): Change PTHREAD_STACK_SIZE to
	PTHREAD_STACK_MIN in comments.

2003-07-31  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/pthread_cond_timedwait.c (__pthread_cond_timedwait):
	Shut up warnings if INTERNAL_SYSCALL_ERROR_P does not use its first
	argument.
	* sysdeps/unix/sysv/linux/timer_create.c (timer_create): Likewise.
	* pthread_condattr_setclock.c (pthread_condattr_setclock): Likewise.
	* sysdeps/unix/sysv/linux/s390/jmp-unwind.c: Include pthreaddef.h.
	(__pthread_cleanup_upto): Fix prototype.
	(_longjmp_unwind): Adjust caller.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h (__lll_mutex_timedlock):
	Change second argument to const struct pointer.
	* tst-sem8.c (main): Remove unused s2 and s3 variables.
	* tst-sem9.c (main): Likewise.
	* unwind.c: Include string.h for strlen prototype.

2003-07-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Don't use cmov unless HAVE_CMOV is defined.
	* sysdeps/unix/sysv/linux/i386/i686/pthread_cond_timedwait.S:
	Define HAVE_CMOV.
	Patch by Nicholas Miell <nmiell@attbi.com>.

2003-07-30  Jakub Jelinek  <jakub@redhat.com>

	* init.c (__pthread_initialize_minimal_internal): Initialize
	GL(dl_init_static_tls).
	* pthreadP.h (__pthread_init_static_tls): New prototype.
	* allocatestack.c (init_one_static_tls, __pthread_init_static_tls):
	New functions.
	* Makefile (tests): Add tst-tls4.
	(modules-names): Add tst-tls4moda and tst-tls4modb.
	($(objpfx)tst-tls4): Link against libdl and libpthread.
	($(objpfx)tst-tls4.out): Depend on tst-tls4moda.so and
	tst-tls4modb.so.
	* tst-tls4.c: New file.
	* tst-tls4moda.c: New file.
	* tst-tls4modb.c: New file.

2003-06-19  Daniel Jacobowitz  <drow@mvista.com>

	* sysdeps/pthread/timer_create.c (timer_create): Call timer_delref
	before __timer_dealloc.
	* sysdeps/pthread/timer_routines.c (__timer_thread_find_matching):
	Don't call list_unlink.

2003-07-29  Roland McGrath  <roland@redhat.com>

	* Makefile [$(build-shared) = yes] (tests): Depend on $(test-modules).

2003-07-25  Jakub Jelinek  <jakub@redhat.com>

	* tst-cancel17.c (do_test): Check if aio_cancel failed.
	Don't reuse struct aiocb A if it failed.
	Write fpathconf (fds[1], _PC_PIPE_BUF) + 2 bytes using aio_write,
	not just one byte, as that does not block.

2003-07-22  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/unwind-resume.c: New file.
	* sysdeps/pthread/Makefile (routines, shared-only-routines): Add
	unwind-resume in csu subdir.
	(CFLAGS-unwind-resume.c, CFLAGS-rt-unwind-resume.c): Compile with
	exceptions.
	(librt-sysdep_routines, librt-shared-only-routines): Add
	rt-unwind-resume.
	* sysdeps/pthread/rt-unwind-resume.c: New file.
	* unwind-forcedunwind.c: New file.
	* Makefile (libpthread-routines): Add unwind-forcedunwind.
	(libpthread-shared-only-routines): Likewise.
	(CFLAGS-unwind-forcedunwind.c): Compile with exceptions.
	* pthreadP.h (pthread_cancel_init): New prototype.
	* pthread_cancel.c (pthread_cancel): Call pthread_cancel_init.

	* sysdeps/pthread/createthread.c (do_thread, create_thread): Make
	attr argument const struct pthread_attr *.

	* res.c (__res_state): Return __resp.
	* descr.h: Include resolv.h.
	(struct pthread): Add res field.
	* pthread_create.c: Include resolv.h.
	(start_thread): Initialize __resp.
	* Makefile (tests): Add tst-_res1.
	(module-names): Add tst-_res1mod1, tst-_res1mod2.
	($(objpfx)tst-_res1mod2.so): Depend on $(objpfx)tst-_res1mod1.so.
	($(objpfx)tst-_res1): Depend on $(objpfx)tst-_res1mod2.so and
	libpthread.
	* tst-_res1.c: New file.
	* tst-_res1mod1.c: New file.
	* tst-_res1mod2.c: New file.

2003-07-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/createthread.c: Don't define CLONE_STOPPED.

	* Makefile: Define various *-no-z-defs variables for test DSOs
	which has undefined symbols.

2003-07-21  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/pthread_once.c (__pthread_once):
	Retry if the stwcx fails to store once_control.

2003-07-20  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (libpthread-routines): Add pthread_attr_getaffinity and
	pthread_attr_setaffinity.
	* Versions [libpthread] (GLIBC_2.3.3): Likewise.
	* sysdeps/unix/sysv/linux/pthread_attr_getaffinity.c: New file.
	* sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c: New file.
	* pthread_attr_destroy.c: Free cpuset element if allocated.
	* pthread_create.c: Pass iattr as additional parameter to
	create_thread.
	* sysdeps/pthread/createthread.c: If attribute is provided and
	a new thread is created with affinity set or scheduling parameters,
	start thread with CLONE_STOPPED.
	* sysdeps/pthread/pthread.h: Declare pthread_attr_getaffinity and
	pthread_attr_setaffinity.
	* sysdeps/unix/sysv/linux/internaltypes.h (struct pthread_attr): Add
	cpuset element.

2003-07-15  Ulrich Drepper  <drepper@redhat.com>

	* tst-tcancel-wrappers.sh: lseek and llseek are not cancelation points.

2003-07-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/configure.in: Require CFI directives also for
	ppc and s390.

2003-07-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h (PSEUDO):
	Add cfi directives.

2003-07-12  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/tcb-offsets.sym: Add RESULT, TID, CANCELHANDLING and
	CLEANUP_JMP_BUF.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Use more
	registers as variables.  Call __pthread_mutex_unlock_usercnt.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Store TID
	not self pointer in __writer.  Compare with TID to determine
	deadlocks.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_wait.S: Add cancellation support.
	* sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Define all the nice
	macros also when compiling librt.

2003-07-11  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (CFLAGS-pthread_once.c): Add -fexceptions
	-fasynchronous-unwind-tables.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
	(PSEUDO): Add cfi directives.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO):
	Likewise.

2003-07-08  Jakub Jelinek  <jakub@redhat.com>

	* pthreadP.h (__pthread_unwind_next, __pthread_register_cancel,
	__pthread_unregister_cancel): Add prototypes and hidden_proto.
	* unwind.c (__pthread_unwind_next): Add hidden_def.
	* cleanup.c (__pthread_register_cancel, __pthread_unregister_cancel):
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S (__new_sem_wait):
	Use HIDDEN_JUMPTARGET to jump to __pthread_unwind.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait):
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S (sem_wait): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
	Likewise.
	* sysdeps/unix/sysv/linux/i386/pthread_once.S (__pthread_once): Use
	HIDDEN_JUMPTARGET to call __pthread_register_cancel,
	__pthread_unregister_cancel and __pthread_unwind_next.

2003-07-04  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (PSEUDO): Use
	different symbol for the cancellation syscall wrapper and
	non-cancellation syscall wrapper.
	(PSEUDO_END): Define.

2003-07-05  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/elf/pt-initfini.c: Avoid .ent/.end.
	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h (lll_futex_wait,
	lll_futex_timed_wait, lll_futex_wake, lll_futex_requeue): On success
	return actual return value from the syscall, not 0.

2003-07-07  Ulrich Drepper  <drepper@redhat.com>

	* descr.h (struct pthread): Add pid field.
	* allocatestack.c (allocate_stack): Initialize pid field in descriptor.
	(__reclaim_stacks): Likewise.
	* init.c (sigcancel_handler): If __ASSUME_CORRECT_SI_PID is defined
	also check for PID of the signal source.
	(__pthread_initialize_minimal_internal): Also initialize pid field
	of initial thread's descriptor.
	* pthread_cancel.c: Use tgkill instead of tkill if possible.
	* sysdeps/unix/sysv/linux/fork.c: Likewise.
	* sysdeps/unix/sysv/linux/pt-raise.c: Likewise.
	* sysdeps/unix/sysv/linux/pthread_kill.c: Likewise.
	* sysdeps/unix/sysv/linux/raise.c: Likewise.

2003-07-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/bits/libc-lock.h (__libc_cleanup_push): Renamed.
	Fix use of parameter.
	(__libc_cleanup_pop): Likewise.

2003-07-04  Ulrich Drepper  <drepper@redhat.com>

	* init.c (sigcancel_handler): Change parameters to match handler
	for SA_SIGACTION.  Check signal number and code to recognize
	invalid invocations.

2003-07-03  Roland McGrath  <roland@redhat.com>

	* sysdeps/ia64/td_ta_map_lwp2thr.c (td_ta_map_lwp2thr):
	Apply sizeof (struct pthread) bias to r13 value.

2003-07-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/configure.in: Require CFI directives.

	* sysdeps/pthread/librt-cancellation.c (__pthread_unwind): Remove
	definition.
	* pthreadP.h (__pthread_unwind): Add hidden_proto if used in
	libpthread compilation.
	* unwind.c (__pthread_unwind): Add hidden_def.
	* Versions (libpthread) [GLIBC_PRIVATE]: Add __pthread_unwind.

2003-07-01  Ulrich Drepper  <drepper@redhat.com>

	* libc-cancellation.c (__libc_cleanup_routine): Define.
	* sysdeps/pthread/bits/libc-lock.h (__pthread_cleanup_push): Define.
	(__pthread_cleanup_pop): Define.

2003-07-01  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/elf/pt-initfini.c: New file.
	* sysdeps/alpha/pthread_spin_lock.S: New file.
	* sysdeps/alpha/pthread_spin_trylock.S: New file.
	* sysdeps/alpha/pthreaddef.h: New file.
	* sysdeps/alpha/td_ta_map_lwp2thr.c: New file.
	* sysdeps/alpha/tls.h: New file.
	* sysdeps/unix/sysv/linux/alpha/Makefile: New file.
	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: New file.
	* sysdeps/unix/sysv/linux/alpha/bits/semaphore.h: New file.
	* sysdeps/unix/sysv/linux/alpha/createthread.c: New file.
	* sysdeps/unix/sysv/linux/alpha/fork.c: New file.
	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h: New file.
	* sysdeps/unix/sysv/linux/alpha/pt-vfork.S: New file.
	* sysdeps/unix/sysv/linux/alpha/pthread_once.c: New file.
	* sysdeps/unix/sysv/linux/alpha/sem_post.c: New file.
	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: New file.

2003-07-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Add correct
	cleanup support and unwind info.

2003-06-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/pthread_once.S (__pthread_once):
	Use correct cleanup handler registration.  Add unwind info.
	* sysdeps/unix/sysv/linux/unwindbuf.sym: New file.
	* sysdeps/unix/sysv/linux/Makefile: Add rule to build unwindbuf.h.
	* tst-once3.c: Add cleanup handler and check it is called.
	* tst-once4.c: Likewise.
	* tst-oncex3.c: New file.
	* tst-oncex4.c: New file.
	* Makefile: Add rules to build and run tst-oncex3 and tst-oncex4.

2003-06-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/configure.in: Check for C cleanup handling in gcc.

2003-06-27  Ulrich Drepper  <drepper@redhat.com>

	* tst-cancel4.c (tf_msgrcv): Use IPC_PRIVATE in msgget call.
	(tf_msgsnd): Likewise.

	* tst-cancel4.c (tf_msgrcv): Strengthen test against valid
	premature returns a bit more.

2003-06-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/librt-cancellation.c: Move __pthread_unwind
	definition to the front.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Rename
	the cleanup functions to make the names unique.  Fix dwarf opcode
	un unwind table.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Rename cleanup
	functions to make the names unique.  Fix CFA offset for two blocks.

2003-06-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h (class __pthread_cleanup_class): Add
	missing closing braces.
	Patch by Christophe Saout <christophe@saout.de>.

2003-06-24  Roland McGrath  <roland@redhat.com>

	* pthread_mutex_trylock.c (__pthread_mutex_trylock): Typo fix.

2003-06-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h: New file.

	* pthreadP.h: Declare __find_thread_by_id.
	* allocatestack.c [HP_TIMING_AVAIL]: Define __find_thread_by_id.
	* pthread_clock_gettime.c: Allow using other thread's clock.
	* pthread_clock_settime.c: Likewise.
	* sysdeps/pthread/pthread_getcpuclockid.c: Likewise.
	* Makefile: Add rules to build and run tst-clock2.
	* tst-clock2.c: New file.

2003-06-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Rewrite
	to use exception-based cleanup handler.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.

	* tst-cond8.c (ch): Announce that we are done.

	* pthreadP.h (__pthread_mutex_cond_lock): Mark with internal_function.

	* tst-cancel17.c (tf): Retry aio_suspend in case of EINTR.
	Also test aio_suspend with timeout value.

2003-06-22  Ulrich Drepper  <drepper@redhat.com>

	* pthreadP.h: Mark __pthread_mutex_unlock_usercnt also hidden.
	* pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): Add
	attribute_hidden.

	* pthreadP.h (__pthread_mutex_init_internal): Mark hidden.
	(__pthread_mutex_lock_internal): Likewise.
	(__pthread_mutex_unlock_internal): Likewise.
	(__pthread_mutex_unlock_usercnt): Declare.
	* pthread_mutex_destroy.c: Always fail if used in any way.
	* pthread_mutex_init.c: Update comment.
	* pthread_mutex_lock.c: If NO_INCR is not defined adjust __nusers.
	* pthread_mutex_timedlock.c: Adjust __nusers.
	* pthread_mutex_trylock.c: Adjust __nusers.
	* pthread_mutex_unlock.c: Old code is in __pthread_mutex_unlock_usercnt
	and public interfaces are wrapper with pass additional parameter.
	__pthread_mutex_unlock_usercnt does not adjust __nusers if second
	parameter zero.
	* tst-mutex8.c: New file.
	* Makefile (tests): Add tst-mutex8.
	* sysdeps/pthread/pthread_cond_timedwait.c: Call
	__pthread_mutex_unlock_usercnt.
	* sysdeps/pthread/pthread_cond_wait.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c: Define NO_INCR.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_mutex_t):
	Add __nusers.
	* 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/x86_64/bits/pthreadtypes.h: Likewise.

	* pthread_mutex_lock.c: Don't store THREAD_ID in __owner, use TID.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_trylock.c: Adjust __nusers.
	* pthread_mutex_unlock.c: Compare with TID not THREAD_ID.
	* tst-mutex9.c: New file.
	* Makefile (tests): Add tst-mutex9.
	* sysdeps/i386/tls.h: Remove THREAD_ID definition.
	* sysdeps/ia64/tls.h: Likewise.
	* sysdeps/powerpc/tls.h: Likewise.
	* sysdeps/s390/tls.h: Likewise.
	* sysdeps/sh/tls.h: Likewise.
	* sysdeps/x86_64/tls.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_mutex_t):
	Change type of __owner.
	* 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/x86_64/bits/pthreadtypes.h: Likewise.

2003-06-19  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/sem_post.c: Move to...
	* sysdeps/unix/sysv/linux/sem_post.c: ...here.

	* sysdeps/unix/sysv/linux/sem_post.c: Move to...
	* sysdeps/unix/sysv/linux/powerpc/sem_post.c: ... here.  Pass nr + 1
	instead of nr to lll_futex_wake.  Only set errno and return -1
	if err < 0.

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (lll_futex_wait,
	lll_futex_timed_wait, lll_futex_wake, lll_futex_requeue): On success
	return actual return value from the syscall, not 0.

2003-06-18  Ulrich Drepper  <drepper@redhat.com>

	* tst-cancel4.c (tf_msgsnd): Don't always use 100 as the type,
	find a random value.
	(tf_msgrcv): Likewise.  Also don't report msgrcv returns if
	errno==EIDRM.

	* sysdeps/unix/sysv/linux/timer_settime.c: Add prototype for
	compat_timer_settime.
	* sysdeps/unix/sysv/linux/timer_gettime.c: Add prototype for
	compat_timer_gettime.
	* sysdeps/unix/sysv/linux/timer_getoverr.c: Add prototype for
	compat_timer_getoverrun.
	* sysdeps/unix/sysv/linux/timer_delete.c: Add prototype for
	compat_timer_delete.

	* pthread_mutex_destroy.c (__pthread_mutex_destroy): For
	error-checking mutex detect busy mutexes.

2003-06-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_mutex_lock):
	Add ax to clobber list.
	(lll_mutex_cond_lock): Likewise.
	(lll_mutex_unlock): Likewise.
	(lll_lock): Likewise.
	(lll_unlock): Likewise.

	* Makefile: Add rules to build and run tst-cancel18 and tst-cancelx18.
	* tst-cancel18.c: New file.
	* tst-cancelx18.c: New file.

	* tst-cancel4.c: Test connect, creat, msgrcv, msgsnd, sendmsg, sendto,
	and tcdrain.

	* Makefile: Add rules to build and run tst-cancel17 and tst-cancel17x.
	* tst-cancel17.c: New file.
	* tst-cancelx17.c: New file.

	* sysdeps/unix/sysv/linux/sigtimedwait.c: New file.
	* sysdeps/unix/sysv/linux/sigwait.c: New file.
	* sysdeps/unix/sysv/linux/sigwaitinfo.c: New file.

	* tst-cancel4.c: Test open, close, pread, pwrite, fsync, and msync.

2003-06-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/createthread.c (create_thread): Set
	header.multiple_threads unconditionally.
	* allocatestack.c (allocate_stack): Likewise.
	* descr.h (struct pthread): Add header.multiple_threads
	unconditionally.
	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (CENABLE, CDISABLE):
	Define for librt.  #error if neither libpthread, libc nor librt.
	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (CENABLE, CDISABLE):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (CENABLE,
	CDISABLE): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h (CENABLE,
	CDISABLE): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h (CENABLE,
	CDISABLE): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (CENABLE,
	CDISABLE): Likewise.  Access header.multiple_threads outside of
	libc and libpthread.
	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (CENABLE, CDISABLE):
	Likewise.
	* sysdeps/x86_64/tls.h (tcbhead_t): Add multiple_threads.
	* sysdeps/x86_64/tcb-offsets.sym (MULTIPLE_THREADS_OFFSET): Define.

2003-06-17  Ulrich Drepper  <drepper@redhat.com>

	* tst-cancel4.c: Add tests for the socket and signal functions, pause.
	Also test early cancellation before the thread reaches the cancellation
	point.

	* Makefile: Compile forward.c with exceptions.

	* sysdeps/unix/sysv/linux/sleep.c: New file.

2003-06-16  Ulrich Drepper  <drepper@redhat.com>

	* Makefile: Add CFLAGS definition to compile function wrappers
	duplicated from libc with exceptions.
	* tst-cancel4.c: Also check cancellation handlers.

	* Makefile: Add rules to build and run tst-cancel16 and
	tst-cancelx16.  Add missing CFLAGS definitions.
	* tst-cancel16.c: New file.
	* tst-cancelx16.c: New file.

2003-06-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/dl-sysdep.h
	(DL_SYSINFO_IMPLEMENTATION): Use CFI opcodes.
	* sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
	(DL_SYSINFO_IMPLEMENTATION): Likewise.

	* pthreadP.h (LIBC_CANCEL_ASYNC): Also define for librt.
	(LIBC_CANCEL_RESET): Likewise.
	Declare __librt_enable_asynccancel and __librt_disable_asynccancel.
	* sysdeps/pthread/Makefile (librt-sysdep_routines): Add
	librt-cancellation.
	(CFLAGS-libcrt-cancellation.c): Define.
	* sysdeps/pthread/librt-cancellation.c: New file.
	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Define all the nice
	macros also when compiling librt.
	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise.

	* sysdeps/unix/sysv/linux/timer_create.c: Add prototype for
	compat_timer_create.

2003-06-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/posix-timer.h (timespec_compare): Always inline.

	* sysdeps/unix/sysv/linux/fork.h: Add libc_hidden_proto for
	__register_atfork.
	* sysdeps/unix/sysv/linux/register-atfork.c (__register_atfork):
	Add libc_hidden_def.

2003-06-13  Roland McGrath  <roland@redhat.com>

	* sysdeps/x86_64/td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Pass FS
	constant from <sys/reg.h> to ps_get_thread_area, not register contents.

2003-06-11  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (queue_stack): Always inline.
	* ptreadhP.h (__do_cancel): Likewise.

2003-06-10  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c (sem_timedwait): Fix
	a typo.

2003-06-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
	(__pthread_cond_signal): Remove incorrect second addition for
	cond_lock!=0.

2003-06-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
	(__pthread_cond_signal): Use correct futex pointer in
	__lll_mutex_lock_wait call.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
	(__pthread_cond_signal): Some more tweaks to handle cond_lock!=0.

2003-06-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/s390/sem_wait.c (__new_sem_wait): Make
	cancelable.
	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c (sem_timedwait):
	Likewise.

	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Remove
	hand-written CFI generation code.  Since ENTRY/END also initiated
	CFI frames this caused two CFI sets to be generated.

2003-06-07  Ulrich Drepper  <drepper@redhat.com>

	* cleanup_routine.c: New file.
	* Versions (libpthread) [GLIBC_2.3.3]: Add __pthread_cleanup_routine.
	* sysdeps/pthread/pthread.h: Add support for fully exception-based
	cleanup handling.
	* Makefile (libpthread-routines): Add cleanup_routine.
	Add more CFLAGS variables to compile with exceptions.  Add comments
	why which file needs unwind tables.
	(tests) [have-forced-unwind==yes]: Add tst-cancelx* and tst-cleanupx*
	tests.
	* tst-cancelx1.c: New file.
	* tst-cancelx2.c: New file.
	* tst-cancelx3.c: New file.
	* tst-cancelx4.c: New file.
	* tst-cancelx5.c: New file.
	* tst-cancelx6.c: New file.
	* tst-cancelx7.c: New file.
	* tst-cancelx8.c: New file.
	* tst-cancelx9.c: New file.
	* tst-cancelx10.c: New file.
	* tst-cancelx11.c: New file.
	* tst-cancelx12.c: New file.
	* tst-cancelx13.c: New file.
	* tst-cancelx14.c: New file.
	* tst-cancelx15.c: New file.
	* tst-cleanupx0.c: New file.
	* tst-cleanupx0.expect: New file.
	* tst-cleanupx1.c: New file.
	* tst-cleanupx2.c: New file.
	* tst-cleanupx3.c: New file.

	* tst-cleanup0.c: Make standard compliant.
	* tst-cleanup1.c: Likewise.

	* sysdeps/unix/sysv/linux/sem_timedwait.c: Add cancellation support.
	* sysdeps/unix/sysv/linux/sem_wait.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
	* sysdeps/i386/tcb-offsets.sym: Add RESULT, CANCELHANDLING, and
	CLEANUP_JMP_BUF.
	* sysdeps/x86_64/tcb-offsets.sym: Likewise.
	* tst-cancel12.c: New file.
	* tst-cancel13.c: New file.
	* tst-cancel14.c: New file.
	* tst-cancel15.c: New file.
	* Makefile (tests): Add tst-cancel12, tst-cancel13, tst-cancel14,
	and tst-cancel15.

	* tst-cancel1.c: Add some comments.

	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Compute relative
	timeout correctly.

2003-06-06  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (CFLAGS-pthread_cancel.c): Define.

2003-06-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_rwlock_t):
	Change type of __writer element to int.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/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/x86_64/bits/pthreadtypes.h: Likewise.
	* sysdeps/i386/tcb-offsets.sym: Replace SELF entry with TID entry.
	* sysdeps/x86_64/tcb-offsets.sym: Likewise.
	* pthread_rwlock_trywrlock.c: Store TID not self pointer in __writer.
	Compare with TID to determine deadlocks.
	* sysdeps/pthread/pthread_rwlock_rdlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_timedrdlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_timedwrlock.: Likewise.
	* sysdeps/pthread/pthread_rwlock_wrlock.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
	* 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_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.
	* Makefile (tests): Add tst-rwlock12.
	* tst-rwlock12.c: New file.

2003-06-05  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait,
	__lll_timedlock_wait, lll_unlock_wake_cb, __lll_timedwait_tid):
	Remove bogus hidden_proto.
	* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c (___lll_lock):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.c (___lll_lock,
	lll_unlock_wake_cb, ___lll_timedwait_tid): Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevelmutex.c (___lll_mutex_lock,
	___lll_mutex_timedlock): Likewise.

2003-06-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
	(__pthread_cond_signal): Add some code to eventually handle
	cond_lock!=0.

2003-06-01  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-exec4.
	(tst-exec4-ARGS): Define.
	* tst-exec4.c: New file.

2003-05-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_timedlock_wait):
	Also fail if tv_nsec < 0.
	(__lll_timedwait_tid): Likewise.
	* sysdeps/unix/sysv/linux/sem_timedwait.c (sem_timedwait): Likewise.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_timedwait_tid):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.c (___lll_timedwait_tid):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevelmutex.c (__lll_mutex_timedlock):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c (sem_timedwait):
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_timedwait_tid):
	Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.h (lll_timedwait_tid):
	Likewise.

	* Makefile (tests): Add tst-sem8 and tst-sem9.
	* tst-sem8.c: New file.
	* tst-sem9.c: New file.
	* sem_open.c: Fix creation of in_use record if the file exists but
	no internal record.

	* posix-timer.h: Remove old, unused timer_id2ptr and timer_ptr2id
	definitions.

	* sysdeps/pthread/timer_create.c (timer_create): In case
	evp==NULL, assign timer ID to sival_ptr.

	* descr.h (struct pthread_unwind_buf): Change type of prev element to
	struct pthread_unwind_buf *.
	(struct pthread): Likewise for cleanup_jmp_buf element.

	* cleanup.c (__pthread_register_cancel): Add cast to avoid warning.
	* cleanup_defer.c (__pthread_register_cancel_defer): Likewise.
	* unwind.c (__pthread_unwind_next): Likewise.

2003-05-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h
	(lll_futex_timed_wait): Use int for futex value parameter.
	(lll_futex_wake): Likewise.
	(lll_futex_requeue): Likewise.

	* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait):
	Replace one memory operation with one register operation.

	* tst-join4.c (do_test): Fix error message.

	* tst-rwlock6.c (do_test): Use correct format specifier.

	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S
	(__lll_mutex_lock_wait): Replace one memory operation with one
	register operation.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S
	(__lll_mutex_lock_wait): Likewise.

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h
	(__lll_mutex_cond_lock): Add one to value parameter of
	__lll_lock_wait to reflect reality in the futex syscall.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
	(lll_mutex_cond_lock): Likewise.

2003-05-30  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/s390/lowlevellock.h (__lll_mutex_cond_lock):
	New function.
	(lll_mutex_cond_lock): Define.

2003-05-29  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-signal6.
	* tst-signal6.c: New file.

	* sysdeps/unix/sysv/linux/s390/lowlevellock.h
	(__lll_mutex_unlock_force): New function
	(lll_mutex_unlock_force): Use __lll_mutex_unlock_force.

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h
	(__lll_mutex_unlock_force): New function.
	(lll_mutex_unlock_force): Use __lll_mutex_unlock_force.

	* tst-rwlock7.c (do_test): Use correct format specifier.

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (lll_futex_requeue):
	Find break parameter in correct asm argument.

2003-05-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (lll_futex_clobbers):
	Remove out4.
	(lll_futex_requeue): Fix __o3 constraint, return negative errno if
	error occured.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h (pthread_cond_t):
	Add __mutex.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h (FUTEX_REQUEUE,
	lll_futex_requeue, lll_mutex_unlock_force): Define.

2003-05-30  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
	(pthread_cond_t): Add __mutex.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (FUTEX_REQUEUE,
	lll_futex_requeue, lll_mutex_unlock_force): Define.

2003-05-28  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/tcb-offsets.sym: Define MUTEX_FUTEX.
	* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_cond_t):
	Add __mutex field.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.h (SYSCALL_WITH_INST_PAD):
	Define.
	(lll_futex_wait, lll_futex_wake): Define.
	* sysdeps/unix/sysv/linux/sh/sh4/lowlevellock.h: New file.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S: Try using
	FUTEX_REQUEUE instead of FUTEX_WAIT.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Remember
	mutex which was used in condvar structure.  Call
	__pthread_mutex_cond_lock instead of __pthread_mutex_lock_internal.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Likewise.

	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Don't
	include tcb-offsets.h.  Read wakeup value in locked region.
	Use the value of gbr register as THREAD_ID.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise.

	* sysdeps/unix/sysv/linux/sh/sem_trywait.S: Remove futex related
	macros.

2003-05-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread_cond_broadcast.c
	(__pthread_cond_broadcast): Fix typo: MAX_INT -> INT_MAX.

2003-05-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Fix
	typo in register name.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Use parameters
	correctly.  Actually use requeue.  Little optimization.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Store
	mutex address early.  Handle cancellation state as 32-bit value.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
	Remove unnecessary label.

2003-05-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread_cond_broadcast.c: Try using FUTEX_REQUEUE
	instead of FUTEX_WAIT.
	* sysdeps/pthread/pthread_cond_signal.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
	* sysdeps/pthread/pthread_cond_timedwait.c: Remember mutex which was
	used in condvar structure.  Call __pthread_mutex_cond_lock instead
	of __pthread_mutex_lock_internal.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/pthread/pthread_cond_wait.c: Likewise.
	(__condvar_cleanup): Always call __pthread_mutex_cond_lock.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/Makefile (libpthread-sysdep_routines):
	Add pthread_mutex_cond_lock.
	* sysdeps/unix/sysv/linux/lowlevelcond.sym: Add dep_mutex.
	* sysdeps/unix/sysv/linux/pthread_cond_mutex_lock.c: New file.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Define
	lll_mutex_cond_lock.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_cond_t):
	Add __mutex field.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.

	* sysdeps/i386/tcb-offsets.sym: Define MUTEX_FUTEX.
	* sysdeps/x86_64/tcb-offsets.sym: Likewise.

	* pthreadP.h: Declare __pthread_mutex_cond_lock.
	* pthread_mutex_lock.c: Define LLL_MUTEX_LOCK if not already defined.
	Use it instead of lll_mutex_lock.  If __pthread_mutex_lock is a
	macro don't define aliases.

	* cancellation.c: Remove __pthread_enable_asynccancel_2.
	* pthreadP.h: Remove declaration of __pthread_enable_asynccancel_2.
	* sysdeps/pthread/pthread_cond_timedwait.c: Use
	__pthread_enable_asynccancel instead of __pthread_enable_asynccancel_2.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/pthread/pthread_cond_wait.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.

2003-05-17  Ulrich Drepper  <drepper@redhat.com>

	* sem_open.c: Fix one endless loop.  Implement correct semantics
	wrt opening the same semaphore more then once.
	* sem_close.c: Adjust for sem_open change.
	* semaphoreP.h: Include <semaphore.h>.  Define struct inuse_sem.
	Declare __sem_mappings, __sem_mappings_lock, __sem_search.
	* Makefile (tests): Add tst-sem7.
	* tst-sem7.c: New file.

2003-05-16  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/register-atfork.c (libc_freeres_fn): Fix
	uninitialized variable braino.

2003-05-16  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/timer_gettime.c (timer_gettime): Correct
	test for syscall availability.

	* sysdeps/unix/sysv/linux/timer_settime.c (timer_settime): Set
	__no_posix_timers to -1 if the syscalls don't exist.

	* pthread_join.c (pthread_join): Set tid field of the joined
	thread to -1.  This isn't necessary but helps to recognize some
	error conditions with almost no cost.

	* allocatestack.c (FREE_P): Also negative values indicate an
	unused stack.

	* unwind.c: Include <unistd.h>.

2003-05-14  Ulrich Drepper  <drepper@redhat.com>

	* Makefile ($(objpfx)$(multidir)): Add rule to create the directory.

2003-05-14  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (crti-objs, crtn-objs): New variables.
	(omit-deps, extra-objs): Add crtn.
	($(objpfx)libpthread.so): Depend on both crti and crtn
	and links to them in multidir.
	($(objpfx)crtn.S, $(objpfx)crtn.o): New rules.

2003-05-12  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
	(lll_mutex_unlock): Use atomic_exchange_rel.

2003-05-11  Ulrich Drepper  <drepper@redhat.com>

	* cond-perf.c (cons): Add missing locking around setting of alldone.

2003-05-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Remove futex
	related macros.
	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.

2003-05-09  Ulrich Drepper  <drepper@redhat.com>

	* tst-sem6.c: New file.
	* Makefile (tests): Add tst-sem6.

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (___lll_mutex_unlock):
	Use atomic_exchange_rel instead of atomic_exchange.
	* sysdeps/unix/sysv/linux/lowlevellock.c (lll_unlock_wake_cb):
	Likewise.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Improve quality of
	code for lll_futex_wait and lll_futex_wake in static apps.  Use
	vsyscall is possible.

	* sysdeps/unix/sysv/linux/pthread_getaffinity.c: New file.
	* sysdeps/unix/sysv/linux/pthread_setaffinity.c: New file.
	* sysdeps/pthread/pthread.h: Declare pthread_getaffinity_np and
	pthread_setaffinity_np.
	* Versions [libpthread] (GLIBC_2.3.3): Add pthread_getaffinity_np
	and pthread_setaffinity_np.
	* Makefile (libpthread-routines): Add pthread_getaffinity and
	pthread_setaffinity.

	* allocatestack.c (allocate_stack): If ARCH_RETRY_MMAP is defined,
	use it in case mmap to allocate the stack fails.
	* sysdeps/unix/sysv/linux/x86_64/Makefile: Don't define
	ARCH_MAP_FLAGS here.
	* sysdeps/x86_64/pthreaddef.h: Define ARCH_MAP_FLAGS and
	ARCH_RETRY_MMAP.

2003-05-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/fork.c: Complete rewrite of the atfork
	handler implementation.  It is now lockless in fork().
	* sysdeps/unix/sysv/linux/register-atfork.c: Likewise.
	* sysdeps/unix/sysv/linux/unregister-atfork.c: Likewise.
	* sysdeps/unix/sysv/linux/fork.h: Don't include <link.h>.  Don't
	declare the __fork_*_lists.
	(struct fork_handler): Include pointers to all three functions.
	Add next, refcntr and need_signal elements.
	(__fork_handlers): New declaration.
	(__register_atfork_malloc): Remove declaration.
	(HAVE_register_atfork_malloc): Remove definition.
	* sysdeps/unix/sysv/linux/libc_pthread_init.c: Remove
	__pthread_child_handler variable.
	(__libc_pthread_init): Use __register_atfork instead of explicitly
	adding to the list.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Define lll_futex_wait
	and lll_futex_wake.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.

	* unwind.c (unwind_cleanup): Print error message and then abort.  This
	function must never be reached.

	* cond-perf.c: New file.

2003-05-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/tls.h (TLS_INIT_TP): Include \n in error message.

2003-05-04  Roland McGrath  <roland@redhat.com>

	* Makefile ($(objpfx)../libc.so): New target.

2003-05-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
	(pthread_condattr_t): Size is only an int, don't use long for
	alignment.
	(pthread_mutexattr_t): Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.

2003-05-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/tls.h: Define THREAD_ID.
	* sysdeps/ia64/tls.h: Likewise.
	* sysdeps/powerpc/tls.h: Likewise.
	* sysdeps/s390/tls.h: Likewise.
	* sysdeps/sh/tls.h: Likewise.
	* sysdeps/x86_64/tls.h: Likewise.
	* pthread_mutex_lock.c: Use THREAD_ID instead of THREAD_SELF to
	record ownership.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_trylock.c: Likewise.
	* pthread_mutex_unlock.c: Likewise.
	* pthread_rwlock_trywrlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlocklock_rdlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_timedrdlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_timedwrlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_wrlock.c: Likewise.

	* sysdeps/pthread/createthread.c (create_thread): Use CLONE_SYSVSEM
	flag.

2003-04-29  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
	(__SIZEOF_PTHREAD_COND_T): Define to 48.
	(pthread_rwlock_t): Add 16 bytes of pad instead of 8 before __flags.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h (pthread_cond_t):
	Make __align long long instead of long.
	(pthread_rwlock_t): Formatting.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h
	(pthread_rwlock_t): Formatting.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
	(pthread_cond_t): Make __align long long instead of long.
	(pthread_rwlock_t): Move __flags field to the same position as in
	linuxthreads.

2003-04-30  Ulrich Drepper  <drepper@redhat.com>

	* tst-rwlock6.c (do_test): Use correct printf format specifiers.
	* tst-rwlock7.c (do_test): Likewise.

2003-04-26  Roland McGrath  <roland@redhat.com>

	* Makefile ($(test-modules)): Depend on $(common-objpfx)shlib.lds.

2003-04-22  Jakub Jelinek  <jakub@redhat.com>

	* allocatestack.c (TLS_TPADJ): Add TLS_PRE_TCB_SIZE instead of
	sizeof (struct pthread).
	(allocate_stack): Subtract TLS_PRE_TCB_SIZE bytes instead of
	1 struct pthread.
	* sysdeps/powerpc/tls.h (TLS_INIT_TCB_SIZE, TLS_TCB_SIZE): Define
	to 0.
	(TLS_INIT_TCB_ALIGN, TLS_TCB_ALIGN): Define to alignment of
	struct pthread.
	(TLS_PRE_TCB_SIZE): Increase to cover tcbhead_t preceeded by pad
	to 32-bit bytes.
	(INSTALL_DTV, GET_DTV, THREAD_DTV): tcbhead_t is immediately before
	tcbp.
	(TLS_INIT_TP, THREAD_SELF, INIT_THREAD_SELF): Don't add TLS_TCB_SIZE
	unneccessarily.
	(NO_TLS_OFFSET): Define.
	* sysdeps/unix/sysv/linux/powerpc/createthread.c (TLS_VALUE): Don't
	add TLS_TCB_SIZE unnecessarily.

2003-04-22  Roland McGrath  <roland@redhat.com>

	* Makeconfig (shared-thread-library): Reverse link order to work
	around linker bug.

2003-04-22  Ulrich Drepper  <drepper@redhat.com>

	* semaphore.h: Fix typo in comment.

2003-04-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/sigfillset.c: New file.

	* init.c (__pthread_initialize_minimal): Don't block SIGTIMER.
	* pthreadP.h: Make SIGTIMER and SIGCANCEL the same.
	* sysdeps/pthread/pthread_sigmask.c: Remove handling of SIGTIMER.
	* sysdeps/pthread/sigaction.c: Likewise.
	* sysdeps/pthread/sigprocmask.c: New file.
	* sysdeps/unix/sysv/linux/allocrtsig.c (current_rtmin): Define as
	__SIGRTMIN+1.
	* sysdeps/unix/sysv/linux/timer_routines.c (timer_helper_thread):
	Block SIGTIMER.  Also handle SI_TKILL events and terminate thread
	in this case.

2003-04-19  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/dl-sysdep.h
	(DL_SYSINFO_IMPLEMENTATION): Add .eh_frame information.

	* sysdeps/unix/sysv/linux/unregister-atfork.c
	(__unregister_atfork): Don't free memory not allocated dynamically.

	* semaphore.h: Remove __THROW marker from cancellation points.
	* nptl/sysdeps/pthread/pthread.h: Likewise.

2003-04-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h: Don't mark pthread_testcancel,
	pthread_cancel, pthread_setcancelstate, and pthread_setcanceltype with
	__THROW.

2003-04-16  Jakub Jelinek  <jakub@redhat.com>

	* tst-cancel4.c (do_test): Use %zd instead of %d when printing cnt.

2003-04-15  Roland McGrath  <roland@redhat.com>

	* forward.c (__pthread_unwind): Tweak to avoid warning.

2003-04-15  Ulrich Drepper  <drepper@redhat.com>

	* pthreadP.h: Move THREAD_ATOMIC_* replacements to the top.

2003-04-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Don't
	overflow CFA advance instructions.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.

2003-04-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/tls.h: Rename LOCK to LOCK_PREFIX.
	* sysdeps/i386/pthread_spin_lock.c: Likewise.
	* sysdeps/x86_64/tls.h: Likewise.  Define LOCK_PREFIX if not already
	defined.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Use
	DW_CFA_advance_loc2 for .Laddl-.Lsubl.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Use
	DW_CFA_advance_loc for .Laddl-.Lsubl.

2003-04-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Don't use
	position-independent unwind data for static libraries.
	Add missing unwind info.  Add comments.

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Add unwind info.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.

2003-04-12  Ulrich Drepper  <drepper@redhat.com>

	* Makefile: Make sure all cancellation points are compiled with
	exception and asynchronous unwind tables.

	* sysdeps/x86_64/tls.h (THREAD_SETMEM): Word around compiler bug
	which mishandles loading of global object addresses in PIC.
	(THREAD_SETMEM_NC): Likewise.

2003-04-11  Ulrich Drepper  <drepper@redhat.com>

	* pthread.h: Define new data structure for cleanup buffer.  Declare
	new cleanup handler interfaces.
	* descr.h: Include <unwind.h> if necessary.  Define pthread_unwind_buf.
	(struct pthread): Add cleanup_jmp_buf pointer.  Define
	HAVE_CLEANUP_JMP_BUF and not HAVE_CANCELBUF.
	* pthreadP.h: Declare __pthread_unwind.  Define __do_cancel to use
	it.  Declare old cleanup handler installation functions.
	* cleanup.c: Rewrite.  Install handler for unwind-based cleanup
	handling.
	* cleanup_defer.c: Likewise.
	* cleanup_compat.c: New file.  Old cleanup code.
	* cleanup_def_compat.c: New file.  Old cleanup code.
	* pthread_create.c (start_thread): Initialize cleanup_jmp_buf element
	if own thread descriptor.
	* unwind.c: New file.
	* forward.c: Add __pthread_unwind.
	* init.c (pthread_functions): Add __pthread_unwind.
	* sysdeps/pthread/pthread-functions.s (struct pthread_functions):
	Add ptr___pthread_unwind.
	* Versions [GLIBC_2.3.3] (libpthread): Export new cleanup handling
	and unwind function.
	* Makefile (libpthread-routines): Add cleanup_compat,
	cleanup_def_compat, and unwind.  Define CFLAGS to enable unwind
	table generation if necessary.
	* version.c: Record whether unwind support is compiled in.
	* sysdeps/pthread/configure.in: Add checks for unwind unterfaces.
	* sysdeps/pthread/bits/libc-lock.h: Add prototypes of the old cleanup
	handler interfaces.
	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Add quite a bit of
	complication to generate unwind information for syscall wrappers.
	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Define
	__cleanup_fct_attribute.

	* Makefile: Add rules to build and run tst-cleanup0.
	* tst-cleanup0.c: New file.
	* tst-cleanup0.expect: New file.

	* pthread_create.c (deallocate_tsd): Don't take parameter.  Adjust
	caller.  Optimize to avoid often unecessary local variable.

2003-04-11  Roland McGrath  <roland@redhat.com>

	* Makefile ($(objpfx)multidir.mk): New target, generated makefile that
	sets variable `multidir'; include that.
	(generated): Add it.
	($(objpfx)$(multidir)/crti.o): New target.
	[$(multidir) != .] (generated-dirs, extra-objs, omit-deps): Add it.

2003-04-11  Ulrich Drepper  <drepper@redhat.com>

	* tst-attr2.c (do_test): Add cast to avoid warning.
	* tst-mutex4.c (do_test): Likewise.

2003-04-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Reset CPU clocks
	in child.

2003-04-09  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-detach1.
	* tst-detach1.c: New file.

2003-04-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h: Remove duplicate
	pthread_cleanup_{push,pop} definitions.

	* tst-barrier2.c: Eliminate warnings.
	* tst-cancel4.c: Likewise.
	* tst-cond4.c: Likewise.
	* tst-cond6.c: Likewise.
	* tst-detach1.c: Likewise.
	* tst-rwlock4.c: Likewise.
	* tst-rwlock6.c: Likewise.
	* tst-rwlock7.c: Likewise.
	* tst-sem3.c: Likewise.
	* tst-spin2.c: Likewise.
	* tst-umask1.c: Likewise.

2003-04-07  Ulrich Drepper  <drepper@redhat.com>

	* pthread_detach.c (pthread_detach): Fix test for invalid TID.

2003-04-06  Ulrich Drepper  <drepper@redhat.com>

	* descr.h (struct pthread): Move cancelhandling member to the front.

2003-04-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/register-atfork.c: Define malloc_prepare,
	malloc_parent, and malloc_child statically.
	(__register_atfork_malloc): New function.
	(free_mem): Don't free any of the malloc_* variables on the list.
	* sysdeps/unix/sysv/linux/fork.h: Declare __register_atfork_malloc.
	Define HAVE_register_atfork_malloc.

2003-04-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/createthread.c (create_thread): Add some more
	comments explaining when to set multiple_threads and when not.

	* pthreadP.h: Define THREAD_ATOMIC_CMPXCHG_VAL and
	THREAD_ATOMIC_BIT_SET if not already defined.
	* sysdeps/i386/tls.h: Define THREAD_ATOMIC_CMPXCHG_VAL and
	THREAD_ATOMIC_BIT_SET:
	* sysdeps/x86_64/tls.h: Likewise.
	* cleanup_defer.c (_pthread_cleanup_push_defer): Rewrite to use
	THREAD_ATOMIC_CMPXCHG_VAL.
	(_pthread_cleanup_pop_restore): Likewise.
	* cancellation.c (__pthread_enable_asynccancel): Likewise.
	(__pthread_enable_asynccancel_2): Likewise.
	(__pthread_disable_asynccancel): Likewise.
	* libc-cancellation.c (__libc_enable_asynccancel): Likewise.
	(__libc_disable_asynccancel): Likewise.
	* init.c (sigcancel_handler): Likewise.
	* pthread_setcancelstate.c (__pthread_setcancelstate): Likewise.
	* pthread_setcanceltype.c (__pthread_setcanceltype): Likewise.

2003-04-03  Ulrich Drepper  <drepper@redhat.com>

	* init.c (sigcancel_handler): Don't set EXITING_BIT here.
	* libc-cancellation.c (__libc_enable_asynccancel): Likewise.
	* pthreadP.h (__do_cancel): Set EXITING_BIT here.
	* Makefile (tests): Add tst-cancel11.
	* tst-cancel11.c: New file.

2003-04-01  Ulrich Drepper  <drepper@redhat.com>

	* pthread_create.c (deallocate_tsd): Clear/free memory after the last
	round, not the first.  Use specific_used flag instead of local
	found_nonzero variable.  Use THREAD_[SG]ETMEM where possible.
	(__free_tcb): Don't call deallocate_tsd here.
	(start_thread): Call deallocate_tsd here.
	* pthread_setspecific.c: Set specific_used flag really only when
	needed.
	* Makefile (tests): Add tst-tsd3.c and tst-tsd4.
	* tst-tsd3.c: New file.
	* tst-tsd4.c: New file.

2003-03-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (__lll_mutex_lock):
	Use atomic_exchange_and_add instead of __lll_add.
	(__lll_mutex_timedlock): Likewise.
	Patch by Ian Wienand.

2003-03-24  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
	(SINGLE_THREAD_P): Fix typo.
	* tst-cancel-wrappers.sh: Handle '.'ed symbols.

2003-03-31  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-align.
	* tst-align.c: New file.
	* sysdeps/i386/Makefile: Define CFLAGS-tst-align.

	* sysdeps/i386/tls.h (CALL_THREAD_FCT): Align stack of called
	function correctly.

	* tst-tsd2.c: Add casts to avoid warnings.

2003-03-30  Ulrich Drepper  <drepper@redhat.com>

	* descr.h (struct pthread): Move most often used elements to the front.

2003-03-29  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (libpthread-routines): Add pthread_atfork.
	(libpthread-static-only-routines): Add pthread_atfork.

2003-03-28  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/tls.h: Include nptl/descr.h after the definition
	of TLS_DTV_AT_TP.
	(INSTALL_DTV): Add parens.
	(THREAD_GETMEM, THREAD_GETMEM_NC, THREAD_SETMEM, THREAD_SETMEM_NC):
	Use passed descr instead of THREAD_SELF.
	* sysdeps/unix/sysv/linux/sh/lowlevelmutex.S
	(__lll_mutex_timedlock_wait): Correct expected value after
	spurious wakeup.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S:
	Release lock before waking up the waiters.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Correct exit
	criteria.  Reorderstruct passed to cleanup handler.  Fix
	handling of cancellation and failung pthread_mutex_unlock call.
	Use __pthread_enable_asynccancel_2 instead of
	__pthread_enable_asynccancel.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
	Return result of lock re-get if it fails.
	* sysdeps/unix/sysv/linux/sh/pthread_once.S: Fix wrong argument
	for __pthread_cleanup_push.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Fix
	completely broken rwlock implementation.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_post.S: Fix error value.  Use
	versioned_symbol macro.
	* sysdeps/unix/sysv/linux/sh/sem_trywait.S: Use	versioned_symbol macro.
	* sysdeps/unix/sysv/linux/sh/sem_wait.S: Likewise.

2003-03-27  Ulrich Drepper  <drepper@redhat.com>

	* 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.

	* pthread_create.c (start_thread): Don't use setjmp inside
	__builtin_expect to work around gcc bug.

	* 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.
	* sysdeps/unix/sysv/linux/timer_getoverr.c
	[!__ASSUME_POSIX_TIMERS] (timer_getoverrun): Likewise.

2003-03-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Fix
	offset of cleanupbuf.__prev.

2003-03-26  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/timer_getoverr.c: Fix typo in name
	of included file.

2003-03-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/timer_create.c (timer_create): If EVP ==
	NULL provide default definition to syscall.

2003-03-25  Roland McGrath  <roland@redhat.com>

	* sysdeps/pthread/posix-timer.h (TIMER_MAX): Define if not defined.
	(timer_id2ptr): Fix typo.

2003-03-25  Ulrich Drepper  <drepper@redhat.com>

	* pthreadP.h: Define SIGCANCEL and SIGTIMER.
	* sysdeps/i386/pthreaddef.h: Remove SIGCANCEL definition.
	* sysdeps/ia64/pthreaddef.h: Likewise.
	* sysdeps/powerpc/pthreaddef.h: Likewise.
	* sysdeps/s390/pthreaddef.h: Likewise.
	* sysdeps/sh/pthreaddef.h: Likewise.
	* sysdeps/x86_64/pthreaddef.h: Likewise.
	* init.c (__pthread_initialize_minimal): Block SIGTIMER.
	* sysdeps/pthread/sigaction.c: Also prevent SIGTIMER handler from
	being changed.
	* sysdeps/pthread/pthread_sigmask.c (pthread_sigmask): Make sure
	SIGTIMER is not unblocked.
	* sysdeps/unix/sysv/linux/allocrtsig.c (current_rtmin): One more
	RT signal taken.
	* sysdeps/unix/sysv/linux/pthread_kill.c: Do not allow SIGTIMER to
	be send.
	* sysdeps/pthread/posix-timer.h (timer_id2ptr, timer_ptr2id): Just
	pass pointer through as ID.
	* sysdeps/unix/sysv/linux/bits/local_lim.h (TIMER_MAX): Removed.
	* sysdeps/unix/sysv/linux/kernel-posix-timers.h: New file.
	* sysdeps/unix/sysv/linux/timer_create.c: New file.
	* sysdeps/unix/sysv/linux/timer_delete.c: New file.
	* sysdeps/unix/sysv/linux/timer_getoverr.c: New file.
	* sysdeps/unix/sysv/linux/timer_gettime.c: New file.
	* sysdeps/unix/sysv/linux/timer_routines.c: New file.
	* sysdeps/unix/sysv/linux/timer_settime.c: New file.
	* sysdeps/unix/sysv/linux/ia64/Versions: New file.
	* sysdeps/unix/sysv/linux/ia64/timer_create.c: New file.
	* sysdeps/unix/sysv/linux/ia64/timer_delete.c: New file.
	* sysdeps/unix/sysv/linux/ia64/timer_getoverr.c: New file.
	* sysdeps/unix/sysv/linux/ia64/timer_gettime.c: New file.
	* sysdeps/unix/sysv/linux/ia64/timer_settime.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_create.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_delete.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_getoverr.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_gettime.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/Versions: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/timer_create.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/timer_delete.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/timer_getoverr.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/timer_gettime.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/timer_settime.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/Versions: New file.
	* sysdeps/unix/sysv/linux/x86_64/compat-timer.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/timer_create.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/timer_delete.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/timer_gettime.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/timer_settime.c: New file.

	* pthreadP.h: Remove FRAME_LEFT definition.
	* cleanup.c (_pthread_cleanup_push): Don't check for reference to
	already left frame.  Programs which have this problem are not POSIX
	compliant.
	* cleanup_defer.c (_pthread_cleanup_push_defer): Likewise.

2003-03-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/tst-timer.c: Check return values of the
	functions we test.

2003-03-23  Roland McGrath  <roland@redhat.com>

	* tst-tls3.c (do_test) [! HAVE___THREAD]: Don't test anything.
	* tst-tls3mod.c: Likewise.
	* tst-tls1.c: Likewise.
	* tst-tls2.c: Likewise.

	* tst-mutex5.c (do_test): Unlock before destroy, otherwise we invoke
	undefined behavior.

	* tst-join5.c (tf1, tf2): Add a cast.

	* Makeconfig (includes): Append -I$(..)nptl to this variable.

	* tst-barrier2.c (do_test) [! _POSIX_THREAD_PROCESS_SHARED]:
	Don't test anything.
	* tst-cond4.c: Likewise.
	* tst-cond6.c: Likewise.
	* tst-flock2.c: Likewise.
	* tst-mutex4.c: Likewise.
	* tst-rwlock4.c: Likewise.
	* tst-signal1.c: Likewise.
	* tst-spin2.c: Likewise.
	* tst-cond11.c [! _POSIX_CLOCK_SELECTION]: Likewise.

	* tst-mutex4.c: Use test-skeleton.c.
	* tst-spin2.c: Likewise.
	* tst-sysconf.c: Likewise.
	* tst-barrier2.c: Likewise.
	* tst-cond4.c: Likewise.
	* tst-cond6.c: Likewise.
	* tst-rwlock4.c: Likewise.
	* tst-unload.c: Likewise.
	* tst-flock2.c (do_test): Use return instead of exit.

2003-03-22  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/fork.c (__fork): Add libc_hidden_def.

2003-03-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h
	(__lll_mutex_trylock): Use atomic_compare_and_exchange_val_acq
	instead of __lll_compare_and_swap.
	* sysdeps/unix/sysv/linux/ia64/pthread_once.c (__pthread_once):
	Likewise.
	Removed definition if __lll_compare_and_swap.

	* cancellation.c: Adjust for new form of compare&exchange macros.
	* cleanup_defer.c: Likewise.
	* init.c: Likewise.
	* libc-cancellation.c: Likewise.
	* old_pthread_cond_broadcast.c: Likewise.
	* old_pthread_cond_signal.c: Likewise.
	* old_pthread_cond_timedwait.c: Likewise.
	* old_pthread_cond_wait.c: Likewise.
	* pthread_cancel.c: Likewise.
	* pthread_create.c: Likewise.
	* pthread_detach.c: Likewise.
	* pthread_join.c: Likewise.
	* pthread_key_delete.c: Likewise.
	* pthread_setcancelstate.c: Likewise.
	* pthread_setcanceltype.c: Likewise.
	* pthread_timedjoin.c: Likewise.
	* pthread_tryjoin.c: Likewise.
	* sysdeps/pthread/createthread.c: Likewise.

2003-03-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Include <atomic.h>.
	Remove __lll_add, __lll_dec_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-20  Martin Schwidefsky  <sky@mschwid3.boeblingen.de.ibm.com>

	* sysdeps/s390/pthread_spin_lock.c (pthread_spin_lock): Use type
	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-19  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/i686/bits/atomic.h: Removed.
	* sysdeps/i386/i586/bits/atomic.h: Removed.
	* sysdeps/i386/i486/bits/atomic.h: Removed.  Moved to glibc.
	* sysdeps/x86_64/bits/atomic.h: Removed.  Moved to glibc.
	* sysdeps/s390/bits/atomic.h: Removed.  Moved to glibc.
	* sysdeps/sh/bits/atomic.h: Removed.  Moved to glibc.
	* sysdeps/ia64/bits/atomic.h: Removed.  Moved to glibc.
	* sysdeps/powerpc/bits/atomic.h: Removed.  Moved to glibc.
	* atomic.h: Removed.  Moved to glibc.

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Add
	support for clock selection.

	* sysdeps/pthread/pthread_cond_broadcast.c: Release lock before
	signalling waiters.

2003-03-18  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (__lll_test_and_set):
	Add __lll_rel_instr first.  Add memory clobber.
	(lll_mutex_unlock): Use __lll_test_and_set.
	From Paul Mackerras <paulus@samba.org>.

	* sysdeps/powerpc/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Define
	unconditionally.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
	(SINGLE_THREAD_P):  Add `header.' prefix.
	From Paul Mackerras <paulus@samba.org>.

	* Versions (libpthread: GLIBC_2.3.2): Move pthread_tryjoin_np and
	pthread_timedjoin_np to ...
	(libpthread: GLIBC_2.3.3): ... here.
	(libpthread: GLIBC_2.2): Move pthread_barrierattr_getpshared there too.

	* sysdeps/pthread/pthread_cond_timedwait.c (__pthread_cond_timedwait):
	Avoid shadowing VAL variable.

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (__lll_test_and_set):
	New macro.

2003-03-18  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-cond11.
	* tst-cond11.c: New file.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Reorder
	struct passed to cleanup handler to eliminate one more
	instruction.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.

	* 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.

	* 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.
	* pthread_cond_init.c (__pthread_cond_init): Initialized __clock field.
	* 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-17  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait):
	Formatting tweaks.

2003-03-17  Ulrich Drepper  <drepper@redhat.com>

	* 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.
	* sysdeps/ia64/bits/atomic.h: Add __builtin_expect where appropriate.
	* sysdeps/ia64/pthread_spin_unlock.c (pthread_spin_unlock): Use
	__sync_lock_release_si.
	Patch by Jakub Jelinek.

	* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_timedlock_wait):
	Fix timeout handling.
	(__lll_timedwait_tid): Likewise.
	(lll_unlock_wake_cb): Wake up other waiters if necessary.
	Patch by Jakub Jelinek.

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Pretty printing.

2003-03-17  Roland McGrath  <roland@redhat.com>

	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/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-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread_cond_wait.c: Correct exit criteria.
	* sysdeps/pthread/pthread_cond_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
	Patch by Ewald Snel <ewald@rambo.its.tudelft.nl>.

2003-03-16  Roland McGrath  <roland@redhat.com>

	* tst-fork4.c: Include <string.h>.
	* tst-signal2.c: Likewise.
	* tst-mutex5.c (do_test): exit -> return.
	* tst-mutex2.c: Include <stdlib.h>.

2003-03-16  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S
	(__lll_mutex_timedlock_wait): Correct expected value after
	spurious wakeup.  Otherwise we would never wait again.

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Work around red
	zone versus inline asm stupidity.  Use correct instructions.

	* tst-rwlock6.c: Add some more status output.

2003-03-15  Roland McGrath  <roland@redhat.com>

	* sysdeps/pthread/configure.in: New file.
	* sysdeps/pthread/configure: New file (generated).

2003-03-15  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (allocate_stack): Store the exact stack size of
	user allocated stacks.

2003-03-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
	(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  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-14  Ulrich Drepper  <drepper@redhat.com>

	* tst-basic1.c (do_test): Add cast to avoid warning.
	* tst-basic2.c (do_test): Likewise.

	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Use correct
	amount of stack correction.

	* tst-fork4.c: Use test-skeleton.c.

2003-03-14  Roland McGrath  <roland@redhat.com>

	* init.c: Fix typo "#eli" for "#else".

2003-03-14  Steven Munroe  <sjmunroe@us.ibm.com>

	* allocatestack.c (__stack_user): Use hidden_data_def.
	* pthread_create.c (__pthread_keys): Likewise.

	* init.c [__powerpc__] (__NR_set_tid_address): Define it.

2003-03-14  Roland McGrath  <roland@redhat.com>

	* tst-fork4.c: New file.
	* Makefile (tests): Add it.

	* 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.

	* sysdeps/s390/td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Use REGS[18]
	value directly.

2003-03-14  Ulrich Drepper  <drepper@redhat.com>

	* pthread_create.c (start_thread): Use CALL_THREAD_FCT if defined.
	* sysdeps/i386/tls.h: Define CALL_THREAD_FCT.

	* pthread_create.c (start_thread): setjmp is expected to return 0.

	* sysdeps/x86_64/tls.h (THREAD_GETMEM): Mark asms volatile.
	(THREAD_GETMEM_NC): Likewise.

2003-03-13  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (allocate_stack): If MULTI_PAGE_ALIASING is defined
	and the size of the stack which must be allocated is a multiple,
	allocate one more page.
	* sysdeps/i386/i686/Makefile: Don't define COLORING_INCREMENT, but
	MULTI_PAGE_ALIASING.

2003-03-13  Roland McGrath  <roland@redhat.com>

	* pthread_create.c (start_thread): Set EXITING_BIT after the
	event-reporting (and destructors), not before.

2003-03-13  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (lll_futex_timed_wait,
	lll_futex_wake): Declare register variables as long int instead of
	unsigned long int.  Patch by Ian Wienand <ianw@gelato.unsw.edu.au>.
	Make syscall arguments clobbered by the syscall.
	(lll_futex_wait): Define using lll_futex_timed_wait.

	* sysdeps/ia64/td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Cast regs[13]
	to void *.

	* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Only declare and set
	PPID if [! NDEBUG].

	* allocatestack.c (nptl_ncreated): Only declare if
	COLORING_INCREMENT != 0.

	* pthreadP.h (__pthread_enable_asynccancel_2): New prototype.
	(__libc_enable_asynccancel_2): Remove prototype.

	* sysdeps/unix/sysv/linux/ia64/fork.c (ARCH_FORK): Swap ptid and
	ctid to match kernel.

2003-03-12  Ulrich Drepper  <drepper@redhat.com>

	* 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.

	* sysdeps/x86_64/tls.h [__ASSEMBLER__]: Include tcb-offsets.h.
	* sysdeps/x86_64/tcb-offsets.sym: New file.
	* sysdeps/x86_64/Makefile: New file.

	* sysdeps/i386/tcb-offsets.sym: Add SELF.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Use SELF
	to access own pthread_t in TCB.
	* 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_wrlock.S: Likewise.

2003-03-12  Roland McGrath  <roland@redhat.com>

	* pthread-errnos.sym: New file.
	* Makefile (gen-as-const-headers): New variable, list that file.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Include generated
	header <pthread-errnos.h> instead of defining errno values here.
	* sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevelmutex.S: Likewise.
	* sysdeps/i386/i486/pthread_spin_trylock.S: Likewise.
	* sysdeps/x86_64/pthread_spin_trylock.S: Likewise.
	* sysdeps/sh/pthread_spin_trylock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.

	* sysdeps/unix/sysv/linux/fork.c: Add an assert to check that
	CLONE_CHILD_SETTID worked.

2003-03-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S: New
	file.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S: New
	file.

	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
	(pthread_cond_t): Add padding.

	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S: New file.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S
	(__pthread_rwlock_timedwrlock): Add missing opcode suffix.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S
	(__pthread_rwlock_timedrdlock): Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S
	(__pthread_rwlock_wrlock): Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S
	(__pthread_rwlock_rdlock): Likewise.

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: New file.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Return
	result of lock re-get if it fails.

2003-03-11  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Fix asm syntax.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.

	* sysdeps/x86_64/tls.h (THREAD_SELF, THREAD_GETMEM, THREAD_GETMEM_NC,
	THREAD_SETMEM, THREAD_SETMEM_NC): Correct asm syntax.

	* allocatestack.c [! TLS_MULTIPLE_THREADS_IN_TCB] (allocate_stack):
	Initialize *__libc_multiple_threads_ptr not __libc_multiple_threads.
	* sysdeps/pthread/createthread.c [! TLS_MULTIPLE_THREADS_IN_TCB]
	(create_thread): Likewise.
	Define __pthread_multiple_threads and __libc_multiple_threads_ptr.
	* init.c (__pthread_initialize_minimal_internal): Initialize
	__libc_multiple_threads_ptr if necessary.
	* pthreadP.h: Adjust prototype for __libc_pthread_init.  Declare
	__pthread_multiple_threads and __libc_multiple_threads_ptr.
	* sysdeps/unix/sysv/linux/libc_pthread_init.c: Define
	__libc_multiple_threads.
	(__libc_pthread_init): Return pointer to __libc_pthread_init if
	necessary.

	* sysdeps/i386/tls.h (THREAD_SETMEM): Fix one-byte variant.
	(THREAD_SETMEM_NC): Likewise.

	* sysdeps/x86_64/pthread_spin_trylock.c: Removed.
	* sysdeps/x86_64/pthread_spin_trylock.S: New file.
	* sysdeps/x86_64/pthread_spin_unlock.c: Removed.
	* sysdeps/x86_64/pthread_spin_unlock.S: New file.

	* sysdeps/i386/i486/pthread_spin_trylock.S (pthread_spin_trylock):
	Eliminate one entire instruction.

	* cancellation.c (__pthread_enable_asynccancel_2): New function.
	* pthreadP.h: Declare __pthread_enable_asynccancel_2.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Use __pthread_enable_asynccancel_2
	instead of __pthread_enable_asynccancel.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
	(__pthread_cond_wait): Likewise.
	* sysdeps/pthread/pthread_cond_timedwait.c
	(__pthread_cond_timedwait): Likewise.
	* sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait): Likewise.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
	(__condvar_cleanup): Wake up all waiters in case we got signaled
	after being woken up but before disabling asynchronous
	cancellation.
	* sysdeps/pthread/pthread_cond_wait.c (__condvar_cleanup): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
	(__condvar_cleanup): Likewise.

	* init.c (__NR_set_tid_address): If already defined, don't redefine.
	Make it an error if architecture has no #if case.  Add x86-64.

	* sysdeps/unix/sysv/linux/x86_64/Makefile: Add flags for
	pt-initfini.s generation.

	* sysdeps/x86_64/tls.h: Include <asm/prctl.h>.
	(TLS_INIT_TP): Fix typo.

2003-03-11  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ia64/bits/atomic.h (atomic_exchange_and_add): Swap 2nd and
	3rd argument of __arch_compare_and_exchange_{32,64}_val_acq.

	* sysdeps/unix/sysv/linux/ia64/sem_post.c: Include semaphore.h.
	* sysdeps/unix/sysv/linux/ia64/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sem_trywait.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sem_wait.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_post.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_trywait.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_wait.c: Likewise.

2003-03-11  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread_cond_timedwait.c
	(__pthread_cond_timedwait): Return the result of the final
	locking.  If it succeeds, the regular function return value.

	* sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait):
	Return result of the final locking.
	* version.c (__nptl_main): Work around problems with the strange
	INTERNAL_SYSCALL macro on ppc32.
	* init.c (__pthread_initialize_minimal_internal): Unblock
	SIGCANCEL in case the parent blocked it.
	Reported by Paul Mackerras <paulus@samba.org>.

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: New file.

2003-03-11  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/pthread_cond_timedwait.c
	(__pthread_cond_timedwait): Unlock and fail if
	__pthread_mutex_unlock_internal failed.

	* sysdeps/pthread/createthread.c (ARCH_CLONE): Define if not defined.
	(create_thread): Only assert PD->tcb != NULL under [TLS_TCB_AT_TP].
	Use ARCH_CLONE.
	* allocatestack.c (ALLOCATE_STACK_PARMS): New macro.
	[NEED_SEPARATE_REGISTER_STACK] (STACK_VARIABLES,
	STACK_VARIABLES_ARGS, STACK_VARIABLES_PARMS, ALLOCATE_STACK_PARMS,
	ALLOCATE_STACK): New macros.
	(TLS_TPADJ): New macro.
	(get_cached_stack, queue_stack, __deallocate_stack): Use TLS_TPADJ.
	(allocate_stack): Handle TLS_DTV_AT_TP and
	NEED_SEPARATE_REGISTER_STACK.  Use TLS_TPADJ.
	* pthread_create.c (__pthread_create_2_1) [! TLS_TCB_AT_TP]:
	Don't set PD->self.
	* init.c [__ia64__] (__NR_set_tid_address): Define.

	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: New file.
	* sysdeps/unix/sysv/linux/ia64/bits/semaphore.h: New file.
	* sysdeps/unix/sysv/linux/ia64/fork.c: New file.
	* sysdeps/unix/sysv/linux/ia64/createthread.c: New file.
	* sysdeps/unix/sysv/linux/ia64/libc-lowlevellock.c: New file.
	* sysdeps/unix/sysv/linux/ia64/libc-lowlevelmutex.c: New file.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.c: New file.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: New file.
	* sysdeps/unix/sysv/linux/ia64/lowlevelmutex.c: New file.
	* sysdeps/unix/sysv/linux/ia64/pt-initfini.c: New file.
	* sysdeps/unix/sysv/linux/ia64/pt-vfork.S: New file.
	* sysdeps/unix/sysv/linux/ia64/pthread_once.c: New file.
	* sysdeps/unix/sysv/linux/ia64/sem_post.c: New file.
	* sysdeps/unix/sysv/linux/ia64/sem_timedwait.c: New file.
	* sysdeps/unix/sysv/linux/ia64/sem_trywait.c: New file.
	* sysdeps/unix/sysv/linux/ia64/sem_wait.c: New file.
	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: New file.
	* sysdeps/ia64/bits/atomic.h: New file.
	* sysdeps/ia64/Makefile: New file.
	* sysdeps/ia64/pthread_spin_init.c: New file.
	* sysdeps/ia64/pthread_spin_lock.c: New file.
	* sysdeps/ia64/pthread_spin_trylock.c: New file.
	* sysdeps/ia64/pthread_spin_unlock.c: New file.
	* sysdeps/ia64/pthreaddef.h: New file.
	* sysdeps/ia64/tcb-offsets.sym: New file.
	* sysdeps/ia64/td_ta_map_lwp2thr.c: New file.
	* sysdeps/ia64/tls.h: New file.

	* sysdeps/s390/pthreaddef.h (__exit_thread_inline): Pass 1 argument
	to syscall instead of no arguments.

2003-03-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: New file.

	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Fix error value in
	unused code.

	* sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S: New file

	* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add
	lowlevelbarrier.sym.
	* sysdeps/unix/sysv/linux/lowlevelbarrier.sym: New file.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S:
	Include lowlevelbarrier.h and don't define offsets locally.
	* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: Likewise.

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
	(__lll_mutex_lock_wait): Reverse order of first two parameters.
	(__lll_mutex_timedlock_wait): Likewise.
	(lll_mutex_lock): Adjust asm for that.
	(lll_mutex_timedlock): Likewise.  Mark cx, cc, r10 as clobbered.
	(lll_lock): Adjust asm for operand order change.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevelmutex.S: New file.

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (__lll_lock_wait):
	Reverse order of parameters.
	(__lll_timedwait_tid): Remove regparms attribute.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: New file.

	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(__lll_timedwait_tid): Remove one unnecessary instruction.

	* sysdeps/unix/sysv/linux/sh/lowlevelmutex.S: Define
	__lll_mutex_timedlock_wait only for NOT_IN_libc.
	* sysdeps/unix/sysv/linux/sh/libc-lowlevelmutex.S: Include
	lowlevelmutex.S.

	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Define
	lll_unlock_wake_cb, __lll_wait_tid, and __lll_timedwait_tid only
	for NOT_IN_libc.
	* sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Include
	lowlevellock.S.

	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Don't define
	LOCK is already defined.  Don't define __lll_mutex_timedlock_wait
	for libc.so.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Only
	define LOCK here (if UP is not defined).  The actual code is in
	lowlevelmutex.S.

	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Don't define
	LOCK is already defined.  Don't define lll_unlock_wake_cb and
	__lll_timedwait_tid for libc.so.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Only
	define LOCK here (if UP is not defined).  The actual code is in
	lowlevellock.S.

	* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Not needed anymore.
	* sysdeps/unix/sysv/linux/s390/lowlevelsem.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_post.c: Include lowlevellock.h
	instead of lowlevelsem.h.
	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_trywait.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_wait.c: Likewise.

	* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add
	lowlevelrwlock.sym.
	* sysdeps/unix/sysv/linux/lowlevelrwlock.sym: New file.
	* sysdeps/unix/sysv/linux/i386/lowlevelrwlock.h: Removed.
	* sysdeps/unix/sysv/linux/sh/lowlevelrwlock.h: Removed.

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_trylock): Fix
	register loading.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_trylock): Undo
	last changed.  D'oh.

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: New file.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Remove declaration
	of __libc_locking_needed.
	(lll_trylock): Initialize %eax to zero.

	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Update
	pthread_cond_t definition.

2003-03-10  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/lowlevelcond.sym: New file.
	* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add it.
	* sysdeps/unix/sysv/linux/sh/lowlevelcond.h: File removed.
	* sysdeps/unix/sysv/linux/i386/lowlevelcond.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelcond.h: Likewise.

	* allocatestack.c (allocate_stack) [!TLS_MULTIPLE_THREADS_IN_TCB]:
	Instead of setting PD->multiple_threads, set globals
	__pthread_multiple_threads and __libc_multiple_threads.
	* sysdeps/pthread/createthread.c (create_thread): Likewise.
	* sysdeps/i386/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Define it.
	* sysdeps/s390/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Likewise.

	* descr.h (struct pthread): Conditionalize first member on
	[!TLS_DTV_AT_TP].  Replace the `header' member with an anonymous union
	containing an anonymous tcbhead_t.  Move `list' member out.
	[TLS_MULTIPLE_THREADS_IN_TCB]: Define a `multiple_threads' member.
	* allocatestack.c: Remove use of `header.data.' prefix.
	* pthread_create.c: Likewise.
	* init.c (__pthread_initialize_minimal_internal): Likewise.
	* sysdeps/pthread/createthread.c (create_thread): Likewise.
	* sysdeps/i386/tls.h (INSTALL_DTV): Add parens.
	(THREAD_SELF, THREAD_DTV, INSTALL_NEW_DTV): No `header.data.' prefix.
	* 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/i386/tls.h (tcbhead_t): Remove `list' member.
	* sysdeps/s390/tls.h (tcbhead_t): Likewise.

2003-03-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevelcond.h: New file.

	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/fork.c: New file.

	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Fix many
	leftovers from the ia32 code.

	* sysdeps/unix/sysv/linux/i386/pthread_once.S: Remove unneccessary
	memory load.
	(clear_once_control): Don't load %esi.

	* sysdeps/x86_64/tls.h: Remove all traces of segment descriptor
	handling.

	* sysdeps/unix/sysv/linux/x86_64/fork.c: New file.

	* sysdeps/unix/sysv/linux/s390/createthread.c: Moved to...
	* sysdeps/unix/sysv/linux/createthread.c: ...here.

	* Makefile (tests): Add tst-cond10.
	* tst-cond10.c: New file.

2003-03-08  Ulrich Drepper  <drepper@redhat.com>

	* tst-tls2.c (do_test): Add TEMP_FAILURE_RETRY around sem_wait call.
	* tst-signal3.c (do_test): Likewise.
	* tst-sem5.c (do_test): Likewise.
	* tst-kill6.c (do_test): Likewise.
	* tst-tls3.c (do_test): Likewise.  Include <errno.h>.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Use add/sub instead
	of inc/dec.
	* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/pthread_once.S: Likewise
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.

	* allocatestack.c (allocate_stack): If mprotect() fails free the
	TLS memory.

2003-03-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/i486/bits/atomic.h: Fix a few unused definitions.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Remove all trace of
	lll_wake_tid.  This was used only to work around kernel limits in
	the early days.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise.

	* init.c (__static_tls_align_m1): Renamed from __static_tls_align.
	(__pthread_initialize_minimal_internal): Change initialization of
	__static_tls_align_m1 appropriately.
	* pthreadP.h (__static_tls_align_m1): Renamed from
	__static_tls_align.
	* allocatestack.c (allocate_stack): Use __static_tls_align_m1
	instead of __static_tls_align-1.

2003-03-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/Makefile: New file.

	* pthread_create.c: Define __pthread_keys using nocommon
	attribute, not by placing it explicitly in bss.
	Remove DEFINE_DEALLOC definition.  Not needed anymore.

	* allocatestack.c: Define ARCH_MAP_FLAGS if not already defined.
	Use it in mmap call to allocate stacks.

	* sysdeps/pthread/createthread.c (create_thread): Fix comment.

	* pthread_create.c (start_thread): Use THREAD_SETMEM to store
	result of the thread function.

2003-03-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/s390/dl-sysdep.h: Removed.  The generic
	version is just fine.

	* sysdeps/unix/sysv/linux/libc_pthread_init.c
	(__pthread_child_handler): Renamed from pthread_child_handler,
	exported, and marked hidden.  Change all users.
	* sysdeps/unix/sysv/linux/register-atfork.c (free_mem): Do not
	free __pthread_child_handler from child list.

2003-03-03  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* atomic.h (atomic_exchange_and_add): Return newval, not oldval.

	* sysdeps/pthread/pthread_cond_timedwait.c (__pthread_cond_timedwait):
	Fix handling of cancellation and failing pthread_mutex_unlock call.
	* sysdeps/pthread/pthread_cond_wait.c (__condvar_cleanup): Likewise.
	(__pthread_cond_wait): Likewise.

	* sysdeps/pthread/pthread_rwlock_timedrdlock.c
	(pthread_rwlock_timedrdlock): Fix clobber of result variable by
	lll_futex_timed_wait call.
	* sysdeps/pthread/pthread_rwlock_timedwrlock.c
	(pthread_rwlock_timedwrlock): Likewise.

	* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c (___lll_lock):
	Don't define lll_unlock_wake_cb and ___lll_timedwait_tid in libc.so.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.c: Remove XXX comments.

	* sysdeps/unix/sysv/linux/s390/sem_post.c (__new_sem_post): Fix
	check of lll_futex_wake return value.

2003-03-03  Roland McGrath  <roland@redhat.com>

	* forward.c: Fix typo in __pthread_attr_init_2_0 compat_symbol decl.

	* sysdeps/pthread/pthread-functions.h (struct pthread_functions):
	Argument to ptr___pthread_cleanup_upto is __jmp_buf, not jmp_buf.
	* sysdeps/unix/sysv/linux/jmp-unwind.c: Likewise.

2003-03-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/timer_create.c (timer_create): Return correct
	error for CPU clocks.

	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
	_POSIX_MONOTONIC_CLOCK.
	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.

	* tst-cancel4.c (tf_sleep): Lower sleep time a bit to not upset
	recent kernels.

2003-03-01  Ulrich Drepper  <drepper@redhat.com>

	* descr.h (struct pthread): Move cleanup field to the front.

2003-03-01  Roland McGrath  <roland@redhat.com>

	* sem_open.c (sem_open): Braino fix.

2003-03-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/tcb-offsets.sym: Add CLEANUP and CLEANUP_PREV.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Inline
	__pthread_cleanup_pop functionality.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.

	* descr.h (struct pthread): Move tid field to the front now that
	it is often used.

	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S
	(__lll_mutex_timedlock_wait): Remove.
	(__lll_mutex_unlock_wake): Don't save, load, and restore %esi.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S
	(__lll_mutex_unlock_wake): Don't save, load, and restore %esi.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(lll_unlock_wake_cb): Don't save and restore %esi.
	(__lll_unlock_wake): Add alignment.  Don't save, load, and restore
	%esi.
	(__lll_timedwait_tid): Add alignment.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S
	(__lll_unlock_wake): Add alignment.  Don't save, load, and restore
	%esi.
	(__lll_timedwait_tid): Removed.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
	(__pthread_cond_broadcast): Don't save, load, and restore %esi.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S
	(pthread_barrier_wait): Don't save, load, and restore %esi for
	last thread.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
	(__pthread_cond_signal): Don't save, load, and restore %esi.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S
	(__pthread_rwlock_unlock): Don't save, load, and restore %esi.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S (__new_sem_post):
	Don't save, load, and restore %esi.

2003-02-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S:
	Release lock before waking up the waiters.

	* tst-exit1.c (do_test): Don't start more than one thread in parallel.

	* tst-rwlock9.c (writer_thread): Correct adding TIMEOUT.
	(reader_thread): Likewise.

	* sysdeps/pthread/pthread_rwlock_unlock.c
	(__pthread_rwlock_unlock): Release internal lock early.  Don't try
	to wake up readers if there are none.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S:
	Release internal lock before wake threads.

2003-02-26  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-rwlock10 and tst-rwlock11.
	* tst-rwlock8.c: Initialize lock with INIT.  Allow INIT to be
	predefined.
	* tst-rwlock9.c: Likewise.
	* tst-rwlock10.c: New file.
	* tst-rwlock11.c: New file.

	* Makefile (tests): Add tst-dlsym1.
	* tst-dlsym1.c: New file.

	* init.c (__pthread_initialize_minimal_internal): Set
	GL(dl_error_catch_tsd) to __libc_dl_error_tsd.
	* Versions (libc:GLIBC_PRIVATE): Export __libc_dl_error_tsd.

2003-02-24  Ulrich Drepper  <drepper@redhat.com>

	* sem_open.c (sem_open): Fix handling of O_CREAT without O_EXCL.

	* tst-cond2.c: Fix sychronization with child.

	* tst-rwlock8.c (reader_thread): Remove unused variable.

	* Makefile: Add rules to build and run tst-tls3.
	* tst-tls3.c: New file.
	* tst-tls3mod.c: New file.

	* Makefile (tests): Add tst-rwlock8 and tst-rwlock9.
	* tst-rwlock8.c: New file.
	* tst-rwlock9.c: New file.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Fix
	complete broken rwlock implementation.
	* 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.
	* sysdeps/pthread/pthread_rwlock_rdlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_timedrdlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_timedwrlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_unlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_wrlock.c: Likewise.

2003-02-23  Roland McGrath  <roland@redhat.com>

	* Makefile (nptl-version): Change regexp so case sensitivity is ok.

2003-02-23  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-context1.
	* tst-context1.c: New file.

	* Makefile (tests): Add tst-tls1 and tst-tls2.
	* tst-tls1.c: New file.
	* tst-tls2.c: New file.

	* libc-cancellation.c (__libc_enable_asynccancel): Correct test
	for failed cmpxchg.

	* pthread_create.c (start_thread): Set EXITING_BIT early.

	* sysdeps/i386/tls.h (THREAD_GETMEM): Mark asm as volatile.
	(THREAD_GETMEM_NC): Likewise.

2003-02-22  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Shave
	off 3 more bytes by using offset-less instructions when possible.

	* Makefile: Add dependency for $(objpfx)version.d.

	* eintr.c (eintr_source): Add unnecessary return but the compiler
	insists.

	* tst-kill3.c: Include <unistd.h>.

2003-02-21  Roland McGrath  <roland@redhat.com>

	* pthread_create.c (start_thread): Call __libc_thread_freeres.

2003-02-21  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-eintr1.
	(distribute): Add eintr.c.
	* tst-eintr1.c: New file.
	* eintr.c: New file.

	* pthread_cancel.c (pthread_cancel): Use tkill directly.

	* sysdeps/unix/sysv/linux/pthread_kill.c (__pthread_kill):
	Disallow sending SIGCANCEL.

	* Makefile (tests): Remove tst-basic7.  Add tst-kill1, tst-kill2,
	tst-kill3, tst-kill4, tst-kill5, tst-kill6.
	* tst-kill1.c: New file.
	* tst-kill2.c: New file.
	* tst-kill3.c: New file.
	* tst-kill5.c: New file.
	* tst-kill6.c: New file.
	* tst-basic7.c: Renamed to...
	* tst-kill4.c: ...this.

2003-02-21  Roland McGrath  <roland@redhat.com>

	* Makefile (install-lib-ldscripts): New variable.

2003-02-21  Ulrich Drepper  <drepper@redhat.com>

	* pthreadP.h: Define INVALID_TD_P and INVALID_NOT_TERMINATED_TD_P.
	* pthread_cancel.c: Use INVALID_TD_P.
	* pthread_detach.c: Likewise.
	* pthread_getschedparam.c: Likewise.
	* pthread_setschedparam.c: Likewise.
	* sysdeps/pthread/pthread_getcpuclockid.c: Likewise.
	* sysdeps/unix/sysv/linux/pthread_kill.c: Likewise.
	* pthread_join.c: Use INVALID_NOT_TERMINATED_TD_P.
	* pthread_timedjoin.c: Likewise.

	* tst-basic7.c: Include <signal.h>.

	* pthread_join.c (pthread_join): Limited checking for invalid
	descriptors.
	* pthread_timedjoin.c (pthread_timedjoin_np): Likewise.

2003-02-20  Ulrich Drepper  <drepper@redhat.com>

	* pthread_create.c (deallocate_tsd): Reset found_nonzero at the
	beginning of the loop.  Clear the entire first block of TSD.
	* Makefile (tests): Add tst-key4.
	* tst-key4.c: New file.

2003-02-18  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-basic7.
	* tst-basic7.c: New file.

	* pthread_create.c (deallocate_tsd): Mark as internal_function.
	Add some more __builtin_expect.

	* pthreadP.h: Define dummy version of DEBUGGING_P.

2003-02-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Remnove
	_POSIX_THREAD_PRIORITY_SCHEDULING.
	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Remove
	_XOPEN_REALTIME_THREADS.
	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.

	* sysdeps/unix/sysv/linux/pthread_kill.c (__pthread_kill): The
	kernel returns EINVAL for PID <= 0, work around it.

	* Makefile (tests): Add tst-signal5.
	* tst-signal5.c: New file.

	* sysdeps/unix/sysv/linux/bits/local_lim.h: Define TTY_NAME_MAX
	and LOGIN_NAME_MAX.

	* tst-cancel1.c (tf): Block all signals.

	* Makefile (tests): Add tst-basic6.
	* tst-basic6.c: New file.

	* tst-basic1.c: Add test for process ID.

	* Makefile (tests): Add tst-cancel10.
	* tst-cancel10.c: New file.

	* Makefile (tests): Add tst-signal4.
	* tst-signal4.c: New file.

	* sysdeps/pthread/pthread_sigmask.c (pthread_sigmask): Use
	__sigismember instead of sigismember.  Add __builtin_expect.

2003-02-16  Ulrich Drepper  <drepper@redhat.com>

	* tst-attr1.c (do_test): Add tests for pthread_setcanceltype,
	pthread_setcancelstate, and pthread_rwlock_setpshared.

	* tst-cancel7.c (do_test): Make sure the pid file exists before
	canceling the thread.

	* tst-rwlock6.c: More pthread_rwlock_timedwrlock and
	pthread_rwlock_timedrdlock tests.
	* tst-rwlock7.c: More pthread_rwlock_timedwrlock tests.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
	Check for invalid tv_nsec field.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
	Likewise.

	* pthread_mutex_trylock.c (__pthread_mutex_trylock): Protect
	recursive mutex of overflow.

	* tst-attr1.c (do_test): Add test for pthread_mutexattr_setpshared.

	* libc-cancellation.c (__libc_enable_asynccancel): Rewrite to avoid
	going into an endless loop.
	* Makefile (tests): Add tst-cancel9.
	* tst-cancel9.c: New file.

	* pthread_cancel.c (pthread_cancel): Use the result of __pthread_kill.

2003-02-15  Ulrich Drepper  <drepper@redhat.com>

	* tst-mutex5.c (do_test): Add more timedlock tests.

	* tst-mutex2.c: Tests of trylock and unlock with ERROR mutexes.
	* tst-mutex3.c (do_test): Add tests for trylock with RECURSIVE mutexes.

	* sysdeps/unix/sysv/linux/pthread_kill.c (__pthread_kill): Don't
	use INLINE_SYSCALL.  Error number is returned, not -1.

	* pthreadP.h: Mark declarations of __find_in_stack_list, __free_tcb,
	and __deallocate_stack with internal_function.
	* pthread_create.c: Adjust definitions appropriately.
	* allocatestack.c: Likewise.

	* pthread_join.c: Add one more __builtin_expect.
	* pthread_timedjoin.c: Likewise.

	* pthread_getspecific.c (__pthread_getspecific): Clear data->data
	not data of sequence number does not match.
	Add one __builtin_expect.

	* Makefile (tests): Add tst-clock1.
	* tst-clock1.c: New file.

	* pthread_setconcurrency.c (pthread_setconcurrency): Fail for
	negative arguments.
	* Makefile (tests): Add tst-basic5.
	* tst-basic5.c: New file.

2003-02-14  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-basic4.
	* tst-basic4.c: New file.

	* pthreadP.h: Add declaraction for __nptl_nthreads.
	* pthread_create.c: Define __nptl_nthreads
	(start_thread): Increment __nptl_nthreads at beginning.  Decrement
	after thread is done.  If then zero, call exit(0).
	* sysdeps/pthread/pthread-functions.h (struct pthread_functions):
	Add ptr_nthreads.  Define HAVE_PTR_NTHREADS.
	* init.c (pthread_functions): Initialize ptr_nthreads.
	* allocatestack.c (nptl_nthreads): Remove definition and all uses.
	(__reclaim_stacks): Decrement __nptl_nthreads.
	* sysdeps/pthread/Makefile [$(subdir)==csu] (CFLAGS-libc-start.c):
	Define.
	* Makefile (tests): Add tst-basic3.
	* tst-basic3.c: New file.

	* descr.h: Define CANCELING_BIT and CANCELING_BITMASK.  Introduce
	after CANCELTYPE_BIT, move the other bits up.  Update CANCEL_RESTMASK.
	* init.c (sigcancel_handler): Also set CANCELING_BITMASK bit in newval.
	* pthread_cancel.c (pthread_cancel): Likewise.  Also set CANCELING_BIT
	if asynchronous canceling is enabled.
	* pthread_join.c (pthread_join): When recognizing circular joins,
	take into account the other thread might be already canceled.
	* Makefile (tests): Add tst-join5.
	* tst-join5.c: New file.

	* Makefile (tests): Add tst-join4.
	* tst-join4.c: New file.

2003-02-13  Ulrich Drepper  <drepper@redhat.com>

	* tst-cond4.c (main): Add test of pthread_attr_getpshared.

2003-02-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/tls.h (THREAD_GETMEM, THREAD_GETMEM_NC, THREAD_SETMEM,
	THREAD_SETMEM_NC): Use passed descr instead of THREAD_SELF.
	* sysdeps/unix/sysv/linux/s390/jmp-unwind.c (_longjmp_unwind): Avoid
	warning.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.c: Include <sys/time.h>
	to avoid warning.
	* sysdeps/unix/sysv/linux/s390/sem_post.c (__new_sem_post): Return
	error if lll_futex_wake failed.

2003-02-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Fix
	handling of cancellation and failung pthread_mutex_unlock call.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* Makefile (tests): Add tst-cond8 and tst-cond9.
	* tst-cond8.c: New file.
	* tst-cond9.c: New file.

	* tst-cond7.c (do_test): Unlock the mutex before canceling the thread.

	* sysdeps/pthread/pthread.h: Add missing initializers.  Protect
	non-standard initializers with __USE_GNU.

	* Makefile (tests): Add tst-cleanup3.
	* tst-cleanup3.c: New file.

2003-02-12  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-attr1 and tst-attr2.
	* tst-attr1.c: New file.
	* tst-attr2.c: New file.

	* Makefile: Add rules to build and run tst-atfork2 test.
	* tst-atfork2.c: New file.
	* tst-atfork2mod.c: New file.

	* sysdeps/unix/sysv/linux/unregister-atfork.c
	(__unregister_atfork): Free the memory allocated for the handlers
	after removing them from the lists.

	* sysdeps/unix/sysv/linux/register-atfork.c: Define memeory
	cleanup function.

	* tst-atfork1.c (do_test): Wait for the child we forked.
	Report error in child.

	* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Fix comment.

	* sysdeps/pthread/Makefile: Define CFLAGS-confstr.c.

2003-02-10  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-cancel8.
	* tst-cancel8.c: New file.

	* sysdeps/unix/sysv/linux/i386/pthread_once.S (clear_once_control): Fix
	clearing of control variable.
	* Makefile (tests): Add tst-once3 and tst-once4.
	* tst-once3.c: New file.
	* tst-once4.c: New file.

2003-02-08  kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/Makefile: New file.
	* sysdeps/sh/bits/atomic.h: New file.
	* sysdeps/sh/pthread_spin_init.c: New file.
	* sysdeps/sh/pthread_spin_lock.c: New file.
	* sysdeps/sh/pthread_spin_trylock.S: New file.
	* sysdeps/sh/pthread_spin_unlock.S: New file.
	* sysdeps/sh/pthreaddef.h: New file.
	* sysdeps/sh/tcb-offsets.sym: New file.
	* sysdeps/sh/td_ta_map_lwp2thr.c: New file.
	* sysdeps/sh/tls.h: New file.
	* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: New file.
	* sysdeps/unix/sysv/linux/sh/bits/semaphore.h: New file.
	* sysdeps/unix/sysv/linux/sh/createthread.c: New file.
	* sysdeps/unix/sysv/linux/sh/fork.c: New file.
	* sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: New file.
	* sysdeps/unix/sysv/linux/sh/libc-lowlevelmutex.S: New file.
	* sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h: New file.
	* sysdeps/unix/sysv/linux/sh/lowlevelcond.h: New file.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: New file.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.h: New file.
	* sysdeps/unix/sysv/linux/sh/lowlevelmutex.S: New file.
	* sysdeps/unix/sysv/linux/sh/lowlevelrwlock.h: New file.
	* sysdeps/unix/sysv/linux/sh/pt-initfini.c: New file.
	* sysdeps/unix/sysv/linux/sh/pt-vfork.S: New file.
	* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: New file.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S: New file.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S: New file.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: New file.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: New file.
	* sysdeps/unix/sysv/linux/sh/pthread_once.S: New file.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: New file.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: New file.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: New file.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S: New file.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: New file.
	* sysdeps/unix/sysv/linux/sh/sem_post.S: New file.
	* sysdeps/unix/sysv/linux/sh/sem_timedwait.S: New file.
	* sysdeps/unix/sysv/linux/sh/sem_trywait.S: New file.
	* sysdeps/unix/sysv/linux/sh/sem_wait.S: New file.
	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: New file.

2003-02-08  Ulrich Drepper  <drepper@redhat.com>

	* tst-cond2.c: Rearrange code to not rely on behavior undefined
	according to POSIX.

	* tst-basic2.c (do_test): Lock mutex before creating the thread.

2003-02-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/tls.h: Remove unnecessary macros, left over from x86.
	(TLS_GET_FS): New #define.
	(TLS_SET_FS): New #define.
	Correct value of __NR_set_thread_area.

	* sysdeps/x86_64/td_ta_map_lwp2thr.c: New file.

2003-02-06  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-popen1.
	* tst-popen1.c: New file.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Remove wrong
	but inactive generalization.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise.
	Minor optimization, remove one instruction.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Likewise.

2003-02-04  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/fork.c: Correct order of parameters.

2003-01-31  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* init.c (__NR_set_tid_address): Add #ifdef for s390.
	* sysdeps/pthread/pthread_barrier_wait.c: New file.
	* sysdeps/pthread/pthread_cond_broadcast.c: New file.
	* sysdeps/pthread/pthread_cond_signal.c: New file.
	* sysdeps/pthread/pthread_cond_timedwait.c: New file.
	* sysdeps/pthread/pthread_cond_wait.c: New file.
	* sysdeps/pthread/pthread_rwlock_rdlock.c: New file.
	* sysdeps/pthread/pthread_rwlock_timedrdlock.c: New file.
	* sysdeps/pthread/pthread_rwlock_timedwrlock.c: New file.
	* sysdeps/pthread/pthread_rwlock_unlock.c: New file.
	* sysdeps/pthread/pthread_rwlock_wrlock.c: New file.
	* sysdeps/s390/Makefile: New file.
	* sysdeps/s390/bits/atomic.h: New file.
	* sysdeps/s390/pthread_spin_init.c: New file.
	* sysdeps/s390/pthread_spin_lock.c: New file.
	* sysdeps/s390/pthread_spin_trylock.c: New file.
	* sysdeps/s390/pthread_spin_unlock.c: New file.
	* sysdeps/s390/pthreaddef.h: New file.
	* sysdeps/s390/tcb-offsets.sym: New file.
	* sysdeps/s390/td_ta_map_lwp2thr.c: New file.
	* sysdeps/s390/tls.h: New file.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: New file.
	* sysdeps/unix/sysv/linux/s390/bits/semaphore.h: New file.
	* sysdeps/unix/sysv/linux/s390/createthread.c: New file.
	* sysdeps/unix/sysv/linux/s390/dl-sysdep.h: New file.
	* sysdeps/unix/sysv/linux/s390/fork.c: New file.
	* sysdeps/unix/sysv/linux/s390/jmp-unwind.c: New file.
	* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c: New file.
	* sysdeps/unix/sysv/linux/s390/libc-lowlevelmutex.c: New file.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.c: New file.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: New file.
	* sysdeps/unix/sysv/linux/s390/lowlevelmutex.c: New file.
	* sysdeps/unix/sysv/linux/s390/lowlevelsem.h: New file.
	* sysdeps/unix/sysv/linux/s390/pthread_once.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/pt-vfork.S: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/pt-vfork.S: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: New file.
	* sysdeps/unix/sysv/linux/s390/sem_post.c: New file.
	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c: New file.
	* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c: New file.
	* sysdeps/unix/sysv/linux/s390/sem_wait.c: New file.

2003-02-04  Ulrich Drepper  <drepper@redhat.com>

	* atomic.h: Add a couple more default implementations.
	(atomic_compare_and_exchange_acq): Use
	__arch_compare_and_exchange_32_acq in return value definition.  It
	always exists.
	(atomic_bit_set): Renamed from atomic_set_bit.
	Add missing atomic_ prefixes.

	* sysdeps/pthread/bits/libc-lock.h (__libc_once): In case no
	thread library is available, use correct value to mark initialized
	once variable.

2003-02-03  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (allocate_stack): Use __getpagesize instead of
	__sysconf to determine pagesize.

	* pthread_create.c: Include <atomic.h>.
	* allocatestack.c (allocate_stack): Implement coloring of the
	allocated stack memory.  Rename pagesize to pagesize_m1.  It's the
	size minus one.  Adjust users.
	* sysdeps/i386/i686/Makefile: New file.

2003-02-02  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c: Improve comment throughout the file.

	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(__lll_lock_wait): Add branch prediction.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S
	(__lll_lock_wait): Likewise.
	(lll_unlock_wake_cb): Removed.

2003-01-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Remove
	_POSIX_THREAD_PRIORITY_SCHEDULING.

2003-01-30  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/pthread-functions.h (struct pthread_functions):
	Fix return type of ptr___pthread_getspecific.

2003-01-29  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-umask1.
	(tst-umask1-ARGS): Define.
	* tst-umask1.c: New file.

2003-01-28  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (libpthread-routines): Remove lowlevelrwlock.  Add
	pthread_rwlock_rdlock, pthread_rwlock_timedrdlock,
	pthread_rwlock_wrlock, pthread_rwlock_timedwrlock, and
	pthread_rwlock_unlock.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelrwlock.S: Removed
	* sysdeps/unix/sysv/linux/i386/i586/lowlevelrwlock.S: Removed
	* sysdeps/unix/sysv/linux/i386/i686/lowlevelrwlock.S: Removed
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: New file.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
	New file.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: New file.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
	New file.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S: New file.
	* sysdeps/unix/sysv/linux/i386/i586/pthread_rwlock_rdlock.S: New file.
	* sysdeps/unix/sysv/linux/i386/i586/pthread_rwlock_timedrdlock.S:
	New file.
	* sysdeps/unix/sysv/linux/i386/i586/pthread_rwlock_wrlock.S: New file.
	* sysdeps/unix/sysv/linux/i386/i586/pthread_rwlock_timedwrlock.S:
	New file.
	* sysdeps/unix/sysv/linux/i386/i586/pthread_rwlock_unlock.S: New file.
	* sysdeps/unix/sysv/linux/i386/i686/pthread_rwlock_rdlock.S: New file.
	* sysdeps/unix/sysv/linux/i386/i686/pthread_rwlock_timedrdlock.S:
	New file.
	* sysdeps/unix/sysv/linux/i386/i686/pthread_rwlock_wrlock.S: New file.
	* sysdeps/unix/sysv/linux/i386/i686/pthread_rwlock_timedwrlock.S:
	New file.
	* sysdeps/unix/sysv/linux/i386/i686/pthread_rwlock_unlock.S: New file.

	* Makefile (libpthread-routines): Remove lowlevelcond and
	lowlevelsem.  Add sem_wait, sem_trywait, sem_timedwait, sem_post,
	pthread_cond_wait, pthread_cond_timedwait, pthread_cond_signal,
	and pthread_cond_broadcast.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S: Removed
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelcond.S: Removed
	* sysdeps/unix/sysv/linux/i386/i586/lowlevelsem.S: Removed
	* sysdeps/unix/sysv/linux/i386/i586/lowlevelcond.S: Removed
	* sysdeps/unix/sysv/linux/i386/i686/lowlevelsem.S: Removed
	* sysdeps/unix/sysv/linux/i386/i686/lowlevelcond.S: Removed
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: New file.
	* sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: New file.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: New file.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: New file.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: New file.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: New file.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: New file.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: New file.
	* sysdeps/unix/sysv/linux/i386/i586/sem_wait.S: New file.
	* sysdeps/unix/sysv/linux/i386/i586/sem_trywait.S: New file.
	* sysdeps/unix/sysv/linux/i386/i586/sem_timedwait.S: New file.
	* sysdeps/unix/sysv/linux/i386/i586/sem_post.S: New file.
	* sysdeps/unix/sysv/linux/i386/i586/pthread_cond_wait.S: New file.
	* sysdeps/unix/sysv/linux/i386/i586/pthread_cond_timedwait.S: New file.
	* sysdeps/unix/sysv/linux/i386/i586/pthread_cond_signal.S: New file.
	* sysdeps/unix/sysv/linux/i386/i586/pthread_cond_broadcast.S: New file.
	* sysdeps/unix/sysv/linux/i386/i686/sem_wait.S: New file.
	* sysdeps/unix/sysv/linux/i386/i686/sem_trywait.S: New file.
	* sysdeps/unix/sysv/linux/i386/i686/sem_timedwait.S: New file.
	* sysdeps/unix/sysv/linux/i386/i686/sem_post.S: New file.
	* sysdeps/unix/sysv/linux/i386/i686/pthread_cond_wait.S: New file.
	* sysdeps/unix/sysv/linux/i386/i686/pthread_cond_timedwait.S: New file.
	* sysdeps/unix/sysv/linux/i386/i686/pthread_cond_signal.S: New file.
	* sysdeps/unix/sysv/linux/i386/i686/pthread_cond_broadcast.S: New file.
	* sysdeps/unix/sysv/linux/i386/lowlevelcond.h: New file.

	* sysdeps/unix/sysv/linux/i386/createthread.c: Define
	PREPARE_CREATE and TLS_VALUE with x86-specific bits.  All the rest
	of the code is moved to ...
	* sysdeps/pthread/createthread.c: ...here.  New file.

2003-01-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S
	(__new_sem_post): Clear %eax before returning.
	Reported by MAEDA Naoaki <maeda.naoaki@jp.fujitsu.com>.

	* Makefile (tests): Add tst-cleanup2.
	* tst-cleanup2.c: New file.

	* sysdeps/pthread/bits/libc-lock.h (__libc_cleanup_region_start):
	Interpret first parameter correctly.

2003-01-17  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (headers): Add bits/semaphore.h.

2003-01-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/tls.h (INIT_SYSINFO): Initialize _head->sysinfo even
	if not SHARED.

2003-01-14  Ulrich Drepper  <drepper@redhat.com>

	* sem_open.c (sem_open): Return SEM_FAILED if existing semaphore
	must be used and mapping failed.
	Reported by Luke Elliott <luke.elliott@activfinancial.com>.

	* Makefile (CFLAGS-pthread_self.os): Define this, not
	CFLAGS-pthread_self.c.

2003-01-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Don't export
	lll_unlock_wake_cb.

	* Makefile (libpthread-routines): Add version.  Add rules to build
	version.os and banner.h.
	* version.c: New file.

2003-01-13  Jakub Jelinek  <jakub@redhat.com>

	* pthread_mutex_lock.c (__pthread_mutex_lock_internal): Make
	the alias unconditional.
	* pthread_mutex_unlock.c  (__pthread_mutex_unlock_internal): Likewise.

2003-01-13  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (CFLAGS-pthread_self.c): New definition.

2003-01-06  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/pthread_sigmask.c (pthread_sigmask): Add
	INTERNAL_SYSCALL_DECL, add err argument to INTERNAL_SYSCALL* macros.
	* sysdeps/unix/sysv/linux/raise.c (raise): Likewise.
	* init.c (__pthread_initialize_minimal_internal): Likewise.

2003-01-07  Jakub Jelinek  <jakub@redhat.com>

	* pthreadP.h (__pthread_cond_timedwait): Add prototype.

	* sysdeps/unix/sysv/linux/i386/dl-sysdep.h
	(RTLD_CORRECT_DYNAMIC_WEAK): Remove.
	(DL_SYSINFO_IMPLEMENTATION): Change into .text section and back.
	* sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
	(RTLD_CORRECT_DYNAMIC_WEAK): Remove.
	(DL_SYSINFO_IMPLEMENTATION): Change into .text section and back.

2003-01-06  Jakub Jelinek  <jakub@redhat.com>

	* pthreadP.h (LIBC_CANCEL_HANDLED): Define.
	* pt-system.c (LIBC_CANCEL_HANDLED): Add.
	* tst-cancel-wrappers.sh: Remove all exceptions.

2003-01-05  Ulrich Drepper  <drepper@redhat.com>

	* tst-cancel-wrappers.sh: Invoke gawk not awk since we use GNU awk
	features.  Reported by Marijn Ros <marijn@mad.scientist.com>.

	* sysdeps/unix/sysv/linux/jmp-unwind.c: Include <pthread-functions.h>.
	Use __libc_pthread_functions array if SHARED.

	* pthreadP.h: Move pthread_cond_2_0_t definition to...
	* sysdeps/unix/sysv/linux/internaltypes.h: ...here.

	* sysdeps/pthread/bits/libc-lock.h (__libc_ptf_call): New #define.
	(__libc_rwlock_rdlock, __libc_rwlock_wrlock, __libc_rwlock_unlock,
	__libc_key_create, __libc_getspecific, __libc_setspecific): Use
	__libc_ptf_call instead of __libc_maybe_call.
	(PTF): New #define.
	(__libc_cleanup_region_start): Wrap function name with PTF call.
	(__libc_cleanup_region_end): Likewise.
	(__libc_cleanup_end): Likewise.

	* pthread_getspecific.c: Add __pthread_getspecific_internal alias.
	* pthread_setspecific.c: Add __pthread_setspecific_internal alias.
	* pthread_key_create.c: Add __pthread_key_create_internal alias.
	* pthreadP.h: Add prototypes.

	* sysdeps/unix/sysv/linux/i386/i486/lowlevelrwlock.S: Add
	__pthread_rwlock_rdlock, __pthread_rwlock_wrlock, and
	__pthread_rwlock_unlock aliases.
	* pthreadP.h: Add prototypes for new aliases.

	* pthreadP.h (struct pthead_functions): Moved to...
	* sysdeps/pthread/pthread-functions.h: ...here.  New file.
	* init.c (pthread_functions): Add initializers for new elements.

	* cleanup_defer.c: Add __pthread_cleanup_push_defer and
	__pthread_cleanup_pop_restore aliases.
	* pthreadP.h: Add prototypes.

	* cleanup.c: Rename _GI_pthread_cleanup_push to __pthread_cleanup_push
	and _GI_pthread_cleanup_pop to __pthread_cleanup_pop.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelcond.S: Adjust caller.
	* sysdeps/unix/sysv/linux/i386/pthread_once.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Likewise.
	* pthreadP.h: Adjust prototypes and callers.

2003-01-04  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-cancel7.
	(tst-cancel7-ARGS): New variable.
	* tst-cancel7.c: New file.

	* old_pthread_cond_broadcast.c: Optimize initialization a bit to work
	around gcc defficiencies.
	* old_pthread_cond_signal.c: Likewise.
	* old_pthread_cond_timedwait.c: Likewise.
	* old_pthread_cond_wait.c: Likewise.

	* pthreadP.h (pthread_cond_2_0_t): Remove unneeded lock element.

2003-01-03  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-cond7.
	* tst-cond7.c: New file.

	* sysdeps/unix/sysv/linux/i386/i486/lowlevelcond.S
	(condvar_cleanup): Get condvar address from the right place.

	* atomic.h: Correct definitions of atomic_full_barrier,
	atomic_read_barrier, atomic_write_barrier.

	* old_pthread_cond_broadcast.c: Make memory allocate and initialization
	race-free.
	* old_pthread_cond_signal.c: Likewise.
	* old_pthread_cond_timedwait.c: Likewise.
	* old_pthread_cond_wait.c: Likewise.

2003-01-03  Jakub Jelinek  <jakub@redhat.com>

	* Makefile ($(objpfx)libpthread.so): Depend on ld.so.

2003-01-03  Ulrich Drepper  <drepper@redhat.com>

	* pthreadP.h (pthread_cond_2_0_t): New type.
	(struct pthread_functions): Use new type for 2.0 condvar callbacks.
	Use new type for the 2.0 condvar function prototypes.
	* forward.c: Use pthread_cond_2_0_t for 2.0 condvar functions.
	* old_pthread_cond_init.c: Use pthread_cond_2_0_t for condvar
	parameter.
	* old_pthread_cond_destroy.c: Likewise.
	* old_pthread_cond_broadcast.c: Likewise.  Lock appropriately.
	* old_pthread_cond_signal.c: Likewise.
	* old_pthread_cond_timedwait.c: Likewise.
	* old_pthread_cond_wait.c: Likewise.

	* sysdeps/unix/sysv/linux/i386/i486/lowlevelcond.S
	(__pthread_cond_wait): Don't save cancellation mode and seq value
	in same location.

	* herrno.c (__h_errno_location): Don't define as weak.

2003-01-02  Jakub Jelinek  <jakub@redhat.com>

	* Versions [libc] (GLIBC_2.3.2): Export pthread_cond_broadcast,
	pthread_cond_destroy, pthread_cond_init, pthread_cond_signal
	and pthread_cond_wait.
	* old_pthread_cond_broadcast.c (__old_pthread_cond_broadcast):
	Renamed to...
	(__pthread_cond_broadcast_2_0): ... this.
	* old_pthread_cond_destroy.c (__old_pthread_cond_destroy):
	Renamed to...
	(__pthread_cond_destroy_2_0): ... this.
	* old_pthread_cond_init.c (__old_pthread_cond_init):
	Renamed to...
	(__pthread_cond_init_2_0): ... this.
	* old_pthread_cond_signal.c (__old_pthread_cond_signal):
	Renamed to...
	(__pthread_cond_signal_2_0): ... this.
	* old_pthread_cond_wait.c (__old_pthread_cond_wait):
	Renamed to...
	(__pthread_cond_wait_2_0): ... this.
	* pthread_cond_destroy.c: Include shlib-compat.h.
	(pthread_cond_destroy): Change strong_alias into versioned_symbol.
	* pthread_cond_init.c: Include shlib-compat.h.
	(pthread_cond_init): Change strong_alias into versioned_symbol.
	* pthreadP.h (struct pthread_functions): Rename ptr_pthread_cond_*
	fields to ptr___pthread_cond_* and add ptr___pthread_cond_*_2_0
	fields.
	(__pthread_cond_broadcast_2_0, __pthread_cond_destroy_2_0,
	__pthread_cond_init_2_0, __pthread_cond_signal_2_0,
	__pthread_cond_wait_2_0): New prototypes.
	(__old_pthread_cond_broadcast, __old_pthread_cond_destroy,
	__old_pthread_cond_init, __old_pthread_cond_signal,
	__old_pthread_cond_wait): Removed.
	* init.c: Include shlib-compat.h.
	(pthread_functions): Guard ptr___pthread_attr_init_2_0
	initialization with SHLIB_COMPAT (GLIBC_2_0, GLIBC_2_1).
	Rename ptr_pthread_cond_* to ptr___pthread_cond_*, initialize
	ptr___pthread_cond_*_2_0 fields.
	* forward.c: Export both pthread_cond_*@@GLIBC_2.3.2 and
	pthread_cond_*@GLIBC_2.0 compatibility symbols.

	* sysdeps/pthread/sigaction.c (SIGCANCEL): Only define if
	LIBC_SIGACTION was not yet defined.
	[!defined LIBC_SIGACTION]: Define LIBC_SIGACTION, #include self.
	[!defined LIBC_SIGACTION] (__sigaction): New function and
	libc_hidden_weak.
	[!defined LIBC_SIGACTION] (sigaction): New weak_alias.
	[defined LIBC_SIGACTION]: #include_next <sigaction.c>.

2003-01-02  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (CFLAGS-pthread_atfork.c): Add -DNOT_IN_libc.

2003-01-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_cond_t):
	New, larger type definition.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelcond.S: New condvar
	implementation.
	* Versions [libpthread]: Add definitions for new pthread_cond_*
	interfaces for version GLIBC_2.3.2.
	* pthread_cond_init.c: Update initialization for new type definition.
	* Makefile (libpthread-routines): Remove pthread_cond_wait,
	pthread_cond_timedwait, pthread_cond_signal, and
	pthread_cond_broadcast.  Add old_pthread_cond_init,
	old_pthread_cond_destroy, old_pthread_cond_wait,
	old_pthread_cond_timedwait, old_pthread_cond_signal, and
	old_pthread_cond_broadcast.
	* old_pthread_cond_broadcast.c: New file.
	* old_pthread_cond_destroy.c: New file.
	* old_pthread_cond_init.c: New file.
	* old_pthread_cond_signal.c: New file.
	* old_pthread_cond_timedwait.c: New file.
	* old_pthread_cond_wait.c: New file.
	* pthreadP.h: Add prototypes for the compatibility interfaces.

	* pthread_cond_destroy.c: Don't include <errno.h>.

2003-01-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/lowlevelrwlock.S: Avoid
	unnecessary zero offset when addressing MUTEX.

2002-12-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/fork.h: Add libc_hidden_proto for
	__register_atfork.
	* sysdeps/unix/sysv/linux/register-atfork.c: Add libc_hidden_def
	for __register_atfork.

2002-12-31  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Use __ASSEMBLER__
	instead of ASSEMBLER test macro.

	* sysdeps/unix/sysv/linux/allocrtsig.c (__libc_current_sigrtmin,
	__libc_current_sigrtmax): Add libc_hidden_def.

	* sysdeps/pthread/list.h: Remove assert.h include.

2002-12-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pt-initfini.c (call_initialize_minimal): Use
	__pthread_initialize_minimal_internal not
	__pthread_initialize_minimal.

2002-12-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pt-initfini.c (call_initialize_minimal): Mark
	__pthread_initialize_minimal as hidden.

	* init.c (__pthread_initialize_minimal_internal): Don't mark as
	constructor.

2002-12-31  Jakub Jelinek  <jakub@redhat.com>

	* Makefile ($(inst_libdir)/libpthread.so): Depend on
	$(common-objpfx)format.lds, include that into the output script.
	Fix comment.
	(extra-B-pthread.so): Change linuxthreads/ into nptl/.

2002-12-28  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/xstatconv.c (xstat_conv): Adjust for
	nsec resolution changes.
	(xstat64_conv): Likewise.
	(xstat32_conv): Likewise.
	* sysdeps/unix/sysv/linux/kernel_stat.h: Add nsec resolution for
	struct kernel_stat.
	* sysdeps/unix/sysv/linux/bits/stat.h: Add nsec resolution for
	structs stat and stat64.
	* time/time.h (__timespec_defined): Define for __USE_MISC.
	* io/sys/stat.h [__USE_MISC]: Define __need_timespec for struct stat.

2002-12-30  Jakub Jelinek  <jakub@redhat.com>

	* forward.c (FORWARD2): Renamed from FORWARD3.  Remove unused export
	argument.
	(pthread_attr_init_2_0, pthread_attr_init_2_1): Use FORWARD macro.
	(pthread_exit): Use strong_alias to avoid warnings.
	* pthreadP.h (struct pthread_functions): Rename ptr_pthread_exit
	and ptr_pthread_attr_init_2_* to ptr___pthread_exit and
	ptr___pthread_attr_init_2_*.
	* init.c (pthread_functions): Adjust.

2002-12-29  Ulrich Drepper  <drepper@redhat.com>

	* forward.c: Make all functions available by default again.  It
	caused too much trouble.

	* pt-siglongjmp.c: Removed.

2002-12-28  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/tls.h: Include tcb-offsets.h in assembler.
	(SYSINFO_OFFSET, MULTIPLE_THREADS_OFFSET): Remove.
	* sysdeps/i386/Makefile: New file.
	* sysdeps/i386/tcb-offsets.sym: New file.
	* sysdeps/pthread/tcb-offsets.h: New file.
	* sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
	Remove MULTIPLE_THREADS_OFFSET and SYSINFO_OFFSET checks.

	* sysdeps/unix/sysv/linux/Versions [libc] (GLIBC_PRIVATE): Move
	__register_atfork...
	(GLIBC_2.3.2): ...here.

2002-12-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h: Mark pthread_attr_getstackaddr and
	pthread_attr_setstackaddr with __attribute_deprecated__.

2002-12-27  Jakub Jelinek  <jakub@redhat.com>

	* pt-system.c (system): Remove cancellation handling.
	* tst-cancel-wrappers.sh: Allow pt-system.o* to not use the
	cancellation routines.

2002-12-28  Ulrich Drepper  <drepper@redhat.com>

	* descr.h: Include <dl-sysdep.h>.
	(struct pthread): Move header.data.list to the back of the struct.
	* sysdeps/i386/tls.h (tcbhead_t): Move list to the back of the struct.
	(MULTIPLE_THREADS_OFFSET): Adjust offset.
	(SYSINFO_OFFSEET): Likewise.

2002-12-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h (USE_DL_SYSINFO):
	Define.
	(DL_SYSINFO_DEFAULT): Cast to uintptr_t to avoid warnings.
	* sysdeps/unix/sysv/linux/i386/dl-sysdep.h (NEED_DL_SYSINFO,
	DL_SYSINFO_DEFAULT, DL_SYSINFO_IMPLEMENTATION): Define.
	(USE_DL_SYSINFO): Undef.

2002-12-22  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (tests-reverse): Use $(objpfx)../libc.so instead of
	$(common-objpfx)libc.so.
	* tst-cancel4.c (tf_write, tf_writev): Increase buf sizes so that
	it is bigger than pipe buffer size even on arches with bigger
	page size.
	(tf_usleep): Cast usleep argument to useconds_t to avoid warnings.

2002-12-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S: Implement
	correct errno access for case that USE___THREAD is not defined.

2002-12-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Add missing #endif.
	Patch by Marijn Ros <marijn@mad.scientist.com>.

2002-12-22  Roland McGrath  <roland@redhat.com>

	* Makefile (omit-deps): Add $(unix-syscalls:%=ptw-%).

2002-12-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/bits/stdio-lock.h (_IO_lock_inexpensive): Define.

2002-12-19  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Don't define
	NEED_DL_SYSINFO since no processor < i686 had the sysenter opcode.
	* sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h: New file.

	* sysdeps/unix/sysv/linux/i386/pthread_once.S: Use ENTER_KERNEL instead
	of int $0x80.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelcond.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelrwlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Likewise.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Add support for using
	sysenter.
	* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Likewise.

	* sysdeps/i386/tls.h: Unconditionally include <dl-sysdep.h>.

	* allocatestack.c (allocate_stack) [NEED_DL_SYSINFO]: Set sysinfo
	in new TCB.
	* sysdeps/unix/sysv/linux/i386/createthread.c (create_thread): Check
	that sysinfo is properly initialized.
	* sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Define RTLD_PRIVATE_ERRNO
	to 1 only for ld.so.

	* sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Define
	RTLD_CORRECT_DYNAMIC_WEAK.

2002-12-19  Jakub Jelinek  <jakub@redhat.com>

	* forward.c (pthread_attr_init_2_0, pthread_attr_init_2_1):
	Use return 0 as 6th argument to FORWARD4.
	* pthread_equal.c: Include pthreadP.h instead of pthread.h.

2002-12-18  Ulrich Drepper  <drepper@redhat.com>

	* descr.h (struct pthread) [NEED_DL_SYSINFO]: Add sysinfo member.
	* sysdeps/i386/tls.h (tcbhead_t): Add sysinfo member.
	Define SYSINFO_OFFSEET if NEED_DL_SYSINFO is defined.
	(INIT_SYSINFO): New #define.
	(TLS_TP_INIT): Use INIT_SYSINFO.
	* sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
	At test to make sure SYSINFO_OFFSET value is correct.
	* sysdeps/unix/sysv/linux/i386/dl-sysdep.h: New file.

2002-12-18  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/flockfile.c (flockfile): Change into weak alias.
	* sysdeps/unix/sysv/linux/raise.c (gsignal): Add weak alias to raise.
	* Versions [libc: GLIBC_2.0]: Add pthread_attr_init.
	[libpthread: GLIBC_2.1]: Remove __pthread_rwlock_init,
	__pthread_rwlock_destroy, __pthread_rwlock_rdlock,
	__pthread_rwlock_wrlock, __pthread_rwlock_unlock,
	__pthread_rwlock_tryrdlock and __pthread_rwlock_trywrlock.

2002-12-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Use ENTER_KERNEL
	macro instead of using int $0x80 directly.

	* sysdeps/pthread/bits/stdio-lock.h: New file.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: New file.
	* sysdeps/unix/sysv/linux/i386/i586/libc-lowlevelmutex.S: New file.
	* sysdeps/unix/sysv/linux/i386/i686/libc-lowlevelmutex.S: New file.
	* Makefile (routines): Add libc-lowlevelmutex.

	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Remove
	__i686.get_pc_thunk.dx.

2002-12-17  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (libpthread-shared-only-routines): Add pt-allocrtsig.
	(tests): Depend on $(objpfx)tst-cancel-wrappers.out.
	($(objpfx)tst-cancel-wrappers.out): New rule.
	* tst-cancel-wrappers.sh: New test.
	* tst-locale1.c: Include signal.h.
	(uselocale): Test static linking of __libc_current_sigrt*.

2002-12-17  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-cancel6.
	* tst-cancel6.c: New file

2002-12-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (SINGLE_THREAD_P):
	Define meaningfully for assembler as well.
	* pthreadP.h (struct pthread_functions): Remove
	ptr_pthread_attr_init field.  Add ptr_pthread_attr_init_2_0
	and ptr_pthread_attr_init_2_1 fields.
	* init.c (pthread_functions): Initialize ptr_pthread_attr_init_2_0
	and ptr_pthread_attr_init_2_1 instead of ptr_pthread_attr_init.
	* forward.c (FORWARD4): Renamed from FORWARD3. Add export argument.
	(FORWARD3): Define using FORWARD4.
	(pthread_attr_init): Provide both @GLIBC_2.0 and @@GLIBC_2.1
	versions.
	* pt-system.c: Remove duplicate stdlib.h include.

2002-12-16  Ulrich Drepper  <drepper@redhat.com>

	* sem_init.c: Define sem_init@GLIBC_2.0.
	* sem_destroy.c: Define sem_destroy@GLIBC_2.0.
	* sem_getvalue.c: Define sem_getvalue@GLIBC_2.0.

	* flockfile.c: Moved to...
	* sysdeps/pthread/flockfile.c: ...here.  New file.
	* funlockfile.c: Moved to...
	* sysdeps/pthread/funlockfile.c: ...here.  New file.
	* ftrylockfile.c: Moved to...
	* sysdeps/pthread/ftrylockfile.c: ...here.  New file.

2002-12-16  Jakub Jelinek  <jakub@redhat.com>

	* libc-cancellation.c: Guard both function with
	#if !defined NOT_IN_libc.
	* Makefile (libpthread-routines): Use ptw-, not pt- prefix for the
	automatically provided pthread wrappers.
	* pthreadP.h (LIBC_CANCEL_ASYNC, LIBC_CANCEL_RESET): Define to
	CANCEL_* if IS_IN_libpthread and to dummy versions if not in libc
	nor in libpthread.
	* pt-open.c: Removed.
	* pt-fcntl.c: Removed.
	* pt-fsync.c: Removed.
	* pt-lseek.c: Removed.
	* pt-msgrcv.c: Removed.
	* pt-msgsnd.c: Removed.
	* pt-msync.c: Removed.
	* pt-nanosleep.c: Removed.
	* pt-open64.c: Removed.
	* pt-pause.c: Removed.
	* pt-pread.c: Removed.
	* pt-pread64.c: Removed.
	* pt-pwrite.c: Removed.
	* pt-pwrite64.c: Removed.
	* pt-read.c: Removed.
	* pt-recv.c: Removed.
	* pt-recvfrom.c: Removed.
	* pt-recvmsg.c: Removed.
	* pt-send.c: Removed.
	* pt-sendto.c: Removed.
	* pt-sigtimedwait.c: Removed.
	* pt-sigwait.c: Removed.
	* pt-wait.c: Removed.
	* pt-waitpid.c: Removed.
	* pt-write.c: Removed.
	* pt-accept.c: Removed.
	* pt-close.c: Removed.
	* pt-connect.c: Removed.
	* pt-lseek64.c: Removed.
	* pt-sendmsg.c: Removed.
	* pt-tcdrain.c: Removed.

2002-12-15  Ulrich Drepper  <drepper@redhat.com>

	* init.c (__pthread_initialize_minimal_internal): Renamed from
	__pthread_initialize_minimal.  Make old name an alias.  This
	converts a normal relocation into a relative relocation.

	* pt-fcntl.c (__fcntl): Use fcntl64 syscall, not fcntl.

	* Versions [libpthread: GLIBC_2.3.2]: Remove creat, poll, pselect,
	readv, select, sigpause, sigsuspend, sigwaitinfo, waitid, writev.
	* Makefile (libpthread-routines): Remove pt-creat, pt-poll,
	pt-pselect, pt-readv, pt-select, pt-sigpause, pt-sigsuspend,
	pt-sigwaitinfo, pt-waitid, and pt-writev.
	* pt-creat.c: Removed.
	* pt-poll.c: Removed.
	* pt-pselect.c: Removed.
	* pt-readv.c: Removed.
	* pt-select.c: Removed.
	* pt-sigpause.c: Removed.
	* pt-sigsuspend.c: Removed.
	* pt-sigwaitinfo.c: Removed.
	* pt-waitid.c: Removed.
	* pt-writev.c: Removed.

	* init.c (pthread_functions): New variable.
	(__pthread_initialize_minimal): Pass pointer to pthread_functions
	(or NULL) to __libc_pthread_init.
	* forward.c: Rewrite to use __libc:pthread_functions array to get
	function addresses.
	* sysdeps/unix/sysv/linux/fork.h: Remove __libc_pthread_init
	prototype.
	* sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
	Take new parameter.  Copy content of variable pointed to by it
	to __libc_pthread_init.

	* pthreadP.h (struct pthread_functions): New type.
	(__libc_pthread_init): Declare.

	* pthread_attr_destroy.c: Add namespace protected alias.
	* pthread_attr_getdetachstate.c: Likewise.
	* pthread_attr_getinheritsched.c: Likewise.
	* pthread_attr_getschedparam.c: Likewise.
	* pthread_attr_getschedpolicy.c: Likewise.
	* pthread_attr_getscope.c: Likewise.
	* pthread_attr_setdetachstate.c: Likewise.
	* pthread_attr_setinheritsched.c: Likewise.
	* pthread_attr_setschedparam.c: Likewise.
	* pthread_attr_setschedpolicy.c: Likewise.
	* pthread_attr_setscope.c: Likewise.
	* pthread_cond_broadcast.c: Likewise.
	* pthread_cond_destroy.c: Likewise.
	* pthread_cond_init.c: Likewise.
	* pthread_cond_signal.c: Likewise.
	* pthread_cond_wait.c: Likewise.
	* pthread_condattr_destroy.c: Likewise.
	* pthread_condattr_init.c: Likewise.
	* pthread_equal.c: Likewise.
	* pthread_exit.c: Likewise.
	* pthread_getschedparam.c: Likewise.
	* pthread_self.c: Likewise.
	* pthread_setcancelstate.c: Likewise.
	* pthread_setschedparam.c: Likewise.
	* pthread_mutex_destroy.c: Likewise.
	* pthread_mutex_init.c: Likewise.
	* pthreadP.h: Add prototypes for the aliases.

	* sysdeps/unix/sysv/linux/i386/createthread.c (create_thread): Set
	multiple_threads member in correct TCB to 1.

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Define
	SINGLE_THREAD_P.  If in libc or libpthread examine multiple_thread
	member of thread decriptor, otherwise return unconditionally 1.

2002-12-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/pt-socket.S: Changes folded into the
	regular Linux version.  Remove file.
	* sysdeps/unix/sysv/linux/connect.S: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/llseek.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/msgsnd.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/open64.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/poll.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/pread.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/pread64.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/pselect.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/pwrite.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/pwrite64.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/readv.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/recv.S: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/recvfrom.S: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/recvmsg.S: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/send.S: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/sendmsg.S: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/sendto.S: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/sigpause.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/sigwait.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/system.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/tcdrain.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/wait.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/waitid.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/waitpid.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/writev.c: Likewise.  Remove file.
	* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.  Remove file.

2002-12-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: New file.
	* sysdeps/unix/sysv/linux/open.c: Removed.
	* sysdeps/unix/sysv/linux/fsync.c: Removed.
	* sysdeps/unix/sysv/linux/lseek.c: Removed.
	* sysdeps/unix/sysv/linux/msync.c: Removed.
	* sysdeps/unix/sysv/linux/read.c: Removed.
	* sysdeps/unix/sysv/linux/close.c: Removed.
	* sysdeps/unix/sysv/linux/creat.c: Removed.
	* sysdeps/unix/sysv/linux/nanosleep.c: Removed.
	* sysdeps/unix/sysv/linux/pause.c: Removed.
	* sysdeps/unix/sysv/linux/select.c: Removed.
	* sysdeps/unix/sysv/linux/write.c: Removed.

2002-12-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/pt-socket.S: Check multiple_threads
	element in TCB to see whether locking is needed.

	* sysdeps/unix/sysv/linux/libc_pthread_init.c: Check that
	MULTIPLE_THREADS_OFFSET value is correct.

	* sysdeps/unix/sysv/linux/close.c: New file.
	* sysdeps/unix/sysv/linux/connect.S: New file.
	* sysdeps/unix/sysv/linux/creat.c: New file.
	* sysdeps/unix/sysv/linux/fsync.c: New file.
	* sysdeps/unix/sysv/linux/llseek.c: New file.
	* sysdeps/unix/sysv/linux/lseek.c: New file.
	* sysdeps/unix/sysv/linux/msgrcv.c: New file.
	* sysdeps/unix/sysv/linux/msgsnd.c: New file.
	* sysdeps/unix/sysv/linux/msync.c: New file.
	* sysdeps/unix/sysv/linux/nanosleep.c: New file.
	* sysdeps/unix/sysv/linux/open.c: New file.
	* sysdeps/unix/sysv/linux/open64.c: New file.
	* sysdeps/unix/sysv/linux/pause.c: New file.
	* sysdeps/unix/sysv/linux/poll.c: New file.
	* sysdeps/unix/sysv/linux/pread.c: New file.
	* sysdeps/unix/sysv/linux/pread64.c: New file.
	* sysdeps/unix/sysv/linux/pselect.c: New file.
	* sysdeps/unix/sysv/linux/pwrite.c: New file.
	* sysdeps/unix/sysv/linux/pwrite64.c: New file.
	* sysdeps/unix/sysv/linux/readv.c: New file.
	* sysdeps/unix/sysv/linux/recv.S: New file.
	* sysdeps/unix/sysv/linux/recvfrom.S: New file.
	* sysdeps/unix/sysv/linux/recvmsg.S: New file.
	* sysdeps/unix/sysv/linux/select.c: New file.
	* sysdeps/unix/sysv/linux/send.S: New file.
	* sysdeps/unix/sysv/linux/sendmsg.S: New file.
	* sysdeps/unix/sysv/linux/sendto.S: New file.
	* sysdeps/unix/sysv/linux/sigpause.c: New file.
	* sysdeps/unix/sysv/linux/sigsuspend.c: New file.
	* sysdeps/unix/sysv/linux/sigtimedwait.c: New file.
	* sysdeps/unix/sysv/linux/sigwait.c: New file.
	* sysdeps/unix/sysv/linux/sigwaitinfo.c: New file.
	* sysdeps/unix/sysv/linux/system.c: New file.
	* sysdeps/unix/sysv/linux/tcdrain.c: New file.
	* sysdeps/unix/sysv/linux/wait.c: New file.
	* sysdeps/unix/sysv/linux/waitid.c: New file.
	* sysdeps/unix/sysv/linux/waitpid.c: New file.
	* sysdeps/unix/sysv/linux/writev.c: New file.
	* sysdeps/unix/sysv/linux/i386/fcntl.c: New file.

	* pt-readv.c: Fix comment.

2002-12-14  Jakub Jelinek  <jakub@redhat.com>

	* tst-cleanup1.c: Include stdlib.h.

	* tst-cancel5.c: New test.
	* Makefile (tests): Add tst-cancel5.
	(tst-cancel5): Link against libc.so libpthread.so in that order.

2002-12-13  Ulrich Drepper  <drepper@redhat.com>

	* forward.c (test_loaded): Prevent recursive calls.

	* Makefile (routines): Add libc-cancellation.
	* libc-cancellation.c: New file.
	* descr.h (struct pthread): Add multiple_threads field.
	* allocatestack.c (allocate_stack): Initialize multiple_header field of
	new thread descriptor to 1.
	* sysdeps/unix/sysv/linux/i386/createthread.c (create_thread):
	Initialize multiple_thread field after successful thread creation.
	* cancellation.c (__do_cancel): Move to pthreadP.h.
	(__pthread_enable_asynccancel): Remove parameter from __do_cancel call.
	(__pthread_disable_asynccancel): Add internal_function attribute.
	* init.c (sigcancel_handler): Remove parameter from __do_cancel call.
	* pthread_setcancelstate.c: Likewise.
	* pthread_setcanceltype.c: Likewise.
	* pthread_exit.c: Likewise.
	* pthreadP.h (CANCELLATION_P): Likewise.
	(__do_cancel): Define as static inline.
	(LIBC_CANCEL_ASYNC, LIBC_CANCEL_RESET): New #defines.
	(__libc_enable_asynccancel, __libc_disable_asynccancel): New
	declarations.
	* sysdeps/i386/tls.h (tcbhead_t): Add list and multiple_threads
	fields.  Define MULTIPLE_THREADS_OFFSET.
	* sysdeps/pthread/bits/libc-lock.h: Remove __libc_locking_needed
	declaration.
	* sysdeps/unix/sysv/linux/accept.S: New file.
	* sysdeps/unix/sysv/linux/read.c: New file.
	* sysdeps/unix/sysv/linux/write.c: New file.
	* sysdeps/unix/sysv/linux/i386/pt-socket.S: New file.
	* sysdeps/unix/sysv/linux/libc_pthread_init.c: Remove definition and
	initialization of __libc_locking_needed.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Don't use
	__libc_locking_needed, use multiple_threads field in TCB.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Likewise.

2002-12-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i686/libc-lowlevellock.S: Use i486
	version.
	* sysdeps/unix/sysv/linux/i386/i586/libc-lowlevellock.S: Likewise.

	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Correct
	access to __libc_locking_needed for PIC.

2002-12-12  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/bits/libc-lock.h (__libc_locking_needed): Only
	declare for libc.so.
	(__libc_lock_init, __libc_lock_init_recursive): Change into comma
	expression.
	(__libc_lock_lock): Put into statement expression.
	(__libc_lock_unlock): Remove trailing semicolon.
	* sysdeps/unix/sysv/linux/fork.h (__libc_pthread_init): Fix typo.

2002-12-12  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Use asm operand with
	"m" constraint to refer to __libc_locking_needed.  Declare it here.

2002-12-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/fork-gen.c: Renamed to...
	* sysdeps/unix/sysv/linux/libc_pthread_init.c: ...this.
	Initialize __libc_locking_needed.
	* init.c (__pthread_initialize_minimal): Call __libc_pthread_init
	instead of __register_pthread_fork_handler.
	* sysdeps/pthread/bits/libc-lock.h: Declare __libc_locking_needed.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_routimes): Replace
	fork-gen with libc_pthread_init.
	* sysdeps/unix/sysv/linux/Versions: Use __libc_pthread_init instead
	of __register_pthread_fork_handler.
	* sysdeps/unix/sysv/linux/fork.h: Declare __libc_pthread_init instead
	of __register_pthread_fork_handler.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Use
	__libc_locking_needed to determine whether lock prefix can be avoided.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Likewise.

2002-12-11  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-cleanup1.
	* tst-cleanup1.c: New file.
	* cancellation.c (__cleanup_thread): Removed.
	(__do_cancel): Remove call to __cleanup_thread.
	* pthreadP.h: Remove __cleanup_thread prorotype.

	* sysdeps/pthread/bits/libc-lock.h (__libc_cleanup_region_start):
	Remember function and argument even if cancellation handler
	function is not available.
	(__libc_cleanup_region_end): Execute registered function directly if
	pthread functions are not available.
	(__libc_cleanup_end): Likewise.

	* init.c (__pthread_initialize_minimal): Fix initialization in
	static lib by preventing gcc from being too clever.

2002-12-10  Ulrich Drepper  <drepper@redhat.com>

	* init.c (__pthread_initialize_minimal): Remove unneccesary
	sigaddset call.

	* Makefile (tests): We can run tst-locale2 now.

2002-12-09  Ulrich Drepper  <drepper@redhat.com>

	* Versions: Remove duplicated sigwait entry.

2002-12-08  Ulrich Drepper  <drepper@redhat.com>

	* pthreadP.h: Enable pthread_cleanup_{push,pop} optimizations only
	inside libpthread.

	* pt-fcntl.c (__fcntl): Initialize oldtype to avoid warning.

	* pthreadP.h: Declare __pthread_enable_asynccancel and
	__pthread_disable_asynccancel.
	(CANCEL_ASYNC): Use __pthread_enable_asynccancel.
	(CANCEL_RESET): Use __pthread_disable_asynccancel.
	* cancellation.c (__pthread_enable_asynccancel): New function.
	(__pthread_disable_asynccancel): New function.
	* pt-accept.c: Adjust for CANCEL_ASYNC and CANCEL_RESET change.
	* pt-close.c: Likewise.
	* pt-connect.c: Likewise.
	* pt-creat.c: Likewise.
	* pt-fcntl.c: Likewise.
	* pt-fsync.c: Likewise.
	* pt-lseek.c: Likewise.
	* pt-lseek64.c: Likewise.
	* pt-msgrcv.c: Likewise.
	* pt-msgsnd.c: Likewise.
	* pt-msync.c: Likewise.
	* pt-nanosleep.c: Likewise.
	* pt-open.c: Likewise.
	* pt-open64.c: Likewise.
	* pt-pause.c: Likewise.
	* pt-poll.c: Likewise.
	* pt-pread.c: Likewise.
	* pt-pread64.c: Likewise.
	* pt-pselect.c: Likewise.
	* pt-pwrite.c: Likewise.
	* pt-pwrite64.c: Likewise.
	* pt-read.c: Likewise.
	* pt-readv.c: Likewise.
	* pt-recv.c: Likewise.
	* pt-recvfrom.c: Likewise.
	* pt-recvmsg.c: Likewise.
	* pt-select.c: Likewise.
	* pt-send.c: Likewise.
	* pt-sendmsg.c: Likewise.
	* pt-sendto.c: Likewise.
	* pt-sigpause.c: Likewise.
	* pt-sigsuspend.c: Likewise.
	* pt-sigtimedwait.c: Likewise.
	* pt-sigwait.c: Likewise.
	* pt-sigwaitinfo.c: Likewise.
	* pt-system.c: Likewise.
	* pt-tcdrain.c: Likewise.
	* pt-wait.c: Likewise.
	* pt-waitid.c: Likewise.
	* pt-waitpid.c: Likewise.
	* pt-write.c: Likewise.
	* pt-writev.c: Likewise.
	* pthread_join.c: Likewise.
	* pthread_timedjoin.c: Likewise.

	* pt-sigpause.c (sigsuspend): Call __sigsuspend.
	(__xpg_sigpause): New function.
	* Versions (libpthread:GLIBC_2.3.2): Add __xpg_sigpause.

2002-12-07  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (CFLAGS-ftrylockfile.c): Add -D_IO_MTSAFE_IO.

	* cleanup.c: Move declarations of _GI_pthread_cleanup_push and
	_GI_pthread_cleanup_pop to pthreadP.h.

	* ftrylockfile.c: Use _IO_lock_trylock instead of
	pthread_mutex_trylock.

	* pthreadP.h (CANCEL_ASYNC): Use __pthread_setcanceltype.
	(CANCEL_RESET): Likewise.
	(__pthread_setcanceltype_): Declare.
	(__pthread_mutex_lock_internal): Declare.
	(__pthread_mutex_unlock_internal): Declare.
	(__pthread_once_internal): Declare.
	(pthread_cleanup_push): Redefine using _GI_pthread_cleanup_push.
	(pthread_cleanup_pop): Redefine using _GI_pthread_cleanup_pop.

	* pthread_cond_timedwait.c: Use INTUSE is calls to pthread_mutex_lock
	and pthread_mutex_unlock.
	* pthread_cond_wait.c: Likewise.
	* pthread_mutex_lock.c: Use INTDEF to define alias if needed.
	* pthread_mutex_unlock.c: Likewise.

	* pthread_setcanceltype.c: Add additional alias
	__pthread_setcanceltype.

	* sem_unlink.c (sem_unlink): Use __pthread_once with INTDEF.
	* sem_open.c (sem_open): Likewise.
	Use __libc_open, __libc_write, and __libc_close instead of
	open, write, and close respectively.

	* sysdeps/pthread/bits/libc-lock.h (__libc_lock_trylock_internal):
	Rewrite as statement expression since it must return a value.

	* pthread_cancel.c: Use __pthread_kill instead of pthread_kill.
	* sysdeps/unix/sysv/linux/pthread_kill.c: Define additional alias
	__pthread_kill.

	* sysdeps/unix/sysv/linux/i386/pthread_once.S: Define additional
	alias __pthread_once_internal.

	* sysdeps/unix/sysv/linux/raise.c: Use libc_hidden_def for raise.

2002-12-06  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-stdio1 and tst-stdio2.
	* tst-stdio1.c: New file.
	* tst-stdio2.c: New file.

	* init.c (__pthread_initialize_minimal): Correct INIT_LIST_HEAD use.

	* Makefile (tests): Comment out tst-locale2 for now.
	(CFLAGS-flockfile.c, CFLAGS-funlockfile.c): Define to -D_IO_MTSAFE_IO.

	* sysdeps/unix/sysv/linux/Makefile: Define CFLAGS-fork.c to
	-D_IO_MTSAFE_IO.
	* sysdeps/unix/sysv/linux/fork.c: Include <bits/stdio-lock.h>.
	Use _IO_lock_init instead of explicit assignment.

	* sysdeps/pthread/bits/libc-lock.h: Define __rtld_lock_* macros.
	Define __libc_lock_* and __libc_lock_recursive macros with
	lowlevellock macros, not pthread mutexes.

	* flockfile.c: Include <bits/stdio-lock.h>.  Use _IO_lock_lock instead
	of pthread_mutex_lock.
	* funlockfile.c: Include <bits/stdio-lock.h>.  Use _IO_lock_unlock
	instead of pthread_mutex_unlock.

2002-12-06  Roland McGrath  <roland@redhat.com>

	* allocatestack.c (__stack_user): Use uninitialized defn.
	* init.c (__pthread_initialize_minimal): Initialize it here.

2002-12-05  Roland McGrath  <roland@redhat.com>

	* sysdeps/i386/tls.h (TLS_INIT_TP): Make it return zero or an error
	string.
	* sysdeps/x86_64/tls.h (TLS_INIT_TP): Likewise.

	* sysdeps/unix/sysv/linux/i386/createthread.c (create_thread): Add
	missing & here too.

2002-12-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Remove
	lowlevellock.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: New file.
	* sysdeps/unix/sysv/linux/i386/i586/libc-lowlevellock.S: New file.
	* sysdeps/unix/sysv/linux/i386/i686/libc-lowlevellock.S: New file.
	* sysdeps/pthread/bits/libc-lock.h: Use lowlevellock implementation
	for __libc_lock_* macros.
	* Makefile (routines): Add libc-lowlevellock.

2002-10-09  Roland McGrath  <roland@redhat.com>

	* sysdeps/pthread/bits/libc-lock.h (__libc_maybe_call): New macro.
	Under [__PIC__], call the function via the pointer fetched for
	comparison rather than a call by name that uses the PLT.
	(__libc_lock_init, __libc_rwlock_init, __libc_lock_fini)
	(__libc_rwlock_fini, __libc_lock_lock, __libc_rwlock_rdlock)
	(__libc_rwlock_wrlock, __libc_lock_trylock, __libc_rwlock_tryrdlock)
	(__libc_rwlock_trywrlock, __libc_lock_unlock, __libc_rwlock_unlock)
	(__libc_key_create, __libc_getspecific, __libc_setspecific): Use it.

2002-12-04  Roland McGrath  <roland@redhat.com>

	* forward.c (pthread_self): Use FORWARD3 macro to correct return type.

	* sysdeps/i386/td_ta_map_lwp2thr.c: Moved from ../nptl_db.
	* sysdeps/generic/td_ta_map_lwp2thr.c: New file.

	* pthread_create.c (start_thread): Add missing & on __nptl_last_event.

2002-12-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Make pthread_t
	a completely opaque, non-integer type.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.

2002-12-05  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/tls.h: Include stdlib.h.
	* sysdeps/x86_64/tls.h: Likewise.

2002-12-04  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-locale2.
	(tests-static): Likewise.
	* tst-locale2.c: New file.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Mark asms as
	volatile and add memory clobbers to lock operations.

2002-12-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/i686/bits/atomic.h: Use i486 version.
	* sysdeps/i386/i486/bits/atomic.h: New file.
	* sysdeps/i386/i586/bits/atomic.h: New file.
	* sysdeps/i386/i686/pthread_spin_trylock.S: Define HAVE_CMOV and
	include i486 version.
	* sysdeps/i386/i486/pthread_spin_trylock.S: New file.
	* sysdeps/i386/i586/pthread_spin_trylock.S: New file.
	Patch by Marijn Ros <marijn@mad.scientist.com>.

	* allocatestack.c (get_cached_stack): Don't crash if we first
	found a stack with a larger size then needed.
	Reported by Hui Huang <hui.huang@sun.com>.

	* Makefile (tests): Add tst-sysconf.
	* tst-sysconf.c: New file.

	* sysdeps/unix/sysv/linux/bits/local_lim.h: Undefine
	PTHREAD_THREADS_MAX.

2002-12-02  Roland McGrath  <roland@redhat.com>

	* pthreadP.h (__stack_user, __nptl_create_event, __nptl_death_event):
	Declare using hidden_proto instead of attribute_hidden, so there are
	non-.hidden static symbols for gdb to find.
	(__pthread_keys): Likewise.
	* events.c (__nptl_create_event, __nptl_death_event): Add hidden_def.
	* allocatestack.c (__stack_user): Likewise.
	* pthread_create.c (__pthread_keys): Likewise.
	(__nptl_threads_events, __nptl_last_event): Make these static instead
	of hidden.
	* pthread_key_create.c (__pthread_pthread_keys_max,
	__pthread_pthread_key_2ndlevel_size): Renamed from __linuxthreads_*.

2002-12-02  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-locale1.  If buid-static is yes link
	statically.
	* tst-locale1.c: New file.

	* pthread_cond_timedwait.c: Include <stdlib.h>.

	* Makefile (tests): Add tst-fork2 and tst-fork3.
	* tst-fork2.c: New file.
	* tst-fork3.c: New file.

2002-11-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: New file.

	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define macros which
	require it to 200112L.

	* sysdeps/unix/sysv/linux/i386/i486/lowlevelrwlock.S: Use cmov
	instruction only if HAVE_CMOV is defined.
	* sysdeps/unix/sysv/linux/i386/i686/lowlevelrwlock.S: Define HAVE_CMOV.

	* sysdeps/unix/sysv/linux/x86_64/bits/semaphore.h: New file.

	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: New file.

	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: New file.

	* sysdeps/unix/sysv/linux/x86_64/pt-vfork.S: New file.

2002-11-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/bits/atomic.h: New file.

	* sysdeps/i386/i686/bits/atomic.h: Fix asm syntax for 8- and
	16-bit operations.

	* sysdeps/unix/sysv/linux/raise.c (raise): Use INTERNAL_SYSCALL if
	possible since gettid cannot fail.

	* sysdeps/x86_64/pthreaddef.h: New file.

	* sysdeps/i386/pthreaddef.h (gettid): Removed.

	* sysdeps/x86_64/pthread_spin_init.c: New file.
	* sysdeps/x86_64/pthread_spin_lock.c: New file.
	* sysdeps/x86_64/pthread_spin_trylock.c: New file.
	* sysdeps/x86_64/pthread_spin_unlock.c: New file.

	* sysdeps/i386/i686/pthread_spin_trylock.S (pthread_spin_trylock):
	Add missing lock prefix.  Minute optimization.

	* tst-spin2.c (main): Also check successful trylock call.

	* sysdeps/pthread/pthread_sigmask.c (pthread_sigmask): Use correct
	syscall.  Fix typo in case INTERNAL_SYSCALL is not used.

	* sysdeps/i386/pthread_spin_destroy.c: Moved to...
	* sysdeps/pthread/pthread_spin_destroy.c: ...here.  New file.

	* sysdeps/i386/pthread_sigmask.c: Removed.  Use the generic code.
	* sysdeps/pthread/pthread_sigmask.c (pthread_sigmask): Return correct
	value in case of an error.  Add support for INTERNAL_SYSCALL.

	* sysdeps/i386/pthread_sigmask.c (pthread_sigmask): Return correct
	value in case of an error.

	* sysdeps/x86_64/tls.h: New file.

2002-11-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/tls.h (THREAD_GETMEM_NC): Change interface.  It now
	takes the array member name and the index as parameters.
	(THREAD_SETMEM_NC): Likewise.
	* pthread_getspecific.c: Use new THREAD_GETMEM_NC interface.
	* pthread_setspecific.c: Use new THREAD_GETMEM_NC and THREAD_SETMEM_NC
	interfaces.

	* sysdeps/i386/tls.h (THREAD_SETMEM): Use size of member element
	to decide which code to use.
	(THREAD_SETMEM_NC): Likewise.

	* allocatestack.c (queue_stack): Don't remove stack from list here.
	Do it in the caller.  Correct condition to prematurely terminate
	loop to free stacks.
	(__deallocate_stack): Remove stack from list here.

2002-11-26  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-stack1.
	* tst-stack1.c: New file.

	* allocatestack.c (allocate_stack): Initialize the TCB on a user
	provided stack.

	* pthread_attr_getstack.c: Return bottom of the thread area.

2002-11-25  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (libpthread-routines): Add pt-allocrtsig and
	pthread_kill_other_threads.
	* pt-allocrtsig.c: New file.
	* pthread_kill_other_threads.c: New file.
	* sysdeps/unix/sysv/linux/allocrtsig.c: Add additional aliases for
	all three functions.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Remove
	allocrtsig.
	* sysdeps/unix/sysv/linux/Versions (libc:GLIBC_PRIVATE): Export
	__libc_current_sigrtmin_private, __libc_current_sigrtmax_private,
	and __libc_allocate_rtsig_private.
	* Versions (libpthread): Export pthread_kill_other_threads_np,
	__libc_current_sigrtmin, and __libc_current_sigrtmax.

2002-11-24  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (allocate_stack): stackaddr in attribute points to
	the end of the stack.  Adjust computations.
	When mprotect call fails dequeue stack and free it.
	* pthread_attr_setstack.c: Store top of the stack in stackaddr
	attribute.
	* pthread_getattr_np.c: Likewise.

	* descr.h (IS_DETACHED): Add some more parenthesis to prevent
	surprises.

2002-11-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h (pthread_self): __THROW must come before
	attribute definitions.  Patch by Luca Barbieri <ldb@ldb.ods.org>.

2002-11-22  Ulrich Drepper  <drepper@redhat.com>

	* pthread_getspecific.c: Optimize access to first 2nd-level array.
	* pthread_setspecific.c: Likewise.

2002-11-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/createthread.c: Remove CLONE_ flags
	definitions.  Get them from the official place.
	* sysdeps/unix/sysv/linux/i386/fork.c: Likewise.

	* sysdeps/unix/sysv/linux/i386/createthread.c: Update CLONE_* flags.
	Use new CLONE_ flags in clone() calls.

	* sysdeps/unix/sysv/linux/fork.c: Use ARCH_FORK to actually fork.
	* sysdeps/unix/sysv/linux/i386/fork.c: New file.

	* Versions: Add pthread_* functions for libc.
	* forward.c: New file.

	* sysdeps/pthread/Makefile (libpthread-sysdeps_routines): Add
	errno-loc.
	* herrno.c: New file.
	* res.c: New file.

	* Makefile (libpthread-routines): Remove sem_post, sem_wait,
	sem_trywait, and sem_timedwait.  Add herrno and res.
	* sem_init.c: Don't initialize lock and waiters members.
	* sem_open.c: Likewise.
	* sem_post.c: Removed.
	* sem_wait.c: Removed.
	* sem_trywait.c: Removed.
	* sem_timedwait.c: Removed.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S: Complete rewrite.
	Includes full implementations of sem_post, sem_wait, sem_trywait,
	and sem_timedwait.
	* sysdeps/unix/sysv/linux/i386/lowlevelsem.h (lll_sem_post): Adjust
	for new implementation.
	* sysdeps/unix/sysv/linux/internaltypes.h (struct sem): Remove lock
	and waiters fields.

	* tst-sem3.c: Improve error message.
	* tst-signal3.c: Likewise.

	* init.c (__pthread_initialize_minimal): Use set_tid_address syscall
	to tell the kernel about the termination futex and to initialize tid
	member.  Don't initialize main_thread.
	* descr.h (struct pthread): Remove main_thread member.
	* cancelllation.c (__do_cancel): Remove code handling main thread.
	The main thread is not special anymore.

	* allocatestack.c (__reclaim_stacks): Mark stacks as unused.  Add
	size of the stacks to stack_cache_actsize.

	* pt-readv.c: Add missing "defined".
	* pt-sigwait.c: Likewise.
	* pt-writev.c: Likewise.

2002-11-09  Ulrich Drepper  <drepper@redhat.com>

	* Versions: Export __connect from libpthread.
	Patch by Luca Barbieri <ldb@ldb.ods.org>.

	* Makefile (libpthread-routines): Add pt-raise.
	* sysdeps/unix/sysv/linux/raise.c: New file.
	* sysdeps/unix/sysv/linux/pt-raise.c: New file.
	* sysdeps/generic/pt-raise.c: New file.

	* pthread_cond_init.c: Initialize all data elements of the condvar
	structure.  Patch by Luca Barbieri <ldb@ldb.ods.org>.

	* pthread_attr_init.c: Actually implement 2.0 compatibility version.
	* pthread_create.c: Likewise.

	* Makefile (tests): Add tst-key1, tst-key2, tst-key3.
	* tst-key1.c: New file.
	* tst-key2.c: New file.
	* tst-key3.c: New file.

	* Versions: Export pthread_detach for version GLIBC_2.0.
	Reported by Saurabh Desai <sdesai@austin.ibm.com>.

2002-11-08  Ulrich Drepper  <drepper@redhat.com>

	* pthread_key_create.c: Terminate search after an unused key was found.
	Patch by Luca Barbieri <ldb@ldb.ods.org>.

	* sysdeps/unix/sysv/linux/i386/pthread_once.S: Return zero.
	Patch by Luca Barbieri <ldb@ldb.ods.org>.

2002-10-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S: Use slow generic
	dynamic lookup for errno in PIC.

	* allocatestack.c (get_cached_stack): Rearrange code slightly to
	release the stack lock as soon as possible.
	Call _dl_allocate_tls_init for TCB from the cache to re-initialize
	the static TLS block.
	(allocate_stack): Call _dl_allocate_tls_init for user-provided stack.

	* cancellation.c: Renamed from cancelation.c.
	* Makefile: Adjust accordingly.
	* pthreadP.h (CANCELLATION_P): Renamed from CANCELATION_P.
	* cleanup_defer.c: Use CANCELLATION_P.
	* pthread_testcancel.c: Likewise.
	* descr.h: Fix spelling in comments.
	* init.c: Likewise.
	* pthread_getattr_np.c: Likewise.
	* pthread_getschedparam.c: Likewise.
	* pthread_setschedparam.c: Likewise.
	* Versions: Likewise.

	* pt-pselect.c: New file.
	* Makefile (libpthread-routines): Add pt-pselect.
	* Versions: Add pselect.

	* tst-cancel4.c: New file.
	* Makefile (tests): Add tst-cancel4.

2002-10-09  Ulrich Drepper  <drepper@redhat.com>

	* pthread_mutex_lock.c: Always record lock ownership.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_trylock.c: Likewise.

	* pt-readv.c: New file.
	* pt-writev.c: New file.
	* pt-creat.c: New file.
	* pt-msgrcv.c: New file.
	* pt-msgsnd.c: New file.
	* pt-poll.c: New file.
	* pt-select.c: New file.
	* pt-sigpause.c: New file.
	* pt-sigsuspend.c: New file.
	* pt-sigwait.c: New file.
	* pt-sigwaitinfo.c: New file.
	* pt-waitid.c: New file.
	* Makefile (libpthread-routines): Add pt-readv, pt-writev, pt-creat,
	pt-msgrcv, pt-msgsnd, pt-poll, pt-select, pt-sigpause, pt-sigsuspend,
	pt-sigwait, pt-sigwaitinfo, and pt-waitid.
	* Versions: Add all the new functions.

	* tst-exit1.c: New file.
	* Makefile (tests): Add tst-exit1.

	* sem_timedwait.c: Minor optimization for more optimal fastpath.

2002-10-08  Ulrich Drepper  <drepper@redhat.com>

	* pt-fcntl.c: Only enable asynchronous cancellation for F_SETLKW.

	* pthread_join.c: Enable asynchronous cancellation around lll_wait_tid
	call.  pthread_join is an official cancellation point.
	* pthread_timedjoin.c: Likewise.

	* pthread_cond_wait.c: Revert order in which internal lock are dropped
	and the condvar's mutex are retrieved.
	* pthread_cond_timedwait.c: Likewise.
	Reported by dice@saros.East.Sun.COM.

2002-10-07  Ulrich Drepper  <drepper@redhat.com>

	* pthreadP.h: Cut out all type definitions and move them...
	* sysdeps/unix/sysv/linux/internaltypes.h: ...here.  New file.
	* pthreadP.h: Include <internaltypes.h>.

	* sysdeps/unix/sysv/linux/i386/lowlevelsem.h (lll_sem_post): Little
	performance tweaks.

	* sem_trywait.c: Shuffle #includes around to get right order.
	* sem_timedwait.c: Likewise.
	* sem_post.c: Likewise.
	* sem_wait.c: Likewise.

	* nptl 0.3 released.

	* Makefile (tests): Add tst-signal3.
	* tst-signal3.c: New file.

2002-10-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Tell the compiler that
	the asms modify the sem object.
	(__lll_sem_timedwait): Now takes struct sem* as first parameter.

	* sysdeps/unix/sysv/linux/i386/bits/semaphore.h (sem_t): Don't expose
	the actual members.
	* pthreadP.h (struct sem): New type.  Actual semaphore type.
	* semaphoreP.h: Include pthreadP.h.
	* sem_getvalue.c: Adjust to sem_t change.
	* sem_init.c: Likewise.
	* sem_open.c: Likewise.
	* sem_post.c: Likewise.
	* sem_timedwait.c: Likewise.
	* sem_trywait.c: Likewise.
	* sem_wait.c: Likewise.

2002-10-04  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-basic2, tst-exec1, tst-exec3, tst-exec3.
	* tst-basic2.c: New file.
	* tst-exec1.c: New file.
	* tst-exec2.c: New file.
	* tst-exec3.c: New file.

	* tst-fork1.c: Remove extra */.

	* nptl 0.2 released.  The API for IA-32 is complete.
