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.
