summaryrefslogtreecommitdiff
path: root/linuxthreads/ChangeLog
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
committerUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
commita334319f6530564d22e775935d9c91663623a1b4 (patch)
treeb5877475619e4c938e98757d518bb1e9cbead751 /linuxthreads/ChangeLog
parent0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (diff)
(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.
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.