about summary refs log tree commit diff
path: root/linuxthreads/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads/ChangeLog')
-rw-r--r--linuxthreads/ChangeLog6468
1 files changed, 6468 insertions, 0 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
new file mode 100644
index 0000000000..beaad8c6c5
--- /dev/null
+++ b/linuxthreads/ChangeLog
@@ -0,0 +1,6468 @@
+2004-12-12  Ulrich Drepper  <drepper@redhat.com>
+
+	* internals.h: Include <stdbool.h> to match includes used in nptl.
+
+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.
+	* tst-clock1.c (do_test): Check for availability of CPU clock.
+
+2004-11-18  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: Update RETINSTR use.
+	* sysdeps/unix/sysv/linux/arm/vfork.S: Likewise.
+
+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): 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-05  Maciej W. Rozycki  <macro@mips.com>
+
+	* sysdeps/mips/pspinlock.c: Include <sgidefs.h>.  Use _ABIO32,
+	_ABIN32 and _ABI64 for ABI selection throughout.
+	* sysdeps/mips/pt-machine.h: Use _ABIO32, _ABIN32 and _ABI64 for
+	ABI selection throughout.
+
+2004-10-18  Roland McGrath  <roland@redhat.com>
+
+	[BZ #406]
+	* Makefile (linuxthreads-CPPFLAGS): New variable;
+	adds -DIS_IN_linuxthreads=1.
+	* sysdeps/i386/tls.h: Protect "useldt.h" with
+	[!IS_IN_linuxthreads && !DO_MODIFY_LDT].
+	* sysdeps/i386/i686/pt-machine.h: Revert last change.
+
+2004-10-14  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/pthread/errno-loc.c: Don't undef #errno
+	if RTLD_PRIVATE_ERRNO.
+
+2004-10-05  Dwayne Grant McConnell  <dgm69@us.ibm.com>
+
+	* pthread.c: Mask restart signal during cancel signal handler.
+
+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: Set _POSIX_CPUTIME
+	and _POSIX_THREAD_CPUTIME to zero.
+	* sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h: Likewise.
+
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
+	_POSIX_THREAD_PROCESS_SHARED and _POSIX_CLOCK_SELECTION as -1.
+	* 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-09-25  Roland McGrath  <roland@redhat.com>
+
+	[BZ #406]
+	* sysdeps/i386/i686/pt-machine.h: Don't #include "../useldt.h" if
+	[_TLS_H], since sysdeps/i386/tls.h includes it after including us.
+
+2004-09-24  Roland McGrath  <roland@redhat.com>
+
+	[BZ #406]
+	* sysdeps/i386/tls.h: Move #include "useldt.h" outside
+	of [__ASSUME_LDT_WORKS > 0] test.
+	Reported by Carlos Velasco <carlos.velasco@newipnet.com>.
+
+2004-09-21  Roland McGrath  <roland@redhat.com>
+
+	* Versions: Add comment about linuxthreads' frozen ABI.
+
+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/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-12  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/pthread.h: Make rwlock prototypes available also
+	for __USE_XOPEN2K.
+	* sysdeps/pthread/bits/pthreadtypes.h: Define rwlock types also
+	for __USE_XOPEN2K.  [BZ #320]
+
+2004-09-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* tst-cancel4.c (tf_waitid): Use WEXITED flag bit if available.
+
+2004-09-07  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/pthread.h (pthread_once): Remove __THROW since
+	the initialization function might throw.
+
+2004-08-30  Roland McGrath  <roland@frob.com>
+
+	* Makefile (libpthread-abi-frozen): New variable.
+
+2004-08-26  Roland McGrath  <roland@redhat.com>
+
+	* configure.in: New file.  If nptl add-on is also selected, barf if
+	explicit and elide ourselves if implicit.
+	* configure: Now generated.
+
+2004-08-25  Richard Sandiford  <rsandifo@redhat.com>
+
+	* sysdeps/unix/sysv/linux/mips/sysdep-cancel.h (CENABLE, CDISABLE,
+	__local_multiple_threads): Fix definitions for IS_IN_librt.
+	* sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h: Likewise.
+
+2004-08-22  Andreas Schwab  <schwab@suse.de>
+
+	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (PSEUDO) [IS_IN_librt]:
+	Save gp around CENABLE/CDISABLE calls.
+
+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>
+
+	* libc-tsd.c: Move resolv.h include before the #if.
+	(__res_maybe_init): New function.  Add libc_hidden_def.
+
+2004-08-02  Ulrich Drepper  <drepper@redhat.com>
+
+	* linuxthreads.texi (Cleanup Handlers): Fix typo.
+	Reported by Bjoern Engelmann <bjengelmann@gmx.de>.
+
+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-02  Roland McGrath  <roland@redhat.com>
+
+	* configure: Don't exit.
+
+2004-07-20  Alexandre Oliva  <aoliva@redhat.com>
+
+	* sysdeps/mips/pt-machine.h: Use standard names for ABI macros,
+	include sgidefs.h.
+	* sysdeps/mips/atomicity.h: Likewise.
+
+2004-07-19  Alexandre Oliva  <aoliva@redhat.com>
+
+	* sysdeps/unix/sysv/linux/mips/Makefile (CFLAGS-pt-initfini.s):
+	Remove redundant override that missed -g0.
+
+2004-07-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
+	(__local_multiple_threads): Define for librt.
+	(SINGLE_THREAD_P): Likewise.
+
+2004-07-07  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/pthread/getcpuclockid.c (pthread_getcpuclockid): Allow
+	using other thread's clock.
+	* ptclock_gettime.c (__pthread_clock_gettime): Likewise.
+	* ptclock_settime.c (__pthread_clock_settime): Likewise.
+	* internals.h (__pthread_clock_gettime, __pthread_clock_settime):
+	Remove prototypes.
+	Reported by Bernd Schmidt <bernds@redhat.com>.
+	* Makefile (librt-tests): Add tst-clock1.
+	* tst-clock1.c: New test.
+
+	* sysdeps/x86_64/Versions: New file.
+	* sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h: New file.
+	* sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h: New file.
+
+2004-04-16  Andreas Schwab  <schwab@suse.de>
+
+	* sysdeps/ia64/tls.h (INIT_SYSINFO): Cast dl_sysinfo to void*.
+
+2004-07-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/s390/pspinlock.c (__pthread_spin_lock,
+	__pthread_spin_trylock): Use constraint "m" instead of "0" for
+	futex.
+	* sysdeps/ia64/pt-machine.h (__compare_and_swap,
+	__compare_and_swap_with_release_semantic, testandset): Use
+	constraint "m" instead of "0" for futex.
+
+2004-06-29  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (CENABLE): Fix
+	branch offset for a PLT entry.
+	(CDISABLE): Likewise.
+
+2004-05-31  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/unix/sysv/linux/mips/Makefile (CFLAGS-pt-initfini.s):
+	Set to -fno-unit-at-a-time.
+	Patch by Dan Kegel <dank@kegel.com>.
+
+2004-05-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* tst-stack1.c: Don't include mcheck.h.
+	(do_test): Make sure user defined stacks aren't reused,
+	don't free them at the end.  [BZ #110]
+
+2004-05-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* manager.c: Include not-cancel.h.
+	(__pthread_manager): Use read_not_cancel instead of __libc_read.
+	(pthread_start_thread, __pthread_manager_sighandler): Use
+	write_not_cancel instead of __libc_write.
+	(pthread_reap_children): Use waitpid_not_cancel instead of
+	__libc_waitpid.
+	* pthread.c: Include not-cancel.h.
+	(__pthread_initialize_minimal, __pthread_create_2_1,
+	pthread_onexit_process, __pthread_message): Use
+	write_not_cancel instead of __libc_write.
+	(__pthread_initialize_manager): Likewise.  Use close_not_cancel
+	instead of __libc_close.
+	(__pthread_reset_main_thread): Use close_not_cancel instead of
+	__libc_close.
+	* join.c: Include not-cancel.h.
+	(__pthread_do_exit, pthread_join, pthread_detach): Use
+	write_not_cancel instead of __libc_write.
+	* semaphore.c: Include not-cancel.h.
+	(__new_sem_post): Use write_not_cancel instead of __libc_write.
+	* specific.c: Include not-cancel.h.
+	(pthread_key_delete): Use write_not_cancel instead of __libc_write.
+
+2004-05-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* Versions (libc): Add __on_exit and __libc_sigaction.
+
+2004-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* semaphore.c (sem_timedwait): Return -1 and set errno instead of
+	returning error number [BZ #133].  Patch by <rmhaddad@yahoo.com>.
+
+2004-04-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
+
+	* sysdeps/unix/sysv/linux/sh/vfork.S: Fix wrong function pointer
+	reference in PIC case.
+
+2004-04-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* oldsemaphore.c (SEM_VALUE_MAX): Remove.
+
+2004-04-19  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (CENABLE): Define
+	for librt.  Save the return value to a safe register.
+	(CDISABLE): Define for librt.  Set the function argument correctly.
+
+2004-04-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
+	(PSEUDO_CANCEL): Define.
+	(PSEUDO): Use it.
+	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (CENABLE,
+	CDISABLE): For librt, append @PLT.
+
+2004-04-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/x86_64/tls.h [!__ASSEMBLER__]: Include tcb-offsets.h.
+
+	* 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.
+
+	* sysdeps/unix/sysv/linux/mq_notify.c: Include stdlib.h.
+
+2004-04-17  Ulrich Drepper  <drepper@redhat.com>
+
+	* semaphore.h (SEM_VALUE_MAX): Just use a plain number.
+
+2004-04-16  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Fix last patch.
+
+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.
+
+	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (CENABLE): Define
+	for librt.
+	(CDISABLE): Likewise.
+
+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.
+
+2004-04-10  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/x86_64/pt-machine.h: Add used attribute to stack_pointer
+	to avoid warnings with GCC 3.5.
+
+2004-04-09  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* sysdeps/powerpc/tls.h (TLS_INIT_TP): Eliminate lvalue cast from
+	__thread_self assignment.
+	(THREAD_DTV): Replace __thread_register with __thread_self.
+	(INIT_THREAD_SELF): Eliminate lvalue cast from __thread_self
+	assignment.
+
+2004-04-08  Alexandre Oliva  <aoliva@redhat.com>
+
+	* signals.c (pthread_sigmask): Don't ever block or mask
+	__pthread_sig_debug.
+
+2004-03-11  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* sysdeps/powerpc/tls.h: Remove __powerpc64__ conditional.
+
+2004-03-23  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/ia64/pt-machine.h (BUSY_WAIT_NOP): Define.
+	* sysdeps/x86_64/pt-machine.h (BUSY_WAIT_NOP): Likewise.
+
+2004-03-12  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/bits/local_lim.h: Add 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-08  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT_KERNEL_CHECK):
+	dl_osversion is readonly.
+
+2004-03-07  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/tls.h (INIT_SYSINFO): _dl_sysinfo is now in
+	_rtlf_global_ro.
+	* sysdeps/ia64/tls.h (INIT_SYSINFO): Likewise.
+
+2004-02-20  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* sysdeps/unix/sysv/linux/powerpc/ptlongjmp.c [SHARED]: Code only
+	valid for SHARED case.  Correct spelling of __vmx_longjmp.
+
+	* sysdeps/powerpc/pspinlock.c: Move from here.
+	* sysdeps/powerpc/powerpc32/pspinlock.c: To here.
+	* sysdeps/powerpc/powerpc64/pspinlock.c: New file.
+	* sysdeps/powerpc/powerpc64/pt-machine.h: Define __compare_and_swap32
+	and __compare_and_swap32_with_release_semantics.
+
+2004-02-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* Makefile (generated): Remove tst-stack1.mtrace and tst-stack1-mem.
+	(tests): Remove $(objpfx)tst-stack1-mem.
+	(tst-stack1-ENV): Remove.
+	($(objpfx)tst-stack1-mem): Remove.
+
+	* 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/unix/sysv/linux/ia64/dl-sysdep.h (DL_ARGV_NOT_RELRO): Define.
+
+2004-02-10  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* Makefile (libpthread-routines): Add ptcleanup.
+	* ptlongjmp.c: Removed.
+	* ptcleanup.c: Copied __pthread_cleanup_upto to here. New file.
+	* sysdeps/pthread/ptlongjmp.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/ptlongjmp.c: New File.
+
+2004-01-22  Andreas Jaeger  <aj@suse.de>
+
+	* spinlock.c (__pthread_lock): Fix contraint to avoid warning.
+	(__pthread_release): Likewise.
+
+2004-01-16  Richard Henderson  <rth@redhat.com>
+
+	* attr.c: Include ldsodefs.h.
+	(pthread_getattr_np): Don't declare __libc_stack_end.
+
+2004-01-09  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
+	[!HAVE_TLS_SUPPORT]: Define SINGLE_THREAD_P using static
+	__lib*_multiple_threads.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
+	[!HAVE_TLS_SUPPORT]: Likewise.
+
+2004-01-13  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/powerpc/tcb-offsets.sym: Put -- separator line before any
+	conditionals.
+
+2004-01-10  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/unix/sysv/linux/x86_64/vfork.S: Add cfi directives.
+
+2004-01-01  Andreas Jaeger  <aj@suse.de>
+
+	* Makefile (generated): Add missing files.
+
+2003-12-31  Ulrich Drepper  <drepper@redhat.com>
+
+	* attr.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>
+
+	* sysdeps/ia64/tls.h: Include dl-sysdep.h.
+	(INIT_SYSINFO): Define.
+	(TLS_INIT_TP): Use it.
+
+2003-12-28  Carlos O'Donell  <carlos@baldric.uwo.ca>
+
+	* attr.c (pthread_getattr_np): Add _STACK_GROWS_UP case.
+
+2003-12-26  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/pthread/pthread.h (pthread_setcancelstate,
+	pthread_setcanceltype, pthread_cancel, pthread_testcancel): Remove
+	__THROW.
+	* semaphore.h (sem_wait, sem_timedwait): Likewise.
+
+2003-12-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* manager.c (pthread_free): Call _dl_deallocate_tls even for
+	p_userstack threads.
+	* pthread.c (__pthread_initialize_manager): Call _dl_deallocate_tls
+	on error.
+	(pthread_onexit_process): Update comment.
+	* Makefile (tests): Add tst-stack1.  Depend on $(objpfx)tst-stack1-mem.
+	(generated): Add tst-stack1.mtrace and tst-stack1-mem.
+	(tst-stack1-ENV): Set.
+	($(objpfx)tst-stack1-mem): New.
+	* tst-stack1.c: New test.
+
+2003-12-16  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* sysdeps/powerpc/tcb-offsets.sym [!__powerpc64__]: Remove
+	conditional so MULTIPLE_THREADS_OFFSET is generated for both.
+	* sysdeps/powerpc/tls.h [!__powerpc64__]: Remove conditional
+	so TLS_MULTIPLE_THREADS_IN_TCB is generated for both.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h:
+	Include tls.h.
+
+2003-12-04  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
+	(SINGLE_THREAD_P): Test using thread local p_multiple_threads field.
+
+2003-12-10  David Mosberger  <davidm@hpl.hp.com>
+
+	* sysdeps/unix/sysv/linux/ia64/pt-initfini.c: Update copyright
+	message.  Add include of <stddef.h>.
+	(INIT_NEW_WAY): New macro.
+	(INIT_OLD_WAY): Likewise.
+	(_init): Add unwind directives.  Invoke
+	__pthread_initialize_minimal() via INIT_NEW_WAY or INIT_OLD_WAY,
+	respectively.
+	(_init_EPILOG_BEGINS): Add unwind-directives.  Drop unused .regstk
+	directive.
+	(_fini): Add unwind directives.  Drop unnecessary .align 16
+	directive (bundles are always 16-byte aligned).
+	(_fini_EPILOG_BEGINS): Add unwind-directives.
+
+2003-11-19  David Mosberger  <davidm@hpl.hp.com>
+
+	* sysdeps/unix/sysv/linux/ia64/dl-sysdep.h: New file.
+
+2003-12-10  Andreas Jaeger  <aj@suse.de>
+	    Ruediger Oertel  <ro@suse.de>
+
+	* sysdeps/alpha/elf/pt-initfini.c (__asm__): Remove extra .prologue.
+
+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-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* signals.c (__pthread_sigaction): Set __sighandler[sig].old before
+	__libc_sigaction if it has been one of the special values before.
+
+2003-10-06  Carlos O'Donell <carlos@baldric.uwo.ca>
+
+	* pthread.c (__pthread_self_stack): _STACK_GROWS_UP case added.
+	(__pthread_find_self): Likewise.
+	* manager.c (thread_segment): _STACK_GROWS_UP case added.
+
+2003-10-10  Carlos O'Donell  <carlos@baldric.uwo.ca>
+
+	* linuxthreads/sysdeps/unix/sysv/linux/hppa/malloc-machine.h: New file.
+
+2003-10-10  Carlos O'Donell  <carlos@baldric.uwo.ca>
+
+	* sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h: New file.
+
+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-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-cancel8.
+	* tst-cancel8.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-10  Chris Demetriou  <cgd@broadcom.com>
+
+	* sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h: New file.
+
+2003-09-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/pthread/malloc-machine.h [!__libc_maybe_call2] (mutex_init,
+	mutex_lock, mutex_trylock, mutex_unlock): Remove.
+
+2003-09-27  Wolfram Gloger  <wg@malloc.de>
+
+	* sysdeps/pthread/malloc-machine.h: New file.
+
+2003-09-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* attr.c (__pthread_attr_init_2_1): Double __guardsize size
+	if NEED_SEPARATE_REGISTER_STACK is defined.
+
+2003-09-22  Philip Blundell  <philb@gnu.org>
+
+	* forward.c: Add _pthread_cleanup_push, _pthread_cleanup_pop.
+	* sysdeps/pthread/pthread-functions.h (struct pthread_functions):
+	Likewise.
+	* pthread.c (__pthread_elements): Initialise these new elements.
+	* sysdeps/pthread/bits/libc-lock.h (__libc_cleanup_push): Use
+	__libc_maybe_call.
+	(__libc_cleanup_pop): Likewise.
+
+2003-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* attr.c: Include stdlib.h.
+
+2003-09-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/pthread/pthread.h (pthread_getattr_np): Clarify usage.
+
+	* tst-attr1.c: New test.
+	* Makefile (tests): Add tst-attr1.
+
+2003-09-17  Philip Blundell  <philb@gnu.org>
+
+	* sysdeps/unix/sysv/linux/arm/vfork.S: Branch to fork if
+	libpthread is loaded.  Elide backwards compatibility code when not
+	required.
+
+2003-09-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* descr.h (manager_thread): Rename to...
+	(__pthread_manager_threadp): ... this.
+	* pthread.c (manager_thread): Define to __pthread_manager_threadp.
+	(__pthread_manager_threadp): New variable.
+	* internals.h (__manager_thread): Define to
+	__pthread_manager_threadp if USE_TLS.
+
+2003-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/i386/Makefile (CFLAGS-cancel.c, CFLAGS-manager.c,
+	CFLAGS-pthread.c, CFLAGS-sighandler.c): Add
+	-mpreferred-stack-boundary=4.
+
+2003-09-16  Ulrich Drepper  <drepper@redhat.com>
+
+	* attr.c (pthread_getattr_np): Correctly fill in the stack-related
+	values for the initial thread.
+
+2003-09-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* pthread.c (manager_thread): Remove static, add attribute_hidden.
+	(thread_self_stack): Rename to...
+	(__pthread_self_stack): ... this.  Remove static.
+	(pthread_handle_sigcancel): Use check_thread_self ().
+	(pthread_handle_sigrestart): Likewise.
+	* sighandler.c (__pthread_sighandler, __pthread_sighandler_rt):
+	Likewise.
+	* descr.h (manager_thread): Declare.
+	* internals.h (__pthread_self_stack): New prototype.
+	(__manager_thread): Define.
+	(check_thread_self): New function.
+
+2003-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* Makefile (CFLAGS-mutex.c): Add $(uses-callbacks).
+	(CFLAGS-sighandler.c): Change $(exceptions) into $(uses-callbacks).
+
+2003-09-12  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/s390/bits/typesizes.h: New.
+	(__SSIZE_T_TYPE): Define to __SWORD_TYPE for gcc 2.95.x and
+	__SLONGWORD_TYPE otherwise.
+
+2003-09-11  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* sysdeps/powerpc/powerpc64/pt-machine.h [MEMORY_BARRIER]: Use lwsync.
+	[READ_MEMORY_BARRIER]: Define.
+	[WRITE_MEMORY_BARRIER]: Define.
+
+2003-09-10  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/pthread/pthread-functions.h (struct pthread_functions): Move
+	ptr___pthread_cond_timedwait to the end of the structure to avoid
+	breaking Wine unnecessarily.
+
+2003-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/s390/bits/typesizes.h: Remove.
+
+2003-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/alpha/bits/local_lim.h: New file.
+	* sysdeps/unix/sysv/linux/alpha/Versions: New file.
+	* sysdeps/unix/sysv/linux/ia64/bits/local_lim.h: New file.
+	* sysdeps/unix/sysv/linux/ia64/Versions: New file.
+	* sysdeps/unix/sysv/linux/sparc/bits/local_lim.h: New file.
+	* sysdeps/unix/sysv/linux/sparc/Versions: New file.
+	* attr.c (__old_pthread_attr_setstacksize,
+	__old_pthread_attr_setstack): New functions.
+	(pthread_attr_setstacksize): If PTHREAD_STACK_MIN != 16384, export
+	as @@GLIBC_2.3.2 and also export compatibility @GLIBC_2.1.
+	(pthread_attr_setstack): If PTHREAD_STACK_MIN != 16384, export
+	as @@GLIBC_2.3.2 and also export compatibility @GLIBC_2.2.
+	* tststack.c: Include limits.h and sys/param.h.
+	(main): Set size to MAX (70 * 1024, PTHREAD_STACK_MIN).
+
+	* barrier.c (__pthread_barrierattr_getpshared): Always
+	return PTHREAD_PROCESS_PRIVATE.
+	(pthread_barrierattr_setpshared): Return EINVAL if pshared
+	is neither PTHREAD_PROCESS_PRIVATE nor PTHREAD_PROCESS_SHARED.
+
+2003-09-02  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/i386/dl-sysdep.h
+	(DL_SYSINFO_IMPLEMENTATION): Add CFI and make sure the code ends
+	up in .text.
+
+	* barrier.c (pthread_barrierattr_setpshared): We don't handle
+	inter-process barriers.
+
+2003-09-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* Makefile (tests): Add tst-tls1.
+	(module-names): Add tst-tls1mod{,a,b,c,d,e,f}.
+	($(objpfx)tst-tls1mod{,a,b,c,d,e,f}.so-no-z-defs): Set to yes.
+	($(objpfx)tst-tls1): New.
+	($(objpfx)tst-tls2.out): Likewise.
+	(tests): Depend on $(objpfx)tst-tls2.out.
+	* tst-tls1.c: New test.
+	* tst-tls1.h: New.
+	* tst-tls1mod.c: New.
+	* tst-tls1moda.c: New.
+	* tst-tls1modb.c: New.
+	* tst-tls1modc.c: New.
+	* tst-tls1modd.c: New.
+	* tst-tls1mode.c: New.
+	* tst-tls1modf.c: New.
+	* tst-tls2.sh: New test.
+
+	* internals.h (__pthread_cond_timedwait): New prototype.
+	* sysdeps/pthread/pthread-functions.h (struct pthread_functions): Add
+	ptr___pthread_cond_timedwait.
+	* pthread.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-08-27  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/pthread.h: Don't mark pthread_exit,
+	pthread_join, pthread_cond_wait, and pthread_cond_timedwait with
+	__THROW to match NPTL.
+
+2003-08-13  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/Makefile [subdir=rt] (CPPFLAGS): Add
+	-DBROKEN_THREAD_SIGNALS.
+
+2003-08-11  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* manager.c (pthread_start_thread) [!(USE_TLS && HAVE___THREAD)]:
+	Correct spelling of per thread resolver state.
+
+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).
+	* pthread.c (pthread_initialize): 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.
+
+2003-07-31  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/pthread/bits/typesizes.h (__SSIZE_T_TYPE): Define.
+	* sysdeps/unix/sysv/linux/alpha/bits/typesizes.h (__SSIZE_T_TYPE):
+	Likewise.
+	* sysdeps/unix/sysv/linux/sparc/bits/typesizes.h (__SSIZE_T_TYPE):
+	Likewise.
+	* sysdeps/unix/sysv/linux/s390/bits/typesizes.h: New file.
+
+	* sysdeps/pthread/pthread.h (pthread_attr_setstackaddr,
+	pthread_attr_setstacksize): Change PTHREAD_STACK_SIZE to
+	PTHREAD_STACK_MIN in comments.
+
+	* sysdeps/alpha/pt-machine.h (PT_EI): Add
+	__attribute__((always_inline)).
+	* sysdeps/arm/pt-machine.h (PT_EI): Likewise.
+	* sysdeps/cris/pt-machine.h (PT_EI): Likewise.
+	* sysdeps/hppa/pt-machine.h (PT_EI): Likewise.
+	* sysdeps/i386/i686/pt-machine.h (PT_EI): Likewise.
+	* sysdeps/i386/pt-machine.h (PT_EI): Likewise.
+	* sysdeps/ia64/pt-machine.h (PT_EI): Likewise.
+	* sysdeps/m68k/pt-machine.h (PT_EI): Likewise.
+	* sysdeps/mips/pt-machine.h (PT_EI): Likewise.
+	* sysdeps/powerpc/powerpc32/pt-machine.h (PT_EI): Likewise.
+	* sysdeps/powerpc/powerpc64/pt-machine.h (PT_EI): Likewise.
+	* sysdeps/s390/s390-32/pt-machine.h (PT_EI): Likewise.
+	* sysdeps/s390/s390-64/pt-machine.h (PT_EI): Likewise.
+	* sysdeps/sh/pt-machine.h (PT_EI): Likewise.
+	* sysdeps/sparc/sparc32/pt-machine.h (PT_EI): Likewise.
+	* sysdeps/sparc/sparc64/pt-machine.h (PT_EI): Likewise.
+	* sysdeps/x86_64/pt-machine.h (PT_EI): Likewise.
+	* spinlock.h (__pthread_set_own_extricate_if): Likewise.
+	* sysdeps/ia64/tls.h (TLS_INIT_TP): Cast tcbp to __typeof
+	(__thread_self).
+	* Examples/ex13.c (main): Change res type to void * to avoid
+	warnings.
+	* tst-cancel.c (cleanup, inner, tf1, tf2, tf3): Comment out.
+
+2003-07-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* pthread.c (init_one_static_tls, __pthread_init_static_tls): New
+	functions.
+	(pthread_initialize): Initialize GL(dl_init_static_tls).
+
+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  Roland McGrath  <roland@redhat.com>
+
+	* manager.c (pthread_start_thread): Fix typo in last change.
+
+2003-07-14  Guido Guenther  <agx@sigxcpu.org>
+
+	* sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: Add IS_IN_librt,
+	use L() for local labels.
+
+2003-07-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* descr.h (struct _pthread_descr_struct): Provide p_res member
+	even if USE_TLS && HAVE___THREAD.
+	* sysdeps/pthread/res-state.c (__res_state): Return __resp
+	if USE___THREAD.
+	* manager.c: Include resolv.h.
+	(pthread_start_thread): Initialize __resp.
+	* libc-tls-loc.c (__res_state): Return __resp.
+	* Makefile (tests): Add tst-_res1.
+	(modules-names, extra-objs, test-extras, test-modules): Add support
+	for test modules.
+	($(objpfx)tst-_res1mod2.so): Depend on $(objpfx)tst-_res1mod1.so.
+	($(objpfx)tst-_res1): Depend on $(objpfx)tst-_res1mod2.so and
+	-lpthread.
+	* tst-_res1.c: New test.
+	* tst-_res1mod1.c: New test.
+	* tst-_res1mod2.c: New test.
+
+2003-07-20  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/bits/libc-lock.h: Define __libc_cleanup_push and
+	__libc_cleanup_pop.
+
+	* tst-cancel-wrappers.sh: lseek and llseek are no cancellation points.
+
+2003-07-14  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Fix typo
+	in test for compilation in libc.
+
+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.
+
+2003-06-20  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Support cancellation
+	in librt.
+
+2003-06-21  Andreas Schwab  <schwab@suse.de>
+
+	* sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h: Support cancellation
+	in librt.
+
+2003-06-20  Richard Henderson  <rth@redhat.com>
+
+	* sysdeps/unix/sysv/linux/alpha/Makefile (libpthread-routines):
+	Remove ptw-osf_sigprocmask.
+
+2003-06-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* internals.h (__librt_multiple_threads, __librt_enable_asynccancel,
+	__librt_disable_asynccancel): Declare.
+	(LIBC_CANCEL_ASYNC, LIBC_CANCEL_RESET, LIBC_CANCEL_HANDLED): Define
+	for IS_IN_librt.
+	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Support cancellation
+	in librt.
+	* 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/sparc/sparc32/sysdep-cancel.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/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/x86_64/tcb-offsets.sym: New file.
+	* sysdeps/x86_64/Makefile: New file.
+	* sysdeps/x86_64/tls.h (tcbhead_t): Add multiple_threads.
+	* Versions (libc): Export __librt_enable_asynccancel,
+	__librt_disable_asynccancel and __librt_multiple_threads as
+	GLIBC_PRIVATE.
+	* libc-cancellation.c (__librt_multiple_threads,
+	__librt_enable_asynccancel, __librt_disable_asynccancel): New aliases.
+
+2003-06-12  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
+	(SINGLE_THREAD_P): Replace @ got notation with @toc.
+
+2003-06-11  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/powerpc/pspinlock.c (__pthread_spin_init): Fix
+	initializer [PR libc/5052].
+
+2003-06-09  Andreas Schwab  <schwab@suse.de>
+
+	* Makefile: Move inclusion of ../Rules down after extra-objs is
+	fully known.
+
+2003-06-06  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: New sequences for
+	5+ arg syscalls only needed for PIC.
+	Patch by Ralph Siemsen <ralphs@netwinder.org>.
+
+2003-06-05  Richard Henderson  <rth@redhat.com>
+
+	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Use
+	and require CFI assembler directives.
+	* sysdeps/unix/sysv/linux/alpha/vfork.S: Likewise.
+
+2003-05-30  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h
+	(SAVESTK_0): Add CFI directives.
+	(SAVESTK_3): Likewise.
+	(SAVESTK_5): Likewise.
+	(RESTSTK_0): Likewise.
+	(RESTSTK_3): Likewise.
+	(RESTSTK_5): Likewise.
+
+2003-05-05  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/tls.h (TLS_DO_SET_THREAD_AREA): Add \n to error
+	messages.
+
+2003-05-04  Roland McGrath  <roland@redhat.com>
+
+	* Makefile ($(objpfx)../libc.so): New target.
+
+2003-04-26  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c (__pthread_initialize_manager): Remove one last
+	p_multiple_threads call.
+
+2003-04-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* pthread.c (__pthread_initialize_manager): Subtract
+	TLS_PRE_TCB_SIZE bytes from tcbp to get to descr.
+	* manager.c (pthread_handle_create): Subtract or add TLS_PRE_TCB_SIZE
+	instead of sizeof (pthread_descr).
+	(pthread_free): Add TLS_PRE_TCB_SIZE instead of sizeof (pthread_descr).
+	* 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
+	pthread_descr.
+	(TLS_PRE_TCB_SIZE): Increase to cover tcbhead_t preceeded by pad
+	to TLS_TCB_ALIGN.
+	(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.
+
+2003-04-22  Roland McGrath  <roland@redhat.com>
+
+	* Makeconfig (shared-thread-library): Reverse link order to work
+	around linker bug.
+
+2003-04-20  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/useldt.h (DO_SET_THREAD_AREA): Make sure the
+	compiler knows we use the ldt_entry variable and that the syscall
+	modifies the memory.
+
+	* internals.h: Split pthread_functions definition into...
+	* sysdeps/pthread/pthread-functions.h: ...new file.
+
+	* sysdeps/i386/useldt.h: Include <sysdep.h>.
+
+2003-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Rename macros to
+	match changes in NPTL sysdep-cancel.h.
+
+2003-04-11  Roland McGrath  <roland@redhat.com>
+
+	* Makefile (multidir): Don't set the variable here with $(shell ...).
+	($(objpfx)multidir.mk): New target, generated makefile; include that.
+	(generated): Append it.
+
+2003-04-10  Jakub Jelinek  <jakub@redhat.com>
+
+	* Makefile (multidir, crti-objs, crtn-objs): New variables.
+	(generated-dirs): Add pathname component of multidir.
+	(omit-deps, extra-objs): Include $(multidir)/crt? as well.
+	($(objpfx)libpthread.so): Depend on $(multidir)/crt?.o as well.
+	($(objpfx)$(multidir), $(objpfx)$(multidir)/crti.o,
+	$(objpfx)$(multidir)/crtn.o): New.
+	* sysdeps/unix/sysv/linux/sparc/Makefile: Removed.
+	* sysdeps/unix/sysv/linux/x86_64/Makefile (LDFLAGS-pthread.so,
+	before-compile, generated): Don't generate and use specs.
+	($(objpfx)specs): Remove.
+
+2003-04-11  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* sysdeps/s390/pspinlock.c (__pthread_spin_unlock): Fix asm contraints.
+
+2003-04-03  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (PSEUDO): Add
+	missing ; after ENTRY use [PR libc/4997].
+
+2003-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+	* pthread.c (pthread_initialize): Unblock __pthread_sig_cancel
+	in case the parent blocked it.
+
+2003-04-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* Makefile (libpthread-routines): Add pthread_atfork.
+	(libpthread-static-only-routines): Add pthread_atfork.
+
+2003-04-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* pthread.c (__pthread_wait_for_restart_signal): Use
+	__pthread_sigsuspend instead of sigsuspend.
+	* internals.h (__pthread_sigsuspend): New prototype.
+	* Makefile (libpthread-routines): Add pt-sigsuspend.
+	(tests): Add tst-cancel7.
+	* sysdeps/unix/sysv/linux/pt-sigsuspend.c: New file.
+	* sysdeps/unix/sysv/linux/alpha/pt-sigsuspend.S: New file.
+	* sysdeps/unix/sysv/linux/ia64/pt-sigsuspend.c: New file.
+	* sysdeps/unix/sysv/linux/s390/s390-64/pt-sigsuspend.c: New file.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/pt-sigsuspend.c: New file.
+	* sysdeps/unix/sysv/linux/x86_64/pt-sigsuspend.c: New file.
+	* tst-cancel7.c: New test.
+
+2003-03-31  Alexandre Oliva  <aoliva@redhat.com>
+
+	* alloca_cutoff.c: Include internals.h.
+	* sysdeps/pthread/errno-loc.c: Include linuxthreads/internals.h.
+	* sysdeps/pthread/herrno-loc.c: Likewise.
+	* sysdeps/pthread/res-state.c: Likewise.
+
+2003-03-25  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/bits/typesizes.h: New file.
+	* sysdeps/unix/sysv/linux/alpha/bits/typesizes.h: New file.
+	* sysdeps/unix/sysv/linux/sparc/bits/typesizes.h: New file.
+
+2003-03-24  Daniel Jacobowitz  <drow@mvista.com>
+
+	* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
+	(DOARGS_5, DOARGS_6, DOARGS_7): Rewritten.
+
+2003-03-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/fork.c (__fork): Add libc_hidden_def.
+
+2003-03-21  Daniel Jacobowitz  <drow@mvista.com>
+
+	* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
+	(SINGLE_THREAD_P_PIC): Use "reg" instead of "lr".
+
+2003-03-21  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/i386/tls.h [__ASSUME_SET_THREAD_AREA_SYSCALL]
+	(TLS_SETUP_GS_SEGMENT): Fix a typo.
+
+2003-03-19  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/Makefile: Fix cut&paste error.
+
+2003-03-18  Roland McGrath  <roland@redhat.com>
+
+	* Versions (libpthread: GLIBC_2.2): Remove
+	pthread_barrierattr_getpshared, never really existed.
+	(libpthread: GLIBC_2.0): Move __pthread_initialize to ...
+	(libpthread: GLIBC_PRIVATE): ... here.
+
+2003-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: New file.
+	* sysdeps/unix/sysv/linux/sparc/Makefile ($(objpfx)specs): Use full
+	path for crt[in].o.
+
+2003-03-14  Alexandre Oliva  <aoliva@redhat.com>
+
+	* sysdeps/mips/pspinlock.c (__pthread_spin_lock): Don't .set
+	mips2 on new abi.
+	* sysdeps/mips/pt-machine.h (__compare_and_swap): Likewise.
+	Handle 64-bit longs on n64.
+
+2003-03-07  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/ia64/pspinlock.c (__pthread_spin_lock,
+	__pthread_spin_trylock): Rewritten.
+
+2003-03-06  Ulrich Drepper  <drepper@redhat.com>
+
+	* tst-cancel4.c (tf_sleep): Lower sleep time a bit to not upset
+	recent kernels.
+
+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.
+
+2003-03-01  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/powerpc/powerpc64/pt-machine.h
+	(THREAD_GETMEM, THREAD_GETMEM_NC, THREAD_SETMEM, THREAD_SETMEM_NC):
+	New macros.
+	* sysdeps/powerpc/tls.h: Don't define those here.
+
+	* sysdeps/powerpc/tls.h [! USE_TLS && !__powerpc64__]: Define
+	tcbhead_t with multiple_threads member.
+	[USE_TLS] (tcbhead_t): Define minimal one-word version.
+	[USE_TLS && !__powerpc64__] (TLS_MULTIPLE_THREADS_IN_TCB): Define.
+	* sysdeps/powerpc/tcb-offsets.sym [USE_TLS]: Use tls.h macros to
+	derive thread register offset of p_multiple_threads member.
+
+	* descr.h (struct _pthread_descr_struct) [!USE_TLS || !TLS_DTV_AT_TP]:
+	Conditionalize p_header member on this.
+	[TLS_MULTIPLE_THREADS_IN_TCB]: Add p_multiple_threads alternatively.
+	* sysdeps/ia64/tls.h [USE_TLS] (TLS_MULTIPLE_THREADS_IN_TCB): Define.
+	* sysdeps/sh/tls.h: Likewise.
+	* sysdeps/ia64/tcb-offsets.sym [USE_TLS]: Use p_multiple_threads.
+	* sysdeps/sh/tcb-offsets.sym: Likewise.
+	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
+	(SINGLE_THREAD_P): Likewise.
+	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
+	(SINGLE_THREAD_P): Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
+	(SINGLE_THREAD_P): Likewise.
+	* pthread.c (__pthread_initialize_manager): Likewise.
+	* manager.c (pthread_handle_create): Likewise.
+
+	* sysdeps/powerpc/tls.h [HAVE_TLS_SUPPORT]: Define USE_TLS and all
+	related macros.
+
+2003-01-31  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S [SHARED]:
+	Conditionalize .toc section magic on this.
+
+2003-02-21  Roland McGrath  <roland@redhat.com>
+
+	* cancel.c (__pthread_perform_cleanup): Call __libc_thread_freeres
+	instead of __rpc_thread_destroy.
+
+2003-02-21  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S (__vfork): Call
+	__fork instead of branching to it if BROKEN_SPARC_WDISP22.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h (PSEUDO):
+	Fix typo.
+	* sysdeps/unix/sysv/linux/sparc/Makefile (specs): Add ./ prefix
+	to crti.o and crtn.o.
+	* sysdeps/unix/sysv/linux/x86_64/Makefile (specs): Likewise.
+
+2003-02-21  Roland McGrath  <roland@redhat.com>
+
+	* Makefile (install-lib-ldscripts): New variable.
+
+2003-02-20  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: Avoid short
+	interprocedure branches.
+
+2003-02-19  Ulrich Drepper  <drepper@redhat.com>
+
+	* specific.c (pthread_key_delete_helper): Don't use GETMEM, we
+	need the target thread's lock.
+
+2003-02-17  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/bits/local_lim.h: Define TTY_NAME_MAX
+	and LOGIN_NAME_MAX.
+
+2003-02-17  Kevin B. Hendricks  <kevin.hendricks@sympatico.ca>
+	    Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+	* sysdeps/powerpc/Makefile: Handle tcb-offsets.sym.
+	* sysdeps/powerpc/tcb-offsets.sym: New file.
+	* sysdeps/powerpc/tls.h: New file.
+	* sysdeps/powerpc/powerpc32/pt-machine.h (FLOATING_STACKS): Define.
+	(ARCH_STACK_MAX_SIZE): Define.
+	(THREAD_SELF): Define.
+	(INIT_THREAD_SELF): Define.
+	(THREAD_GETMEM): Define.
+	(THREAD_GETMEM_NC): Define.
+	(THREAD_SETMEM): Define.
+	(THREAD_SETMEM_NC): Define.
+	(__thread_self): Declare.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Adjust
+	for thread register.
+
+2003-02-14  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S (__vfork):
+	Check pthread_create existance, not __pthread_fork.
+
+2003-02-12  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/Makefile: Define CFLAGS-confstr.c.
+
+2003-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/alpha/vfork.S (__vfork): Check
+	pthread_create existance, not __pthread_fork.
+	* sysdeps/unix/sysv/linux/i386/vfork.S (__vfork): Likewise.
+	* sysdeps/unix/sysv/linux/ia64/vfork.S (__vfork): Likewise.
+	* sysdeps/unix/sysv/linux/m68k/vfork.S (__vfork): Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S (__vfork):
+	Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/vfork.S (__vfork): Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/vfork.S (__vfork): Likewise.
+	* sysdeps/unix/sysv/linux/sh/vfork.S (__vfork): Likewise.
+	Add .weak pthread_create.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S (__vfork): Fix a typo.
+	Check pthread_create existance, not __pthread_fork.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S (__vfork): Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-32/vfork.S (__vfork): Branch to
+	__fork whenever libpthread.so is loaded.
+
+2003-02-09  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h:
+	Rework: %r9 is destroyed by functions so don't use it as
+	temporary, align stack correctly, fix parameter for CDISABLE.
+
+2003-02-07  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/sh/Makefile: New file.
+	* sysdeps/sh/tcb-offsets.sym: Likewise.
+	* sysdeps/sh/tls.h: Don't include sysdep.h. Move include
+	of linuxthreads/descr.h after the definition of THREAD_SELF.
+	(tcbhead_t): Use IA64 type tcbhead_t for TLS case.
+	(TLS_TCB_SIZE): Set size of tcbhead_t.
+	(TLS_PRE_TCB_SIZE): Define.
+	(INSTALL_NEW_DTV): Set dtv of tcbhead_t structure instead of
+	a member of thread structure.
+	(THREAD_DTV): Likewise.
+	(TLS_INIT_TP_EXPENSIVE): Remove.
+	(TLS_INIT_TP): Set gbr register only.
+	(THREAD_SELF): New.
+	(INIT_THREAD_SELF): Likewise.
+	(NONTLS_INIT_TP): New.
+	* sysdeps/unix/sysv/linux/sh/pt-initfini.c (__fpscr_values):
+	Remove.
+	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (PSEUDO): Add
+	SYSCALL_INST_PAD macro after DO_CALL.
+	(SINGLE_THREAD_P): Fix non-PIC and TLS case so to read the
+	correct	variable.
+	* sysdeps/unix/sysv/linux/sh/vfork.S (__vfork): Branch to __fork
+	whenever libpthread.so is loaded.
+
+2003-02-08  Andreas Schwab  <schwab@suse.de>
+
+	* sysdeps/unix/sysv/linux/m68k/vfork.S: Branch to __fork whenever
+	libpthread.so is loaded.
+
+2003-02-07  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/i386/vfork.S: Make sure
+	__ASSUME_VFORK_SYSCALL is not defined if the kernel headers have
+	no __NR_vfork definition.
+
+2003-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+	* tst-popen2.c: New test.
+	* Makefile (tests): Add tst-popen2.
+	* sysdeps/unix/sysv/linux/alpha/vfork.S (__vfork): Branch to __fork
+	whenever libpthread.so is loaded.
+	* sysdeps/unix/sysv/linux/i386/vfork.S (__vfork): Likewise.
+	* sysdeps/unix/sysv/linux/ia64/vfork.S (__vfork): Likewise.
+	* 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/sparc/sparc32/vfork.S (__vfork): Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S (__vfork): Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/vfork.S (__vfork): Likewise.
+
+2003-02-05  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/bits/libc-lock.h (__libc_once): Set control
+	variable for non-libpthread case to the same value the
+	pthread_once function would use.
+
+2003-02-03  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S (__vfork): If
+	BROKEN_SPARC_WDISP22, handle SHARED the same way as non-SHARED.
+
+2003-02-04  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/unix/sysv/linux/hppa/pt-initfini.c: Do not use
+	multi-line strings.
+
+2003-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/s390/tls.h (TLS_INIT_TP): Return NULL, not 0.
+
+2003-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/alpha/tls.h (THREAD_GETMEM, THREAD_GETMEM_NC,
+	THREAD_SETMEM, THREAD_SETMEM_NC): Avoid warnings about unused self
+	variable.
+	* sysdeps/ia64/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
+	THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
+	* sysdeps/s390/s390-32/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
+	THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
+	* sysdeps/s390/s390-64/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
+	THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
+	* sysdeps/sh/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
+	THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
+	* sysdeps/sparc/sparc32/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
+	THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
+	* sysdeps/sparc/sparc64/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
+	THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
+
+2003-01-27  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* sysdeps/s390/s390-32/pt-machine.h (THREAD_SELF, INIT_THREAD_SELF):
+	Define TLS versions.
+	* sysdeps/s390/s390-64/pt-machine.h (THREAD_SELF, INIT_THREAD_SELF):
+	Likewise.
+	* sysdeps/s390/tls.h [HAVE_TLS_SUPPORT]	(USE_TLS, TLS_INIT_TCB_SIZE,
+	TLS_INIT_TCB_ALIGN, TLS_TCB_SIZE, TLS_TCB_ALIGN, TLS_TCB_AT_TP,
+	INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV, TLS_INIT_TP, THREAD_DTV):
+	Define.
+	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO): Use
+	branch with 32 bit offset.
+	* sysdeps/unix/sysv/linux/s390/s390-64/vfork.S: Likewise.
+
+2003-01-24  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/sparc/sparc32/pt-machine.h (__thread_self): Change to %g7,
+	as required by TLS ABI.
+	* sysdeps/sparc/sparc64/pt-machine.h (__thread_self): Likewise.
+	* sysdeps/sparc/tls.h [HAVE_TLS_SUPPORT] (USE_TLS, TLS_INIT_TCB_SIZE,
+	TLS_INIT_TCB_ALIGN, TLS_TCB_SIZE, TLS_TCB_ALIGN, TLS_TCB_AT_TP,
+	INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV, TLS_INIT_TP, THREAD_DTV):
+	Define.
+	[HAVE_TLS_SUPPORT]: Include descr.h and sysdep.h.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Use %g7
+	instead of %g6 for thread pointer.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Likewise.
+
+2003-01-25  Guido Guenther  <agx@sigxcpu.org>
+
+	* sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: New file.
+	* sysdeps/unix/sysv/linux/mips/Makefile: New file.
+
+2003-01-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* sysdeps/unix/sysv/linux/s390/s390-32/vfork.S: Avoid non pc relative
+	reference to __fork.
+
+2003-01-17  Richard Henderson  <rth@redhat.com>
+
+	* sysdeps/alpha/tls.h (tcbhead_t): Clarify second member.
+	(TLS_TCB_SIZE, TLS_TCB_ALIGN): Set for tcbhead_t.
+	(TLS_PRE_TCB_SIZE): New.
+	(TLS_INIT_TP, THREAD_SELF, INIT_THREAD_SELF): Update for
+	new ia64-style thread pointer layout.
+	(THREAD_GETMEM, THREAD_GETMEM_NC): New.
+	(THREAD_SETMEM, THREAD_SETMEM_NC): New.
+	* sysdeps/unix/sysv/linux/alpha/vfork.S: Don't tail-call to __fork
+	if !SHARED.
+
+2003-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/ia64/tls.h (tcbhead_t): Use the TLS ABI required layout
+	if USE_TLS only.
+	(NONTLS_INIT_TP): Revert last change.
+	* sysdeps/ia64/tcb-offsets.sym (MULTIPLE_THREADS_OFFSET): Define to
+	offsetof (tcbhead_t, multiple_threads) if USE_TLS not defined.
+
+2003-01-16  Jakub Jelinek  <jakub@redhat.com>
+
+	* pthread.c (_pthread_initialize_minimal): Use
+	GL(dl_tls_dtv_slotinfo_list) != NULL to check whether TLS has
+	been already initialized.
+
+2003-01-16  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/i386/tls.h (INIT_SYSINFO): Initialize head->sysinfo even
+	if not SHARED.
+
+2003-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/pthread/bits/libc-lock.h (__libc_lock_init,
+	__libc_lock_init_recursive): Initialize fields directly.
+
+2003-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/alpha/vfork.S (__vfork): Allow
+	__fork to be far away from __vfork ifndef SHARED.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S (__vfork):
+	Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S (__vfork): Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S (__vfork): Likewise.
+	Add a missing instruction.
+	* sysdeps/unix/sysv/linux/arm/vfork.S (__vfork): Conditionally
+	branch to __fork even if __NR_vfork is not defined.
+
+2003-01-14  Ulrich Drepper  <drepper@redhat.com>
+
+	* tst-cancel-wrappers.sh: Allow .__*_asynccancel functions names
+	as well.
+
+2003-01-14  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: New file.
+
+2003-01-14  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/ia64/vfork.S (JUMPTARGET): Remove.
+
+2003-01-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c: Avoid
+	unterminated string literals.
+	* sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c: Likewise.
+
+2003-01-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
+	(PSEUDO): Code reordering.  Move CENABLE and CDISABLE literals from
+	PSEUDO_END to PSEUDO.
+	(PSEUDO_END): Remove.
+	(SINGLE_THREAD_P): Save an instruction.
+	* sysdeps/unix/sysv/linux/s390/s390-32/vfork.S (__vfork): Add missing
+	parameter to SINGLE_THREAD_P call.
+	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO):
+	Code reordering.
+
+2003-01-10  Andreas Schwab  <schwab@suse.de>
+
+	* sysdeps/unix/sysv/linux/m68k/vfork.S: New file.
+
+2003-01-10  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO): Setup
+	backchain in pseudo_cancel.  Minor code improvements.
+	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO):
+	Likewise.
+
+2003-01-10  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* sysdeps/unix/sysv/linux/s390/s390-32/vfork.S: New file.
+	* sysdeps/unix/sysv/linux/s390/s390-64/vfork.S: New file.
+
+2002-01-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: New file.
+
+2002-01-09  Richard Henderson  <rth@redhat.com>
+
+	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Assume only
+	ret follows pseudo, and thus avoid branch-to-branch in cancel
+	case.  Use SYSCALL_ERROR_LABEL.
+
+2003-01-11  Philip Blundell  <philb@gnu.org>
+
+	* sysdeps/unix/sysv/linux/arm/vfork.S: New file.
+	* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (PSEUDO_RET):
+	Correctly unstack lr.
+	(UNDOARGS_5): Fix ordering of pushes and pops.
+	(SINGLE_THREAD_P_PIC): New.
+	(SINGLE_THREAD_P_INT): New.
+	(SINGLE_THREAD_P): Implement in terms of above.  Restore lr if it
+	was stacked.
+	(PSEUDO): Use SINGLE_THREAD_P_INT.
+
+2003-01-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/unix/sysv/linux/sh/vfork.S: New file.
+
+2003-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/ia64/tls.h (tcbhead_t): Change into dtv_t *, void *.
+	[HAVE_TLS_SUPPORT] (USE_TLS, TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN,
+	TLS_TCB_SIZE, TLS_PRE_TCB_SIZE, TLS_TCB_ALIGN, TLS_DTV_AT_TP,
+	INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV, TLS_INIT_TP, THREAD_SELF,
+	INIT_THREAD_SELF): Define.
+	[HAVE_TLS_SUPPORT]: Include descr.h.
+	(NONTLS_INIT_TP): Point __thread_self at the end of dummy
+	struct _pthread_descr_struct.
+	* sysdeps/ia64/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
+	THREAD_SETMEM, THREAD_SETMEM_NC): Define using THREAD_SELF,
+	not __thread_self.
+	* sysdeps/ia64/tcb-offsets.sym (MULTIPLE_THREADS_OFFSET): Adjust
+	computation.
+	* pthread.c (__pthread_initialize_minimal): Use tcbp, not self
+	for TCB pointer.
+	(__pthread_initialize_manager): Rename tcb to mgr.
+	Use tcbp for TCB pointer, if TLS_DTV_AT_TP set mgr to sizeof (struct
+	_pthread_descr) below tcbp, otherwise to tcbp.
+	* manager.c (pthread_handle_create): If TLS_DTV_AT_TP, set
+	new_thread to be below _dl_allocate_tls ().  Adjust new_thread back
+	before freeing.  Fix clone arguments if report_events and USE_TLS.
+	(pthread_free): Adjust th back before freeing.
+
+2003-01-10  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile: Moved to ...
+	* sysdeps/unix/sysv/linux/powerpc/Makefile: ...here.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: New File.
+
+2003-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/i386/vfork.S: New file.
+	* sysdeps/unix/sysv/linux/ia64/vfork.S: New file.
+	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
+	[__ASSEMBLER__] (SINGLE_THREAD_P): Remove trailing ;;.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: New file.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: New file.
+	* sysdeps/unix/sysv/linux/x86_64/vfork.S: New file.
+	* sysdeps/unix/sysv/linux/alpha/vfork.S: New file.
+	* tst-popen.c: New test.
+	* Makefile (tests): Add tst-popen.
+
+2003-01-06  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/sigwait.c (do_sigwait): Add
+	INTERNAL_SYSCALL_DECL, add err argument to INTERNAL_SYSCALL* macros.
+
+2003-01-06  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Use
+	PSEUDO_PREPARE_ARGS.  Fix branch condition after SINGLE_THREAD_P.
+
+2003-01-06  Philip Blundell  <philb@gnu.org>
+
+	* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: New file.
+
+2003-01-06  Jakub Jelinek  <jakub@redhat.com>
+
+	* internals.h (LIBC_CANCEL_HANDLED): Define.
+	* sysdeps/unix/sysv/linux/sigwait.c (LIBC_CANCEL_HANDLED): Add.
+	* signals.c (LIBC_CANCEL_HANDLED): Add.
+	* pt-system.c (LIBC_CANCEL_HANDLED): Add.
+	* tst-cancel-wrappers.sh: Remove all exceptions.
+
+	* sysdeps/unix/sysv/linux/alpha/Makefile: New file.
+
+2003-01-05  Andreas Schwab  <schwab@suse.de>
+
+	* sysdeps/m68k/Makefile: New file, use -fPIC for nonshared
+	objects.
+
+	* sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h (SINGLE_THREAD_P):
+	Fix for PIC.
+	(CENABLE): Likewise.
+	(CDISABLE): Likewise.
+
+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>.
+
+	* Makefile (libc.so-no-z-defs): Define to yes.
+
+2003-01-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/sh/tls.h: Include dl-sysdep.h	and stdint.h.
+	(tcbhead_t): Add multiple_threads member.
+	(TLS_INIT_TP_EXPENSIVE): Define.
+	* sysdeps/unix/sysv/linux/sh/pt-initfini.c: Don't use multi-line
+	strings.  Remove unused code.
+	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: New file.
+
+2003-01-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: New file.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile: New file.
+
+2003-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* internals.h (LIBC_THREAD_GETMEM, LIBC_THREAD_SETMEM): Define
+	even if NOT_IN_libc is defined.
+
+2003-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: New file.
+	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: New file.
+	* sysdeps/s390/Makefile: New file.
+	* sysdeps/s390/tcb-offsets.sym: New file.
+	* sysdeps/s390/tls.h: New file.
+
+2003-01-03  Richard Henderson  <rth@redhat.com>
+
+	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: New file.
+
+2003-01-03  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/pthread/bits/libc-tsd.h: Declare weak_extern functions.
+
+2003-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+	* Makefile ($(objpfx)libpthread.so): Depend on ld.so.
+
+2003-01-02  Ulrich Drepper  <drepper@redhat.com>
+
+	* tst-cancel-wrappers.sh: Exclude sigwait.c as well, it does not have
+	cancellation tests.
+
+2003-01-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* internals.h (struct pthread_functions): Rename
+	ptr_pthread_cond_* fields to ptr___pthread_cond_*.
+	* pthread.c (pthread_functions): Adjust.
+	* forward.c: Export both pthread_cond_*@@GLIBC_2.3.2 and
+	pthread_cond_*@GLIBC_2.0 compatibility symbols.
+	* Versions [libc] (GLIBC_2.3.2): Export pthread_cond_broadcast,
+	pthread_cond_destroy, pthread_cond_init, pthread_cond_signal
+	and pthread_cond_wait.
+
+	* sysdeps/pthread/bits/pthreadtypes.h (__pthread_cond_align_t): New
+	type.
+	(pthread_cond_t): Add __align member, shorten __padding.
+	* sysdeps/pthread/pthread.h (PHTREAD_COND_INITIALIZER): Initialize
+	__padding and __align too.
+
+	* sysdeps/pthread/bits/libc-lock.h (__libc_maybe_call2): Add
+	__builtin_expect.
+	* sysdeps/pthread/sigaction.c: New file.
+	* sysdeps/unix/sysv/linux/raise.c: New file.
+	* sysdeps/unix/sysv/linux/sigwait.c: New file.
+	* sysdeps/unix/sysv/linux/fork.c (__pthread_fork): Protect
+	weak_extern with #ifndef SHARED.
+	* sysdeps/unix/sysv/linux/jmp-unwind.c (__pthread_cleanup_upto):
+	Likewise.
+	* signals.c (__sigaction): Renamed to...
+	(__pthread_sigaction): ... this.
+	(__sigaction): New strong alias, #ifdef SHARED only.
+	(sigaction): Protect with #ifdef SHARED.
+	(sigwait): Renamed to...
+	(__pthread_sigwait): ... this.
+	(sigwait): New strong alias, #ifdef SHARED only.
+	(raise): Renamed to...
+	(__pthread_raise): ... this.
+	(raise): New strong alias, #ifdef SHARED only.
+	* internals.h (__pthread_sigaction, __pthread_sigwait,
+	__pthread_raise): New prototypes.
+	(struct pthread_functions): Add ptr_pthread_sigaction,
+	ptr_pthread_sigwait, ptr_pthread_raise.
+	* pthread.c (pthread_functions): Renamed to...
+	(__pthread_functions): ... this.  No longer static, no longer
+	SHARED only.  Initialize ptr_pthread_sigaction, ptr_pthread_sigwait
+	and ptr_pthread_raise.
+	[SHARED] (ptr_pthread_functions): Change to &__pthread_functions.
+	* libc-cancellation.c (__pthread_thread_self): Remove weak_extern.
+	* ptfork.c (__fork, __vfork): Protect with #ifdef SHARED.
+	* ptlongjmp.c (siglongjmp, longjmp): Protect with #ifdef SHARED.
+
+	* Makefile (tests, tests-static): Add tst-cancel-static.
+	* tst-cancel-static.c: New test.
+
+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/pthread/bits/pthreadtypes.h (pthread_cond_t): Add padding.
+	* condvar.c: Add symbol versioning.  The compatibility versions
+	are the same as the change in the interface does not effect this
+	implementation.
+	* Versions [libpthread]: Add definitions for new pthread_cond_*
+	interfaces for version GLIBC_2.3.2.
+
+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/i386/i686/pt-machine.h: Use __ASSEMBLER__ instead of
+	ASSEMBLER test macro.
+	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise.
+	* sysdeps/unix/sysv/linux/m68k/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/x86_64/sysdep-cancel.h: Likewise.
+
+	* sysdeps/pthread/errno-loc.c (__errno_location): Add
+	libc_hidden_def.
+	* sysdeps/pthread/herrno-loc.c (__h_errno_location): Likewise.
+	* sysdeps/pthread/res-state.c (__res_state): Likewise.
+	* sysdeps/unix/sysv/linux/allocrtsig.c (__libc_current_sigrtmin,
+	__libc_current_sigrtmax): Likewise.
+	* Versions [libc] (GLIBC_PRIVATE): Remove __libc_internal_tsd_get,
+	__libc_internal_tsd_set, __libc_internal_tsd_address,
+	__libc_alloca_cutoff.
+	[libpthread] (GLIBC_PRIVATE): Remove __libc_internal_tsd_get,
+	__libc_internal_tsd_set, __libc_internal_tsd_address.
+
+	* sysdeps/pthread/list.h: Remove assert.h include.
+	* sysdeps/unix/sysv/linux/fork.c: Include <fork.h>, not "fork.h".
+
+	* sysdeps/pthread/list.h: New file.
+	* sysdeps/unix/sysv/linux/jmp-unwind.c: New file.
+	* sysdeps/unix/sysv/linux/fork.c: New file.
+	* sysdeps/unix/sysv/linux/fork.h: New file.
+	* sysdeps/unix/sysv/linux/ia64/fork.h: New file.
+	* sysdeps/unix/sysv/linux/sparc/fork.h: New file.
+	* sysdeps/unix/sysv/linux/register-atfork.c: New file.
+	* sysdeps/unix/sysv/linux/unregister-atfork.c: New file.
+	* sysdeps/unix/sysv/linux/Makefile: New file.
+	* sysdeps/unix/sysv/linux/Versions: New file.
+	* ptlongjmp.c (pthread_cleanup_upto): Rename to...
+	(__pthread_cleanup_upto): ...this. Add targetframe argument,
+	use it instead of currentframe.  No longer static.
+	(siglongjmp, longjmp): Remove pthread_cleanup_upto calls.
+	* internals.h (__pthread_cleanup_upto, __pthread_fork): New prototypes.
+	(struct pthread_functions): Add ptr_pthread_fork,
+	ptr_pthread_cleanup_upto.
+	* pthread.c (pthread_functions): Initialize ptr_pthread_fork and
+	ptr_pthread_cleanup_upto.
+	* ptfork.c: Include fork.h.
+	(struct handler_list, struct handler_list_block): Remove.
+	(pthread_atfork_lock, pthread_atfork_prepare, pthread_atfork_parent,
+	pthread_atfork_child): Remove.
+	(pthread_insert_list, __pthread_atfork, pthread_call_handlers): Remove.
+	(__pthread_fork): New function.
+	(__fork, __vfork): Call __libc_fork.
+	* Makefile (libpthread-routines): Add old_pthread_atfork.
+	(libpthread-nonshared): Add pthread_atfork.
+	(others): Depend on $(objpfx)libpthread_nonshared.a.
+	($(objpfx)libpthread_nonshared.a): New rule.
+	(install): Depend on $(inst_libdir)/libpthread.so.
+	($(inst_libdir)/libpthread.so, $(inst_libdir)/libpthread_nonshared.a):
+	New rules.
+	(tests): Depend on libpthread_nonshared.a too.
+	* old_pthread_atfork.c: New file.
+	* pthread_atfork.c: New file.
+	* Makeconfig (shared-thread-library): Include libpthread_nonshared.a
+	too.
+
+2002-12-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* forward.c: Make all functions available by default again.  It
+	caused too much trouble.
+	* internals.h (struct pthread_functions): Rename ptr_pthread_exit
+	and ptr_pthread_attr_init_2_* to ptr___pthread_exit and
+	ptr___pthread_attr_init_2_*.
+	* pthread.c (pthread_functions): Adjust.
+
+2002-12-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* libc_pthread_init.c (__libc_pthread_init): Remove
+	MULTIPLE_THREADS_OFFSET check.
+	* sysdeps/i386/tls.h: Include tcb-offsets.h in assembler.
+	(SYSINFO_OFFSET): Remove.
+	* sysdeps/i386/Makefile [csu] (gen-as-const-headers): Add
+	tcb-offsets.sym.
+	* sysdeps/i386/tcb-offsets.sym: New file.
+	* sysdeps/pthread/tcb-offsets.h: New file.
+	* sysdeps/sparc/sparc32/tls.h: Removed.
+	* sysdeps/sparc/sparc64/tls.h: Move...
+	* sysdeps/sparc/tls.h: ...here.  Include tcb-offsets.h in assembler.
+	* sysdeps/sparc/Makefile: New file.
+	* sysdeps/sparc/tcb-offsets.sym: New file.
+	* sysdeps/ia64/tls.h: Include tcb-offsets.h in assembler.
+	* sysdeps/ia64/Makefile: New file.
+	* sysdeps/ia64/tcb-offsets.sym: New file.
+	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
+	(MULTIPLE_THREADS_OFFSET): Remove.
+	Replace defined MULTIPLE_THREADS_OFFSET
+	with defined FLOATING_STACKS && USE___THREAD.
+	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
+	(MULTIPLE_THREADS_OFFSET): Remove.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
+	(MULTIPLE_THREADS_OFFSET): Remove.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
+	(MULTIPLE_THREADS_OFFSET): Remove.
+	* pthread.c (__pthread_initialize_manager): Remove
+	MULTIPLE_THREADS_OFFSET cbeck.
+
+	* tst-cancel-wrappers.sh: Add line continuations.
+
+2002-12-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/pthread/bits/libc-tsd.h: Include linuxthreads/descr.h
+	and bits/libc-lock.h.
+	(__libc_internal_tsd_get, __libc_internal_tsd_set,
+	__libc_internal_tsd_address): Remove.
+	(__pthread_internal_tsd_address, __pthread_internal_tsd_get,
+	__pthread_internal_tsd_set): New weak_externs.
+	(__libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Define
+	using __libc_maybe_call2.
+	(__libc_tsd_key_t): Move to ...
+	* descr.h (__libc_tsd_key_t): ...here.
+	Remove bits/libc-tsd.h include.
+	* sysdeps/pthread/errno-loc.c: New file.
+	* sysdeps/pthread/herrno-loc.c: New file.
+	* sysdeps/pthread/res-state.c: New file.
+	* libc-cancellation.c (THREAD_GETMEM, THREAD_SETMEM): Remove.
+	(__libc_enable_asynccancel, __libc_disable_asynccancel): Use
+	thread_self unconditionally.  Use LIBC_THREAD_[SG]ETMEM instead
+	of THREAD_[SG]ETMEM.
+	* specific.c (libc_internal_tsd_set): Renamed to...
+	__pthread_internal_tsd_set.  Remove static.
+	(libc_internal_tsd_get): Renamed to...
+	__pthread_internal_tsd_get.  Remove static.
+	(libc_internal_tsd_address): Renamed to...
+	__pthread_internal_tsd_address.  Remove static.
+	(__libc_internal_tsd_set, __libc_internal_tsd_get,
+	__libc_internal_tsd_address, __libc_alloca_cutoff): Remove.
+	* internals.h [!NOT_IN_libc] (LIBC_THREAD_GETMEM, LIBC_THREAD_SETMEM):
+	Define.
+	(__pthread_internal_tsd_set, __pthread_internal_tsd_get,
+	__pthread_internal_tsd_address): New prototypes.
+	(struct pthread_functions): Add
+	ptr_pthread_internal_tsd_([sg]et|address) fields.
+	[!NOT_IN_libc && !FLOATING_STACKS] (thread_self): Define.
+	* pthread.c (pthread_functions) [!USE_TLS && !HAVE___THREAD]:
+	Initialize ptr_pthread_internal_tsd_([sg]et|address) fields.
+	* Versions (libpthread): Remove __libc_alloca_cutoff@GLIBC_PRIVATE.
+	* alloca_cutoff.c: New file.
+	* no-tsd.c: Removed.
+	* Makefile (routines): Remove no-tsd.  Add alloca_cutoff.
+	* pt-system.c (system): Remove cancellation handling.
+	* tst-cancel-wrappers.sh: Allow pt-system.o* to not use the
+	cancellation routines.
+
+	* sysdeps/i386/tls.h: Include dl-sysdep.h and stdint.h.
+	(tcbhead_t): Add sysinfo field.
+	(SYSINFO_OFFSET, INIT_SYSINFO): Define.
+	(TLS_INIT_TP): Use INIT_SYSINFO.
+	* sysdeps/unix/sysv/linux/i386/dl-sysdep.h: New file.
+	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
+	(MULTIPLE_THREADS_OFFSET): Adjust.
+	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
+	(MULTIPLE_THREADS_OFFSET): Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
+	(MULTIPLE_THREADS_OFFSET): Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
+	(MULTIPLE_THREADS_OFFSET): Likewise.
+	* descr.h: Include stdint.h.
+	(struct _pthread_descr_struct): Add p_header.data.sysinfo field.
+
+2002-12-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* libc_pthread_init.c: Include stdlib.h.
+	* sysdeps/i386/tls.h (tcbhead_t): Add multiple_threads member.
+	(TLS_INIT_TP_EXPENSIVE): Define.
+	* sysdeps/pthread/bits/libc-lock.h (__libc_maybe_call,
+	__libc_maybe_call2): In _LIBC check SHARED define.
+	* sysdeps/ia64/tls.h: New file.
+	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: New file.
+	* sysdeps/unix/sysv/linux/ia64/Makefile: New file.
+	* sysdeps/x86_64/tls.h (TLS_INIT_TP_EXPENSIVE): Define.
+	* sysdeps/sparc/sparc32/tls.h: New file.
+	* sysdeps/sparc/sparc64/tls.h: New file.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: New file.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: New file.
+	* Makefile (tests): Add tst-cancel[1-6].
+	(tests-reverse): Add tst-cancel5.
+	Link libc.so before libpthread.so for tests-reverse.
+	* tst-cancel1.c: New file.
+	* tst-cancel2.c: New file.
+	* tst-cancel3.c: New file.
+	* tst-cancel4.c: New file.
+	* tst-cancel5.c: New file.
+	* tst-cancel6.c: New file.
+
+2002-12-27  Andreas Schwab  <schwab@suse.de>
+
+	* sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h: New file.
+
+2002-12-22  Roland McGrath  <roland@redhat.com>
+
+	* Makefile (omit-deps): Add $(unix-syscalls:%=ptw-%).
+
+2002-12-21  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c (init_rtsigs): Remove incomplete __builtin_expect.
+	Reported by Art Hass <ahaas@airmail.net>.
+
+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.
+
+2002-12-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/i386/useldt.h (FLOATING_STACKS, ARCH_STACK_MAX_SIZE): Only
+	define if __ASSUME_LDT_WORKS > 0.
+	* libc-cancellation.c (THREAD_GETMEM, THREAD_SETMEM): Redefine to
+	struct member access if !FLOATING_STACKS.
+	* sysdeps/pthread/flockfile.c (flockfile): Change into weak alias.
+
+2002-12-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* internals.h (__pthread_thread_self): New prototype.
+	(struct pthread_functions): Add ptr_pthread_thread_self field.
+	* pthread.c (pthread_functions): Initialize ptr_pthread_thread_self.
+	(__pthread_thread_self): New function.
+	* libc-cancellation.c (__pthread_thread_self): Add weak_extern.
+	(__libc_enable_asynccancel, __libc_disable_asynccancel): Don't
+	use thread_self() directly if not FLOATING_STACKS.
+
+2002-12-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/x86_64/pt-machine.h: Guard most of the header
+	with #ifndef __ASSEMBLER__.
+	* pthread.c (pthread_functions): Use SHLIB_COMPAT around
+	pthread_attr_init_2_0 use.
+
+2002-12-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* wrapsyscall.c: Removed.
+	* weaks.c: Removed.
+	* Makefile (distribute): Add tst-cancel-wrappers.sh.
+	(routines): Remove weaks.  Add forward,
+	libc_pthread_init, libc-cancellation.
+	(shared-only-routines): Remove weaks.  Add forward.
+	(libpthread-routines): Remove wrapsyscall.
+	Add ptw-write, ptw-read, ptw-close, ptw-fcntl, ptw-accept,
+	ptw-connect, ptw-recv, ptw-recvfrom, ptw-recvmsg, ptw-send,
+	ptw-sendmsg, ptw-sendto, ptw-fsync, ptw-lseek, ptw-lseek64,
+	ptw-llseek, ptw-msync, ptw-nanosleep, ptw-open, ptw-open64,
+	ptw-pause, ptw-pread, ptw-pread64, ptw-pwrite, ptw-pwrite64,
+	ptw-tcdrain, ptw-wait, ptw-waitpid, pt-system, pt-allocrtsig.
+	(libpthread-shared-only-routines): Add pt-allocrtsig.
+	(tests): Depend on $(objpfx)tst-cancel-wrappers.out.
+	($(objpfx)tst-cancel-wrappers.out): New rule.
+	* sysdeps/pthread/bits/libc-lock.h: Include linuxthreads/internals.h
+	if in libc.
+	(__libc_maybe_call): In libpthread.* don't check for existance
+	of the function.
+	(__libc_maybe_call2): Define.
+	(__libc_lock_init, __libc_lock_fini, __libc_lock_lock,
+	__libc_lock_trylock, __libc_lock_unlock): Use it.
+	* sysdeps/pthread/flockfile.c: New file.
+	* sysdeps/pthread/ftrylockfile.c: New file.
+	* sysdeps/pthread/funlockfile.c: New file.
+	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: New file.
+	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: New file.
+	* sysdeps/unix/sysv/linux/allocrtsig.c: New file.
+	* libc-cancellation.c: New file.
+	* forward.c: New file.
+	* libc_pthread_init.c: New file.
+	* pt-system.c: New file.
+	* pthread.c: Remove locale.h.
+	(__pthread_manager_thread): Initialize multiple_threads.
+	(__pthread_multiple_threads): Declare.
+	(pthread_functions): New variable.
+	(__pthread_initialize_minimal): Remove __uselocale call.
+	Call __libc_pthread_init.
+	(__pthread_initialize_manager): Initialize __pthread_multiple_threads,
+	initial thread's multiple_threads and __libc_multiple_threads.
+	Check MULTIPLE_THREADS_OFFSET value. Initialize manager thread's
+	multiple_threads.
+	(pthread_setschedparam, pthread_getschedparam): Rename to __
+	prefixed variants.  Add strong_alias.
+	(current_rtmin, current_rtmax, __libc_current_sigrtmin,
+	__libc_current_sigrtmax, __libc_allocate_rtsig): Remove.
+	(init_rtsigs): Use __libc_current_sigrtmin_private.
+	(pthread_initialize): Only call init_rtsigs if
+	!__ASSUME_REALTIME_SIGNALS.
+	(__pthread_require_wrappers, __pthread_require_lockfile): Remove.
+	* internals.h (__pthread_attr_destroy, __pthread_attr_setdetachstate,
+	__pthread_attr_getdetachstate, __pthread_attr_setschedparam,
+	__pthread_attr_getschedparam, __pthread_attr_setschedpolicy,
+	__pthread_attr_getschedpolicy, __pthread_attr_setinheritsched,
+	__pthread_attr_getinheritsched, __pthread_attr_setscope,
+	__pthread_attr_getscope, __pthread_cond_init,
+	__pthread_cond_destroy, __pthread_cond_wait,
+	__pthread_cond_signal, __pthread_cond_broadcast,
+	__pthread_condattr_init, __pthread_condattr_destroy,
+	__pthread_equal, __pthread_getschedparam,
+	__pthread_setschedparam, __pthread_setcancelstate,
+	__pthread_setcanceltype, __pthread_enable_asynccancel,
+	__libc_enable_asynccancel, __libc_pthread_init): New prototype.
+	(__pthread_mutex_init, __pthread_mutex_destroy,
+	__pthread_mutex_lock, __pthread_mutex_unlock,
+	__pthread_mutex_trylock): Likewise.
+	Add hidden_proto.
+	(struct pthread_functions): New type.
+	(__libc_pthread_functions): New variable.
+	(LIBC_CANCEL_ASYNC, LIBC_CANCEL_RESET): Define.
+	* descr.h (struct _pthread_descr_struct): Add
+	p_header.data.multiple_threads field.
+	* manager.c (pthread_handle_create): Initialize multiple_threads.
+	* cancel.c (__pthread_enable_asynccancel,
+	__pthread_disable_asynccancel): New functions.
+	(__pthread_provide_wrappers): Remove.
+	(pthread_setcancelstate, pthread_setcanceltype): Rename to __
+	prefixed variants.  Add strong_alias.
+	* condvar.c (pthread_cond_init, pthread_cond_destroy,
+	pthread_cond_wait, pthread_cond_signal, pthread_cond_broadcast,
+	pthread_condattr_init, pthread_condattr_destroy): Likewise.
+	* join.c (pthread_exit): Likewise.
+	* attr.c (pthread_attr_destroy, pthread_attr_setdetachstate,
+	pthread_attr_getdetachstate, pthread_attr_setschedparam,
+	pthread_attr_getschedparam, pthread_attr_setschedpolicy,
+	pthread_attr_getschedpolicy, pthread_attr_setinheritsched,
+	pthread_attr_getinheritsched, pthread_attr_setscope,
+	pthread_attr_getscope): Likewise.
+	* mutex.c (__pthread_mutex_init, __pthread_mutex_destroy,
+	__pthread_mutex_lock, __pthread_mutex_unlock,
+	__pthread_mutex_trylock): Add hidden_def.
+	* Versions (libc): Add __libc_pthread_init,
+	__libc_current_sigrtmin_private, __libc_current_sigrtmax_private,
+	__libc_allocate_rtsig_private @@GLIBC_PRIVATE.
+	* lockfile.c: Remove some USE_IN_LIBIO guards.
+	(__pthread_provide_lockfile): Remove.
+	* pt-allocrtsig.c: New file.
+	* tst-cancel-wrappers.sh: New test.
+
+2002-12-15  Ulrich Drepper  <drepper@redhat.com>
+
+	* Versions [libpthread: GLIBC_2.3.2]: Remove creat, poll, pselect,
+	readv, select, sigpause, sigsuspend, sigwaitinfo, waitid, writev.
+	* wrapsyscall.c: Remove creat, poll, pselect, readv, select,
+	sigpause, sigsuspend, sigwaitinfo, waitid, and writev wrappers.
+
+2002-12-10  Ulrich Drepper  <drepper@redhat.com>
+
+	* wrapsyscall.c (CANCELABLE_SYSCALL): Don't define function as
+	weak.  There is no reason for that.
+	(CANCELABLE_SYSCALL_VA): Likewise.
+
+2002-12-09  Ulrich Drepper  <drepper@redhat.com>
+
+	* wrapsyscall.c: Add wrappers for creat, poll, pselect, readv, select,
+	sigpause, __xpg_sigpause, sigsuspend, sigwaitinfo, waitid, and writev.
+	* Versions: Export creat, poll, pselect, readv, select, sigpause,
+	__xpg_sigpause, sigsuspend, sigwaitinfo, waitid, and writev from
+	libpthread in version GLIBC_2.3.2.
+
+2002-12-06  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/bits/libc-lock.h: Define __rtld_lock_* macros.
+
+2002-12-05  Roland McGrath  <roland@redhat.com>
+
+	* pthread.c (__pthread_initialize_minimal)
+	[USE_TLS && SHARED && !USE___THREAD]: Initialize TLS and set up the
+	TCB if the dynamic linker didn't do it at startup.
+
+	* sysdeps/i386/tls.h (TLS_INIT_TP): Make it return zero or an error
+	string.
+	(TLS_DO_SET_THREAD_AREA, TLS_DO_MODIFY_LDT, TLS_SETUP_GS_SEGMENT):
+	Submacros updated.
+	* sysdeps/x86_64/tls.h (TLS_INIT_TP): Likewise.
+	* sysdeps/alpha/tls.h (TLS_INIT_TP): Likewise (always zero).
+
+2002-12-03  Roland McGrath  <roland@redhat.com>
+
+	* pthread.c (pthread_initialize) [SHARED]: Copy dl_error_tsd value
+	from dynamic linker internal cell to new libc cell.
+
+2002-11-28  Roland McGrath  <roland@redhat.com>
+
+	* tst-context.c: #define IS_IN_libpthread around #include <tls.h>
+	before other headers, so FLOATING_STACKS is not defined wrongly.
+
+	* sysdeps/i386/tls.h [!IS_IN_libpthread]: Enable TLS support
+	even if [! FLOATING_STACKS].
+	(TLS_DO_MODIFY_LDT_KERNEL_CHECK): New macro.
+	If not under [__ASSUME_LDT_WORKS > 0], then do a runtime check of
+	dl_osversion >= 2.3.99 and fatal if not.
+	(TLS_DO_MODIFY_LDT): Use it.
+
+2002-11-28  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define macros which
+	require it to 200112L.  Remove _POSIX_POLL and _POSIX_SELECT.
+	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
+
+2002-11-19  Ulrich Drepper  <drepper@redhat.com>
+
+	* Versions (libc: GLIBC_2.0): Remove names of functions which are
+	not defined in libc.
+	* Makefile (shared-only-routines): Add weaks.
+	* weaks.c: Remove functions which are not exported from libc.so.
+
+2002-11-14  Roland McGrath  <roland@redhat.com>
+
+	* libc-tsd.c: New file.
+	* Makefile (distribute): Add it.
+	(libc-link.so): New variable.
+	($(objpfx)libpthread.so): Depend on that instead of libc.so file name.
+	(libc-ok-for-link): New variable.
+	[$(versioning) = yes]: Include $(common-objpfx)tls.make and define
+	libc-ok-for-link to $(use-thread).
+	[$(libc-ok-for-link) = no]
+	(libc-link.so): Set to $(objpfx)libc.so, not $(common-objpfx)libc.so.
+	($(objpfx)libc_pic_lite.a,$(objpfx)libc_pic_lite.os, $(objpfx)libc.so):
+	New targets.
+	(generated): Append them.
+	(extra-objs): Append libc-tsd.os.
+
+	* libc-tls-loc.c: New file.
+	* Makefile (libpthread-routines): Add it.
+
+2002-11-14  Andreas Schwab  <schwab@suse.de>
+
+	* sysdeps/unix/sysv/linux/ia64/pt-initfini.c: Fix unterminated
+	string.
+
+2002-11-13  Roland McGrath  <roland@redhat.com>
+
+	* Examples/ex6.c (main): Improve error reporting.
+
+2002-11-04  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/Makefile: Compile pthread.c and sighandler.c with
+	-fno-omit-frame-pointer.  Patch by Andreas Steinmetz <ast@domdv.de>.
+
+	* sysdeps/i386/useldt.h [PIC] (USETLS_LOAD_EBX): Use correct input
+	register number.
+	(DO_SET_THREAD_AREA): Mark asm output specifiers correctly.
+
+2002-10-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* manager.c (pthread_start_thread): Call __uselocale even
+	if [! SHARED].  Patch by Leon Kanter <leon@geon.donetsk.ua>.
+
+2002-10-17  Roland McGrath  <roland@redhat.com>
+
+	* Makefile (unload): Don't link in libpthread.so.
+	($(objpfx)unload.out): Do depend on it.
+	* unload.c (main): Improve error reporting.
+
+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)
+	(__libc_atfork): Use it.
+
+	* pthread.c [SHARED] (__libc_dl_error_tsd): New function.
+	(pthread_initialize) [SHARED]: Set _dl_error_catch_tsd to that.
+	* Versions (libc: GLIBC_PRIVATE): Add __libc_dl_error_tsd.
+	(ld: GLIBC_PRIVATE): Set removed.
+
+2002-10-11  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/execve.c: New file.
+
+2002-10-09  Jakub Jelinek  <jakub@redhat.com>
+
+	* no-tsd.c: Include stdlib.h.
+
+2002-10-07  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/allocalim.h: New file.
+	* descr.h (struct _pthread_descr_struct): Add p_alloca_cutoff
+	field.
+	* manager.c (__pthread_allocate_stack): Add out_stacksize argument.
+	Pass stack size to caller.
+	(pthread_handle_create): Set p_alloca_cutoff.
+	* pthread.c (__pthread_initial_thread): Use C99 designated
+	initializers.  Set p_alloca_cutoff.
+	(__pthread_manager_thread): Likewise.
+	(__pthread_initialize_minimal) [USE_TLS]: Set p_alloca_cutoff
+	for initial thread.
+	(__pthread_init_max_stacksize): Possibly decrease p_alloca_cutoff
+	for initial thread.
+	(__pthread_initialize_manager) [USE_TLS]: Set p_alloca_cutoff
+	for manager thread.
+	* specific.c (__libc_alloca_cutoff): New function.
+	* no-tsd.c (__libc_alloca_cutoff): New function.
+	* Versions: Export __libc_alloca_cutoff@@GLIBC_PRIVATE from libc
+	and libpthread.
+
+2002-10-02  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/sh/pt-machine.h: Make C code ifndef'ed with __ASSEMBLER__.
+	* sysdeps/sh/tls.h: Likewise.
+	* sysdeps/unix/sysv/linux/sh/smp.h: New file.
+
+2002-09-29  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/pthread/tst-timer.c (main): Clear
+	SIGEV2.sigev_notify_attributes.
+
+2002-09-29  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/useldt.h (DO_SET_THREAD_AREA): Don't use
+	INLINE_SYSCALL for set_thread_area syscall.
+
+2002-09-28  Roland McGrath  <roland@redhat.com>
+
+	* pthread.c (__pthread_reset_main_thread) [FLOATING_STACKS]:
+	Don't call setrlimit, since we did no prior bogon we need to undo.
+
+2002-09-27  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/x86_64/tls.h [__ASSEMBLER__]: Don't include <pt-machine.h>.
+
+2002-09-24  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/x86_64/tls.h: New file.
+
+2002-09-23  Roland McGrath  <roland@redhat.com>
+
+	* Examples/ex13.c (dump_mut): int -> size_t for counter.
+
+2002-09-18  Bruno Haible  <bruno@clisp.org>
+
+	* Examples/ex10.c (thread): Fail if pthread_mutex_timedlock() returns
+	an unexpected error code.
+
+	* internals.h (__pthread_message): Add const to first parameter type.
+	* pthread.c (__pthread_message): Likewise.
+
+	* sysdeps/unix/sysv/linux/configure: Moved to ../sysdeps/pthread.
+
+2002-09-17  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT, TLS_DO_SET_THREAD_AREA):
+	Set the descriptor limit to the full 4GB, so %gs:OFFSET works for any
+	offset (positive or negative) relative to the thread struct.
+	* sysdeps/i386/useldt.h (DO_MODIFY_LDT, DO_SET_THREAD_AREA): Likewise.
+
+2002-09-12  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: Move...
+	* sysdeps/unix/sysv/linux/sparc/Makefile: ...here.
+	Replace /usr/lib/crt[in].o with crt[in].o too.
+
+2002-09-11  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* sysdeps/powerpc/powerpc64/pt-machine.h: New file.
+
+2002-09-04  Bruno Haible  <bruno@clisp.org>
+
+	* pthread.c: Include <sys/time.h>.
+	(is_smp_system): Move to sysdeps/unix/sysv/linux/smp.h.
+	* sysdeps/unix/sysv/linux/smp.h: New file, extracted from pthread.c.
+	* Makefile (distribute): Add smp.h to the list.
+
+2002-09-04  Bruno Haible  <bruno@clisp.org>
+
+	* sysdeps/alpha/pt-machine.h: Choose different include file location
+	on non-Linux platforms.
+
+	* wrapsyscall.c (PROMOTE_INTEGRAL_TYPE): New macro.
+	(open, open64): Change va_arg argument type to the integral type to
+	which mode_t promotes.
+
+	* sysdeps/pthread/tst-timer.c (main): Don't assume anything about
+	the structure of 'struct sigevent'.
+
+	* errno.c (__errno_location, __h_errno_location, __res_state):
+	Use prototype function definitions.
+
+2002-07-29  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* shlib-versions: Set libpthread version to 2.3 for powerpc64.
+	* sysdeps/powerpc/pt-machine.h: moved to...
+	* sysdeps/powerpc/powerpc32/pt-machine.h: ...here
+	* sysdeps/powerpc/powerpc64/pt-machine.h: New file.
+
+2002-09-02  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/powerpc/Makefile (CFLAGS-pt-initfini.s): New variable.
+
+2002-09-01  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/pthread/bits/libc-tsd.h (enum __libc_tsd_key_t): Add new keys
+	CTYPE_B, CTYPE_TOLOWER, CTYPE_TOUPPER.
+
+	* sysdeps/pthread/bits/libc-tsd.h (__libc_tsd_address): New macro.
+	(__libc_internal_tsd_address): Declare it.
+	* Versions (libc, ld, libpthread: GLIBC_PRIVATE): Add
+	__libc_internal_tsd_address.
+	* specific.c (libc_internal_tsd_address): New function.
+	(__libc_internal_tsd_address): New variable.
+	* no-tsd.c (__libc_internal_tsd_address): New variable.
+
+2002-08-31  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile: Don't use rule for crt%.o, spell it out as rules for
+	crti.o and crtn.o.
+
+2002-08-30  Roland McGrath  <roland@redhat.com>
+
+	* Makefile (extra-objs, omit-deps): Add crtn.
+	($(objpfx)libpthread.so): Depend on $(objpfx)crtn.o.
+	($(objpfx)libpthread.so: +postinit): Append $(objpfx)crtn.o.
+	($(objpfx)crtn.S): New target.
+	($(objpfx)crt%.o): Pattern rule replaces crti.o target.
+	(generated): Add crtn.S.
+
+	* sysdeps/unix/sysv/linux/x86_64/Makefile ($(objpfx)specs): Massage
+	crtn.o pathname too.
+
+2002-08-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* pthread.c (__pthread_initialize_minimal): Call __uselocale even
+	if [! SHARED].
+
+2002-08-30  Roland McGrath  <roland@redhat.com>
+
+	* tst-static-locale.c: New file.
+	* Makefile (tests, tests-static): Add it.
+
+2002-04-24  Steven Munroe  <sjmunroe@us.ibm.com>
+
+	* spinlock.c (__pthread_lock): Fix spurious wakeup
+	handling.  Don't clear lowest bit of list pointer as sign the thread
+	is still on the wait list.  Don't restart after spurious wakeup
+	with spinning to get the lock.
+	(__pthread_unlock): Take set lowest bit into account when handling
+	pointer to list elements.
+	Patch by Steve Munroe <sjmunroe@us.ibm.com>.
+
+2002-08-28  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/pthread/timer_routines.c (thread_func): Fix type in cast.
+
+2002-08-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/hppa/aio_cancel.c: New file.
+	* sysdeps/unix/sysv/linux/sparc/aio_cancel.c: New file.
+	* sysdeps/unix/sysv/linux/alpha/aio_cancel.c: New file.
+
+2002-08-28  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/timer_routines.c (thread_func): Change return
+	type to void and add casts in use to avoid warnings with all gcc
+	versions.
+
+2002-08-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/bits/local_lim.h (PTHREAD_THREADS_MAX):
+	Bump to 16384.
+	* manager.c (__pthread_handles): Remove.
+	* pthandles.c: New file.
+	* pthread.c (__pthread_initialize_minimal): Initialize
+	__pthread_handles[0] and __pthread_handles[1].
+	* Makefile (libpthread-routines): Add pthandles (must be last).
+
+2002-08-26  Brian Youmans  <3diff@gnu.org>
+
+	* Examples/ex10.c: Corrected version number in Lesser GPL copying
+	permission notice from 2 to 2.1.
+	* Examples/ex11.c: Likewise.
+	* Examples/ex13.c: Likewise.
+	* Examples/ex8.c: Likewise.
+	* Examples/ex9.c: Likewise.
+	* barrier.c: Likewise.
+	* events.c: Likewise.
+	* lockfile.c: Likewise.
+	* no-tsd.c: Likewise.
+	* pt-machine.c: Likewise.
+	* ptclock_gettime.c: Likewise.
+	* ptclock_settime.c: Likewise.
+	* rwlock.c: Likewise.
+	* sysdeps/alpha/pspinlock.c: Likewise.
+	* sysdeps/alpha/pt-machine.h: Likewise.
+	* sysdeps/arm/pspinlock.c: Likewise.
+	* sysdeps/arm/pt-machine.h: Likewise.
+	* sysdeps/cris/pspinlock.c: Likewise.
+	* sysdeps/cris/pt-machine.h: Likewise.
+	* sysdeps/hppa/pspinlock.c: Likewise.
+	* sysdeps/hppa/pt-machine.h: Likewise.
+	* sysdeps/i386/i686/pt-machine.h: Likewise.
+	* sysdeps/i386/pspinlock.c: Likewise.
+	* sysdeps/i386/pt-machine.h: Likewise.
+	* sysdeps/i386/useldt.h: Likewise.
+	* sysdeps/ia64/pspinlock.c: Likewise.
+	* sysdeps/ia64/pt-machine.h: Likewise.
+	* sysdeps/m68k/pspinlock.c: Likewise.
+	* sysdeps/m68k/pt-machine.h: Likewise.
+	* sysdeps/mips/pspinlock.c: Likewise.
+	* sysdeps/mips/pt-machine.h: Likewise.
+	* sysdeps/powerpc/pspinlock.c: Likewise.
+	* sysdeps/powerpc/pt-machine.h: Likewise.
+	* sysdeps/pthread/bits/initspin.h: Likewise.
+	* sysdeps/pthread/bits/libc-lock.h: Likewise.
+	* sysdeps/pthread/bits/libc-tsd.h: Likewise.
+	* sysdeps/pthread/getcpuclockid.c: Likewise.
+	* sysdeps/pthread/posix-timer.h: Likewise.
+	* sysdeps/pthread/timer_create.c: Likewise.
+	* sysdeps/pthread/timer_delete.c: Likewise.
+	* sysdeps/pthread/timer_getoverr.c: Likewise.
+	* sysdeps/pthread/timer_gettime.c: Likewise.
+	* sysdeps/pthread/timer_routines.c: Likewise.
+	* sysdeps/pthread/timer_settime.c: Likewise.
+	* sysdeps/pthread/tst-timer.c: Likewise.
+	* sysdeps/s390/pspinlock.c: Likewise.
+	* sysdeps/s390/s390-32/pt-machine.h: Likewise.
+	* sysdeps/s390/s390-64/pt-machine.h: Likewise.
+	* sysdeps/sh/pspinlock.c: Likewise.
+	* sysdeps/sh/pt-machine.h: Likewise.
+	* sysdeps/sparc/sparc32/pspinlock.c: Likewise.
+	* sysdeps/sparc/sparc32/pt-machine.h: Likewise.
+	* sysdeps/sparc/sparc32/sparcv9/pspinlock.c: Likewise.
+	* sysdeps/sparc/sparc64/pspinlock.c: Likewise.
+	* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/local_lim.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/sigthread.h: Likewise.
+	* sysdeps/unix/sysv/linux/hppa/bits/initspin.h: Likewise.
+	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
+	* tststack.c: Likewise.
+	* unload.c: Likewise.
+	* weaks.c: Likewise.
+	* wrapsyscall.c: Likewise.
+
+	* sysdeps/pthread/pt-initfini.c: Changed copying
+	permission notice to Lesser GPL from Library GPL, including the
+	references in the special exception.
+	* sysdeps/unix/sysv/linux/hppa/pt-initfini.c: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/pt-initfini.c: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c:
+	Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c:
+	Likewise.
+	* sysdeps/unix/sysv/linux/sh/pt-initfini.c: Likewise.
+
+2002-08-26  Ulrich Drepper  <drepper@redhat.com>
+
+	* Examples/ex10.c (thread): tv_nsec == 1000000000 is already
+	overflow [PR libc/4244].
+
+2002-08-25  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/timer_routines.c (thread_func): Make the
+	compiler happy by adding a return statement which will never be
+	reached.
+
+	* tst-context.c (main): Cast to long before casting to pointer.
+
+	* Examples/ex17.c (main): Use correct format string.
+
+	* Examples/ex9.c (thread): Remove incorrect return statement.
+
+2002-08-23  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c (__linuxthreads_version): New global constant.
+
+2002-08-23  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/x86_64/pt-machine.h: Use %fs instead of %gs
+	as thread specific register.
+	(testandset): Fix inline asm.
+	(THREAD_GETMEM): Fix inline asm.
+
+2002-08-22  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/i386/useldt.h (INIT_THREAD_SELF): Remove [HAVE_TLS_SUPPORT]
+	conditional.
+	(INIT_THREAD_SELF): Pass second arg to DO_SET_THREAD_AREA.
+	(DO_SET_THREAD_AREA): Take second arg, pass to DO_SET_THREAD_AREA_REUSE
+	macro.  That chooses whether to reuse %gs value or let kernel set it.
+	[USE_TLS] (DO_SET_THREAD_AREA_REUSE): New macro, always 1.
+	[!USE_TLS] (DO_SET_THREAD_AREA_REUSE): New macro, true if arg is
+	not constant 0.
+
+2002-08-21  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/tls.h (TLS_SETUP_GS_SEGMENT): Add new parameter
+	also to the third definition of this macro.
+
+2002-06-17  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/unix/sysv/linux/x86_64/Makefile (CFLAGS-pt-initfini.s):
+	Set it.
+
+2002-08-20  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/useldt.h: Go back to using 16-bit instructions when
+	loading/reading segment registers.  Some old hardware doesn't
+	handle the 32-bit instructions as expected.
+	* sysdeps/i386/tls.h: Likewise.
+
+	* sysdeps/i386/tls.h (TLS_DO_SET_THREAD_AREA): Second parameter is
+	renamed to secondcall and use is negated.
+	(TLS_SETUP_GS_SEGMENT): Likewise.
+	(TLS_INIT_TP): Likewise.
+	* sysdeps/sh/tls.h (TLS_INIT_TP): Second parameter is renamed to
+	secondcall.
+
+	* sysdeps/i386/tls.h: Use 32-bit operations when handling segment
+	registers.  No need to mask upper 16 bits in this case.
+	* sysdeps/i386/useldt.h: Likewise.
+	(DO_SET_THREAD_AREA): We have to load %gs again even if the value
+	is the same since the GDT content changed.
+
+	* sysdeps/i386/tls.h (TLS_INIT_TP): Add new parameter and pass it on
+	to TLS_SETUP_GS_SEGMENT.
+	(TLS_SETUP_GS_SEGMENT): Add new parameter and pass it on to
+	TLS_DO_SET_THREAD_AREA.
+	(TLS_DO_SET_THREAD_AREA): If new parameter is zero determine
+	entry number from %gs value.
+	* sysdeps/sh/tls.h (TLS_INIT_TP): Add new parameter and simply
+	ignore it.
+
+	* manager.c (pthread_handle_create): Pass NULL to _dl_allocate_tls.
+	Pass true to _dl_deallocate_tls.
+	(pthread_free): Likewise.
+	* pthread.c (__pthread_initialize_manager): Likewise.
+
+2002-08-19  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/useldt.h (DO_SET_THREAD_AREA): Use correct shift when
+	computing index from %gs value.
+
+2002-08-16  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/i386/tls.h (TLS_DO_SET_THREAD_AREA): Calculate segment
+	register value from entry number properly.
+
+	* sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): Rewrite asm to use %ebx
+	optimally conditional on [__PIC__].
+	(TLS_DO_SET_THREAD_AREA): New macro, implement inline syscall
+	without touching errno, and use latest modify_ldt-like interface.
+	(TLS_SETUP_GS_SEGMENT): Use that instead of INLINE_SYSCALL.
+	* sysdeps/i386/useldt.h (DO_MODIFY_LDT): Set %gs in this macro.
+	(DO_SET_THREAD_AREA): New macro, uses current syscall interface with
+	existing %gs value as the segment to set.
+	(INIT_THREAD_SELF): Rewritten using those.  Use set_thread_area only
+	under [HAVE_TLS_SUPPORT] so we can rely on the initialization done
+	by the first thread's early TLS setup.
+
+2002-08-15  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/i386/tls.h (TLS_INIT_TP): Use statement expression and
+	return a value as callers now expect.
+
+2002-08-11  Roland McGrath  <roland@redhat.com>
+
+	* pthread.c (__pthread_initialize_manager): Initialize
+	p_header.data.tcb field of manager thread's descriptor.
+	(__pthread_initialize_minimal): Don't initialize p_header.data.self
+	field, already done by TLS_INIT_TP.
+
+	* manager.c (pthread_handle_create): Move p_header field initializers
+	together.
+
+2002-08-08  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/tls.h (TLS_DO_SET_THREAD_AREA): Removed.
+
+2002-08-07  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c (__linuxthreads_initial_report_events): New variable.
+	(__pthread_initialize_manager): Use it to initialize p_report_events
+	of initial thread.
+	[TLS]: Store pointer to descriptor of manager in __pthread_handles.
+
+2002-08-07  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): Add an extra argument with
+	an "m" constraint to the asm so the compiler knows LDT_ENTRY was used.
+
+2002-08-02  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/pthread/bits/libc-tsd.h (enum __libc_tsd_key_t):
+	Add _LIBC_TSD_KEY_LOCALE.
+	* manager.c (pthread_start_thread) [!(USE_TLS && HAVE___THREAD)]:
+	Call __uselocale to initialize our per-thread locale pointer to
+	the global one.
+	* pthread.c (__pthread_initialize_minimal): Likewise.
+
+	* sysdeps/i386/tls.h (TLS_DO_SET_THREAD_AREA): Add missing \s.
+
+2002-08-02  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c: Declare _errno, _h_errno, and _res unless we use TLS
+	internally.
+
+	* cancel.c (__pthread_perform_cleanup) [USE_TLS && HAVE___THREAD]:
+	Don't use p_libc_specific element in thread descriptor.
+
+2002-07-30  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/pthread/bits/libc-tsd.h: Include <tls.h>.
+	[USE_TLS && HAVE___THREAD]: Just include the sysdeps/generic file,
+	which does the right thing when __thread support is available.
+	* descr.h (struct _pthread_descr_struct) [USE_TLS && HAVE___THREAD]:
+	Omit `p_libc_specific', `p_errnop', `p_errno', `p_h_errnop',
+	`p_h_errno', `p_resp', and `p_res' members.
+	* pthread.c (__pthread_initialize_minimal) [USE_TLS && HAVE___THREAD]:
+	Don't initialize `p_errnop' and `p_h_errnop' members.
+	(__pthread_reset_main_thread): Likewise.
+	(__pthread_initialize_manager): Likewise.
+	* manager.c (__pthread_manager, pthread_handle_create): Likewise.
+	* pthread.c (pthread_initialize) [USE_TLS && HAVE___THREAD]:
+	Don't initialize `p_resp' member.
+	(__pthread_reset_main_thread): Likewise.
+	* manager.c (pthread_handle_create): Likewise.
+	* specific.c (libc_internal_tsd_set, libc_internal_tsd_get):
+	Conditionalize these on [!(USE_TLS && HAVE___THREAD)].
+	* no-tsd.c: Conditionalize contents on [!(USE_TLS && HAVE___THREAD)].
+	* errno.c [USE_TLS && HAVE___THREAD]
+	(__h_errno_location, __res_state): Don't define these at all.
+
+	* sysdeps/i386/tls.h (INSTALL_DTV): Add parens around arguments!
+	(INSTALL_NEW_DTV, GET_DTV): Likewise.
+	* sysdeps/sh/tls.h (INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV): Likewise.
+
+	* weaks.c: Don't include <errno.h> here.
+
+2002-08-01  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): New macro, broken out of
+	TLS_INIT_TP.
+	(TLS_DO_SET_THREAD_AREA): New macro, uses thread_set_area syscall.
+	(TLS_SETUP_GS_SEGMENT): New macro, try one or the other or both.
+	(TLS_INIT_TP): Use that.
+
+2002-08-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/i386/useldt.h (DO_MODIFY_LDT): Move from INIT_THREAD_SELF.
+	(INIT_THREAD_SELF): Use sys_thread_area syscall instead if available.
+	(FREE_THREAD): Avoid modify_ldt if using GDT.
+	* sysdeps/i386/pspinlock.c (__have_no_set_thread_area): New variable.
+
+2002-07-25  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/i386/tls.h: Use __ASSEMBLER__ test macro not ASSEMBLER.
+	* sysdeps/i386/pt-machine.h: Likewise.
+	* sysdeps/i386/useldt.h: Likewise.
+
+2002-07-22  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c (__pthread_initialize_minimal): If !SHARED and TLS
+	call __libc_setup_tls first.
+	* Makefile: Actually create tst-signal.out file when running the test.
+	(tests): Add tststatic.
+	* Examples/tststatic.c: New file.
+
+2002-07-19  Ulrich Drepper  <drepper@redhat.com>
+
+	* errno.c (__errno_location): Don't define unless !USE_TLS
+	|| !HAVE___THREAD.
+	* sysdeps/i386/pt-machine.c: Protect C code with #ifndef ASSEMBLER.
+	* sysdeps/i386/tls.h: Likewise.
+	* sysdeps/i386/useldt.h: Likewise.
+	* sysdeps/i386/i686/pt-machine.h: Likewise.
+
+2002-07-02  H.J. Lu  <hjl@gnu.org>
+
+	* sysdeps/mips/pspinlock.c: Don't include <sgidefs.h>.  Always
+	use ll/sc.
+	* sysdeps/mips/pt-machine.h: Likewise.
+
+2002-07-14  Ulrich Drepper  <drepper@redhat.com>
+
+	* manager.c (pthread_handle_create): Initialize self-reference in
+	descriptor.
+
+2002-07-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* Examples/ex9.c (main): Remove unused th variable.
+
+2002-07-10  Ulrich Drepper  <drepper@redhat.com>
+
+	* wrapsyscall.c: Add __nanosleep alias.
+	* Versions (GLIBC_2.2.6): Add __nanosleep.
+	* bug-sleep.c: New file.
+	* Makefile (tests): Add bug-sleep.
+
+2002-06-19  Steven Munroe  <sjmunroe@vnet.ibm.com>
+
+	* Examples/ex9.c (main):  Use list of children and join them.
+	(thread): Do not call exit.
+
+2002-06-20  Ulrich Drepper  <drepper@redhat.com>
+
+	* spinlock.c (wait_node_alloc): We cannot use compare-and-exchange.
+	Unconditionally use the code using spinlock.  Use __pthread_release
+	to free a spinlock.
+	(wait_node_free): Likewise.
+	(__pthread_acquire, __pthread_release): Unconditionally define.
+
+2002-06-07  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/ia64/pt-machine.h (MEMORY_BARRIER): Fix typo.
+
+2002-05-24  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/ia64/pt-machine.h (MEMORY_BARRIER): Use __sync_synchronize.
+
+2002-05-21  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/pthread.h (pthread_create): Rename first
+	parameter.
+	(pthread_cancel): Likewise.
+	* internals.h (__pthread_create_2_1): Likewise.
+	* sysdeps/unix/sysv/linux/bits/sigthread.h (pthread_kill): Likewise.
+
+2002-05-20  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/alpha/pt-machine.c (THREAD_SELF): Remove clobber.
+	Patch by Glen Nakamura <gen@flex.com>.
+
+2002-05-03  Ulrich Drepper  <drepper@redhat.com>
+
+	* signals.c: Move sighandler functions to...
+	* sighandler.c: ...here.  New file.
+	* signals.c: Move signal handler related type definitions to...
+	* internals.h: ...here.  Add prototypes for signal handlers.
+	* Makefile (libpthread-routines): Add sighandler.
+	(CFLAGS-sighandler.c): Add $(exceptions).
+
+2002-04-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/x86_64/Makefile: New file.
+
+2002-04-08  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/timer_getoverr.c: Return real overrun.
+	* sysdeps/pthread/posix-timer.h (struct timer_node): Add overrun_count.
+	* sysdeps/pthread/timer_routines.c (thread_func): Schedule next timeout
+	based on previous one and not on current time.  Count overruns.
+	Patch by Eric F. Sorton <eric@cctcorp.com>.
+
+	* sysdeps/unix/sysv/linux/bits/local_lim.h: Add DELAYTIMER_MAX.
+
+2002-04-08  kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/sh/pt-machine.h: Define _PT_MACHINE_H
+	if it isn't defined yet.
+	(FLOATING_STACKS, ARCH_STACK_MAX_SIZE): Defined.
+	(THREAD_GETMEM, THREAD_GETMEM_NC, THREAD_SETMEM, THREAD_SETMEM_NC):
+	Likewise.
+	* sysdeps/sh/tls.h: New file.
+
+2002-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* manager.c (__pthread_manager_event): Use self instead of arg
+	for INIT_THREAD_SELF.
+	* sysdeps/i386/useldt.h (INIT_THREAD_SELF): Use sizeof (struct
+	_pthread_descr_struct) instead of sizeof (*descr).
+
+2002-04-05  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/ia64/pt-machine.h: Protect against multiple inclusion.
+	* sysdeps/alpha/pt-machine.h: Likewise.
+	* sysdeps/arm/pt-machine.h: Likewise.
+	* sysdeps/cris/pt-machine.h: Likewise.
+	* sysdeps/hppa/pt-machine.h: Likewise.
+	* sysdeps/m68k/pt-machine.h: Likewise.
+	* sysdeps/mips/pt-machine.h: Likewise.
+	* sysdeps/powerpc/pt-machine.h: Likewise.
+	* sysdeps/s390/s390-32/pt-machine.h: Likewise.
+	* sysdeps/s390/s390-64/pt-machine.h: Likewise.
+	* sysdeps/sh/pt-machine.h: Likewise.
+	* sysdeps/sparc/sparc32/pt-machine.h: Likewise.
+	* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
+	* sysdeps/x86_64/pt-machine.h: Likewise.
+
+2002-04-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* man/pthread_mutexattr_init.man (pthread_mutexattr_settype): Document
+	instead of pthread_mutexattr_setkind_np.
+	(pthread_mutexattr_gettype): Similarly.
+	* man/pthread_mutexattr_setkind_np.man: New.
+	* man/Makefile (SOURCES): Add pthread_mutexattr_setkind_np.man.
+
+2002-04-02  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/ia64/pt-machine.h (MEMORY_BARRIER): Define.
+
+2002-03-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/mips/pt-machine.h (MEMORY_BARRIER): Remove.
+
+2002-03-22  Ulrich Drepper  <drepper@redhat.com>
+
+	* internals.h (MEMORY_BARRIER): Define as asm with memory as clobber.
+
+2002-03-17  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/i386/pt-machine.h: Add testandset and __compare_and_swap
+	prototpyes.
+	* sysdeps/alpha/pt-machine.h: Likewise.
+	* sysdeps/arm/pt-machine.h: Likewise.
+	* sysdeps/cris/pt-machine.h: Likewise.
+	* sysdeps/hppa/pt-machine.h: Likewise.
+	* sysdeps/i386/i686/pt-machine.h: Likewise.
+	* sysdeps/ia64/pt-machine.h: Likewise.
+	* sysdeps/m68k/pt-machine.h: Likewise.
+	* sysdeps/mips/pt-machine.h: Likewise.
+	* sysdeps/powerpc/pt-machine.h: Likewise.
+	* sysdeps/s390/s390-32/pt-machine.h: Likewise.
+	* sysdeps/s390/s390-64/pt-machine.h: Likewise.
+	* sysdeps/sh/pt-machine.h: Likewise.
+	* sysdeps/sparc/sparc32/pt-machine.h: Likewise.
+	* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
+	* sysdeps/x86_64/pt-machine.h: Likewise.
+
+	* internals.h: Move testandset and __compare_and_swap prototypes
+	to pt-machine.h.
+
+2002-03-03  Andreas Jaeger  <aj@suse.de>
+
+	* errno.c: Include resolv.h to avoid warning.
+
+2002-02-27  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c [USE_TLS] (thread_self_stack): Correct check for upper
+	stack limit.
+
+2002-02-23  Ulrich Drepper  <drepper@redhat.com>
+
+	* attr.c (pthread_getattr_np): Don't take thread descriptor size
+	into account if USE_TLS.
+	* manager.c (pthread_handle_create): Free TLS data structures if call
+	failed.  Pass correct stack to clone if USE_TLS.
+	* sysdeps/i386/pt-machine.h: Handle multiple inclusion.
+	* sysdeps/i386/i686/pt-machine.h: Likewise.
+	* sysdeps/i386/tls.h: Unconditionally include <pt-machine.h>.
+
+	* descr.h (struct _pthread_descr_struct): Update p_header for TLS.
+	Add p_stackaddr element #if USE_TLS.
+	* internals.c: Include <tls.h>.
+	* manager.c: Integrate creating and handling of thread descriptor
+	for TLS.
+	* pthread.c: Likewise.
+	* sysdeps/i386/tls.h (tcbhead_t): Add self pointer.
+	Include <linuxthreads/descr.h> only if TLS is really used.
+	(GET_DTV): New macro.
+	(TLS_INIT_TP): Initialize self pointer.
+
+2002-02-17  Andreas Schwab  <schwab@suse.de>
+
+	* signals.c (sigwait): Check for old sighandler being SIG_ERR,
+	not NULL.
+
+2002-02-12  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/tls.c (INSTALL_NEW_DTV): Define.
+	(INSTALL_DTV): Adjust for being passed pointer to element with length.
+
+2002-02-08  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/tls.h (TLS_INIT_TP): Also initialize %gs.
+
+2002-02-08  Richard Henderson  <rth@redhat.com>
+
+	* sysdeps/alpha/elf/pt-initfini.c: Use \n\ for multiline string.
+
+2002-02-08  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/tls.h: TLS cannot be supported with FLOATING_STACKS
+	after all.
+
+2002-02-07  H.J. Lu  <hjl@gnu.org>
+
+	* sysdeps/mips/pspinlock.c (__pthread_spin_lock): Silence the
+	gcc warning.
+	(__pthread_spin_lock): Remove ".set noreorder".
+	* sysdeps/mips/pt-machine.h (__compare_and_swap): Liekwise.
+
+2002-02-05  H.J. Lu  <hjl@gnu.org>
+
+	* sysdeps/mips/pspinlock.c (__pthread_spin_lock): Not use
+	branch likely.
+	* sysdeps/mips/pt-machine.h (testandset): Likewise.
+	(__compare_and_swap): Likewise.
+
+2002-02-07  Ulrich Drepper  <drepper@redhat.com>
+
+	* internals.h: Move declarations/definitions of
+	__pthread_initial_thread_bos, __pthread_initial_thread,
+	__pthread_manager_thread_bos, __pthread_manager_thread_tos,
+	__pthread_manager_thread, __pthread_nonstandard_stacks, STACK_SIZE,
+	CURRENT_STACK_FRAME, __pthread_find_self, and thread_self...
+	* descr.h: ...here.
+	* sysdeps/i386/tls.h: Add TLS definitions also for !FLOATING_STACKS.
+	Define THREAD_GETMEM accordingly.
+
+2002-02-06  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/tls.h: Include <stddef.h> for size_t.
+
+	* sysdeps/i386/tls.h: Define THREAD_DTV.
+
+2002-02-04  Ulrich Drepper  <drepper@redhat.com>
+
+	* internals.h: Move thread descriptor definition...
+	* descr.h.: ...here.  New file.
+	* sysdeps/i386/tls.h: New file.
+
+2002-02-01  H.J. Lu  <hjl@gnu.org>
+
+	* sysdeps/mips/pspinlock.c (__pthread_spin_lock): Use a
+	different register in the delayed slot.  Use branch likely.
+
+	* sysdeps/mips/pt-machine.h (testandset): Call _test_and_set.
+	(__compare_and_swap): Return 0 only when failed to compare. Use
+	branch likely.
+
+2002-02-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* Versions (__libc_internal_tsd_get, __libc_internal_tsd_set,
+	__pthread_kill_other_threads_np): Move to GLIBC_PRIVATE.
+	* sysdeps/i386/i586/Versions: Move all symbols to GLIBC_PRIVATE.
+	* sysdeps/i386/i686/Versions: Move all symbols to GLIBC_PRIVATE.
+	* sysdeps/sparc/sparc32/sparcv9/Versions: New file.
+	* sysdeps/sparc/sparc64/Versions: New file.
+	* sysdeps/ia64/Versions: Move all symbols to GLIBC_PRIVATE.
+
+2002-01-31  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c: _dl_cpuclock_offset is not any longer a global variable
+	in SHARED code, use GL(dl_cpuclock_offset).
+
+2002-01-28  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/mips/pspinlock.c (__pthread_spin_init): Clear *LOCK to
+	0. Patch by Machida Hiroyuki <machida@sm.sony.co.jp>.
+
+2002-01-16  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* sysdeps/s390/s390-32/pt-machine.h (MEMORY_BARRIER): Define.
+	(CURRENT_STACK_FRAME): Remove duplicate definition.
+	* sysdeps/s390/s390-64/pt-machine.h: Likewise.
+
+2002-01-14  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* Makefile (CFLAGS-tst-cancel.c): Add -fno-inline-functions to prevent
+	automatic inline.
+
+2002-01-12  Andreas Schwab  <schwab@suse.de>
+
+	* Makefile (test-srcs): Add tst-signal.
+	(tests): Run tst-signal.
+	(distribute): Add tst-signal.sh.
+	* tst-signal.c, tst-signal.sh: New files.
+
+2002-01-14  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/x86_64/pt-machine.h (INIT_THREAD_SELF): Avoid warning.
+
+2002-01-11  Andreas Schwab  <schwab@suse.de>
+
+	* signals.c (sighandler): Initialize all elements to SIG_ERR.
+	(__sigaction): Don't use value from sighandler if it is SIG_ERR.
+
+2002-01-06  Richard Henderson  <rth@redhat.com>
+
+	* sysdeps/alpha/elf/pt-initfini.c: New file.
+
+2001-12-29  Andreas Jaeger  <aj@suse.de>
+
+	* Examples/ex9.c: Add noreturn attribute for thread.
+	* Examples/ex10.c: Likewise.
+	* Examples/ex13.c (thread_start): Likewise.
+	* Examples/ex15.c (worker): Likewise.
+
+	* Examples/ex18.c: Include unistd.h for prototype of sleep.
+
+2001-12-14  Ulrich Drepper  <drepper@redhat.com>
+
+	* man/pthread_atfork.man: Adjust description of mutex handling
+	after fork for current implementation.
+	* linuxthreads.texi: Likewise [PR libc/2519].
+
+2001-12-13  Andreas Schwab  <schwab@suse.de>
+
+	* specific.c (pthread_key_delete): Don't contact the thread
+	manager if no threads have been created yet.
+
+2001-12-12  NIIBE Yutaka  <gniibe@m17n.org>
+
+	* sysdeps/sh/pt-machine.h (INIT_THREAD_SELF): Added __volatile__
+	qualifier to be safe.
+
+2001-11-30  Andreas Schwab  <schwab@suse.de>
+
+	* pthread.c (pthread_handle_sigcancel) [THREAD_SELF]: Double check
+	that self is the manager thread, and initialize the thread
+	register if not.
+	(thread_self_stack) [THREAD_SELF]: New function to find self via
+	stack pointer.
+	* manager.c (pthread_handle_create): Don't block cancel signal any
+	more.
+
+2001-11-29  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/x86_64/pt-machine.h: Use %gs as thread specific register.
+	(THREAD_SELF): New.
+	(INIT_THREAD_SELF): New.
+	(THREAD_GETMEM): New.
+	(THREAD_GETMEM_NC):
+	(THREAD_SETMEM): New.
+	(THREAD_SETMEM_NC): New.
+	(FLOATING_STACKS): Define.
+	(ARCH_STACK_MAX_SIZE): Define.
+
+2001-11-28  Kaz Kylheku  <kaz@ashi.footprints.net>
+
+	Bugfix to pthread_key_delete. It was iterating over the thread
+	manager's linked list of threads, behind the thread manager's
+	back causing a race. The fix is to have the manager iterate over
+	the threads instead, using a new request type for doing so.
+	* internals.h (struct pthread_request): New manager request type
+	REQ_FOR_EACH_THREAD.
+	* manager.c (pthread_for_each_thread): New function.
+	(__pthread_manager): Handle new REQ_FOR_EACH_THREAD request.
+	* specific.c (struct pthread_key_delete_helper_args): New type.
+	(pthread_key_delete_helper): New static function.
+	(pthread_key_delete): Use the new thread manager
+	REQ_FOR_EACH_THREAD function to iterate over the threads and set
+	the delete key slot to a null value in each thread.
+	* Examples/ex18.c: New test.
+	* Makefile (tests): Add ex18.
+
+2001-11-22  Wolfram Gloger  <wg@malloc.de>
+
+	* pthread.c (pthread_onexit_process): Don't call free
+	after threads have been asynchronously terminated.
+
+	* manager.c (pthread_handle_exit): Surround cancellation
+	of threads with __flockfilelist()/__funlockfilelist().
+
+2001-11-26  Andreas Schwab  <schwab@suse.de>
+
+	* manager.c (pthread_handle_create): Start the child thread with
+	the cancel signal blocked, so that it does not handle it before
+	the thread register is set up.  Save errno from failed clone call.
+
+2001-11-15  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/i686/Implies: Removed.
+	* sysdeps/i386/i686/Versions: New file.
+
+2001-10-31  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/x86_64/Makefile: Remove, we do not need it anymore.
+
+2001-10-05  Kevin Buettner  <kevinb@cygnus.com>
+
+	* pthread.c (__linuxthread_pthread_sizeof_descr): Change name
+	to __linuxthreads_pthread_sizeof_descr to match name used by
+	symbol_list_arr[LINUXTHREADS_PTHREAD_SIZEOF_DESCR] in
+	linuxthreads_db/td_symbol_list.c.
+
+2001-09-22  Andreas Jaeger  <aj@suse.de>
+
+	* linuxthreads/tst-context.c: Avoid compile warning.
+
+2001-09-20  Andreas Jaeger  <aj@suse.de>
+
+	* shlib-versions: Add x86-64.
+
+2001-09-19  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/x86_64/Makefile: New file.
+	* sysdeps/x86_64/pspinlock.c: New file.
+	* sysdeps/x86_64/pt-machine.h: New file.
+
+2001-09-12  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/pthread/timer_delete.c (timer_delete): Thread may be NULL
+	for SIGEV_NONE.
+	* sysdeps/pthread/timer_settime.c (timer_settime): Likewise.
+
+2001-09-11  Ulrich Drepper  <drepper@redhat.com>
+	    Wolfram Gloger <wg@malloc.de>
+
+	* join.c: Protect all communications from and to manager with
+	TEMP_FAILURE_RETRY.
+	* manager.c: Likewise.
+	* pthread.c: Likewise.
+	* smeaphore.c: Likewise.
+
+2001-08-29  Ulrich Drepper  <drepper@redhat.com>
+
+	* spinlock.c (__pthread_lock): Top max_count value with
+	MAX_ADAPTIVE_SPIN_COUNT.
+	* internals.h (MAX_ADAPTIVE_SPIN_COUNT): Define if not already done.
+
+	* sysdeps/i386/i686/pt-machine.h (BUSY_WAIT_NOP): New macro to
+	help P4.
+
+2001-08-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/pthread/bits/libc-lock.h (__libc_rwlock_t): Only define to
+	non-opaque type if __USE_UNIX98.
+
+2001-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/pthread/bits/libc-lock.h (__libc_lock_t): Define
+	non-opaque lock types also if _IO_MTSAFE_IO is defined.
+
+2001-08-23  Roland McGrath  <roland@frob.com>
+
+	* sysdeps/pthread/bits/libc-lock.h (__libc_cleanup_region_start): Take
+	new first argument, skip the cleanup handler if it's zero.
+	(_LIBC_LOCK_RECURSIVE_INITIALIZER): New macro.
+	(__libc_lock_define_initialized_recursive): Use it.
+	* sysdeps/pthread/bits/stdio-lock.h: File removed.
+	The sysdeps/generic file from the main tree now suffices.
+
+2001-08-22  Roland McGrath  <roland@frob.com>
+
+	* sysdeps/pthread/bits/stdio-lock.h: Include <bits/libc-lock.h>
+	instead of <pthread.h>.
+	(_IO_lock_t): Define this typedef using __libc_lock_define_recursive.
+	(_IO_lock_initializer): Add braces.
+	(_IO_lock_lock): Use __libc_lock_lock_recursive.
+	(_IO_lock_unlock): Use __libc_lock_unlock_recursive.
+
+	* sysdeps/pthread/bits/libc-lock.h (__libc_lock_recursive_t): New type.
+	(__libc_lock_define_initialized_recursive): Use it.
+	(__libc_lock_init_recursive): Likewise.
+	(__libc_lock_fini_recursive): Likewise.
+	(__libc_lock_lock_recursive): Likewise.
+	(__libc_lock_trylock_recursive): Likewise.
+	(__libc_lock_unlock_recursive): Likewise.
+	(__libc_lock_define_recursive): New macro.
+
+2001-08-14  Jakub Jelinek  <jakub@redhat.com>
+
+	* lockfile.c (__pthread_provide_lockfile): New variable.
+	* pthread.c (__pthread_require_lockfile): New variable.
+	* cancel.c (__pthread_require_lockfile): New variable.
+
+2001-07-31  Ulrich Drepper  <drepper@redhat.com>
+
+	* tst-context.c (threadfct): Initialize context before calling
+	makecontext.
+
+	* Examples/ex17.c: Make sure test thread is around long enough.
+
+2001-07-26  kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/sh/pt-machine.h (THREAD_SELF, INIT_THREAD_SELF): Defined.
+
+2001-07-24  Ulrich Drepper  <drepper@redhat.com>
+
+	* tst-context.c (main): Print explanation before bailing out
+	because context handling is not supported.
+
+2001-07-23  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile (tests): Add tst-context.
+	* tst-context.c: New file.
+
+	* sysdeps/pthread/bits/stdio-lock.h: Define
+	_IO_cleanup_region_start_noarg.
+
+2001-07-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/alpha/pt-machine.h (FLOATING_STACKS): Define.
+	(ARCH_STACK_MAX_SIZE): Define.
+	* sysdeps/sparc/sparc32/pt-machine.h: Likewise.
+	* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
+
+2001-07-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/i386/useldt.h: Fix typo in ARCH_STACK_MAX_SIZE comment.
+
+	* sysdeps/ia64/pt-machine.h (FLOATING_STACKS): Define.
+	(ARCH_STACK_MAX_SIZE): Define.
+	* manager.c (pthread_allocate_stack): Handle FLOATING_STACKS with
+	NEED_SEPARATE_REGISTER_STACK.
+
+2001-07-16  Andreas Schwab  <schwab@suse.de>
+
+	* Makefile (before-compile): Don't add $(objpfx)crti.o.
+	(omit-deps): Add crti.
+	($(objpfx)libpthread.so): Depend on $(objpfx)crti.o, but make sure
+	it is filtered out of the link command.
+
+2001-07-16  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c (pthread_initialize): For FLOATING_STACKS don't bother
+	to find the right value for __pthread_initial_thread_bos, it's not
+	used.  If not FLOATING_STACKS first run
+	__pthread_init_max_stacksize.
+
+2001-06-16  H.J. Lu  <hjl@gnu.org>
+
+	* internals.h: Include <stackinfo.h>.
+
+	* attr.c: Don't include <stackinfo.h> here.
+	* cancel.c: Likewise.
+	* manager.c: Likewise.
+	* pthread.c: Likewise.
+	* ptlongjmp.c: Likewise.
+
+2001-03-23  Matthew Wilcox  <willy@ldl.fc.hp.com>
+
+	* attr.c: Make _STACK_GROWS_UP work.
+	* internals.h: Likewise.
+	* manager.c: Likewise.
+	* pthread.c: Likewise.
+
+2001-06-15  H.J. Lu  <hjl@gnu.org>
+
+	* pthread.c (__pthread_reset_main_thread): Fix a typo.
+
+2001-02-02  John S. Marvin  <jsm@udlkern.fc.hp.com>
+
+	* semaphore.h: Use struct _pthread_fastlock as an element of
+	sem_t instead of an identical struct.
+	* rwlock.c: Remove casts.
+	* semaphore.c: Likewise.
+
+2001-04-30  Alan Modra  <amodra@one.net.au>
+
+	* sysdeps/unix/sysv/linux/hppa/pt-initfini.c: New.
+
+2001-05-25  Bruce Mitchener  <bruce@cubik.org>
+
+	* linuxthreads.texi: Spelling corrections.
+
+2001-05-25  Ulrich Drepper  <drepper@redhat.com>
+
+	* oldsemaphore.c (__old_sem_wait): Clear p_nextwaiting before
+	returning successfully.
+	Patch by Gene Cooperman <gene@ccs.neu.edu>.
+
+2001-05-24  Ulrich Drepper  <drepper@redhat.com>
+
+	* spinlock.c (__pthread_lock) [HAS_COMPARE_AND_SWAP]: Before doing any
+	serious work try once whether the lock is uncontested.
+	Remove duplicate reading of __status before loop.
+	Change suggested by Hans Boehm <hans_boehm@hp.com>.
+
+	* spinlock.h (__pthread_trylock): Remove need for oldstatus variable.
+	(__pthread_alt_trylock): Likewise.
+
+2001-05-01  Kaz Kylheku  <kaz@ashi.footprints.net>
+
+	Memory barrier overhaul following line by line inspection.
+	* mutex.c (pthread_once): Missing memory barriers added.
+	* pthread.c (__pthread_wait_for_restart_signal,
+	__pthread_timedsuspend_new, __pthread_restart_new): Added
+	memory barriers ``just in case'' and for documentary value.
+	* spinlock.c (__pthread_release): New inline function for releasing
+	spinlock, to complement __pthread_acquire.  Includes memory
+	barrier prior to assignment to spinlock, and __asm __volatile
+	dance to prevent reordering or optimization of the spinlock access.
+	* spinlock.c (__pthread_unlock, __pthread_alt_lock,
+	__pthread_alt_timedlock, __pthread_alt_unlock,
+	__pthread_compare_and_swap): Updated to use new __pthread_release
+	instead of updating spinlock directly.
+	* spinlock.c (__pthread_lock, __pthread_unlock, wait_node_alloc,
+	wait_node_free, wait_node_dequeue, __pthread_alt_lock,
+	__pthread_alt_timedlock, __pthread_alt_unlock, __pthread_acquire):
+	Memory barrier overhaul.  Lots of missing memory barriers added,
+	a couple needless ones removed.
+	* spinlock.c (__pthread_compare_and_swap): testandset optimization
+	removed, just calls __pthread_acquire, which has the new read
+	barrier in it before its testandset.
+
+2001-05-20  Roland McGrath  <roland@frob.com>
+
+	* Makeconfig: New file, variables used to be in main libc Makeconfig.
+
+2001-05-09  Geoff Keating  <geoffk@redhat.com>
+
+	* sysdeps/powerpc/pt-machine.h
+	(HAS_COMPARE_AND_SWAP_WITH_RELEASE_SEMANTICS): Define.
+	(__compare_and_swap): Remove memory barriers.
+	(__compare_and_swap_with_release_semantics): New function.
+
+2001-04-24  Andreas Jaeger  <aj@suse.de>
+
+	* wrapsyscall.c: send* and recv* return ssize_t.
+
+	* sysdeps/pthread/timer_getoverr.c (timer_getoverrun): Unlock the
+	mutex instead of double locking it.
+	Reported by Pierre Artaud <partaud@sodatec.com>.
+
+2001-04-23  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/getcpuclockid.c: Make function generic, test
+	using #ifdef whether the clock is available.
+	* sysdeps/unix/sysv/linux/i386/getcpuclockid.c: Removed.
+
+	* sysdeps/ia64/Versions: New file.
+
+	* sysdeps/unix/sysv/linux/ia64/pt-initfini.c (_init): We don't
+	have to call __gmon_start__ in the libpthread DSO.
+	* sysdeps/pthread/pt-initfini.c (_init): Likewise.
+
+	* Makefile (libpthread-routines): Add ptclock_gettime and
+	ptclock_settime.
+	* internals.h: Don't use cpuclock-init.h definitions, use
+	hp-timing.h definitions.
+	* pthread.c: Likewise.
+	* manager.c: Likewise.
+	* ptclock_gettime.c: New file.
+	* ptclock_settime.c: New file.
+	* internals.h: Fix parameter type for __pthread_clock_gettime and
+	__pthread_clock_settime.
+
+	* sysdeps/i386/i586/ptclock_gettime.c: Removed.
+	* sysdeps/i386/i586/ptclock_settime.c: Removed.
+	* sysdeps/i386/i586/Makefile: Removed.
+
+2001-04-22  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define _POSIX_ASYNCH_IO.
+	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
+
+2001-04-21  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/pthread/timer_routines.c (thread_func): Add noreturn
+	attribute, remove statements that will never be executed.
+	(thread_func): Remove mutex_unlock call since it's never executed.
+	(thread_func): Fix comment as suggested by Jakub Jelinek.
+
+	* manager.c (__pthread_manager): Add noreturn
+	attribute.
+	(pthread_start_thread): Likewise, remove return statement.
+	(pthread_start_thread_event): Likewise.
+	Add noreturn attribute for pthread_handle_exit.
+	* weaks.c: Add noreturn attribute for pthread_exit.
+
+	* internals.h: Add __pthread_clock_gettime and
+	__pthread_clock_settime prototypes.
+
+2001-04-21  Ulrich Drepper  <drepper@redhat.com>
+
+	* internals.h: Include <cpuclock-init.h>.
+	(struct _pthread_descr_struct): Add p_cpuclock_offset field if
+	CPUCLOCK_VARDEF is defined.
+	* pthread.c (__pthread_initialize_minimal): Initialize
+	p_cpuclock_offset field for main thread if CPUCLOCK_INIT is defined.
+	* manager.c (pthread_start_thread): Set p_cpuclock_offset field
+	for new thread to current CPU clock value.
+
+	* sysdeps/i386/useldt.h: Extend all the macros to handle 8-byte values.
+
+	* sysdeps/i386/i586/Makefile: New file.
+	* sysdeps/i386/i586/Versions: New file.
+	* sysdeps/i386/i586/ptclock_gettime.c: New file.
+	* sysdeps/i386/i586/ptclock_settime.c: New file.
+	* sysdeps/i386/i686/Implies: New file.
+
+2001-04-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: Put specs into
+	$generated, not $postclean-generated.
+
+2001-04-18  Andreas Jaeger  <aj@suse.de>
+
+	* Makefile (otherlibs): Added.
+
+2001-04-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: New file.
+
+2001-04-16  Ulrich Drepper  <drepper@redhat.com>
+
+	* signals.c (sigwait): NSIG is no signal number.  Block all
+	signals while in signal handler for signals in SET.
+	Patch by Manfred Spraul <manfred@colorfullife.com>.
+
+2001-04-12  Ulrich Drepper  <drepper@redhat.com>
+
+	* tst-cancel.c: Disable most tests.  Add new test where all
+	cleanup handlers must run.
+	* Makefile (tests): Add tst-cancel again.
+
+	* cancel.c (__pthread_perform_cleanup): Correct condition for
+	leaving cleanup loop early.
+
+	* sysdeps/i386/Makefile: Make sure gcc uses a frame pointer for
+	all the files which use CURRENT_STACK_FRAME.
+	* sysdeps/i386/pt-machine.h (CURRENT_STACK_FRAME): Define using
+	__builtin_frame_address.
+	* sysdeps/i386/i686/pt-machine.h: Likewise.
+
+2001-04-11  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile (tests): Comment out tst-cancel for now.
+
+	* tst-cancel.c (main): Cleanup 4 is supposed to run.  Create
+	temporary file in object directory.
+	* Makefile: Don't allow inlining when compiling tst-cancel.c.
+	Pass $(objpfx) to tst-cancel.
+
+2001-04-11  David S. Miller  <davem@redhat.com>
+
+	* sysdeps/sparc/sparc32/pt-machine.h (stack_pointer): Advance
+	up closer to user local variables so that new cleanup heuristics work.
+	* sysdeps/sparc/sparc64/pt-machine.h (stack_pointer): Likewise.
+
+2001-04-11  Ulrich Drepper  <drepper@redhat.com>
+
+	* cancel.c (_pthread_cleanup_push): Catch invalid __prev buffer
+	and remove it.
+	(_pthread_cleanup_push_defer): Likewise.
+
+	* tst-cancel.c (main): Fix loop printing cleanup output.
+
+2001-04-10  kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/sh/pspinlock.c (__pthread_spin_lock): Fix a reverse
+	test.
+	(__pthread_spin_trylock): Likewise.
+	* sysdeps/sh/pt-machine.h (testandset): Likewise.
+
+2001-04-10  Ulrich Drepper  <drepper@redhat.com>
+
+	* join.c (pthread_exit): Move code to new function __pthread_do_exit
+	which takes an extra parameter with the current frame pointer.
+	Call new function with CURRENT_STACK_FRAME.
+	(__pthread_do_exit): New function.  Call __pthread_perform_cleanup
+	with the new parameter.
+	(pthread_join): Call __pthread_do_exit instead of pthread_exit.
+	* cancel.c (__pthread_perform_cleanup): Takes extra parameter.  Use
+	this parameter as the initial value the cleanup handler records are
+	compared against.  No active cleanup handler record must have an
+	address lower than the previous one and the initial record must be
+	above (below on PA) the frame address passed in.
+	(pthread_setcancelstate): Call __pthread_do_exit instead of
+	pthread_exit.
+	(pthread_setcanceltype): Likewise.
+	(pthread_testcancel): Likewise.
+	(_pthread_cleanup_pop_restore): Likewise.
+	* condvar.c (pthread_cond_wait): Likewise.
+	(pthread_cond_timedwait_relative): Likewise.
+	* manager.c (pthread_start_thread): Likewise.
+	* oldsemaphore.c (__old_sem_wait): Likewise.
+	* pthread.c (pthread_handle_sigcancel): Likewise.
+	* semaphore.c (__new_sem_wait): Likewise.
+	(sem_timedwait): Likewise.
+	* ptlongjmp.c (pthread_cleanup_upto): Also use current stack frame
+	to limit the cleanup handlers which get run.
+	* internals.h: Add prototype for __pthread_do_exit.  Adjust prototype
+	for __pthread_perform_cleanup.
+
+	* Makefile (tests): Add tst-cancel.
+	* tst-cancel.c: New file.
+
+2001-04-08  Hans-Peter Nilsson  <hp@axis.com>
+
+	* sysdeps/cris/pt-machine.h: New file.
+	* sysdeps/cris/pspinlock.c: New file.
+
+2001-04-09  Hans-Peter Nilsson  <hp@axis.com>
+
+	* shlib-versions: Add case for Linux on CRIS.
+
+2001-03-26  Ulrich Drepper  <drepper@redhat.com>
+
+	* attr.c (pthread_getattr_np): Correct computation of stack size
+	for machiens with register stack.
+
+	* Examples/ex17.c (main): Correct detection of failed mmap call.
+
+2001-03-21  Jakub Jelinek  <jakub@redhat.com>
+
+	* pthread.c (__pthread_initialize_manager): Fix a typo.
+
+2001-03-21  Jakub Jelinek  <jakub@redhat.com>
+
+	* attr.c (__pthread_attr_setstack): Fix alignment check.
+	(pthread_getattr_np): __stackaddr is top of stack, not bottom.
+	* Makefile (tests): Add ex17 test.
+	* Examples/ex17.c: New test.
+
+2001-03-20  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile: Define -D_RPC_THREAD_SAFE_ for cancel.c.
+	* cancel.c (__pthread_perform_cleanup): Call __rpc_thread_destroy.
+	* sysdeps/pthread/bits/libc-tsd.h: Define _LIBC_TSD_KEY_VARS.
+
+2001-03-18  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile: When generating DSO link with libc_nonshared.a.
+
+2001-02-26  Jakub Jelinek  <jakub@redhat.com>
+
+	* signals.c (pthread_sighandler): Use CALL_SIGHANDLER.
+
+2001-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* internals.h (__pthread_init_max_stacksize): New prototype.
+	* attr.c (__pthread_attr_setstacksize): Call
+	__pthread_init_max_stacksize if not yet initialized.
+	* pthread.c (__pthread_init_max_stacksize): New function.
+	(__pthread_initialize_manager): Call it.
+	Patch by <dtc@cmucl.cons.org>.
+
+2001-03-16  Ulrich Drepper  <drepper@redhat.com>
+
+	* attr.c (pthread_getattr_np): Fix __stacksize computation for IA-64.
+
+2001-03-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* shlib-versions: Add rule for Linux on 64 bit S/390.
+	* sysdeps/s390/s390-64/pt-machine.h: New file.
+	* sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c: New file.
+
+2001-03-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* sysdeps/s390/pt-machine.h: Move to...
+	* sysdeps/s390/s390-32/pt-machine.h: ...here.
+	Add defines for FLOATING_STACK and ARCH_STACK_MAX_SIZE.
+
+2001-03-15  Ulrich Drepper  <drepper@redhat.com>
+
+	* Versions [libpthread] (GLIBC_2.2.3): Add pthread_getattr_np.
+	* attr.c: Implement pthread_getattr_np.
+	* sysdeps/pthread/pthread.h: Add prototype for pthread_getattr_np.
+	* internals.h (struct _pthread_descr_struct): Add p_inheritsched.
+	* manager.c (pthread_handle_create): Initialize p_inheritsched.
+
+2001-03-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* sysdeps/unix/sysv/linux/s390/pt-initfini.c: Use 0x07 padding for
+	code alignment.
+
+2001-02-20  Hans Boehm  <hans_boehm@hp.com>
+
+	* manager.c (manager_mask): Removed static vesion.  Now always local
+	to __pthread_manager().
+	(manager_mask_all): Removed completely.
+	(__pthread_manager): Remove manager_mask_all initialization.
+	(pthread_handle_create): Remove code to set and reset signal mask
+	around __clone2() calls.
+
+2001-02-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* spinlock.c (__pthread_lock): Force lock->__status to be read from
+	memory on every spin.
+
+2001-02-10  Andreas Jaeger  <aj@suse.de>
+
+	* Makefile (extra-objs): New.
+
+2001-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/pthread/pt-initfini.c (call_initialize_minimal): Add
+	__pthread_initialize_minimal prototype.
+
+2001-02-08  kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/unix/sysv/linux/sh/pt-initfini.c: New file.
+
+2001-02-06  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* sysdeps/unix/sysv/linux/s390/pt-initfini.c: New file.
+
+2001-02-06  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/ia64/pt-initfini.c: First attempt to fix the
+	broken code.  Patch by Jes Sorensen.
+
+2001-02-06  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/pthread/pthread.h: Move __pthread_initialize from here
+	to...
+	* internals.h: ...here.
+
+2001-02-05  Jes Sorensen  <jes@linuxcare.com>
+
+	* sysdeps/unix/sysv/linux/ia64/pt-initfini.c: New file.
+
+2001-02-02  Ulrich Drepper  <drepper@redhat.com>
+
+	* Versions: Remove __pthread_initialize_minimal.
+
+2001-02-01  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile: Add rules to build crti.o and make it being used in
+	building libpthread.so.
+	* sysdeps/i386/Makefile: New file.
+	* sysdeps/pthread/pt-initfini.c: New file.
+
+	* pthread.c: Cleanups.
+
+2001-01-28  Andreas Jaeger  <aj@suse.de>
+
+	* oldsemaphore.c (__old_sem_init): Adjust for last change.
+	* sysdeps/pthread/bits/libc-lock.h: Likewise.
+	* spinlock.c: Likewise.
+
+2001-01-28  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/bits/initspin.h: Make all names namespace clean.
+	* sysdeps/unix/sysv/linux/hppa/bits/initspin.h: Likewise.
+	* manager.c: Adjust for namespace cleanup in bits/initspin.h.
+	* pthread.c: Likewise.
+	* spinlock.h: Likewise.
+	* sysdeps/pthread/pthread.h: Likewise.
+
+2001-01-26  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/bits/pthreadtypes.h: Define pthread_attr_t also
+	as struct __pthread_attr_s.
+
+	* semaphore.h (sem_t): Cleanup namespace, rename status and
+	spinlock elements.
+
+2001-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* pthread.c (pthread_onexit_process): Clear
+	__pthread_manager_thread_bos after freeing it.
+	* Makefile (tests): Add ex16.
+	* Examples/ex16.c: New file.
+
+2001-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+	* Makefile (CFLAGS-pthread.c): Pass -DHAVE_Z_NODELETE if ld supports
+	-z nodelete.
+	* pthread.c (pthread_exit_process): Rename to...
+	(pthread_onexit_process): ...this.
+	(pthread_atexit_process, pthread_atexit_retcode): New.
+	(pthread_initialize): Call __cxa_atexit instead of __cxa_on_exit
+	and only if HAVE_Z_NODELETE is not defined.
+	(__pthread_initialize_manager): Register pthread_atexit_retcode
+	with __cxa_atexit.
+
+2001-01-11  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c (pthread_initialize): Use __cxs_on_exit not __cxa_atexit.
+
+2001-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+	* Makefile (tests): Add ex15.
+	* Examples/ex15.c: New test.
+
+2001-01-08  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c (pthread_exit_process): Free memory allocated for
+	manager stack.
+
+2000-12-31  Ulrich Drepper  <drepper@redhat.com>
+
+	* manager.c (pthread_alloca_stack): Remove MAP_FIXED from mmap calls.
+	(pthread_free): Always unmap the stack.  It's safe now that we don't
+	use MAP_FIXED to allocate stacks.
+
+2000-12-31  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/powerpc/pspinlock.c: Don't include pt-machine.h here.
+
+	* manager.c (pthread_allocate_stack): Prepare for removal of MAP_FIXED.
+
+2000-11-15  Wolfram Gloger  <wg@malloc.de>
+
+	* manager.c (pthread_free): [!FLOATING_STACKS]: Only remap the
+	stack to PROT_NONE, don't unmap it, avoiding collisions with malloc.
+
+2000-12-27  Andreas Jaeger  <aj@suse.de>
+
+	* Examples/ex13.c: Make local functions static.
+	* ecmutex.c: Likewise.
+	* joinrace.c: Likewise.
+	* Examples/ex14.c: Likewise.
+
+	* Examples/ex2.c: Make local functions static; reformat.
+	* Examples/ex1.c: Likewise.
+	* Examples/ex4.c: Likewise.
+	* Examples/ex5.c: Likewise.
+	* Examples/ex7.c: Likewise.
+
+	* oldsemaphore.c: Add prototypes to shut up GCC.
+	* pt-machine.c: Likewise.
+
+	* weaks.c: Add prototype for pthread_exit.
+
+	* internals.h: Add some prototypes, format prototypes and add
+	missing externs.
+	Move __libc_waitpid prototype to include/sys/wait.h.
+
+	* rwlock.c: Include <bits/libc-lock.h> for prototypes.
+	* mutex.c: Likewise.
+	* specific.c: Likewise.
+	* ptfork.c: Likewise.
+
+	* lockfile.c: Include internals.h to get prototypes.
+	* events.c: Likewise.
+	* sysdeps/alpha/pspinlock.c: Likewise.
+	* sysdeps/arm/pspinlock.c: Likewise.
+	* sysdeps/hppa/pspinlock.c: Likewise.
+	* sysdeps/i386/pspinlock.c: Likewise.
+	* sysdeps/ia64/pspinlock.c: Likewise.
+	* sysdeps/m68k/pspinlock.c: Likewise.
+	* sysdeps/mips/pspinlock.c: Likewise.
+	* sysdeps/powerpc/pspinlock.c: Likewise.
+	* sysdeps/s390/pspinlock.c: Likewise.
+	* sysdeps/sh/pspinlock.c: Likewise.
+	* sysdeps/sparc/sparc32/pspinlock.c: Likewise.
+	* sysdeps/sparc/sparc32/sparcv9/pspinlock.c: Likewise.
+	* sysdeps/sparc/sparc64/pspinlock.c: Likewise.
+
+2000-12-27  Ulrich Drepper  <drepper@redhat.com>
+
+	* attr.c (__pthread_attr_setstack): Fix setting of __stackaddr element.
+	(__pthread_attr_getstack): Return correct address.
+	Add warnings for using pthread_attr_getstackaddr and
+	pthread_attr_setstackaddr.
+
+2000-12-26  Ulrich Drepper  <drepper@redhat.com>
+
+	* Examples/ex6.c (test_thread): Make static.
+	* Examples/ex12.c (test_thread): Make static and add noreturn
+	attribute.
+
+2000-12-18  Jes Sorensen  <jes@linuxcare.com>
+
+	* linuxthreads/sysdeps/ia64/pt-machine.h: __compare_and_swap
+	and compare_and_swap_with_release_semantics returns int not long.
+
+2000-12-17  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/s390/pt-machine.h (testandset): Use long int as return
+	value.
+	* sysdeps/arm/pt-machine.h (testandset): Likewise.
+	* sysdeps/hppa/pt-machine.h (testandset): Likewise.
+	* sysdeps/m68k/pt-machine.h (testandset): Likewise.
+	* sysdeps/sh/pt-machine.h (testandset): Likewise.
+	* sysdeps/sparc/sparc32/pt-machine.h (testandset): Likewise.
+	* sysdeps/sparc/sparc64/pt-machine.h (testandset): Likewise.
+
+2000-12-17  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/pt-machine.h (testandset): Adjust for prototype change.
+	* sysdeps/i386/i686/pt-machine.h (testandset): Likewise.
+
+2000-12-17  Andreas Jaeger  <aj@suse.de>
+
+	* internals.h: Add prototypes for testandset and
+	__compare_and_swap to shut up gcc warnings.
+
+2000-12-06  Wolfram Gloger  <wg@malloc.de>
+
+	* join.c (pthread_detach): Allow case where the thread has already
+	terminated.
+
+2000-12-05  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/mips/pspinlock.c (__pthread_spin_lock): Don't set mips2.
+	* sysdeps/mips/pt-machine.h (testandset): Likewise.
+	(__compare_and_swap): Likewise.
+	Patches by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
+
+2000-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* Examples/ex3.c (main): Cast int to long before casting to void *.
+	(search): Cast void * to long, not int.
+	* Examples/ex8.c (main, thread): Similarly.
+	* Examples/ex11.c (main): Similarly.
+	* Examples/ex14.c (worker, do_test): Similarly.
+	* ecmutex.c (worker, do_test): Similarly.
+	(nlocks): Cast to int.
+
+2000-11-08  Bruce Mitchener  <bruce@cubik.org>
+
+	* linuxthreads.texi:  Add documentation for pthreads attributes
+	guardsize, stackaddr, stacksize, and stack.  Fix typo in previous
+	patch.  Document pthread_[sg]etconcurrency().  Mark
+	pthread_mutexattr_[sg]ettype() as POSIX rather than GNU.
+
+2000-11-07  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h (_POSIX_MESSAGE_PASSING):
+	Don't define it.
+	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
+	Reported by Christopher Yeoh <cyeoh@linuxcare.com.au>.
+
+2000-11-06  Ulrich Drepper  <drepper@redhat.com>
+
+	* cancel.c (pthread_cancel): Always set p_canceled, even if we are
+	not doing it right now.
+	Reported by Kaz Kylheku <kaz@ashi.footprints.net>.
+
+2000-10-30  Ulrich Drepper  <drepper@redhat.com>
+
+	* Examples/ex4.c (main): Don't use exit() to avoid warning with
+	broken compilers.
+
+2000-10-29  Ulrich Drepper  <drepper@redhat.com>
+
+	* attr.c (__pthread_attr_setguardsize): Don't round guardsize
+	here.  Reported by Bruce Mitchener <bruce@cubik.org>.
+
+	* linuxthreads.texi: Changes terminology to 'type' from 'kind' when
+	discussing mutexes. (As per the Unix98 name for the API.)
+	Changes documentation for pthread_mutexattr_setkind_np() and
+	pthread_mutexattr_getkind_np() over to the Unix98 APIs for the
+	same: pthread_mutexattr_settype() and pthread_mutexattr_gettype().
+	Changes references to PTHREAD_MUTEXATTR_FAST_NP to
+	PTHREAD_MUTEXATTR_ADAPTIVE_NP.
+	Begins to introduce discussion of the ``timed'' mutex type.  This
+	discussion is currently incomplete.
+	Patch by Bruce Mitchener <bruce@cubik.org>.
+
+2000-10-26  Kazumoto Kojima  <kkojima@rr.iij4u.or.jp>
+	    Yutaka Niibe  <gniibe@chroot.org>
+
+	* sysdeps/sh/pt-machine.h (testandset): Since the operand of TAS.B
+	has restrictions, use register.
+
+2000-10-23  Andreas Schwab  <schwab@suse.de>
+
+	* Examples/ex14.c (TIMEOUT): Override default timeout.
+
+2000-10-16  Ulrich Drepper  <drepper@redhat.com>
+
+	* specific.c: Protect tsd array modification in thread data
+	structures by getting the thread lock in pthread_key_delete and
+	__pthread_destroy_specifics.
+	Patch by Wolfram Gloger <Wolfram.Gloger@dent.med.uni-muenchen.de>.
+
+2000-10-12  Alan Modra <alan@linuxcare.com.au>
+
+	* sysdeps/pthread/bits/initspin.h: New file.
+	* spinlock.h: Move LOCK_INITIALIZER definition to <bits/initspin.h>.
+	(__pthread_init_lock): Initialize lock with LT_SPINLOCK_INIT.
+	(__pthread_alt_init_lock): Likewise.
+	(__pthread_alt_trylock): Release lock with LT_SPINLOCK_INIT.
+
+2000-10-12  David Huggins-Daines  <dhd@linuxcare.com>
+
+	* oldsemaphore.c (__old_sem_init): Release lock with
+	LT_SPINLOCK_INIT, not zero.
+	* spinlock.c (__pthread_unlock): Likewise.
+	(__pthread_alt_lock): Likewise.
+	(__pthread_alt_timedlock): Likewise.
+	(__pthread_alt_unlock): Likewise.
+	* sysdeps/pthread/bits/libc-lock.h: Initialize locks with
+	LT_SPINLOCK_INIT if it is non-zero.  Likewise for init-once flags.
+	* sysdeps/pthread/pthread.h: Include bits/initspin.h.  Use
+	LT_SPINLOCK_INIT do initialize spinlocks not 0.
+
+2000-10-12  David Huggins-Daines <dhd@linuxcare.com>
+
+	* shlib-versions: Add version definitions for hppa-linux.
+
+2000-10-12  Alan Modra <alan@linuxcare.com.au>
+
+	* sysdeps/hppa/pspinlock.c: New file.
+	* sysdeps/hppa/pt-machine.h: New file.
+	* sysdeps/unix/sysv/linux/hppa/bits/initspin.h: New file.
+
+2000-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* mutex.c (__pthread_mutex_destroy): Correct test of
+	busy mutex for mutexes using alternate fastlocks.
+	Patch by dtc@cmucl.cons.org.
+
+2000-09-28  Martin Schwidefsksy    <schwidefsky@de.ibm.com>
+
+	* sysdeps/s390/pt-machine.h: Make %a0 the thread register.
+
+2000-09-28  Ulrich Drepper  <drepper@redhat.com>
+
+	* mutex.c (__pthread_mutex_unlock): For PTHREAD_MUTEX_RECURSIVE_NP
+	test for owner first.
+	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
+
+	* cancel.c (pthread_cancel): Don't do anything if cancelation is
+	disabled.
+
+2000-09-26  Ulrich Drepper  <drepper@redhat.com>
+
+	* spinlock.h (__pthread_set_own_extricate_if): Optimize a bit.
+	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
+
+	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Remove
+	_POSIX_MONOTONIC_CLOCK.
+
+	* spinlock.h (__pthread_set_own_extricate_if): Add back locking
+	and explain why.
+
+2000-09-20  Andreas Jaeger  <aj@suse.de>
+
+	* pthread.c [!__ASSUME_REALTIME_SIGNALS]: Make inclusion of
+	"testrtsig.h" conditional.
+
+2000-09-11  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/pthread.h: Declare pthread_attr_getstack and
+	pthread_attr_setstack.
+	* Versions [libpthread] (GLIBC_2.2): Export pthread_attr_getstack and
+	pthread_attr_setstack.
+	* attr.c (pthread_attr_getstack, pthread_attr_setstack): New functions.
+
+2000-09-05  Ulrich Drepper  <drepper@redhat.com>
+
+	* Examples/ex14.c: New file.
+	* Makefile (tests): Add ex14.
+
+	* mutex.c (__pthread_mutex_unlock): Correct test for already unlocked
+	mutex.  Patch by dtc@cmucl.cons.org.
+
+	* ecmutex.c: New file.
+	* Makefile (tests): Add ecmutex.
+
+2000-09-04  H.J. Lu  <hjl@gnu.org>
+
+	* attr.c (__pthread_attr_setguardsize): Use page_roundup
+	instead of roundup to round up to the page size.
+
+2000-09-03  Mark Kettenis  <kettenis@gnu.org>
+
+	* manager.c (pthread_exited): Correctly report event as TD_REAP
+	instead of TD_DEATH.  Fix comments.
+
+2000-09-03  Ulrich Drepper  <drepper@redhat.com>
+
+	* spinlock.h (testandset): Add cast to avoid warning.
+	Patch by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
+
+2000-09-02  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/pthread/timer_routines.c: Include stdlib.h for abort
+	prototype.
+
+2000-09-01  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/bits/stdio-lock.h (_IO_cleanup_region_start):
+	Fix typo in last patch (_mode -> _flags).
+
+	* sysdeps/pthread/bits/stdio-lock.h (_IO_cleanup_region_start):
+	Provide definition which respects _IO_USER_LOCK flag.
+
+2000-08-30  Ulrich Drepper  <drepper@redhat.com>
+
+	* manager.c (pthread_allocate_stack): Clear descriptor only if not
+	mmaped.
+
+2000-08-25  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile: Add rules to build and run unload.
+	* unload.c: New file.
+
+	* pthread.c (pthread_exit_process): Move thread_self use inside `if'.
+
+	* sysdeps/pthread/pthread.h
+	(PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP): Defined.
+	(PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: Defined.
+
+2000-08-24  Andreas Jaeger  <aj@suse.de>
+
+	* Examples/ex13.c: Include <string.h> for strerror prototype and
+	<stdlib.h> for abort prototype.
+	(pthr_cond_signal_mutex): Rewrite to silence GCC.
+	(thread_start): Remove unused variable err.
+	(main): Silence GCC warnings.
+
+2000-08-22  Andreas Jaeger  <aj@suse.de>
+
+	* Examples/ex13.c: New test by Kurt Garloff <garloff@suse.de>.
+
+	* Makefile (tests): Add ex13.
+
+2000-08-20  Ulrich Drepper  <drepper@redhat.com>
+
+	* semaphore.h: Add restrict where required by AGd4.
+	* sysdeps/pthread/pthread.h: Likewise.
+	* sysdeps/pthread/unix/sysv/linux/bits/sigthread.h: Likewise.
+
+2000-08-15  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile (tests): Add ex12.  Add rule to build it.
+	* Examples/ex12.c: New file.
+
+2000-08-13  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define _POSIX_SEMAPHORES
+	even though the implementation is not quite complete (but it reports
+	it).  Define _POSIX_MESSAGE_PASSING to -1.
+	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
+
+2000-08-12  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/mips/pt-machine.h (testandset): Add .set mips2 for
+	assembler.
+	(__compare_and_swap): Likewise.
+	* sysdeps/mips/pspinlock.c (__pthread_spin_lock): Likewise.
+
+2000-08-10  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c (__pthread_initial_thread): Initialize p_errnop and
+	p_h_errnop correctly and not to NULL.
+
+2000-08-05  Ulrich Drepper  <drepper@redhat.com>
+
+	* Banner: Bump version number to 0.9.
+
+2000-08-04  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile (tests): Add tststack.  Add rule to build the program.
+	* tststack.c: New file.
+
+	* internals.h: Declare __pthread_max_stacksize.
+	* pthread.c (__pthread_max_stacksize): New variable.
+	(__pthread_initialize_manager): Determine __pthread_initialize_manager
+	value.
+	* manager.c (thread_segment): Return always NULL if FLOATING_STACKS.
+	(pthread_allocate_stack): Allow kernel to choose stack address if
+	FLOATING_STACKS.  This also handles variable-sized stacks.
+	Always allocate stack and guardpage together.  Use mprotect to
+	change guardpage access.
+	* sysdeps/i386/useldt.h: Define FLOATING_STACKS and
+	ARCH_STACK_MAX_SIZE.
+
+	* attr.c (__pthread_attr_setstacksize): Also test value against
+	upper limit.
+
+	* manager.c (__pthread_nonstandard_stacks): Define only if
+	THREAD_SELF is not defined.
+	(pthread_allocate_stack): Always initialize gardaddr to a correct
+	value.
+	(pthread_handle_create): Unmap thread with one call.
+	(pthread_free): Remove test for initial thread before removing stack.
+	Unmap stack with one call.
+
+	* pthread.c (__pthread_initial_thread): Initialize p_userstack to
+	1 to avoid removing the stack.
+
+2000-07-27  Jes Sorensen  <jes@linuxcare.com>
+
+	* sysdeps/ia64/pspinlock.c (__pthread_spin_lock): Add
+	load of spin lock to prime the cache before the atomic compare and
+	exchange operation (cmpxchg4). This avoids the spinning on the
+	cmpxchg4 instruction and reduces movement of the cache line back
+	and forth between the processors (explanation by Asis K. Mallick
+	from Intel). This basically makes the implementation operate the
+	same as the Linux kernel implementation.
+
+	* shlib-versions: Use GLIBC_2_2 for Linux/ia64.
+	* sysdeps/ia64/pspinlock.c: New file.
+
+2000-08-03  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c: Move definition of __pthread_set_own_extricate_if...
+	* spinlock.h: ...here.  Remove locking.
+	* internals.h: Remove __pthread_set_own_extricate_if prototype.
+
+	* rwlock.c: Use THREAD_GETMEM And THREAD_SETMEM.
+	(rwlock_rd_extricate_func): Don't determine self, let
+	__pthread_lock do it.
+	(rwlock_wr_extricate_func): Likewise.
+	(rwlock_have_already): Optimize *pself handling a bit.
+
+	* mutex.c: Use __builtin_expect.
+	* pthread.c: Likewise.
+
+2000-08-02  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/s390/pspinlock.c: New file.
+	* sysdeps/s390/pt-machine.h: New file.
+	Patches by Martin Schwidefsky <schwidefsky@de.ibm.com>.
+
+2000-07-12  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+	* sysdeps/mips/pspinlock.c (__pthread_spin_lock): Implement for
+	R3K.
+	* sysdeps/mips/pt-machine.h (testandset): Likewise.
+
+2000-07-26  Andreas Jaeger  <aj@suse.de>
+
+	* pthread.c: Initialize p_sem_avail.
+
+2000-07-25  Ulrich Drepper  <drepper@redhat.com>
+
+	* internals.h (struct __pthread_descr_struct): Add p_sem_avail.
+	* semaphore.c: Handle spurious wakeups.
+
+	* sysdeps/pthread/pthread.h: Add back PTHREAD_MUTX_FAST_NP as an alias
+	for PTHREAD_MUTEX_ADAPTIVE_NP for source code compatibility.
+
+	* pthread.c (__pthread_set_own_extricate): Use THREAD_GETMEM.
+	(__pthread_wait_for_restart): Likewise.
+
+	* condvar.c (pthread_cond_wait): Also check whether thread is
+	cancelable before aborting loop.
+	(pthread_cond_timedwait): Likewise.
+
+	* signals.c (pthread_sighandler): Remove special code to restrore
+	%gs on x86.
+	(pthread_sighandler_t): Likewise.
+
+2000-07-25  Mark Kettenis  <kettenis@gnu.org>
+
+	* internals.h (__RES_PTHREAD_INTERNAL): Remove define.
+	* pthread.c: Include <resolv.h>.
+	(_res): Undefine.  Add extern declaration.
+
+2000-07-24  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c (__pthread_initial_thread): Update initializer.
+	(__pthread_manager_thread): Likewise.
+	(pthread_initialize): Move setrlimit call to...
+	(__pthread_initialize_manager): ...here.
+	(__pthread_reset_main_thread): Reset also soft limit on stack size.
+
+	* condvar.c: Handle spurious wakeups.  [PR libc/1749].
+	* internals.h (struct _pthread_descr_struct): Add p_condvar_avail.
+
+2000-07-21  Ulrich Drepper  <drepper@redhat.com>
+
+	* spinlock.h: If IMPLEMENT_TAS_WITH_CAS is defined use
+	__compare_and_swap to define testandset.
+	* sysdeps/powerpc/pt-machine.h: Add volatile to asms.
+	Define IMPLEMENT_TAS_WITH_CAS.
+
+2000-07-20  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile: Pass -z nodelete to linker for libpthread.so
+	generation if it understand this option.
+
+2000-07-18  Mark Kettenis  <kettenis@gnu.org>
+
+	* manager.c (pthread_handle_create): Remove initialization of
+	new_thread->p_res._sock.
+
+2000-07-19  Kaz Kylheku  <kaz@ashi.footprints.net>
+
+	Bugfixes to the variant of the code for machines with no compare
+	and swap.
+
+	* spinlock.c (__pthread_alt_lock, __pthread_alt_timedlock): Wait
+	node was not being properly enqueued, due to failing to update
+	the lock->__status field.
+
+	* spinlock.c (__pthread_alt_timedlock): The oldstatus variable was
+	being set inappropriately, causing the suspend function to be called
+	with a null self pointer and crash.
+
+2000-07-18  Ulrich Drepper  <drepper@redhat.com>
+
+	* spinlock.h (__pthread_alt_trylock): Fix code used if no
+	compare&swap is available.
+
+	* spinlock.h (__pthread_trylock): Use __compare_and_swap, not
+	compare_and_swap.
+
+	* pthread.c (pthread_initialize): Don't use sysconf to determine
+	whether the machine has more than one processor.
+
+	* spinlock.c (__pthread_alt_timedlock): Add back one of the
+	removed thread_self calls.
+
+2000-07-18  Kaz Kylheku  <kaz@ashi.footprints.net>
+
+	* spinlock.c (__pthread_alt_lock, __pthread_alt_timedlock): Changed
+	__compare_and_swap to compare_and_swap in code which assumes
+	compare swap is available.
+
+2000-07-18  Kaz Kylheku  <kaz@ashi.footprints.net>
+
+	* spinlock.c (__pthread_alt_lock, __pthread_alt_timedlock): Fixed
+	bug whereby thr field of waitnode structure would not be correctly
+	set unless a null self pointer is passed to the functions.
+	Eliminated redundant calls to thread_self().
+
+2000-07-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* pthread.c (__pthread_initialize_manager): Lock
+	__pthread_manager_thread.p_lock before calling clone.
+
+2000-05-05  H.J. Lu  <hjl@gnu.org>
+
+	* sysdeps/ia64/pt-machine.h (__compare_and_swap): Change it to
+	have acquire semantics.
+	(__compare_and_swap_with_release_semantics): New inline
+	function.
+	(HAS_COMPARE_AND_SWAP_WITH_RELEASE_SEMANTICS): New macro.
+
+2000-01-28  Hans Boehm  <hboehm@exch.hpl.hp.com>
+
+	* manager.c: Fix the problem with signals at startup.
+	Change the way that thread stacks are allocated on IA64.
+	Clean up some of the guard page allocation stuff.
+
+1999-12-19  H.J. Lu  <hjl@gnu.org>
+
+	* internals.h (page_roundup): New.
+	* attr.c (__pthread_attr_setguardsize); Use page_roundup
+	instead of roundup.
+	* manager.c (pthread_allocate_stack): Make sure guardaddr is
+	page aligned with page_roundup if NEED_SEPARATE_REGISTER_STACK
+	is define.
+
+1999-12-17  Hans Boehm  <hboehm@exch.hpl.hp.com>
+
+	* manager.c (pthread_allocate_stack): Unmap the stack top
+	if failed to map the stack bottom.
+	Fix the guard page.
+	(pthread_free): Fix the guard page.
+
+	* pthread.c (pthread_initialize): Set rlimit correctly for
+	NEED_SEPARATE_REGISTER_STACK.
+
+1999-12-16  H.J. Lu  <hjl@gnu.org>
+
+	* pthread.c (__pthread_initialize_manager): Pass
+	__pthread_manager_thread_bos instead of
+	__pthread_manager_thread_tos to __clone2.
+
+1999-12-16  H.J. Lu  <hjl@gnu.org>
+
+	* manager.c (pthread_allocate_stack): Correct the calculation
+	of "new_thread_bottom". Remove MAP_GROWSDOWN from mmap for
+	stack bottom.
+
+1999-12-13  H.J. Lu  <hjl@gnu.org>
+
+	* sysdeps/ia64/pt-machine.h (__compare_and_swap): Added a stop
+	bit after setting ar.ccv.
+
+1999-12-12  H.J. Lu  <hjl@gnu.org>
+
+	* manager.c (pthread_allocate_stack): Make the starting
+	address of the stack bottom page aligned. FIXME: it may
+	need changes in other places.
+	(pthread_handle_create): Likewise.
+
+1999-12-11  Hans Boehm  <hboehm@exch.hpl.hp.com>
+
+	* manager.c (pthread_allocate_stack): Handle
+	NEED_SEPARATE_REGISTER_STACK.
+	(pthread_handle_create): Likewise.
+	* pthread.c (__pthread_initialize_manager): Likewise.
+
+	* sysdeps/ia64/pt-machine.h: Use r13 for thread pointer.
+
+1999-12-02  H.J. Lu  <hjl@gnu.org>
+
+	* sysdeps/ia64/pt-machine.h: New.
+
+2000-07-13  Ulrich Drepper  <drepper@redhat.com>
+
+	* wrapsyscall.c: Mark non-__ protected names as weak.
+	PR libc/1466.
+
+2000-07-12  Bruno Haible  <haible@clisp.cons.org>
+
+	* Examples/ex8.c: Include <sys/wait.h>, not <wait.h>.
+
+2000-07-12  Ulrich Drepper  <drepper@redhat.com>
+
+	* spinlock.c: Fix code for TEST_FOR_COMPARE_AND_SWAP being defined.
+	Add tests also to new alternative spinlock implementation.
+	* spinlock.h: Likewise.
+	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
+
+2000-07-06  Ulrich Drepper  <drepper@redhat.com>
+
+	* Version: Export __sigaction.
+	* signals.c: Define __sigaction alias.  Use __libc_sigaction instead
+	of __sigaction.
+	* pthread.c: Use __libc_sigaction instead of __sigaction.
+
+	* condvar.c: Implement pthread_condattr_getpshared and
+	pthread_condattr_setpshared.
+	* mutex.c: Implement pthread_mutexattr_getpshared and
+	 pthread_mutexattr_setpshared.
+	* Versions: Export new functions.
+	* sysdeps/pthread/pthread.h: Add prototypes for new functions.
+
+	* rwlock.c (pthread_rwlockattr_init): Use PTHREAD_PROCESS_PRIVATE.
+	(pthread_rwlockattr_setpshared): Fail if PTHREAD_PROCESS_PRIVATE
+	is not selected.
+
+2000-07-04  Greg McGary  <greg@mcgary.org>
+
+	* sysdeps/pthread/bits/libc-lock.h: Remove BP_SYM from
+	pragmas.  Include bp-sym.h only if _LIBC.
+
+2000-07-04  Ulrich Drepper  <drepper@redhat.com>
+
+	* spinlock.c (__pthread_unlock): Properly place write barrier.
+	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
+
+2000-07-03  Ulrich Drepper  <drepper@redhat.com>
+
+	* spinlock.c: Replace fast spinlocks by adaptive spinlocks which are
+	faster on SMP systems.  No more emulation of compare&swap for adaptive
+	spinlocks.
+	* spinlock.h: Likewise.
+	* sysdeps/pthread/pthread.h: Shuffle PTHREAD_MUTEX_* values around.
+	Replace fast with adaptive mutex.
+	* mutex.c: Rewrite for replacement of fast by adaptive mutex.
+	* condvar.c: Likewise.
+	* pthread.c: Define and initialize __pthread_smp_kernel variable.
+	* internals.h: Declare __pthread_smp_kernel.
+	* sysdeps/pthread/bits/pthreadtypes.h: Update comment of
+	_pthread_fastlock structure.
+	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
+
+	* pthread.c: Remove initialization to zero from global variables.
+
+2000-06-29  Jakub Jelinek  <jakub@redhat.com>
+
+	* shlib-versions: Make sparc64 GLIBC_2.2+ only.
+
+2000-06-28  Greg McGary  <greg@mcgary.org>
+
+	* weaks.c: Wrap BP_SYM () around weak extern declarations of
+	pthread functions that have pointers in their return+arg signatures.
+
+2000-06-27  Greg McGary  <greg@mcgary.org>
+
+	* sysdeps/pthread/bits/libc-lock.h: Wrap BP_SYM () around weak
+	extern declarations of pthread functions that have pointers in
+	their return+arg signatures.
+
+2000-06-26  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile (tests): Add ex11.  Add rules to build it.
+	* Examples/ex11.c: New file.
+	* rwlock.c: Fix complete braindamaged previous try to implement
+	timedout functions.
+
+	* spinlock.c: Pretty print.
+
+2000-06-25  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile (tests): Add ex10.  Add rules to build it.
+	* Versions [GLIBC_2.2] (libpthread): Add pthread_mutex_timedlock,
+	pthread_rwlock_timedrdlock, and pthread_rwlock_timedwrlock.
+	* condvar.c (pthread_cond_wait): Allow mutex of kind
+	PTHREAD_MUTEX_TIMED_NP.
+	(pthread_cond_timedwait_relative): Likewise.
+	* mutex.c (__pthread_mutex_init): Default is PTHREAD_MUTEX_TIMED_NP.
+	(__pthread_mutex_trylock): Use __pthread_alt_trylock for
+	PTHREAD_MUTEX_ERRORCHECK_NP.  Handle PTHREAD_MUTEX_TIMED_NP.
+	(__pthread_mutex_lock): Use __pthread_alt_lock for
+	PTHREAD_MUTEX_ERRORCHECK_NP.  Handle PTHREAD_MUTEX_TIMED_NP.
+	(__pthread_mutex_timedlock): New function.
+	(__pthread_mutex_unlock): Use __pthread_alt_unlock for
+	PTHREAD_MUTEX_ERRORCHECK_NP.  Handle PTHREAD_MUTEX_TIMED_NP.
+	(__pthread_mutexattr_init): Use PTHREAD_MUTEX_TIMED_NP.
+	(__pthread_mutexattr_settype): Allow PTHREAD_MUTEX_TIMED_NP.
+	* spinlock.c: Implement alternate fastlocks.
+	* spinlock.h: Add prototypes.
+	* Examples/ex10.c: New file.
+	* sysdeps/pthread/pthread.h: Add prototypes for new functions.
+	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
+
+	* rwlock.c (__pthread_rwlock_rdlock): Optimize loop a bit.
+	(__pthread_rwlock_timedrdlock): New function.
+	(__pthread_rwlock_timedwrlock): New function.
+	Use laternate fastlock function everywhere.
+
+2000-06-21  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/pthread/timer_routines.c: Include <string.h> for memset
+	prototype.
+
+	* join.c: Include <stdlib.h> for exit prototype.
+
+2000-06-20  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/useldt.h: Include <stdlib.h>.
+
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define _POSIX_BARRIERS.
+	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
+
+	* Makefile (libpthread-routines): Add barrier.
+	(tests): Add ex9.  Add rule to build ex9.
+	* Versions: Export barrier functions.
+	* barrier.c: New file.
+	* Examples/ex9.c: New file.
+	* sysdeps/pthread/pthread.h: Add barrier data types and declarations.
+	* sysdeps/pthread/bits/pthreadtypes.h: Likewise.
+	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
+
+2000-06-19  H.J. Lu  <hjl@gnu.org>
+
+	* spinlock.h (HAS_COMPARE_AND_SWAP): Defined if
+	HAS_COMPARE_AND_SWAP_WITH_RELEASE_SEMANTICS is defined.
+	(compare_and_swap_with_release_semantics): New. Default to
+	compare_and_swap if HAS_COMPARE_AND_SWAP_WITH_RELEASE_SEMANTICS
+	is not defined.
+
+	* spinlock.c (__pthread_unlock): Call
+	compare_and_swap_with_release_semantics () instead of
+	compare_and_swap ().
+
+2000-06-19  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/timer_create.c: Use _set_errno instead of assigning
+	to errno directly.
+	* sysdeps/pthread/timer_delete.c: Likewise.
+	* sysdeps/pthread/timer_getoverr.c: Likewise.
+	* sysdeps/pthread/timer_gettime.c: Likewise.
+	* sysdeps/pthread/timer_settime.c: Likewise.
+
+2000-06-13  Kaz Kylheku  <kaz@ashi.footprints.net>
+
+	Timer nodes are now reference counted, and can be marked
+	as deleted. This allows for the safe release of the global mutex
+	in the middle without losing the timer being operated on.
+
+	* sysdeps/pthread/posix-timer.h (struct timer_node):  The inuse
+	member is now an enum with three values, so that an intermediate
+	state can be represented (deleted but not free for reuse yet).
+	New refcount member added.
+	* sysdeps/pthread/timer_routines.c: Likewise.
+
+	* sysdeps/pthread/posix-timer.h (timer_addref, timer_delref,
+	timer_valid): New inline functions added.
+
+	* sysdeps/pthread/timer_gettime.c (timer_gettime): Function
+	restructured, recursive deadlock bug fixed.
+
+	* sysdeps/pthread/timer_gettime.c (timer_gettime): Uses new
+	timer_addref to ensure that timer won't be deleted while mutex is not
+	held. Also uses timer_invalid to perform validation of timer handle.
+	* sysdeps/pthread/timer_settime.c (timer_settime): Likewise.
+	* sysdeps/pthread/timer_getoverr.c (timer_getoverrun): Likewise.
+
+2000-06-14  Ulrich Drepper  <drepper@redhat.com>
+
+	* shlib-versions: Add entry for SH.
+	Patch by Kaz Kojima <kkojima@rr.iij4u.or.jp>.
+
+2000-06-13  Kaz Kylheku  <kaz@ashi.footprints.net>
+
+	A few optimizations.  Got rid of unnecessary wakeups of timer threads,
+	tightened up some critical regions and micro-optimized some list
+	manipulation code.
+
+	* sysdeps/pthread/timer_routines.c (__timer_thread_queue_timer):
+	Returns int value now to indicate whether timer was queued at head.
+	* sysdeps/pthread/posix-timer.h: Likewise.
+	* sysdeps/pthread/timer_settime.c (timer_settime): Takes advantage of
+	new return value from __timer_thread_queue_timer to avoid waking
+	up timer thread unnecessarily.
+
+	* sysdeps/pthread/posix-timer.h (timer_id2ptr): No longer checks
+	inuse flag, because this requires mutex to be held.  Callers updated
+	to do the check when they have the mutex.
+	* sysdeps/pthread/timer_getoverr.c: Add check for inuse here.
+
+	* sysdeps/pthread/timer_settime.c (timer_settime): Tighter critical
+	regions: avoids making system calls while holding timer mutex, and
+	a few computations were moved outside of the mutex as well.
+	* sysdeps/pthread/timer_gettime.c (timer_gettime): Likewise.
+
+	* sysdeps/pthread/posix-timer.h (list_unlink_ip): Function name changed
+	to list_unlink_ip, meaning idempotent.  Pointer manipulation
+	changed to get better better code out of gcc.
+	* sysdeps/pthread/timer_routines.c (list_unlink): Non-idempotent
+	version of list_unlink added here.
+	* sysdeps/pthread/timer_delete.c: Use appropriate list unlink
+	function in all places: idempotent one for timers, non-idempotent
+	one for thread nodes.
+	* sysdeps/pthread/timer_settime: Likewise.
+	* sysdeps/pthread/timer_routines.c: Likewise.
+
+2000-06-13  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h (_POSIX_TIMERS): Define.
+	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
+
+	* sysdeps/pthread/Makefile: Remove tests definition.
+
+2000-06-12  Kazumoto Kojima  <kkojima@rr.iij4u.or.jp>
+	    Yutaka Niibe  <gniibe@chroot.org>
+
+	* sysdeps/sh/pspinlock.c: New file.
+	* sysdeps/sh/pt-machine.h: New file.
+
+2000-06-12  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile (tests): Add joinrace.
+
+	* Examples/ex6.c: Test return value of pthread_join.
+
+2000-06-11  Geoff Keating  <geoffk@cygnus.com>
+
+	* sysdeps/powerpc/pspinlock.c (__pthread_spin_lock): Implement.
+	(__pthread_spin_trylock): Implement.
+	(__pthread_spin_unlock): Implement.
+	(__pthread_spin_init): Implement.
+	(__pthread_spin_destroy): Implement.
+
+2000-06-10  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/timer_routines.c (list_append): Little fix to
+	really append the entry.
+
+2000-06-10  Andreas Jaeger  <aj@suse.de>
+
+	* lockfile.c (__fresetlockfiles): Remove unused variable fp.
+
+2000-06-10  Kaz Kylheku  <kaz@ashi.footprints.net>
+
+	* sysdeps/pthread/timer_create.c: Thread matching now done on
+	clock type as well as thread attributes.
+	There are individual global signal-delivering threads for
+	different clock types.
+	* sysdeps/pthread/posix-timer.h: Likewise.
+	* sysdeps/pthread/timer_routines.c: Likewise.
+
+	* sysdeps/pthread/timer_routines.c: Thread allocation and
+	deallocation function now remembers to put thread on active
+	list and remove from active list.
+	Thus now the feature of binding multiple timers
+	to a single thread actually works.
+
+2000-06-10  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c (__pthread_create_2_1): Optimize a bit.
+
+	* internals.h (invalid_handle): Also test for p_terminated != 0.
+	(nonexisting_handle): New function.  Same as old invalid_handle.
+	* join.c (pthread_join): Use nonexisting_handle instead of
+	invalid_handle to test for acceptable thread handle.
+	* manager.c (pthread_handle_free): Likewise.
+	* joinrace.c: New file.
+	Reported by Permaine Cheung <pcheung@cygnus.com>.
+
+2000-06-08  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/timer_routines.c (__timer_thread_queue_timer):
+	Correct handling of matching variable.
+
+	* sysdeps/pthread/tst-timer.c (main): Rewrite initializers to
+	avoid warnings.
+
+	* sysdeps/pthread/timer_routines.c (__timer_thread_queue_timer):
+	Be prepared for empty timer list.
+
+	* sysdeps/pthread/timer_create.c (timer_create): Correct names of
+	CPUTIME clock ID.  Add support for thread clocks.
+
+	* sysdeps/pthread/posix-timer.h (timer_ptr2id): Operands in
+	subtraction were switched.
+
+	* sysdeps/pthread/timer_routines.c (init_module): Use
+	THREAD_MAXNODES threads.
+
+	* sysdeps/pthread/posix-timer.h (struct timer_node): Add creator_pid.
+	* sysdeps/pthread/timer_create.c: Fill in creator_pid.
+	* sysdeps/pthread/timer_routines.c (thread_expire_timer): Send signal
+	with sigqueueinfo is this system call is available.
+
+	* sysdeps/pthread/timer_create.c (timer_create): Allow
+	CLOCK_CPUTIME if _POSIX_CPUTIME is defined.
+
+	* sysdeps/pthread/Makefile: New file.  Add rules to build timer
+	functionality.
+	* sysdeps/unix/sysv/linux/bits/local_lim.h: Add TIMER_MAX.
+
+2000-06-04  Kaz Kylheku  <kaz@ashi.footprints.net>
+
+	* sysdeps/pthread/posix-timer.h: New file.
+	* sysdeps/pthread/timer_create.c: New file.
+	* sysdeps/pthread/timer_delete.c: New file.
+	* sysdeps/pthread/timer_getoverr.c: New file.
+	* sysdeps/pthread/timer_gettime.c: New file.
+	* sysdeps/pthread/timer_routines.c: New file.
+	* sysdeps/pthread/timer_settime.c: New file.
+	* sysdeps/pthread/tst-timer.c: New file.
+
+2000-06-08  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/bits/local_lim.h: Remove OPEN_MAX and
+	LINK_MAX definitions if necessary.
+
+2000-06-04  Kaz Kylheku  <kaz@ashi.footprints.net>
+
+	Added missing fork time handling of global libio lock.
+
+	* lockfile.c (__fresetlockfiles): Now also resets the list lock,
+	not just the individual stream locks. Rewritten to use new
+	iterator interface provided by libio rather than accessing
+	global variable.
+
+	* lockfile.c (__flockfilelist, _funlockfilelist): New functions
+	which lock and unlock the stream list using the new interface
+	provied by libio.
+	* internals.h: Likewise.
+
+	* ptfork.c (__fork): Now calls __flockfilelist before fork,
+	and __funlockfilelist in the parent after the fork.
+	Child still calls __fresetlockfiles as before.
+
+	* linuxthreads.texi: Now explains what happens to streams at
+	fork time. Also whole new section on forking and thread added.
+	Definition of pthread_atfork moved out of Miscellaneous Functions
+	to this new section.
+
+2000-06-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/sparc/sparc32/sparcv9/pspinlock.c (__pthread_spin_lock):
+	Add missing register.
+	* sysdeps/sparc/sparc64/pspinlock.c (__pthread_spin_lock): Likewise.
+
+2000-06-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/sparc/sparc32/pspinlock.c: Implement spinlocks.
+	* sysdeps/sparc/sparc32/sparcv9/pspinlock.c: New.
+	* sysdeps/sparc/sparc64/pspinlock.c: Implement spinlocks.
+
+2000-05-31  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/mips/pspinlock.c: Implement spinlocks.
+
+2000-05-28  Ulrich Drepper  <drepper@redhat.com>
+
+	* spinlock.c (__pthread_lock): Remove ASSERT.
+
+	* Makefile (tests): Add ex8.
+	* Examples/ex8.c: New file.
+
+2000-05-12  Kaz Kylheku  <kaz@ashi.footprints.net>
+
+	Bugfix: The pthread_atfork mechanism now takes care of its
+	own internal mutex at fork time.
+
+	* ptfork.c (__fork): Revised so that the mutex is held across
+	the fork operation and while the handlers are called, and so that
+	the child resets the mutex.
+
+	* linuxthreads.texi: Updated pthread_atfork documentation to make
+	it clear that fork and pthread_atfork can't be reentered from
+	atfork handlers, that pthread_atfork and fork are mutually atomic,
+	and that the handlers are inherited by the child process.
+
+2000-05-24  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile (libpthread-routines): Add pspinlock.
+	* cancel.c: Rename __pthread_spin_unlock back to __pthread_unlock.
+	Use struct _pthread_fastlock instead of pthread_spinlock_t.
+	* condvar.c: Likewise.
+	* internals.h: Likewise.
+	* join.c: Likewise.
+	* manager.c: Likewise.
+	* mutex.c: Likewise.
+	* pthread.c: Likewise.
+	* rwlock.c: Likewise.
+	* semaphore.c: Likewise.
+	* signals.c: Likewise.
+	* spinlock.h: Likewise.
+	* spinlock.c: Likewise.  Remove pthread_spin_lock functions.
+	* sysdeps/alpha/pspinlock.c: New file.
+	* sysdeps/arm/pspinlock.c: New file.
+	* sysdeps/i386/pspinlock.c: New file.
+	* sysdeps/m68k/pspinlock.c: New file.
+	* sysdeps/mips/pspinlock.c: New file.
+	* sysdeps/powerpc/pspinlock.c: New file.
+	* sysdeps/sparc/sparc32/pspinlock.c: New file.
+	* sysdeps/sparc/sparc64/pspinlock.c: New file.
+	* sysdeps/pthread/bits/pthreadtypes.h: Remove pthread_spinlock_t
+	back to _pthread_fastlock.  Define new pthread_spinlock_t.
+
+2000-05-24  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/i386/i686/pt-machine.h: Only use LDT on newer kernels.
+
+2000-05-21  Jakub Jelinek  <jakub@redhat.com>
+
+	* manager.c (pthread_handle_create): Initialize p_res._sock to -1.
+
+2000-05-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* internals.h (__RES_PTHREAD_INTERNAL): Define.
+
+2000-05-06  Kaz Kylheku  <kaz@ashi.footprints.net>
+
+	* mutex.c (pthread_once): IN_PROGRESS state of pthread_once_t
+	object state is represented with additional bits which distinguish
+	whether that state was set up in the current process, or
+	in an ancestor process. If that state was set in an ancestor,
+	it means that a fork happened while thread was executing the init
+	function. In that case, the state is reset to NEVER.
+	* mutex.c (__pthread_once_fork_prepare): New function.
+	(__pthread_once_fork_child): Likewise
+	(__pthread_once_fork_parent): Likewise
+	(__pthread_reset_pthread_once): Removed.
+	* ptfork.c (__fork): Call new handlers in mutex.c.
+	* internals.h: Declarations of new mutex.c functions added.
+	Declaration of removed function deleted.
+	* linuxthreads.texi: Updated documentation about pthread_once
+	to clarify what happens under cancellation and forking.
+
+2000-05-06  Kaz Kylheku  <kaz@ashi.footprints.net>
+
+	* internals.h: New thread manager request type, REQ_KICK.
+	* join.c (pthread_exit): main thread now calls exit() instead
+	of _exit() in order to proper process cleanup.
+	* manager.c (__pthread_manager): Do not terminate manager
+	after unblocking main thread; wait for main thread's
+	REQ_PROCESS_EXIT request instead.
+	Also, added REQ_KICK case to handle new request; this just does
+	nothing.
+	* manager.c (pthread_exited): Do not terminate manager after
+	unblocking main thread.
+	* manager.c (__pthread_manager_sighandler): If the main thread
+	is waiting for all other threads to die, send a REQ_KICK into
+	the thread manager request pipe to get it to clean out the threads
+	and unblock the main thread as soon as possible. This fixes
+	the 2000 millisecond hang on shutdown bug.
+	* Examples/ex7.c: New file, tests shutdown behavior when all threads
+	including the main one call pthread_exit(), or implicitly do so.
+	* Makefile (tests): Add ex7.
+
+2000-05-05  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/unix/sysv/linux/i386/getcpuclockid.c
+	(pthread_getcpuclockid): Correct test for ourselves.
+
+2000-05-05  Ulrich Drepper  <drepper@redhat.com>
+
+	* internals.h (struct _pthread_descr_struct): Reorganization.
+	Allocate room for 16 pointers at head of the structure for future
+	thread-local data handling.  Move p_self member in this area.
+	* manager.c (pthread_handle_create): Adjust use of p_self.
+	* sysdeps/i386/useldt.h (THREAD_SELF): Likewise.
+	* pthread.c (__pthread_initial_thread): Adjust initialization.
+	(__pthread_manager_thread): Likewise.
+
+2000-04-29  Bruno Haible  <haible@clisp.cons.org>
+
+	* join.c (pthread_exit): Use THREAD_GETMEM_NC instead of THREAD_GETMEM
+	for eventmask larger than 1 word.
+
+2000-04-27  Ulrich Drepper  <drepper@redhat.com>
+
+	* Versions [libpthread] (GLIBC_2.2): Add __pthread_initialize_minimal.
+	* pthread.c (__pthread_initialize_minimal): New function.  Perform
+	minimal initialization.
+	(pthread_initialize): Remove this code here.
+	* sysdeps/i386/i686/pt-machine.h: Include "../useldt.h" again.  We
+	are working around the problem in glibc.
+
+2000-04-25  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/i686/pt-machine.h: Do not use "../useldt.h" for
+	now.  First gcc must be fixed (more concrete: libgcc).
+
+2000-04-24  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c: Remove special treatement for interrupt handlers on x86.
+	* manager.c (pthread_free): Use FREE_THREAD not FREE_THREAD_SELF.
+	* sysdeps/i386/useldt.h: Use "q" constraint instead of "r" where
+	necessary.
+	* sysdeps/i386/i686/pt-machine.h: Include "../useldt.h".
+
+2000-04-24  Mark Kettenis  <kettenis@gnu.org>
+
+	* join.c (pthread_exit): Set p_terminated after reporting the
+	termination event instead of before.
+
+2000-04-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/pthread/bits/libc-lock.h: Only declare __pthread_rwlock_*
+	if __USE_UNIX98.
+
+2000-04-18  Andreas Jaeger  <aj@suse.de>
+
+	* Versions: Use ld instead of ld.so.
+
+2000-04-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/sparc/bits/sigcontext.h (struct sigcontext):
+	Remove the typedef keyword.
+
+2000-04-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/sparc/sparc64/pt-machine.h (MEMORY_BARRIER): Use membar,
+	not stbar.
+	(READ_MEMORY_BARRIER): Define.
+	* spinlock.c (__pthread_spin_unlock): Use READ_MEMORY_BARRIER, not
+	MEMORY_BARRIER.
+	* internals.h (READ_MEMORY_BARRIER): Define if not defined in sysdep
+	headers.
+
+2000-04-17  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/i386/getcpuclockid.c
+	(pthread_getcpuclockid): Don't compare thread_id with thread_self,
+	use thread_handle().
+
+2000-04-16  Ulrich Drepper  <drepper@redhat.com>
+
+	* condvar.c (pthread_cond_timedwait_relative): Don't test for owner
+	if fast mutex is used.  Don't initialize `already_canceled' twice.
+	Correctly test for return value of timedsuspend.
+
+	* pthread.c: Correct long-time braino.  We never set SA_SIGINFO and
+	therefore don't need the _rt versions of the signal handlers.
+
+2000-04-15  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c (pthread_yield): New function.
+	* sysdeps/pthread/pthread.h (pthread_yield): Add prototype.
+	* Versions [libpthread] (GLIBC_2.2): Add pthread_yield.
+	* internals.h: Declare __pthread_yield.
+
+	* pthread.c (pthread_initialize): Avoid a bit more code if
+	realtime signals are known to exist.
+
+	* pthread.c: Is __ASSUME_REALTIME_SIGNALS then avoid generating code
+	to dynamically detect RT signals and avoid generating compatibility
+	functions with old kernel.
+	* restart.h (restart) [__ASSUME_REALTIME_SIGNALS]: Use
+	__pthread_restart_new directly.
+	(suspend) [__ASSUME_REALTIME_SIGNALS]: Use
+	__pthread_wait_for_restart_signal directly.
+	(timedsuspend) [__ASSUME_REALTIME_SIGNALS]: Use
+	__pthread_timedsuspend_new directly.
+
+2000-04-15  Ulrich Drepper  <drepper@redhat.com>
+
+	* condvar.c: Remove all the special code to handle cond_timedwait.
+	Use timedsuspend instead.
+	* internals.h: Declare __pthread_timedsuspend_old,
+	__pthread_timedsuspend_new, and __pthread_timedsuspend.
+	Remove declaration of __pthread_init_condvar.
+	* pthread.c: Define __pthread_timedsuspend variable.
+	(__pthread_timedsuspend_old): New function.  Timed suspension
+	implementation for old Linux kernels.
+	(__pthread_timedsuspend_new): New function.  Timed suspension
+	implementation for new Linux kernels.
+	* restart.h (timedsuspend): New function.  Call appropriate
+	suspension function through __pthread_timedsuspend.
+	* semaphore.c (sem_timedwait): Use timedsuspend, don't duplicate
+	the code.
+	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
+
+	* internals.h (WRITE_MEMORY_BARRIER): Define as MEMORY_BARRIER if
+	undefined.
+	* spinlock.c: Use WRITE_MEMORY_BARRIER instead of MEMORY_BARRIER
+	where possible.
+	* sysdeps/alpha/pt-machine.h: Define WRITE_MEMORY_BARRIER.
+	* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
+
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Add _POSIX_SPAWN.
+	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
+
+2000-04-14  Andreas Jaeger  <aj@suse.de>
+
+	* weaks.c: Fix typo.
+
+	* shlib-versions (mips.*-.*-linux.*): Support only GLIBC 2.0 and
+	2.2 for linuxthreads.
+
+2000-04-13  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/i386/getcpuclockid.c
+	(pthread_getcpuclockid): Fix typo.
+
+2000-04-12  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile (libpthread-routines): Add getcpuclockid.
+	* Versions [libpthread] (GLIBC_2.2): Add pthread_getcpuclockid.
+	* sysdeps/pthread/getcpuclockid.c: New file.
+	* sysdeps/unix/sysv/linux/i386/getcpuclockid.c: New file.
+	* sysdeps/pthread/pthread.h: Add prototype for pthread_getcpuclockid.
+
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h (_POSIX_SPIN_LOCKS):
+	Defined.
+	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
+
+	* sysdeps/pthread/pthread.h: Add prototypes for pthread_spin_init,
+	pthread_spin_destroy, pthread_spin_lock, pthread_spin_trylock,
+	and pthread_spin_unlock.
+	* sysdeps/pthread/bits/pthreadtypes.h: Change struct _pthread_fastlock
+	into pthread_spinlock_t.  Change all uses.
+	* spinlock.c: Implement pthread_spin_lock.
+	Rename __pthread_unlock to __pthread_spin_unlock and define weak
+	alias for real name.
+	Define pthread_spin_trylock, pthread_spin_init, and
+	pthread_spin_destroy.
+	Change all uses of _pthread_fastlock to pthread_spinlock_t.
+	* spinlock.h: Rename __pthread_unlock to __pthread_spin_unlock.
+	Change all uses of _pthread_fastlock to pthread_spinlock_t.
+	* Versions [libpthread] (GLIBC_2.2): Add pthread_spin_init,
+	pthread_spin_destroy, pthread_spin_lock, pthread_spin_trylock,
+	and pthread_spin_unlock.
+	* cancel.c: Use __pthread_spin_unlock instead of __pthread_unlock.
+	Change all uses of _pthread_fastlock to pthread_spinlock_t.
+	* condvar.c: Likewise.
+	* internals.h: Likewise.
+	* join.c: Likewise.
+	* manager.c: Likewise.
+	* mutex.c: Likewise.
+	* pthread.c: Likewise.
+	* rwlock.c: Likewise.
+	* semaphore.c: Likewise.
+	* signals.c: Likewise.
+
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Add various new POSIX
+	macros.
+	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: New file.
+
+2000-04-11  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Add
+	_POSIX_SHARED_MEMORY_OBJECTS.
+
+2000-04-11  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/mips/pt-machine.h (MEMORY_BARRIER): Define.
+	(__compare_and_swap): Mark as modifying memory.
+
+2000-04-11  Geoff Keating  <geoffk@cygnus.com>
+
+	* sysdeps/powerpc/pt-machine.h (MEMORY_BARRIER): Don't be
+	__volatile__.
+	(__compare_and_swap): Replace other 'sync' with MEMORY_BARRIER.
+	Don't have the 'asm' __volatile__.
+
+2000-04-11  Ulrich Drepper  <drepper@redhat.com>
+
+	* internals.h: Define MEMORY_BARRIER as empty if not defined already.
+	* spinlock.c (__pthread_lock): Add memory barriers.
+	(__pthread_unlock): Likewise.
+	* sysdeps/alpha/pt-machine.h (MEMORY_BARRIER): Define using mb
+	instruction.
+	(RELEASE): Not needed anymore.
+	(__compare_and_swap): Mark asm as modifying memory.
+	* sysdeps/powerpc/pt-machine.h (sync): Remove.  Replace with definition
+	of MEMORY_BARRIER.
+	(__compare_and_swap): Use MEMORY_BARRIER instead of sync.
+	* sysdeps/sparc/sparc32/pt-machine.h (RELEASE): Not needed anymore.
+	(MEMORY_BARRIER): Define using stbar.
+	* sysdeps/sparc/sparc64/pt-machine.h (MEMORY_BARRIER): Define using
+	stbar.
+	(__compare_and_swap): Use MEMORY_BARRIER to ensure ordering.
+	Patch by Xavier Leroy <Xavier.Leroy@inria.fr> based on comments by
+	Mike Burrows <m3b@pa.dec.com>.
+
+2000-04-09  Ulrich Drepper  <drepper@redhat.com>
+
+	* signals.c (sigaction): Fix return value for the case SIG is one
+	of the signals the implementation uses.
+	Patch by Xavier.Leroy@inria.fr.
+
+2000-04-01  Andreas Jaeger  <aj@suse.de>
+
+	* attr.c: Use shlib-compat macros.
+	* oldsemaphore.c: Likewise.
+	* pthread.c: Likewise.
+	* weaks.c: Likewise.
+
+2000-03-26  Ulrich Drepper  <drepper@redhat.com>
+
+	* semaphore.c (sem_timedwait): New function.
+	Patch by Carl Mailloux <carlm@oricom.ca>.
+	* semaphore.h: Declare sem_timedwait.
+	* Versions [libpthread] (GLIBC_2.2): Add sem_timedwait.
+
+2000-03-26  Roland McGrath  <roland@baalperazim.frob.com>
+
+	* sysdeps/pthread/Makefile: File removed.
+
+2000-03-23  Ulrich Drepper  <drepper@redhat.com>
+
+	* mutex.c (__pthread_reset_pthread_once): Reset once_masterlock.
+	* internals.h (__pthread_reset_pthread_once): Add prototype.
+	* ptfork.c (__fork): Call __pthread_reset_pthread_once.
+
+	* manager.c (pthread_handle_create): Store ID of new thread before
+	clone call.
+
+2000-03-21  Ulrich Drepper  <drepper@redhat.com>
+
+	* attr.c: Use new macros from shlib-compat.h to define versions.
+	* oldsemaphore.c: Likewise.
+	* semaphore.c: Likewise.
+	* weaks.c: Likewise.
+
+	* pthread.c: Update for new SHLIB_COMPAT definition.
+
+	* manager.c (__pthread_manager): Unmask debug signal.
+
+	* pthread.c (pthread_initialize): Test for address of __dso_handle
+	being NULL, not value.  Use __on_exit, not on_exit.
+	Patch by Andreas Jaeger <aj@suse.de>.
+
+	* pthread.c: Use new macros from shlib-compat.h to define versions.
+
+2000-03-19  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c (pthread_initialize): Instead of on_exit use
+	__cxa_atexit if __dso_label is available to allow unloading the
+	libpthread shared library.
+
+2000-03-16  Ulrich Drepper  <drepper@redhat.com>
+
+	* condvar.c: Make tests for ownership of mutex less strict.
+
+2000-03-14  Ulrich Drepper  <drepper@redhat.com>
+
+	* condvar.c (pthread_cond_wait): Check whether mutex is owned by
+	current thread and return error if not.
+	(pthread_cond_timedwait_relative_old): Likewise.
+	(pthread_cond_timedwait_relative_new): Likewise.
+
+	* mutex.c (__pthread_once): Handle cancelled init function correctly.
+	(pthread_once_cancelhandler): New function.
+	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
+
+2000-03-14  Andreas Jaeger  <aj@suse.de>
+
+	* pthread.c (pthread_handle_sigcancel_rt): GS has been renamed to
+	REG_GS.
+	(pthread_handle_sigrestart_rt): Likewise.
+	* signals.c (pthread_sighandler_rt): Likewise.
+
+2000-03-02  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/pthread/bits/libc-lock.h: Fix typo.
+	Reported by Sean Chen <sean.chen@turbolinux.com>.
+
+2000-02-28  Andreas Jaeger  <aj@suse.de>
+
+	* rwlock.c: Fix typo.
+
+2000-02-27  Ulrich Drepper  <drepper@redhat.com>
+
+	* rwlock.c: Define __* variants of the functions and make old names
+	aliases.
+	* Versions [GLIBC_2.2]: Export the __pthread_rwlock_* functions.
+	* sysdeps/pthread/bits/libc-lock.h: Define __libc_rwlock_* macros.
+
+2000-02-25  Andreas Jaeger  <aj@suse.de>
+
+	* Versions: Export pread, __pread64, pread64, pwrite, __pwrite64,
+	pwrite64, lseek64, open64, and __open64 with version 2.2.
+
+2000-02-22  Ulrich Drepper  <drepper@redhat.com>
+
+	* semaphore.h (SEM_FAILED): Use 0 not NULL.
+
+2000-02-14  Ulrich Drepper  <drepper@redhat.com>
+
+	* condvar.c (pthread_cond_timedwait_relative_old): Tight loop with
+	nanosleep does not work either.  Get absolute time inside the
+	loop.
+	(pthread_cond_timedwait_relative_new): Likewise.
+	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
+
+2000-02-13  Andreas Jaeger  <aj@suse.de>
+
+	* condvar.c (pthread_cond_timedwait_relative_new): Fix last patch.
+	(pthread_cond_timedwait_relative_old): Likewise.
+
+2000-02-13  Ulrich Drepper  <drepper@redhat.com>
+
+	* condvar.c (pthread_cond_timedwait_relative_old): Undo last patch
+	but keep the code around.  A bug in the kernel prevent us from
+	using the code.
+	(pthread_cond_timedwait_relative_new): Likewise.
+	(PR libc/1597 and libc/1598).
+
+2000-02-01  Kaz Kylheku  <kaz@ashi.footprints.net>
+
+	* condvar.c (pthread_cond_timedwait_relative_old): Do tight
+	loop around nanosleep calls instead of around most of the function
+	(pthread_cond_timedwait_relative_new): Likewise.
+	body.  Got rid of backwards goto and one local.
+
+2000-01-31  Ulrich Drepper  <drepper@redhat.com>
+
+	* condvar.c (pthread_cond_timedwait_relative_old): Recompute time
+	before every nanosleep call to account for time spent in the rest
+	of the function.
+	(pthread_cond_timedwait_relative_new): Likewise.
+	Patch by khendricks@ivey.uwo.ca (PR libc/1564).
+
+2000-01-29  Ulrich Drepper  <drepper@redhat.com>
+
+	* condvar.c (pthread_cond_timedwait_relative_old): Get remaining time
+	from nanosleep call so that in case we restart we only wait for the
+	remaining time.
+	(pthread_cond_timedwait_relative_new): Likewise.
+	Patch by khendricks@ivey.uwo.ca (PR libc/1561).
+
+2000-01-18  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c (pthread_allocate_stack): Compute guard page address
+	correctly.  Patch by HJ Lu.
+
+	* sysdeps/pthread/pthread.h: Define
+	PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP.
+
+2000-01-16  Ulrich Drepper  <drepper@cygnus.com>
+
+	* rwlock.c (pthread_rwlock_unlock): Correct one more problem with
+	preference handling.
+	(pthread_rwlockattr_setkind_np): Allow
+	PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP.
+	Patches by Kaz Kylheku <kaz@ashi.footprints.net>.
+
+2000-01-12  Ulrich Drepper  <drepper@cygnus.com>
+
+	* internals.h (pthread_readlock_info): New structure.
+	(_pthread_descr_struct): Add p_readlock_list, p_readlock_free, and
+	p_untracked_readlock_count.
+	* pthread.c (__pthread_initial_thread, pthread_manager_thread):
+	Add initializers for new fields.
+	* manager.c (pthread_free): Free read/write lock lists.
+	* queue.h (queue_is_empty): New function.
+	* rwlock.c: Implement requirements about when readers should get
+	locks assigned.
+	* sysdeps/pthread/pthread.h
+	(PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP): New definition.
+	* sysdeps/pthread/bits/pthreadtypes.h (struct _pthread_rwlock_t):
+	Define this name as well.
+	Patches by Kaz Kylheku <kaz@ashi.footprints.net>.
+
+2000-01-05  Ulrich Drepper  <drepper@cygnus.com>
+
+	* pthread.c (__pthread_initial_thread, pthread_manager_thread):
+	Adjust initializers for struct _pthread_descr_struct change.
+	* internals.h (struct _pthread_descr_struct): Move new elements to
+	the end.
+
+2000-01-03  Kaz Kylheku  <kaz@ashi.footprints.net>
+
+	Redesigned how cancellation unblocks a thread from internal
+	cancellation points (sem_wait, pthread_join,
+	pthread_cond_{wait,timedwait}).
+	Cancellation won't eat a signal in any of these functions
+	(*required* by POSIX and Single Unix Spec!).
+	* condvar.c: Spontaneous wakeup on pthread_cond_timedwait won't eat a
+	simultaneous condition variable signal (not required by POSIX
+	or Single Unix Spec, but nice).
+	* spinlock.c: __pthread_lock queues back any received restarts
+	that don't belong to it instead of assuming ownership of lock
+	upon any restart; fastlock can no longer be acquired by two threads
+	simultaneously.
+	* restart.h: Restarts queue even on kernels that don't have
+	queued real time signals (2.0, early 2.1), thanks to atomic counter,
+	avoiding a rare race condition in pthread_cond_timedwait.
+
+1999-12-31  Andreas Jaeger  <aj@suse.de>
+
+	* internals.h: Remove duplicate prototype declarations.
+
+	* weaks.c: Remove __THROW from prototypes since the file is not
+	compiled by a C++ compiler.
+	* internals.h: Likewise.
+
+1999-12-30  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/pthread/pthread.h: Move internal functions to...
+	* sysdeps/pthread/bits/libc-lock.h: ...here.
+
+1999-12-29  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/pthread/pthread.h: Fix typos, reformat comments.
+
+1999-12-28  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/alpha/pt-machine.h: Move stack_pointer definition to the
+	beginning.
+
+	* manager.c (__pthread_start): Add one more cast to prevent
+	warning on 64bit machines.
+
+1999-12-21  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c (pthread_handle_create): Set p_pid of new thread
+	before calling the callback function to report a new thread.
+
+1999-12-20  Andreas Jaeger  <aj@suse.de>
+
+	* pthread.c (pthread_initialize): Move getrlimit call after
+	setting of errno.
+
+1999-12-18  Ulrich Drepper  <drepper@cygnus.com>
+
+	* Versions: Export pread, __pread64, pread64, pwrite, __pwrite64,
+	pwrite64, lseek64, open64, and __open64.
+	* wrapsyscall.c: Define pread, __pread64, pread64, pwrite, __pwrite64,
+	pwrite64, lseek64, open64, and __open64.
+
+	* manager.c (pthread_allocate_stack): Correct computation of
+	new_thread_bottom.  Correct handling of stack size and when the
+	rlimit method to guard for stack growth is used.
+	* pthread.c (pthread_initialize): Stack limit must be STACK_SIZE
+	minus one pagesize (not two).
+
+1999-12-03  Andreas Jaeger  <aj@suse.de>
+
+	* Versions: Add __res_state with version GLIBC_2.2.
+
+	* errno.c (__res_state): New function to return thread specific
+	resolver state.
+
+	* pthread.c (pthread_initialize): Initialize p_resp.
+	(__pthread_reset_main_thread): Also set p_resp.
+
+	* manager.c (pthread_handle_create): Initialize p_resp.
+
+	* internals.h: Add thread specific resolver state.
+	Based on patches by Adam D. Bradley <artdodge@cs.bu.edu>.
+
+1999-12-01  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/i386/pt-machine.h: Move stack_pointer definition to the
+	beginning.
+	* sysdeps/i386/i686/pt-machine.h: Likewise.
+	Patches by Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au>.
+
+1999-11-23  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c (pthread_start_thread_event): Initialize p_pid already
+	here.
+
+1999-11-22  Ulrich Drepper  <drepper@cygnus.com>
+
+	* internals.h: Add prototype for __pthread_manager_event.
+	* manager.c (__pthread_manager_event): New function.
+	(pthread_start_thread_event): Correct computation of self.
+	Use INIT_THREAD_SELF.
+	* pthread.c (__pthread_manager_thread): Initialize p_lock.
+	(__pthread_initialize_manager): Respect event flags also for creation
+	of the manager thread.
+
+1999-11-08  Ulrich Drepper  <drepper@cygnus.com>
+
+	* pthread.c (__pthread_initialize_manager): Initialize
+	__pthread_manager_thread.p_tid.
+
+1999-11-02  Ulrich Drepper  <drepper@cygnus.com>
+
+	* internals.h: Declare __pthread_last_event.
+	* manager.c: Define __pthread_last_event.
+	(pthread_handle_create): Set __pthread_last_event.
+	(pthread_exited): Likewise.
+	* join.c (pthread_exit): Likewise.
+
+	* Makefile (libpthread-routines): Add events.
+	* events.c: New file.
+	* internals.h: Protect against multiple inclusion.
+	Include thread_dbP.h header.
+	(struct _pthread_descr_struct): Add new fields p_report_events and
+	p_eventbuf.
+	Declare event reporting functions.
+	* join.c (pthread_exit): Signal event if this is wanted.
+	* manager.c (__pthread_threads_events): New variable.
+	(pthread_handle_create): Take new parameters with event information.
+	Signal TD_CREATE event if wanted.
+	(__pthread_manager): Adjust pthread_handle_create call.
+	(pthread_start_thread_event): New function.  Block until manager is
+	finished and then call pthread_start_thread.
+	(pthread_exited): Signal TD_REAP event if wanted.
+
+1999-10-26  Ulrich Drepper  <drepper@cygnus.com>
+
+	* restart.h (suspend_with_cancellation): Rewrite as a macro.
+
+	* condvar.c (pthread_cond_timedwait_relative): Don't mark as inline.
+
+1999-10-25  Andreas Jaeger  <aj@suse.de>
+
+	* internals.h: Remove K&R compatibility.
+	* no-tsd.c: Likewise.
+	* semaphore.h: Likewise.
+	* signals.c: Likewise.
+	* sysdeps/pthread/bits/libc-tsd.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/sigthread.h: Likewise.
+	* weaks.c: Likewise.
+
+1999-10-21  Xavier Leroy  <Xavier.Leroy@inria.fr>
+
+	* pthread.c: For i386, wrap pthread_handle_sigrestart and
+	pthread_handle_sigcancel with functions that restore %gs from the
+	signal context.  For each signal handling function, two wrappers
+	are required, one for a non-RT signal and one for a RT signal.
+	* signal.c: For i386, add code to restore %gs from the signal
+	context in pthread_sighandler and pthread_sighandler_rt.
+
+1999-10-17  Ulrich Drepper  <drepper@cygnus.com>
+
+	* internals.h (PTHREAD_START_ARGS_INITIALIZER): Add cast.
+
+1999-10-14  Ulrich Drepper  <drepper@cygnus.com>
+
+	* pthread.c (__pthread_initial_thread): Pass argument to
+	PTHREAD_START_ARGS_INITIALIZER.
+	(__pthread_manager_thread): Likewise.
+
+	* internals.h (PTHREAD_START_ARGS_INITIALIZER): Add parameter to
+	initialize function.
+
+	* manager.c (pthread_handle_create): Remove p_startfct initialization.
+
+	* internals.h (_pthread_descr_struct): We don't need p_startfct field.
+
+1999-10-12  Ulrich Drepper  <drepper@cygnus.com>
+
+	* internals.h: Correct return types for __libc_read and __libc_write.
+
+1999-10-09  Andreas Jaeger  <aj@suse.de>
+
+	* internals.h: Add __new_sem_post to get prototype in
+	manager.c; include semaphore.h for needed types.
+
+1999-10-08  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c (__pthread_manager) [REQ_POST]: Use __new_sem_post
+	directly instead of calling sem_post which should not be necessary
+	but is faster and might help in some case to work around problems.
+	Patch by khendricks@ivey.uwo.ca [libc/1382].
+
+1999-10-08  Andreas Schwab  <schwab@suse.de>
+
+	* sysdeps/pthread/Subdirs: New file.
+	* Implies: Removed.
+
+1999-10-07  Ulrich Drepper  <drepper@cygnus.com>
+
+	* Implies: New file.
+	* internals.h (struct _pthread_descr_struct): Add p_startfct.
+	* manager.c (pthread_handle_create): Initialize p_startfct.
+	* pthread.c: Define __linuxthread_pthread_sizeof_descr variable.
+
+1999-09-25  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c (__linuxthreads_pthread_threads_max): New variable.
+	* specific.c (__linuxthreads_pthread_keys_max): New variable.
+	(__linuxthreads_pthread_key_2ndlevel_size): New variable.
+
+	* condvar.c (pthread_cond_timedwait_relative): Never return with
+	EINTR.  Patch by Andreas Schwab.
+
+1999-09-19  Ulrich Drepper  <drepper@cygnus.com>
+
+	* signals.c (sigaction): Correct last patch.  Don't select
+	pthread_sighandler_rt based on the signal number but instead of
+	the SA_SIGINFO flag.
+
+1999-09-23  Ulrich Drepper  <drepper@cygnus.com>
+
+	* specific.c: Move definitions of struct pthread_key_struct and
+	destr_function to ...
+	* internals.h: ...here.
+
+1999-09-18  Ulrich Drepper  <drepper@cygnus.com>
+
+	* pthread.c (pthread_handle_sigrestart_rt): New function.  Use
+	this instead of pthread_handle_sigrestart if the signal is an RT
+	signal.
+
+	* signals.c: Handle passing through of sighandler arguments also
+	for real-time signals.
+
+1999-09-03  Andreas Schwab  <schwab@suse.de>
+
+	* ptfork.c (__fork): Renamed from fork and use __libc_fork.  Add
+	fork as weak alias.
+	(__vfork): New function, alias vfork.
+	* Versions: Export __fork, vfork, and __vfork in libpthread.
+
+1999-08-23  Andreas Schwab  <schwab@suse.de>
+
+	* signals.c (pthread_sighandler): Add SIGCONTEXT_EXTRA_ARGS to
+	call to signal handler.
+
+1999-08-20  Ulrich Drepper  <drepper@cygnus.com>
+
+	* pthread.c (__pthread_reset_main_thread): Undo last change.
+	(__pthread_kill_other_threads_np): Reset signal handlers for the
+	signals we used in the thread implementation here.
+
+1999-08-19  Ulrich Drepper  <drepper@cygnus.com>
+
+	* pthread.c (__pthread_reset_main_thread): Reset signal handlers
+	for the signals we used in the thread implementation [PR libc/1234].
+
+	* Versions: Export __pthread_kill_other_threads_np from libpthread
+	for GLIBC_2.1.2.
+
+	* signals.c: Pass sigcontext through wrapper to the user function.
+
+1999-08-01  Ulrich Drepper  <drepper@cygnus.com>
+
+	* Versions [ld.so] (GLIBC_2.0): Export __libc_internal_tsd_get and
+	__libc_internal_tsd_set.
+
+1999-07-29  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* manager.c: Remove inclusion of <linux/tasks.h> since it's not
+	needed anymore.
+
+1999-07-16  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* internals.h: Align _pthread_descr_struct to 32 bytes.
+	Reported by Tim Hockin <thockin@cobaltnet.com>, close PR
+	libc/1206.
+
+1999-07-09  Ulrich Drepper  <drepper@cygnus.com>
+
+	* oldsemaphore.c (sem_compare_and_swap): Fix use of compare and
+	swap function.
+
+1999-07-09  Cristian Gafton  <gafton@redhat.com>
+
+	* Makefile (libpthread-routines): Add oldsemaphore routine.
+	* Versions: Add sem_destroy, sem_getvalue, sem_init, sem_post,
+	sem_trywait, and sem_wait to GLIBC_2.1.
+	* oldsemaphore.c: New file.
+	* semaphore.c: Add default_symbol_versions for the changed functions.
+	(__new_sem_init): Rename from sem_init.
+	(__new_sem_post): Rename from sem_post.
+	(__new_sem_wait): Rename from sem_wait.
+	(__new_sem_trywait): Rename from sem_trywait.
+	(__new_sem_getvalue): Rename from sem_getvalue.
+	(__new_sem_destroy): Rename from sem_destroy.
+
+1999-06-23  Robey Pointer  <robey@netscape.com>
+
+	* internals.h: Added p_nextlock entry to separate queueing for a
+	lock from queueing for a CV (sometimes a thread queues on a lock
+	to serialize removing itself from a CV queue).
+	* pthread.c: Added p_nextlock to initializers.
+	* spinlock.c: Changed to use p_nextlock instead of p_nextwaiting.
+
+1999-07-09  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c (pthread_handle_create): Free mmap region after stack
+	if clone failed.  Patch by Kaz Kylheku <kaz@ashi.FootPrints.net>.
+
+1999-05-23  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* man/pthread_cond_init.man: Correct example.
+	Reported by Tomas Berndtsson <tomas@nocrew.org>.
+
+	* linuxthreads.texi (Condition Variables): Likewise.
+
+1999-05-18  Jakub Jelinek  <jj@ultra.linux.cz>
+
+	* sysdeps/sparc/sparc64/pt-machine.h (__compare_and_swap): Use
+	casx not cas, also successful casx returns the old value in rd
+	and not the new value.
+
+1999-05-16  Xavier Leroy  <Xavier.Leroy@inria.fr>
+
+	* manager.c: If pthread_create() is given a NULL attribute
+	and the thread manager runs with a realtime policy, set the
+	scheduling policy of the newly created thread back to SCHED_OTHER.
+	* manager.c: If the PTHREAD_INHERIT_SCHED attribute is given,
+	initialize the schedpolicy field of new_thread->p_start_args
+	to that of the calling thread.
+
+1999-04-29  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/sparc/sparc64/pt-machine.h (__compare_and_swap): cas
+	instruction does not allow memory element to use offset.
+
+1999-04-28  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c (pthread_allocate_stack): Optimize initialization of new
+	thread descriptor.
+
+	* sysdeps/pthread/bits/libc-lock.h (__libc_lock_define_initialized):
+	Don't use initializer since it is all zeroes.
+	(__libc_once_define): Likewise.
+
+1999-04-16  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* sysdeps/arm/Implies: Removed since cmpxchg/no-cmpxchg
+	doesn't exist anymore.
+	* sysdeps/i386/Implies: Likewise.
+	* sysdeps/m68k/Implies: Likewise.
+	* sysdeps/mips/Implies: Likewise.
+	* sysdeps/powerpc/Implies: Likewise.
+	* sysdeps/sparc/sparc32/Implies: Likewise.
+	* sysdeps/sparc/sparc64/Implies: Likewise.
+
+1999-04-15  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/alpha/bits/semaphore.h: Removed.
+	* sysdeps/powerpc/bits/semaphore.h: Removed.
+	* sysdeps/pthread/cmpxchg/bits/semaphore.h: Removed.
+	* sysdeps/pthread/no-cmpxchg/bits/semaphore.h: Removed.
+	* Makefile (headers): Remove bits/semaphore.h.
+
+	* semaphore.h: Define _pthread_descr if necessary.
+	Don't include limits.h.  Define SEM_VALUE_MAX directly.
+	Define SEM_FAILED.
+	(sem_t): Protect element names with leading __.
+	Add declarations for sem_close, sem_open, and sem_unlink.
+	* semaphore.c: Adjust all functions for new element names.
+	Define sem_close, sem_open, and sem_unlink.
+	* Versions (libthread): Add sem_close, sem_open, and sem_unlink for
+	GLIBC_2.1.1.
+	* sysdeps/pthread/bits/pthreadtypes.h: Define _pthread_descr only if
+	necessary.
+
+1999-03-16  H.J. Lu  <hjl@gnu.org>
+
+	* specific.c (pthread_key_delete): Check th->p_terminated to see
+	if the thread is running.
+
+	* Versions (__libc_internal_tsd_get, __libc_internal_tsd_set):
+	Added to GLIBC_2.0 for libc.so.
+
+1999-02-12  H.J. Lu  <hjl@gnu.org>
+
+	* Versions (__libc_current_sigrtmin, __libc_current_sigrtmax,
+	__libc_allocate_rtsig): Added to GLIBC_2.1.
+
+	* internals.h (DEFAULT_SIG_RESTART): Removed.
+	(DEFAULT_SIG_CANCEL): Removed.
+
+	* pthread.c (init_rtsigs, __libc_current_sigrtmin,
+	__libc_current_sigrtmax, __libc_allocate_rtsig): New functions.
+	(__pthread_sig_restart, __pthread_sig_cancel,
+	__pthread_sig_debug): Initialized.
+	(pthread_initialize): Call init_rtsigs () to initialize
+	real-time signals.
+
+1999-02-03  H.J. Lu  <hjl@gnu.org>
+
+	* manager.c (__pthread_manager): Do block __pthread_sig_debug.
+	Don't restart the thread which sent REQ_DEBUG.
+	(pthread_start_thread): Check if __pthread_sig_debug > 0
+	before debugging.
+
+	* pthread.c (__pthread_initialize_manager): Suspend ourself
+	after sending __pthread_sig_debug to gdb instead of
+	__pthread_sig_cancel.
+
+1999-01-24  H.J. Lu  <hjl@gnu.org>
+
+	* manager.c (__pthread_manager): Delete __pthread_sig_debug
+	from mask if __pthread_sig_debug > 0.
+	(pthread_handle_create): Increment __pthread_handles_num.
+
+	* manager.c (pthread_handle_create): Don't pass CLONE_PTRACE to clone.
+	* pthread.c (__pthread_initialize_manager): Likewise.
+
+	* pthread.c (pthread_initialize): Use __libc_allocate_rtsig (1)
+	instead of __libc_allocate_rtsig (2).
+	(__pthread_initialize_manager): Send __pthread_sig_debug to gdb
+	instead of __pthread_sig_cancel.
+	(pthread_handle_sigdebug): Fix comments.
+
+1999-01-21  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c (pthread_allocate_stack): Set
+	__pthread_nonstandard_stacks if user-specified stack is used.
+
+1999-01-16  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Add _LFS_ASYNCHRONOUS_IO,
+	_LFS_LARGEFILE, _LFS64_LARGEFILE, and _LFS64_STDIO from Unix98.
+
+1999-01-07  Xavier Leroy  <Xavier.Leroy@inria.fr>
+
+	* pthread.c: Use a third signal __pthread_sig_debug distinct
+	from __pthread_sig_cancel to notify gdb when a thread is
+	created
+	* manager.c: Likewise.
+	* internals.h: Likewise.
+	* signals.c: The implementation of sigwait(s) assumed that
+	all signals in s have signal handlers already attached.
+	This is not required by the standard, so make it work
+	also if some of the signals have no handlers.
+
+1999-01-05  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+	* linuxthreads.texi: Remove pointers from first @node.  Move old
+	@node spec inside comment.
+
+1998-12-31  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/pthread/bits/stdio-lock.h: Define _IO_lock_lock and
+	_IO_lock_unlock.
+
+1998-12-29  Ulrich Drepper  <drepper@cygnus.com>
+
+	* semaphore.c (sem_trywait): Don't forget to unlock the semaphore
+	lock.  Patch by Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>.
+
+1998-12-21  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c: Threads now send __pthread_sig_cancel on termination.
+	Change clone call and signal masks.
+	* thread.c (pthread_handle_sigrestart): Remove special code for
+	manager.
+	(pthread_handle_sigcancel): In manager thread call
+	__pthread_manager_sighandler.
+	* sysdeps/i386/pt-machine.h (__compare_and_swap): Add memory clobber.
+	* sysdeps/i386/i686/pt-machine.h: Likewise.
+	Patches by Xavier Leroy.
+
+1998-12-14  Ulrich Drepper  <drepper@cygnus.com>
+
+	* spinlock.c (__pthread_unlock): Don't crash if called for an
+	untaken mutex.  Reported by Ruslan V. Brushkoff <rus@Snif.Te.Net.UA>.
+
+	* Examples/ex6.c: Unbuffer stdout and reduce sleep time to reduce
+	overall runtime.
+
+1998-12-13  Ulrich Drepper  <drepper@cygnus.com>
+
+	* Examples/ex3.c: Wait until all threads are started before
+	searching for the number to avoid race condition on very fast
+	systems.
+
+1998-12-08  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* sysdeps/pthread/pthread.h: Remove __pthread_setcanceltype
+	declaration since it's not needed.
+
+	* sysdeps/pthread/pthread.h: Move internal functions to ...
+	* internals.h: ...here.
+
+1998-12-02  H.J. Lu  <hjl@gnu.org>
+
+	* pthread.c (__pthread_sig_restart): Initiliaze to 0 if
+	SIGRTMIN is defined.
+	(__pthread_sig_cancel): Likewise.
+
+1998-12-01  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* wrapsyscall.c: Include <sys/mman.h> for msync,
+	<stdlib.h> for system and <termios.h> for tcdrain prototype.
+	Correct msync declaration.
+
+1998-11-29  Roland McGrath  <roland@baalperazim.frob.com>
+
+	* sysdeps/pthread/bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_get,
+	__libc_tsd_set): New macros for new interface.
+	* no-tsd.c: New file, provide uninitialized defns of
+	__libc_internal_tsd_get and __libc_internal_tsd_set.
+	* Makefile (routines): Add no-tsd.
+
+1998-10-12  Roland McGrath  <roland@baalperazim.frob.com>
+
+	* internals.h: Include <bits/libc-tsd.h>, not <bits/libc-lock.h>.
+	* sysdeps/pthread/bits/libc-lock.h (__libc_internal_tsd_get,
+	__libc_internal_tsd_set): Move decls to ...
+	* sysdeps/pthread/bits/libc-tsd.h: New file for __libc_internal_tsd_*
+	declarations.
+
+	* sysdeps/pthread/bits/libc-lock.h (__libc_internal_tsd_get,
+	__libc_internal_tsd_set): Make these pointers to functions, not
+	functions; remove #pragma weak decls for them.
+	* specific.c (__libc_internal_tsd_get, __libc_internal_tsd_set):
+	Define static functions and initialized pointers to them.
+
+1998-11-18  Ulrich Drepper  <drepper@cygnus.com>
+
+	* Makefile (CFLAGS-mutex.c): Define as -D__NO_WEAK_PTHREAD_ALIASES.
+	(CFLAGS-specific.c): Likewise.
+	(CFLAGS-pthread.c): Likewise.
+	(CFLAGS-ptfork.c): Likewise.
+	(CFLAGS-cancel.c): Likewise.
+	* sysdeps/pthread/bits/libc-lock.h: Don't mark __pthread_* functions
+	as weak references if __NO_WEAK_PTHREAD_ALIASES is defined.
+
+	* mutex.c (pthread_mutex_init): Define as strong symbol.
+	(pthread_mutex_destroy): Likewise.
+	(pthread_mutex_trylock): Likewise.
+	(pthread_mutex_lock): Likewise.
+	(pthread_mutex_unlock): Likewise.
+	(pthread_mutexattr_init): Likewise.
+	(pthread_mutexattr_destroy): Likewise.
+	(pthread_once): Likewise.
+	* ptfork.c (pthread_atfork): Likewise.
+	* specific.c (pthread_key_create): Likewise.
+	(pthread_setspecific): Likewise.
+	(pthread_getspecific): Likewise.
+
+1998-11-15  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+	* linuxthreads.texi: Fix punctuation after xref.
+
+1998-11-10  H.J. Lu  <hjl@gnu.org>
+
+	* sysdeps/unix/sysv/linux/bits/local_lim.h: Undefine NR_OPEN
+	if it is defined in <linux/limits.h>.
+
+1998-10-29 14:28  Ulrich Drepper  <drepper@cygnus.com>
+
+	* spinlock.h (__pthread_trylock): Define inline.
+	(__pthread_lock): Add extra parameter to declaration.  Declare
+	using internal_function.
+	(__pthread_unlock): Declare using internal_function.
+	* spinlock.c (__pthread_lock): Add new parameter.  Use it instead
+	of local variable self.  Avoid recomputing self.  Define using
+	internal_function.
+	(__pthread_trylock): Remove.
+	(__pthread_unlock): Define using internal_function.
+	* cancel.c: Adjust for __pthread_lock interface change.  Use already
+	computed self value is possible.
+	* condvar.c: Likewise.
+	* join.c: Likewise.
+	* manager.c: Likewise.
+	* mutex.c: Likewise.
+	* pthread.c: Likewise.
+	* rwlock.c: Likewise.
+	* semaphore.c: Likewise.
+	* signals.c: Likewise.
+
+1998-10-27 13:46  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/pthread/pthread.h (struct _pthread_cleanup_buffer): Prepend
+	__ to field names of the struct.
+	* sysdeps/pthread/bits/pthreadtypes.h (struct _pthread_fastlock):
+	Likewise.
+	(pthread_attr_t): Likewise.
+	(pthread_cond_t): Likewise.
+	(pthread_condattr_t): Likewise.
+	(pthread_mutex_t): Likewise.
+	(pthread_mutexattr_t): Likewise.
+	(pthread_rwlock_t): Likewise.
+	(pthread_rwlockattr_t): Likewise.
+	* attr.c: Adjust for pthread.h and pthreadtypes.h change.
+	* cancel.c: Likewise.
+	* condvar.c: Likewise.
+	* manager.c: Likewise.
+	* mutex.c: Likewise.
+	* pthread.c: Likewise.
+	* ptlongjmp.c: Likewise.
+	* rwlock.c: Likewise.
+	* spinlock.c: Likewise.
+
+1998-10-09  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/i386/pt-machine.h (get_eflags, set_eflags): Mark these
+	also with PT_EI.
+
+	* sysdeps/i386/i686/pt-machine.h: Remove unused inline
+	definitions.
+
+	* Makefile (libpthread-routines): Add pt-machine.
+	* pt-machine.c: New file.
+	* sysdeps/alpha/pt-machine.h: Define PT_EI as extern inline is not
+	yet defined.  Use PT_EI in extern inline definitions.
+	* sysdeps/arm/pt-machine.h: Likewise.
+	* sysdeps/i386/pt-machine.h: Likewise.
+	* sysdeps/i386/i686/pt-machine.h: Likewise.
+	* sysdeps/m68k/pt-machine.h: Likewise.
+	* sysdeps/mips/pt-machine.h: Likewise.
+	* sysdeps/powerpc/pt-machine.h: Likewise.
+	* sysdeps/sparc/sparc32/pt-machine.h: Likewise.
+	* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
+
+1998-10-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* semaphore.h: Include <sys/types.h> so that _pthread_descr
+	is declared.
+
+1998-09-15  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+	* sysdeps/sparc/sparc32/pt-machine.h (INIT_THREAD_SELF): Add nr
+	argument.
+	* sysdeps/sparc/sparc64/pt-machine.h (INIT_THREAD_SELF): Likewise.
+
+1998-09-12 14:24 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+	* sysdeps/unix/sysv/linux/bits/sigthread.h: Add multiple inclusion
+	guard.
+
+1998-09-02 11:08  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* signals.c (sigaction): Check that sig is less than NSIG to avoid
+	array index overflow.
+
+1998-09-06 10:56  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/pthread/semaphore.h: New file.
+
+1998-09-06 09:08  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/pthread/bits/libc-lock.h (enum __libc_tsd_key_t): Add
+	_LIBC_TSD_KEY_DL_ERROR.
+
+1998-08-31  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/i386/i686/pt-machine.h (testandset): Add memory clobber.
+	* sysdeps/i386/pt-machine.h: Likewise.
+	Suggested by Roland McGrath.
+
+1998-08-28 13:58  Ulrich Drepper  <drepper@cygnus.com>
+
+	* internals.h: Also define THREAD_GETMEM_NC and THREAD_SETMEM_NC to
+	access thread data with non-constant offsets.
+	* specific.c: Use THREAD_GETMEM_NC and THREAD_SETMEM_NC where
+	necessary.
+
+	* sysdeps/i386/useldt.h: Fix typo.  Add THREAD_GETMEM_NC and
+	THREAD_SETMEM_NC definitions.
+
+	* sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM_NC and
+	THREAD_SETMEM_NC.
+	* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
+
+1998-08-26 15:46  Ulrich Drepper  <drepper@cygnus.com>
+
+	* internals.h: Define THREAD_GETMEM and THREAD_SETMEM to default if
+	not already defined.
+	(struct _pthread_descr_struct): Add p_self and p_nr field.
+	* manager.c (__pthread_handles): Define second element to point
+	to manager thread.
+	(__pthread_handles_num): Initialize to 2.
+	(__pthread_manager): Use INIT_THREAD_SELF with two arguments.
+	(pthread_start_thread): Likewise.
+	(pthread_handle_create): Start search for free slot at entry 2.
+	Initialize new fields p_self and p_nr.
+	Call __clone with CLONE_PTRACE if available.
+	(pthread_free): Call FREE_THREAD_SELF if available.
+	* pthread.c (__pthread_initial_thread): Initialize new fields.
+	(__pthread_manager_thread): Likewise.
+	(__pthread_initialize_manager): Call __clone with CLONE_PTRACE.
+
+	* cancel.c: Use THREAD_GETMEM and THREAD_SETMEM to access the
+	elements of the thread descriptor.
+	* condvar.c: Likewise.
+	* errno.c: Likewise.
+	* join.c: Likewise.
+	* manager.c: Likewise.
+	* pthread.c: Likewise.
+	* ptlongjmp.c: Likewise.
+	* semaphore.c: Likewise.
+	* signals.c: Likewise.
+	* specific.c: Likewise.
+	* spinlock.c: Likewise.
+
+	* sysdeps/alpha/pt-machine.h (INIT_THREAD_SELF): Add extra parameter.
+
+	* sysdeps/i386/useldt.h: New file.
+	* sysdeps/i386/i686/pt-machine.h: Show how to use this file.
+
+	* sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM and
+	THREAD_SETMEM using __thread_self.
+	* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
+
+1998-08-24  Geoff Keating  <geoffk@ozemail.com.au>
+
+	* spinlock.c (__pthread_lock): Reset p_nextwaiting to NULL if it
+	turned out that we didn't need to queue after all.
+
+1998-08-22  Geoff Keating  <geoffk@ozemail.com.au>
+
+	* sysdeps/powerpc/pt-machine.h: Remove testandset, it's not used
+	and wastes space; correct types.
+
+1998-08-08 11:18  H.J. Lu  <hjl@gnu.org>
+
+	* signals.c (sigaction): Handle NULL argument.
+
+1998-08-04  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/unix/sysv/linux/bits/sigthread.h: Use __sigset_t instead
+	of sigset_t.
+
+1998-08-02  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* Makefile (linuxthreads-version): Extract correct number from
+	Banner.
+
+1998-07-29  Xavier Leroy  <Xavier.Leroy@inria.fr>
+
+	* Banner: Bump version number to 0.8
+	* FAQ.html: Many updates, in particular w.r.t. debugging.
+	* manager.c: Support for non-default stacksize for
+	LinuxThreads-allocated stacks;
+	don't use guard pages for stacks with default size, rely on
+	rlimit(RLIMIT_STACK) instead (it's cheaper).
+	* attr.c: Likewise.
+	* cancel.c: Use __pthread_sig_cancel and __pthread_sig_restart
+	everywhere instead of PTHREAD_SIG_CANCEL and PTHREAD_SIG_RESTART.
+	* condvar.c: Likewise.
+	* internals.h: Likewise.
+	* restart.h: Likewise.
+	* signals.c: Likewise.
+	* pthread.c: Likewise; set rlimit(RLIMIT_STACK) as we need it.
+
+1998-07-23  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* weaks.c: Define pthread_mutexattr_[sg]ettype instead of
+	__pthread_mutexattr_[sg]ettype.  Add more weak aliases.
+	* Versions: Put __pthread_mutexattr_settype under version
+	GLIBC_2.0.  Don't export __pthread_mutexattr_setkind_np and
+	__pthread_mutexattr_gettype.
+
+1998-07-23  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* sysdeps/pthread/bits/libc-lock.h: Make
+	__pthread_mutexattr_settype weak.  Don't make
+	__pthread_mutexattr_setkind_np weak.
+
+1998-07-16 10:52  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c (pthread_handle_create): Check whether sched_setscheduler
+	call can succeed here.
+
+	* mutex.c: Define __pthread_mutexattr_settype and make
+	__pthread_mutexattr_setkind_np an alias.
+	Likewise for __pthread_mutexattr_gettype.
+
+1998-07-15 11:00 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+	* attr.c (pthread_attr_setschedpolicy): Don't check whether caller
+	is root.
+
+1998-07-14 19:38  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/pthread/bits/libc-lock.h: Define __libc_cleanup_end.
+
+1998-07-11  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* Examples/ex6.c: Include <unistd.h> for usleep.
+
+1998-06-13 11:04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* Examples/ex4.c (main): Use exit, not pthread_exit.
+
+1998-07-09 13:39  Ulrich Drepper  <drepper@cygnus.com>
+
+	* Versions: Add __pthread_mutexattr_gettype and
+	__pthread_mutexattr_settype.
+	* lockfile.c: Use __pthread_mutexattr_settype instead of
+	__pthread_mutexattr_setkind_np.
+	* mutex.c: Define __pthread_mutexattr_gettype and
+	__pthread_mutexattr_settype.
+	* weak.c: Likewise.
+	* sysdeps/pthread/pthread.h: Declare __pthread_mutexattr_gettype and
+	__pthread_mutexattr_settype.
+	* sysdeps/pthread/bits/libc-lock.h (__libc_lock_init_recursive):
+	Use __pthread_mutexattr_settype.
+
+1998-07-08 22:26  Ulrich Drepper  <drepper@cygnus.com>
+
+	* Versions: Add pthread_mutexattr_gettype, pthread_mutexattr_settype.
+	* mutex.c: Define weak alias pthread_mutexattr_gettype and
+	pthread_mutexattr_settype.
+	* sysdeps/pthread/pthread.h: Declare these functions.
+	Move pthread_sigmask and pthread_kill declaration in separate header.
+	* sysdeps/unix/sysv/linux/bits/sigthread.h: New file.
+
+1998-07-07 15:20  Ulrich Drepper  <drepper@cygnus.com>
+
+	* Makefile: Add rules to compile and run tests.
+	* Examples/ex1.c: Little changes to fix warnings.
+	* Examples/ex2.c: Likewise.
+	* Examples/ex3.c: Likewise.
+	* Examples/ex4.c: Likewise.
+	* Examples/ex5.c: Likewise.
+	* Examples/ex6.c: New file.
+
+1998-07-05 11:54  Ulrich Drepper  <drepper@cygnus.com>
+
+	* Versions: Add pthread_attr_init to GLIBC_2.1 version in libc.
+
+1998-07-01  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* attr.c: Include <string.h>.
+
+1998-06-30 11:47  Ulrich Drepper  <drepper@cygnus.com>
+
+	* attr.c: Include errno.h.  Use memcpy to copy sched_param.
+	* internals.h: Include limits.h.
+	* manager.c: Use memcpy to copy sched_param.
+	* ptfork.c: Include errno.h.
+	* pthread.c: Likewise.
+	* semaphore.c: Likewise.
+	* specific.c: Likewise.
+	* spinlock.h: Likewise.
+	* sysdeps/pthread/pthread.h: Include only allowed headers.  Move
+	type definition to ...
+	* sysdeps/pthread/bits/pthreadtypes.h: ...here.  New file.
+
+1998-06-29 12:34  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/pthread/pthread.h: Use __PMT not __P for function pointers.
+
+	* sysdeps/pthread/pthread.h: Define various PTHREAD_* symbols also
+	as macros as demanded in POSIX.1, Annex C.
+
+1998-06-29 12:29  Ulrich Drepper  <drepper@cygnus.com>
+
+	* internals.h (struct pthread_request): For free use pthread_t
+	instead of pthread_descr.
+	* join.c (pthread_join): Pass thread_id, not th to manager.
+	(pthread_detach): Likewise.
+	* manager.c (__pthread_manager): Except thread ID in FREE_REQ case.
+	(pthread_exited): Remove detached queue code.
+	(pthread_handle_free): Expect thread ID parameter and use it to
+	validate the thread decsriptor.  Don't use detached queue.
+	Patches by Xavier Leroy.
+
+1998-06-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* libpthread.map: Export accept, longjmp, sigaction, siglongjmp,
+	_IO_flockfile, _IO_ftrylockfile, _IO_funlockfile,
+	__pthread_atfork, __pthread_key_create, __pthread_once.
+	* internals.h: Doc fix.
+	* pthread.c (__pthread_initialize): Define again.
+
+1998-06-26  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c (pthread_exited): If thread is not detached put it on
+	special list.
+	(pthread_handle_free): If thread is not on list with living threads
+	search on list with detached threads.
+
+	* sysdeps/pthread/pthread.h (PTHREAD_RWLOCK_INITIALIZER): Correct
+	for new definition of pthread_rwlock_t.
+
+	* spinlock.c: Correct test whether to compile
+	__pthread_compare_and_swap or not.
+
+1998-06-25 19:27  Ulrich Drepper  <drepper@cygnus.com>
+
+	* attr.c: Finish user stack support.  Change locking code to be safe
+	in situations with different priorities.
+	* cancel.c: Likewise.
+	* condvar.c: Likewise.
+	* internals.h: Likewise.
+	* join.c: Likewise.
+	* manager.c: Likewise.
+	* mutex.c: Likewise.
+	* pthread.c: Likewise.
+	* ptlongjmp.c: Likewise.
+	* queue.h: Likewise.
+	* rwlock.c: Likewise.
+	* semaphore.c: Likewise.
+	* semaphore.h: Likewise.
+	* signals.c: Likewise.
+	* spinlock.c: Likewise.
+	* spinlock.h: Likewise.
+	* sysdeps/pthread/pthread.h: Likewise.
+	Patches by Xavier Leroy.
+
+	* sysdeps/i386/i686/pt-machine.h: New file.
+
+1998-06-25  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/pthread/pthread.h: Make [sg]et_stacksize and
+	[sg]et_stackaddr prototypes always available.
+
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
+	_POSIX_THREAD_ATTR_STACKSIZE and _POSIX_THREAD_ATTR_STACKADDR.
+
+1998-06-24  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c (pthread_free): Undo patch from 980430.
+	Reported by David Wragg <dpw@doc.ic.ac.uk>.
+
+1998-06-09 15:07  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c: Define __pthread_manager_adjust_prio and use it to
+	increase priority when needed.
+	* internals.h: Add prototype for __pthread_manager_adjust_prio.
+	* mutex.c: Optimize mutexes to wake up only one thread.
+	* pthread.c: Move PID of manager for global variable in structure
+	element.
+	Patches by Xavier Leroy.
+
+1998-06-07 13:47  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/pthread/bits/libc-lock.h: Optimize cleanup handlers a bit.
+
+1998-06-03  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* attr.c: Correct typo.
+
+1998-05-01  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c (pthread_free): Unmap guard before the stack.
+	Patch by Matthias Urlichs.
+
+1998-04-30  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c (pthread_free): Detect already free child.
+	Patch by Xavier Leroy, reported by Matthias Urlichs.
+
+1998-04-23  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* Makefile (linuxthreads-version): Renamed back from
+	libpthread-version.
+
+1998-04-21  Ulrich Drepper  <drepper@cygnus.com>
+
+	* ptlongjmp.c: Add prototypes for __libc_siglongjmp and
+	__libc_longjmp.
+
+1998-04-20 14:55  Ulrich Drepper  <drepper@cygnus.com>
+
+	* Makefile (libpthread-routines): Add ptlongjmp and spinlock.
+	* internals.h: Add definitions for new spinlock implementation.
+	* ptlongjmp.c: New file.
+	* spinlock.c: New file.
+	* spinlock.h (acquire): Don't reschedule using __sched_yield, use
+	new function __pthread_acquire to prevent deadlocks with thread
+	with different priorities.
+	Patches by Xavier Leroy <Xavier.Leroy@inria.fr>.
+
+1998-03-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* manager.c (__pthread_manager): Reduce first argument to select
+	to include just the needed file descriptor.
+
+1998-03-17 00:06  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c: Fix last patch which caused core dumps.
+
+	* pthread.c: Correctly handle missing SIGRTMIN.
+
+1998-03-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* libpthread.map: Add __libc_internal_tsd_get and
+	__libc_internal_tsd_set.  Add missing cancelable functions. Export
+	libc internal versions of the cancelable functions.
+
+1998-03-13 16:51  Ulrich Drepper  <drepper@cygnus.com>
+
+	* weaks.c: Define pthread_attr_init as GLIBC_2.0 and GLIBC_2.1.
+
+1998-03-13 00:46  Ulrich Drepper  <drepper@cygnus.com>
+
+	* attr.c: Implement pthread_attr_[gs]etguardsize,
+	pthread_attr_[gs]setstackaddr, pthread_attr_[gs]etstacksize.
+	Change pthread_attr_init to have two interfaces.
+	* internals.h (struct _pthread_descr_struct): Add new fields for
+	above functions.
+	* libpthread.map: Add names in GLIBC_2.1 section.
+	* manager.c (pthread_handle_create): Implement guardsize and
+	user stack.
+	(pthread_free): Likewise.
+	* pthread.c (pthread_create): Add new interface for changed
+	pthread_attr_t.
+	* sysdeps/pthread/pthread.h: Add prototypes for new functions.
+	* sysdeps/unix/sysv/linux/bits/local_lim.h: Add definition of
+	PTHREAD_STACK_MIN.
+
+1998-03-11 00:42  Wolfram Gloger  <wmglo@dent.med.uni-muenchen.de>
+
+	* manager.c: Enable resetting of the thread scheduling policy
+	to SCHED_OTHER when the parent thread has a different one.
+
+1998-02-01 13:51  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
+	_POSIX_ASYNCHRONOUS_IO.
+
+	* sysdeps/pthread/pthread.h: Define bits for Unix98 variants of
+	mutexes.
+	* mutex.c: Implement new mutex types.
+
+	* internals.h: Include <signal.h>.
+
+	* libpthread.map: Add __erno_location and __h_errno_location.
+
+	* errno.c: Return pointer to variable actually in use.  This might
+	not be the one in the thread structure.
+	* internals.h (struct _pthread_descr_struct): Add new fields p_errnop
+	and p_h_errnop.
+	* manager.c (__pthread_manager): Set p_errnop and p_h_errnop member
+	of manager thread structure.
+	(pthread_handle_create): Set p_errnop and p_h_errnop members for new
+	thread.
+	* pthread.c: Adapt initializer for thread structures.
+	(__pthread_initial_thread): Set p_errnop and p_h_errnop member.
+	(__pthread_reset_main_thread): Reset p_errnop and p_h_errnop of
+	current thread to global variables.
+
+1998-01-31 17:27  Ulrich Drepper  <drepper@cygnus.com>
+
+	* rwlock.c: New file.
+	* Makefile (libpthread-routines): Add rwlock.
+	* sysdeps/pthread/pthread.h: Define data structures and declare
+	functions.
+	* libpthread.map: Add new functions.
+
+1997-12-18 13:50  Philip Blundell  <pb@nexus.co.uk>
+
+	* sysdeps/arm/pt-machine.h: New file; add ARM support.
+	* sysdeps/arm/Implies: likewise.
+	* README: Document it.
+
+1997-12-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* signals.c: Remove unneeded initializer for sigwaited, saving a
+	warning.
+
+1997-04-11 01:18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* semaphore.c (sem_init): Set sem_spinlock only if available.
+
+1997-12-04 01:48  Ulrich Drepper  <drepper@cygnus.com>
+
+	* mutex.c: Implement PTHREAD_MUTEX_CHECKERROR.
+	* sysdeps/pthread/pthread.h: Define PTHREAD_MUTEX_CHECKERROR.
+
+	* Makefile: Update from LinuxThreads 0.7.
+	* internals.h. Likewise.
+	* manager.c: Likewise.
+	* mutex.c: Likewise.
+	* pthread.c: Likewise.
+	* signals.c: Likewise.
+	* specific.c: Likewise.
+	* Examples/ex3.c: Likewise.
+
+1997-11-20 18:13  Ulrich Drepper  <drepper@cygnus.com>
+
+	* pthread.c (__pthread_reset_main_thread): Close pipe only if still
+	open.
+
+1997-10-29 05:38  Ulrich Drepper  <drepper@cygnus.com>
+
+	* wrapsyscall.c: Add socket functions which are also cancelation
+	points.
+
+1997-10-19 21:40  Wolfram Gloger  <wg@wolfram.dent.med.uni-muenchen.de>
+
+	* specific.c (__libc_internal_tsd_set, __libc_internal_tsd_get):
+	New functions for fast thread specific data within libc.
+
+	* internals.h: Add new array p_libc_specific to struct
+	_pthread_descr_struct.
+
+	* sysdeps/pthread/bits/libc-lock.h: Declare new functions.
+
+1997-10-13 05:39  Ulrich Drepper  <drepper@cygnus.com>
+
+	* semaphore.h: Add __BEGIN_DECLS/__END_DECLS.
+	Reported by Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
+
+1997-08-29 03:05  Ulrich Drepper  <drepper@cygnus.com>
+
+	* internals.h (struct _pthread_descr_struct): Add definitions for
+	two-level specific key handling.
+	* manager.c (pthread_handle_create): Initialize specific memory array.
+	* specific.c: Implement two-level key handling.
+	* weaks.c: Don't provide dummy key handling.
+	* sysdeps/pthread/bits/libc-lock.h: Typedef __libc_lock_t (no #define).
+	Add definition of __libc_key_t.
+	* sysdeps/unix/sysv/linux/bits/local_lim.h: Define PTHREAD_KEYS_MAX
+	as 1024.
+	Add definition of _POSIX_THREAD_DESTRUCTOR_ITERATIONS and
+	PTHREAD_DESTRUCTOR_ITERATIONS.
+
+	* manager.c (pthread_handle_create): Compare mmap result with
+	MAP_FAILED.
+
+	* ptfork.c: Rename to __pthread_atfork and make old name a weak alias.
+	* sysdeps/pthread/bits/pthread.h: Add prototype for __pthread_atfork.
+
+1997-08-22 19:04  Richard Henderson  <rth@cygnus.com>
+
+	sysdeps/sparc -> sysdeps/sparc/sparc32
+	sysdeps/sparc64 -> sysdeps/sparc/sparc64
+
+	* internals.h: Change definition of THREAD_SELF to be an expression,
+	not a statement that did a return.
+	* sysdeps/alpha/pt-machine.h (THREAD_SELF): Update accordingly.
+	* sysdeps/sparc/sparc32/pt-machine.h (THREAD_SELF, INIT_THREAD_SELF):
+	Follow Solaris and use a "system reserved" register (%g6) to hold
+	the thread descriptor.
+	* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
+
+1997-08-03 00:09  Ulrich Drepper  <drepper@cygnus.com>
+
+	* mutex.c: Correct pthread_once.  Patch by Xavier Leroy.
+	* sysdeps/pthread/pthread.h: Add prototype for __pthread_once.
+	* sysdeps/pthread/bits/pthread.h: Add macros for __libc_once.
+
+	* semaphore.c: Include spinlock.h only when needed.
+
+	* specific.c (__pthread_setsepcific, __pthread_getspecific): Reject
+	keys for entries not in use.
+
+	* weaks.c: Implement key handling functions for real.
+
+1997-06-29  01:04  Richard Henderson  <richard@gnu.ai.mit.edu>
+
+	Initial sparc64-linux support:
+	* sysdeps/sparc64/Implies: New file.
+	* sysdeps/sparc64/pt-machine.h: Likewise.
+
+1997-06-29 00:48  Ulrich Drepper  <drepper@cygnus.com>
+
+	* semaphore.c: Include spinlock.h at correct place.
+	Patch by HJ Lu.
+
+1997-06-13 10:06  Richard Henderson  <rth@tamu.edu>
+
+	The Great Bit File Move:
+	* sysdeps/alpha/semaphorebits.h: -> .../bits/semaphore.h.
+	* sysdeps/powerpc/semaphorebits.h: Likewise.
+	* sysdeps/pthread/cmpxchg/semaphorebits.h: Likewise.
+	* sysdeps/pthread/no-cmpxchg/semaphorebits.h: Likewise.
+	* sysdeps/pthread/libc-lock.h: -> bits/
+	* sysdeps/pthread/stdio-lock.h: Likewise.
+	* sysdeps/unix/sysv/linux/local_lim.h: Likewise.
+	* sysdeps/unix/sysv/linux/posix_opt.h: Likewise.
+	* semaphore.h: Likewise.
+	* sysdeps/pthread/pthread.h: Likewise.
+
+	* lockfile.c: <foo.h> -> <bits/foo.h>.
+	* semaphore.h: Likewise.
+
+	* Makefile: (headers): foo.h -> bits/foo.h.
+	* sysdeps/pthread/Makefile: Likewise.
+
+1997-04-11 01:18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* semaphore.c (sem_init): Set sem_spinlock only if available.
+
+	* sysdeps/m68k/pt-machine.h (testandset, __compare_and_swap): Fix
+	asm constraints.
+
+1997-04-09 03:00  Ulrich Drepper  <drepper@cygnus.com>
+
+	Update from LinuxThreads 0.6.
+
+	* attr.c (pthread_attr_getdetachstate): Use __sched_get_priority_max
+	and __sched_get_priority_min instead of names without `__'.
+
+	* manager.c: Rewrite large parts to implement opaque pthread_t.
+
+	* cancel.c: Adapt for opaque pthread_t type.
+	* condvar.c: Likewise.
+	* errno.c: Likewise.
+	* join.c: Likewise.
+	* mutex.c: Likewise.
+	* pthread.c: Likewise.
+	* signals.c: Likewise.
+	* specific.c: Likewise.
+	* restart.h: Likewise.
+	* queue.h: Likewise.
+	* Examples/ex3.c: Likewise.
+	* Examples/ex4.c: Likewise.
+	* sysdeps/pthread/pthread.h: Likewise.
+
+	* pthread.c: Accumulate time for all threads in thread manager.
+
+	* semaphore.c: Implement fallback implementation for architectures
+	sometimes missing compare-exchange operations.
+
+	* cancel.c (pthread_cancel): Validate handle argument.
+	* join.c (pthread_join): Likewise.
+	(pthread_detach): Likewise.
+	* signals.c (pthread_kill): Likewise.
+
+	* spinlock.h (acquire): Use __sched_yield not sched_yield.
+
+	* queue.h (enqueue): Enqueue thread according to priority.
+
+	* internals.c (struct pthread_start_args): New struct for passing
+	args to cloning function.
+	(struct _pthread): Rename to _pthread_descr_struct and adapt for
+	opaque pthread_t.
+
+	* Examples/Makefile (clean): Pass -f option to rm.
+
+	* sysdeps/i386/pt-machine.h: Add check for compare-exchange instruction
+	and define TEST_FOR_COMPARE_AND_SWAP.
+	* sysdeps/i386/i486/pt-machine.h: Removed.
+
+	* sysdeps/unix/sysv/linux/local_lim.h (PTHREAD_THREADS_MAX): Increase
+	to 1024.
+
+1997-04-04 16:38  Ulrich Drepper  <drepper@cygnus.com>
+
+	* restart.h (suspend): Clear p_signal before suspending.
+	(suspend_with_cancellation): Likewise.
+	Patch by Xavier Leroy <Xavier.Leroy@inria.fr>.
+
+	* weaks.c: Make __pthread_key_create return 1.
+	* sysdeps/pthread/libc-lock.h: Define __libc_key_create,
+	__libc_getspecific, __libc_setspecific, and __libc_key_t.
+	* sysdeps/pthread/stdio-lock.h: Don't care for implementation not
+	using libio.
+
+1997-03-19 15:13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
+
+	* sysdeps/sparc/pt-machine (RELEASE): Fix.
+
+1997-03-01 07:55  Geoff Keating  <geoffk@ozemail.com.au>
+
+	* sysdeps/powerpc/Implies: Added.
+	* sysdeps/powerpc/pt-machine.h: Added.
+	* sysdeps/powerpc/semaphorebits.h: Added.
+
+1997-01-22 01:22  Ulrich Drepper  <drepper@cygnus.com>
+
+	* pthread.c (__pthread_initial_thread): Correct
+	initializer.
+	(__pthread_manager_thread): Likewise.
+	Reported by Andreas Jaeger.
+
+1997-01-18 22:15  Richard Henderson  <rth@tamu.edu>
+
+	Since sigset_t no longer fits in a register, we can't pass in the
+	thread's initial mask so easily.  Take this opportunity to simplify
+	the clone implementation by only accepting a single void* argument.
+
+	* manager.c (__pthread_manager): Put thread vitals in the thread
+	struct instead of as arguments through clone.
+	(pthread_start_thread): Look for them there.
+	* internals.h (struct _pthread): Add p_initial_fn,
+	p_initial_fn_arg, p_initial_mask.  Fix __pthread_manager proto.
+	* pthread.c (pthread_initialize_manager): Revise clone invocation.