* sysdeps/unix/sysv/linux/aio_misc.h: Various cleanups.
[platform/upstream/glibc.git] / nptl / ChangeLog
index 3c8e73a..bd86fad 100644 (file)
@@ -1,3 +1,631 @@
+2006-03-02  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/aio_misc.h: Various cleanups.
+
+2006-03-01  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
+       (__lll_robust_lock_wait): Also set FUTEX_WAITERS bit if we got the
+       mutex.
+       (__lll_robust_timedlock_wait): Likewise.
+       * sysdeps/unix/sysv/linux/i386/i486/lowlevelrobustlock.S
+       (__lll_robust_lock_wait): Likewise.
+       (__lll_robust_timedlock_wait): Likewise.
+       * sysdeps/unix/sysv/linux/lowlevelrobustlock.c
+       (__lll_robust_lock_wait): Likewise.
+       (__lll_robust_timedlock_wait): Likewise.
+
+2006-03-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/unix/sysv/linux/sparc/lowlevellock.h (lll_robust_mutex_dead,
+       lll_robust_mutex_trylock, lll_robust_mutex_lock,
+       lll_robust_mutex_cond_lock, lll_robust_mutex_timedlock,
+       lll_robust_mutex_unlock): Define.
+       (__lll_robust_lock_wait, __lll_robust_timedlock_wait): New prototypes.
+
+2006-02-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/unix/sysv/linux/ia64/clone2.S: Include <clone2.S>
+       instead of <clone.S>.
+
+2006-02-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * Makefile (libpthread-routines): Add
+       pthread_mutexattr_[sg]etprotocol, pthread_mutexattr_[sg]etprioceiling
+       and pthread_mutex_[sg]etprioceiling.
+       * Versions (GLIBC_2.4): Export pthread_mutexattr_getprotocol,
+       pthread_mutexattr_setprotocol, pthread_mutexattr_getprioceiling,
+       pthread_mutexattr_setprioceiling, pthread_mutex_getprioceiling and
+       pthread_mutex_setprioceiling.
+       * sysdeps/pthread/pthread.h (PTHREAD_PRIO_NONE, PTHREAD_PRIO_INHERIT,
+       PTHREAD_PRIO_PROTECT): New enum values.
+       (pthread_mutexattr_getprotocol, pthread_mutexattr_setprotocol,
+       pthread_mutexattr_getprioceiling, pthread_mutexattr_setprioceiling,
+       pthread_mutex_getprioceiling, pthread_mutex_setprioceiling): New
+       prototypes.
+       * pthreadP.h (PTHREAD_MUTEX_PRIO_INHERIT_PRIVATE_NP,
+       PTHREAD_MUTEX_PRIO_PROTECT_PRIVATE_NP): New enum values.
+       (PTHREAD_MUTEX_PRIO_CEILING_SHIFT, PTHREAD_MUTEX_PRIO_CEILING_MASK):
+       Define.
+       (PTHREAD_MUTEXATTR_PROTOCOL_SHIFT, PTHREAD_MUTEXATTR_PROTOCOL_MASK,
+       PTHREAD_MUTEXATTR_PRIO_CEILING_SHIFT,
+       PTHREAD_MUTEXATTR_PRIO_CEILING_MASK): Define.
+       (PTHREAD_MUTEXATTR_FLAG_BITS): Or in PTHREAD_MUTEXATTR_PROTOCOL_MASK
+       and PTHREAD_MUTEXATTR_PRIO_CEILING_MASK.
+       * pthread_mutex_init.c (__pthread_mutex_init): For the time being
+       return ENOTSUP for PTHREAD_PRIO_INHERIT or PTHREAD_PRIO_PROTECT
+       protocol mutexes.
+       * pthread_mutex_getprioceiling.c: New file.
+       * pthread_mutex_setprioceiling.c: New file.
+       * pthread_mutexattr_getprioceiling.c: New file.
+       * pthread_mutexattr_setprioceiling.c: New file.
+       * pthread_mutexattr_getprotocol.c: New file.
+       * pthread_mutexattr_setprotocol.c: New file.
+
+2006-02-27  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * sysdeps/unix/sysv/linux/aio_misc.h: Include <limits.h>.
+
+2006-02-27  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/pthread/Subdirs: List nptl here too.
+       * configure (libc_add_on_canonical): New variable.
+
+       * sysdeps/unix/sysv/linux/sh/sh4/lowlevellock.h: Use #include_next.
+
+       * sysdeps/unix/sysv/linux/sleep.c: Use #include_next after #include of
+       self to get main source tree's file.
+       * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise.
+       * sysdeps/unix/sysv/linux/i386/clone.S: Likewise.
+       * sysdeps/unix/sysv/linux/i386/vfork.S: Likewise.
+       * sysdeps/unix/sysv/linux/ia64/clone2.S: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise.
+       * sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Likewise.
+       * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise.
+       * sysdeps/unix/sysv/linux/sh/clone.S: Likewise.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: Likewise.
+       * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise.
+
+       * Makefile: Use $(sysdirs) in vpath directive.
+
+       * sysdeps/pthread/Makefile (CFLAGS-libc-start.c): Variable removed.
+       (CPPFLAGS-timer_routines.c): Likewise.
+
+       * Makeconfig (includes): Variable removed.
+
+2006-02-26  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/generic/pt-raise.c: Moved to ...
+       * pt-raise.c: ... here.
+       * sysdeps/generic/lowlevellock.h: Moved to ...
+       * lowlevellock.h: ... here.
+
+2006-02-23  Roland McGrath  <roland@redhat.com>
+
+       * descr.h (struct pthread): Add final member `end_padding'.
+       (PTHREAD_STRUCT_END_PADDING): Use it.
+
+2006-02-20  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/mips: Directory removed, saved in ports repository.
+       * sysdeps/unix/sysv/linux/mips: Likewise.
+
+2006-02-18  Ulrich Drepper  <drepper@redhat.com>
+
+       * tst-robust1.c: Add second mutex to check that the mutex list is
+       handled correctly.
+
+2006-02-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/unix/sysv/linux/alpha/lowlevellock.h (lll_robust_mutex_dead,
+       lll_robust_mutex_trylock, lll_robust_mutex_lock,
+       lll_robust_mutex_cond_lock, lll_robust_mutex_timedlock,
+       lll_robust_mutex_unlock): New macros.
+       (__lll_robust_lock_wait, __lll_robust_timedlock_wait): New prototypes.
+       * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
+       * sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
+       * sysdeps/unix/sysv/linux/lowlevelrobustlock.c: New file.
+
+2006-02-17  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+       * sysdeps/unix/sysv/linux/sh/lowlevellock.h: Add lll_robust_mutex_*
+       definitions.
+       * sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S: New file.
+
+2006-02-17  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
+       (lll_robust_mutex_unlock): Avoid unnecessary wakeups.
+       * sysdeps/unix/sysv/linux/i386/lowlevellock.h
+       (lll_robust_mutex_unlock): Likewise.
+
+2006-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * descr.h [!__PTHREAD_MUTEX_HAVE_PREV] (DEQUEUE_MUTEX):
+       Set robust_list.__next rather than robust_list.
+       * sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h
+       (__pthread_list_t): New typedef.
+       (pthread_mutex_t): Replace __next and __prev fields with __list.
+       * sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h
+       (__pthread_list_t): New typedef.
+       (pthread_mutex_t): Replace __next and __prev fields with __list.
+       * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
+       (__pthread_list_t, __pthread_slist_t): New typedefs.
+       (pthread_mutex_t): Replace __next and __prev fields with __list.
+       * sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
+       (__pthread_list_t, __pthread_slist_t): New typedefs.
+       (pthread_mutex_t): Replace __next and __prev fields with __list.
+       * sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h
+       (__pthread_list_t, __pthread_slist_t): New typedefs.
+       (pthread_mutex_t): Replace __next and __prev fields with __list.
+       * sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h
+       (__pthread_slist_t): New typedef.
+       (pthread_mutex_t): Replace __next field with __list.
+
+2006-02-15  Ulrich Drepper  <drepper@redhat.com>
+
+       * pthreadP.h: Define PTHREAD_MUTEX_INCONSISTENT instead of
+       PTHREAD_MUTEX_OWNERDEAD.
+       (PTHREAD_MUTEX_ROBUST_PRIVATE_NP): Define as 16, not 256.
+       Define FUTEX_WAITERS, FUTEX_OWNER_DIED, FUTEX_TID_MASK.
+       * Makefile (libpthread-routines): Add lowlevelrobustlock.
+       * pthread_create.c (start_thread): Very much simplify robust_list loop.
+       * pthread_mutex_consistent.c: Inconsistent mutex have __owner now set
+       to PTHREAD_MUTEX_INCONSISTENT.
+       * pthread_mutex_destroy.c: Allow destroying of inconsistent mutexes.
+       * pthread_mutex_lock.c: Reimplement robust mutex handling.
+       * pthread_mutex_trylock.c: Likewise.
+       * pthread_mutex_timedlock.c: Likewise.
+       * pthread_mutex_unlock.c: Likewise.
+       * sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c: Likewise.
+       * sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add
+       lowlevelrobustlock.sym.
+       * sysdeps/unix/sysv/linux/lowlevelrobustlock.sym: New file.
+       * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Add lll_robust_mutex_*
+       definitions.
+       * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
+       * sysdeps/unix/sysv/linux/i386/i486/lowlevelrobustlock.S: New file.
+       * sysdeps/unix/sysv/linux/i386/i586/lowlevelrobustlock.S: New file.
+       * sysdeps/unix/sysv/linux/i386/i686/lowlevelrobustlock.S: New file.
+       * sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S: New file.
+
+2006-02-12  Ulrich Drepper  <drepper@redhat.com>
+
+       * allocatestack.c (allocate_stack): Initialize robust_list.
+       * init.c (__pthread_initialize_minimal_internal): Likewise.
+       * descr.h (struct xid_command): Pretty printing.
+       (struct pthread): Use __pthread_list_t or __pthread_slist_t for
+       robust_list.  Adjust macros.
+       * pthread_create.c (start_thread): Adjust robust_list handling.
+       * phtread_mutex_unlock.c: Don't allow unlocking from any thread
+       but the owner for all robust mutex types.
+       * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Define
+       __pthread_list_t and __pthread_slist_t.  Use them in pthread_mutex_t.
+       * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
+       * sysdeps/pthread/pthread.h: Adjust mutex initializers.
+
+       * sysdeps/unix/sysv/linux/i386/not-cancel.h: Define openat_not_cancel,
+        openat_not_cancel_3, openat64_not_cancel, and openat64_not_cancel_3.
+
+2006-02-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_futex_wait,
+       lll_futex_timedwait, lll_wait_tid): Add "memory" clobber.
+
+2006-01-20  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+       * sysdeps/unix/sysv/linux/sh/lowlevellock.h (lll_futex_wait):
+       Return status.
+       (lll_futex_timed_wait): Define.
+
+2006-01-19  Ulrich Drepper  <drepper@redhat.com>
+
+       * tst-cancel4.c: Test ppoll.
+
+2006-01-18  Andreas Jaeger  <aj@suse.de>
+
+       [BZ #2167]
+       * sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h
+       (pthread_mutex_t): Follow changes for other archs.  Based on patch
+       by Jim Gifford <patches@jg555.com>.
+
+2006-01-13  Richard Henderson  <rth@redhat.com>
+
+       * sysdeps/alpha/tls.h (tcbhead_t): Rename member to __private.
+
+2006-01-10  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/alpha/jmpbuf-unwind.h: File moved to main source tree.
+       * sysdeps/i386/jmpbuf-unwind.h: Likewise.
+       * sysdeps/mips/jmpbuf-unwind.h: Likewise.
+       * sysdeps/powerpc/jmpbuf-unwind.h: Likewise.
+       * sysdeps/s390/jmpbuf-unwind.h: Likewise.
+       * sysdeps/sh/jmpbuf-unwind.h: Likewise.
+       * sysdeps/sparc/sparc32/jmpbuf-unwind.h: Likewise.
+       * sysdeps/sparc/sparc64/jmpbuf-unwind.h: Likewise.
+       * sysdeps/x86_64/jmpbuf-unwind.h: Likewise.
+       * sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h: Likewise.
+
+2006-01-09  Roland McGrath  <roland@redhat.com>
+
+       * tst-initializers1-c89.c: New file.
+       * tst-initializers1-c99.c: New file.
+       * tst-initializers1-gnu89.c: New file.
+       * tst-initializers1-gnu99.c: New file.
+       * Makefile (tests): Add them.
+       (CFLAGS-tst-initializers1-c89.c): New variable.
+       (CFLAGS-tst-initializers1-c99.c): New variable.
+       (CFLAGS-tst-initializers1-gnu89.c): New variable.
+       (CFLAGS-tst-initializers1-gnu99.c): New variable.
+
+       * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_mutex_t):
+       Use __extension__ on anonymous union definition.
+       * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Likewise.
+
+2006-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h (pthread_mutex_t):
+       Don't give the union a name because it changes the mangled name.
+       Instead name the struct for __data.
+       * sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_mutex_t):
+       Likewise.
+       * sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h (pthread_mutex_t):
+       Likewise.
+
+2006-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/sparc/sparc64/jmpbuf-unwind.h (_JMPBUF_UNWINDS_ADJ): Add
+       stack bias to mc_ftp field.
+
+2006-01-07  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/pthread/aio_misc.h (AIO_MISC_WAIT): Work around gcc
+       being too clever and reloading the futex value where it shouldn't.
+
+2006-01-06  Ulrich Drepper  <drepper@redhat.com>
+
+       * descr.h [!__PTHREAD_MUTEX_HAVE_PREV] (DEQUEUE_MUTEX): Use
+       correct type.
+
+2006-01-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h (PSEUDO):
+       Add cfi directives.
+
+2006-01-06  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/ia64/tls.h (tcbhead_t): Rename private member to __private.
+       * sysdeps/ia64/tcb-offsets.sym: Adjust for private->__private
+       rename in tcbhead_t.
+
+       * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_mutex_t):
+       Don't give the union a name because it changes the mangled name.
+       Instead name the struct for __data.
+       * sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
+       * pthread_create.c (start_thread): Adjust robust mutex free loop.
+       * descr.h (ENQUEUE_MUTEX, DEQUEUE_MUTEX): Adjust.
+
+2006-01-05  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_futex_wait):
+       Return status.
+       (lll_futex_timed_wait): Define.
+       * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
+       * sysdeps/pthread/aio_misc.h: New file.
+
+2006-01-03  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * Makefile ($(objpfx)$(multidir)): Use mkdir -p.
+
+2006-01-03  Steven Munroe  <sjmunroe@us.ibm.com>
+
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
+       (PSEUDO): Remove redundant cfi_startproc and cfi_endproc directives.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise.
+
+2006-01-04  Ulrich Drepper  <drepper@redhat.com>
+
+       * tst-cancel24.cc: Use C headers instead of C++ headers.
+
+2006-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Remove #error for
+       sparc-linux configured glibc.
+       (lll_futex_wake_unlock): Define to 1 for sparc-linux configured glibc.
+       (__lll_mutex_trylock, __lll_mutex_cond_trylock, __lll_mutex_lock,
+       __lll_mutex_cond_lock, __lll_mutex_timedlock): Use
+       atomic_compare_and_exchange_val_24_acq instead of
+       atomic_compare_and_exchange_val_acq.
+       (lll_mutex_unlock, lll_mutex_unlock_force): Use atomic_exchange_24_rel
+       instead of atomic_exchange_rel.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c: New file.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/pthread_barrier_init.c: New
+       file.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/pthread_barrier_wait.c: New
+       file.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/sem_init.c: New file.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c: New file.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/sem_timedwait.c: New file.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/sem_trywait.c: New file.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c: New file.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/pthread_barrier_init.c:
+       New file.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/pthread_barrier_wait.c:
+       New file.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_init.c: New file.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_post.c: New file.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_timedwait.c: New
+       file.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_trywait.c: New
+       file.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_wait.c: New file.
+
+2006-01-03  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/pthread/pthread.h [__WORDSIZE==64]: Don't use cast in
+       mutex initializers.
+
+2006-01-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/sparc/tls.h (tcbhead_t): Add pointer_guard field.
+       (THREAD_GET_POINTER_GUARD, THREAD_SET_POINTER_GUARD,
+       THREAD_COPY_POINTER_GUARD): Define.
+       * sysdeps/sparc/tcb-offsets.sym (POINTER_GUARD): Define.
+       * sysdeps/sparc/sparc64/jmpbuf-unwind.h: Revert 2005-12-27 changes.
+
+2006-01-01  Ulrich Drepper  <drepper@redhat.com>
+
+       * version.c: Update copyright year.
+
+2005-12-29  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+       * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Remove explicit
+       .eh_frame section, use cfi_* directives.
+       * sysdeps/unix/sysv/linux/sh/lowlevellock.S: Add cfi instrumentation.
+
+2005-12-30  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h: Undo last change for
+       now.
+
+2005-12-29  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/pthread/sigaction.c: Removed.
+       * sigaction.c: New file.
+       * sysdeps/unix/sysv/linux/Makefile: Define CFLAGS-sigaction.c.
+
+2005-12-28  Ulrich Drepper  <drepper@redhat.com>
+
+       * Makefile (tests): Add tst-signal7.
+       * tst-signal7.c: New file.
+
+2005-12-27  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/x86_64/jmpbuf-unwind.h (_jmpbuf_sp): New inline function.
+       (_JMPBUF_UNWINDS_ADJ): Use it, to PTR_DEMANGLE before comparison.
+       * sysdeps/alpha/jmpbuf-unwind.h: Likewise.
+       * sysdeps/i386/jmpbuf-unwind.h: Likewise.
+       * sysdeps/mips/jmpbuf-unwind.h: Likewise.
+       * sysdeps/powerpc/jmpbuf-unwind.h: Likewise.
+       * sysdeps/s390/jmpbuf-unwind.h: Likewise.
+       * sysdeps/sh/jmpbuf-unwind.h: Likewise.
+       * sysdeps/sparc/sparc32/jmpbuf-unwind.h: Likewise.
+       * sysdeps/sparc/sparc64/jmpbuf-unwind.h: Likewise.
+       * sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h: Likewise.
+
+2005-12-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: Add __next
+       and __prev field to pthread_mutex_t.
+       * sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Likewise.
+       * sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Add __next field
+       to pthread_mutex_t.
+
+2005-12-26  Ulrich Drepper  <drepper@redhat.com>
+
+       * pthreadP.h: Define PTHREAD_MUTEX_ROBUST_PRIVATE_NP,
+       PTHREAD_MUTEX_ROBUST_PRIVATE_RECURSIVE_NP,
+       PTHREAD_MUTEX_ROBUST_PRIVATE_ERRORCHECK_NP,
+       PTHREAD_MUTEX_ROBUST_PRIVATE_ADAPTIVE_NP,
+       PTHREAD_MUTEXATTR_FLAG_ROBUST, PTHREAD_MUTEXATTR_FLAG_PSHARED,
+       and PTHREAD_MUTEXATTR_FLAG_BITS.
+       * descr.h (struct pthread): Add robust_list field and define
+       ENQUEUE_MUTEX and DEQUEUE_MUTEX macros.
+       * pthread_mutexattr_getrobust.c: New file.
+       * pthread_mutexattr_setrobust.c: New file.
+       * pthread_mutex_consistent.c: New file.
+       * sysdeps/pthread/pthread.h: Declare pthread_mutexattr_getrobust,
+       pthread_mutexattr_setrobust, and pthread_mutex_consistent.
+       Define PTHREAD_MUTEX_STALLED_NP and PTHREAD_MUTEX_ROBUST_NP.
+       Adjust pthread_mutex_t initializers.
+       * nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Add __next
+       field to pthread_mutex_t.
+       * nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Add __next
+       and __prev field to pthread_mutex_t.
+       * Versions [GLIBC_2.4]: Export pthread_mutexattr_getrobust_np,
+       pthread_mutexattr_setrobust_np, and pthread_mutex_consistent_np.
+       * pthread_mutexattr_getpshared.c: Use PTHREAD_MUTEXATTR_FLAG_PSHARED
+       and PTHREAD_MUTEXATTR_FLAG_BITS macros instead of magic numbers.
+       * pthread_mutexattr_gettype.c: Likewise.
+       * pthread_mutexattr_setpshared.c: Likewise.
+       * pthread_mutexattr_settype.c: Likewise.
+       * pthread_mutex_init.c: Reject robust+pshared attribute for now.
+       Initialize mutex kind according to robust flag.
+       * pthread_mutex_lock.c: Implement local robust mutex.
+       * pthread_mutex_timedlock.c: Likewise.
+       * pthread_mutex_trylock.c: Likewise.
+       * pthread_mutex_unlock.c: Likewise.
+       * pthread_create.c (start_thread): Mark robust mutexes which remained
+       locked as dead.
+       * tst-robust1.c: New file.
+       * tst-robust2.c: New file.
+       * tst-robust3.c: New file.
+       * tst-robust4.c: New file.
+       * tst-robust5.c: New file.
+       * tst-robust6.c: New file.
+       * tst-robust7.c: New file.
+       * Makefile (libpthread-routines): Add pthread_mutexattr_getrobust,
+       pthread_mutexattr_setrobust, and pthread_mutex_consistent.
+       (tests): Add tst-robust1, tst-robust2, tst-robust3, tst-robust4,
+       tst-robust5, tst-robust6, and tst-robust7.
+
+       * tst-typesizes.c: New file.
+       * Makefile (tests): Add tst-typesizes.
+
+       * tst-once3.c: More debug output.
+
+2005-12-24  Ulrich Drepper  <drepper@redhat.com>
+
+       * pthread_mutex_trylock.c (__pthread_mutex_trylock): Add break
+       missing after last change.
+
+       * version.c: Update copyright year.
+
+2005-12-23  Ulrich Drepper  <drepper@redhat.com>
+
+       * pthread_mutex_destroy.c: Set mutex type to an invalid value.
+       * pthread_mutex_lock.c: Return EINVAL for invalid mutex type.
+       * pthread_mutex_trylock.c: Likewise.
+       * pthread_mutex_timedlock.c: Likewise.
+       * pthread_mutex_unlock.c: Likewise.
+
+2005-12-22  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/pthread/sigaction.c: Use "" instead of <> to include self,
+       so that #include_next's search location is not reset to the -I..
+       directory where <nptl/...> can be found.
+
+2005-12-22  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #1913]
+       * sysdeps/unix/sysv/linux/i386/i486/sem_wait.S (__new_sem_wait):
+       Fix unwind info.  Remove useless branch prediction prefix.
+       * tst-cancel24.cc: New file.
+       * Makefile: Add rules to build and run tst-cancel24.
+
+2005-12-21  Roland McGrath  <roland@redhat.com>
+
+       * libc-cancellation.c: Use <> rather than "" #includes.
+       * pt-cleanup.c: Likewise.
+       * pthread_create.c: Likewise.
+       * pthread_join.c: Likewise.
+       * pthread_timedjoin.c: Likewise.
+       * pthread_tryjoin.c: Likewise.
+       * sysdeps/unix/sysv/linux/libc_pthread_init.c: Likewise.
+       * sysdeps/unix/sysv/linux/register-atfork.c: Likewise.
+       * sysdeps/unix/sysv/linux/unregister-atfork.c: Likewise.
+       * unwind.c: Likewise.
+
+2005-12-19  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+       * sysdeps/sh/tcb-offsets.sym: Add POINTER_GUARD.
+       * sysdeps/sh/tls.h (tcbhead_t): Remove private and add pointer_guard.
+       (THREAD_GET_POINTER_GUARD, THREAD_SET_POINTER_GUARD,
+       THREAD_COPY_POINTER_GUARD): Define.
+
+2005-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/ia64/tls.h (TLS_PRE_TCB_SIZE): Make room for 2 uintptr_t's
+       rather than one.
+       (THREAD_GET_POINTER_GUARD, THREAD_SET_POINTER_GUARD,
+       THREAD_COPY_POINTER_GUARD): Define.
+       * sysdeps/powerpc/tcb-offsets.sym (POINTER_GUARD): Add.
+       * sysdeps/powerpc/tls.h (tcbhead_t): Add pointer_guard field.
+       (THREAD_GET_POINTER_GUARD, THREAD_SET_POINTER_GUARD,
+       THREAD_COPY_POINTER_GUARD): Define.
+       * sysdeps/s390/tcb-offsets.sym (STACK_GUARD): Add.
+       * sysdeps/s390/tls.h (THREAD_GET_POINTER_GUARD,
+       THREAD_SET_POINTER_GUARD, THREAD_COPY_POINTER_GUARD): Define.
+       * sysdeps/unix/sysv/linux/ia64/__ia64_longjmp.S (__ia64_longjmp):
+       Use PTR_DEMANGLE for B0 if defined.
+
+2005-12-17  Ulrich Drepper  <drepper@redhat.com>
+
+       * pthread_create.c (__pthread_create_2_1): Use
+       THREAD_COPY_POINTER_GUARD if available.
+       * sysdeps/i386/tcb-offsets.sym: Add POINTER_GUARD.
+       * sysdeps/x86_64/tcb-offsets.sym: Likewise.
+       * sysdeps/i386/tls.h (tcbhead_t): Add pointer_guard.
+       Define THREAD_SET_POINTER_GUARD and THREAD_COPY_POINTER_GUARD.
+       * sysdeps/x86_64/tls.h: Likewise.
+
+2005-12-15  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/unix/sysv/linux/mq_notify.c: Don't use sysdeps/generic.
+
+2005-12-13  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/pthread/sigfillset.c: Adjust for files moved out of
+       sysdeps/generic.
+       * errno-loc.c: New file.
+
+2005-12-12  Roland McGrath  <roland@redhat.com>
+
+       * init.c (__pthread_initialize_minimal_internal): Do __static_tls_size
+       adjustments before choosing stack size.  Update minimum stack size
+       calculation to match allocate_stack change.
+
+2005-12-12  Ulrich Drepper  <drepper@redhat.com>
+
+       * allocatestack.c (allocate_stack): Don't demand that there is an
+       additional full page available on the stack beside guard, TLS, the
+       minimum stack.
+
+2005-11-24  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h
+       (__cleanup_fct_attribute): Use __regparm__ not regparm.
+
+       * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: When
+       compiling 32-bit code we must define __cleanup_fct_attribute.
+
+005-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+       [BZ #1920]
+       * sysdeps/pthread/pthread.h (__pthread_unwind_next): Use
+       __attribute__ instead of __attribute.
+       * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h
+       (__cleanup_fct_attribute): Likewise.
+
+2005-11-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/pthread/unwind-forcedunwind.c (pthread_cancel_init): Put
+       a write barrier before writing libgcc_s_getcfa.
+
+2005-11-06  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/configure: Removed.
+
+2005-11-05  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/ia64/pt-initfini.c: Remove trace of
+       optional init_array/fini_array support.
+
+2005-10-24  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Remove unnecessary
+       versioned_symbol use.
+
+2005-10-16  Roland McGrath  <roland@redhat.com>
+
+       * init.c (__pthread_initialize_minimal_internal): Even when using a
+       compile-time default stack size, apply the minimum that allocate_stack
+       will require, and round up to page size.
+
 2005-10-10  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * Makefile ($(test-modules)): Remove static pattern rule.
 
 2005-02-14  Alan Modra  <amodra@bigpond.net.au>
 
+       [BZ #721]
        * sysdeps/powerpc/tcb-offsets.sym (thread_offsetof): Redefine to suit
        gcc4.