diff options
Diffstat (limited to 'linuxthreads/ChangeLog')
-rw-r--r-- | linuxthreads/ChangeLog | 6468 |
1 files changed, 0 insertions, 6468 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog deleted file mode 100644 index beaad8c6c5..0000000000 --- a/linuxthreads/ChangeLog +++ /dev/null @@ -1,6468 +0,0 @@ -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. |