commit-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] POSIX threading library branch, master-fix_have_kernel_resources,


From: Thomas Schwinge
Subject: [SCM] POSIX threading library branch, master-fix_have_kernel_resources, created. 50a5d4825869a40ecddf650181b6c4f75dfc6dd0
Date: Mon, 22 Jun 2009 21:33:33 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "POSIX threading library".

The branch, master-fix_have_kernel_resources has been created
        at  50a5d4825869a40ecddf650181b6c4f75dfc6dd0 (commit)

- Log -----------------------------------------------------------------
commit 50a5d4825869a40ecddf650181b6c4f75dfc6dd0
Author: Thomas Schwinge <address@hidden>
Date:   Sun Apr 12 00:00:00 2009 +0200

    [UNFINISHED] Fix handling of have_kernel_resources on Mach/Hurd.
    
    <http://lists.gnu.org/archive/html/bug-hurd/2009-04/msg00028.html>
    
    Further comments by Neal:
    
    <neal> do you want a reply on the libpthread one inline?
    <neal> the short answer is: yes, that's a bug
    <neal> unfortunately, your fix is not enough
    <neal> the predicate controls two resources: the wakeup port and the thread
      itself
    <tschwinge> Oh, right, I see.
    <neal> also, there may be a race:
    <neal> set the predicate to free, then kill the thread
    <neal> that's not so good
    <neal> so a proper solution requires a bit more thought
    <tschwinge> I think I wondered about that as well.  But isn't there the same
      problem with Viengoos?
    <neal> it is difficult as cleanly committing suicide is hard :-)
    <neal> could be
    <neal> on viengoos, I don't actually deallocate the thread in 
pt-thread-halt.c
    <neal> I just call suspend
    <neal> the thread is only deallocated in pt-thread-dealloc.c

commit 2e166e1a00928d5a31f00c185c2464b2146d6f6a
Author: Neal H. Walfield <address@hidden>
Date:   Sat Aug 16 13:13:07 2008 +0000

    2008-08-16  Neal H. Walfield  <address@hidden>
    
        * pthread/pt-alloc.c: Don't include <bits/atomic.h>.
        (__pthread_free_threads): Change to a struct __pthread *.
        (__pthread_free_threads_lock): New variable.
        (__pthread_alloc): When looking for a TCB to reuse, iterate over
        __pthread_free_threads taking the first for which the STATE field
        is PTHREAD_TERMINATED.  When reusing a TCB, first call
        __pthread_thread_halt on it.
        * pthread/pt-dealloc.c: Don't include <bits/atomic.h>.
        (__pthread_free_threads): Change to a struct __pthread *.
        (__pthread_free_threads_lock): New declaration.
        (__pthread_dealloc): Enqueue PTHREAD on __PTHREAD_FREE_THREADS.
        Set PTHREAD->STATE to PTHREAD_TERMINATED after everything else.
        * pthread/pt-join.c (pthread_join): Call __pthread_thread_halt
        before destroying the thread.  When destroying the thread, call
        __pthread_thread_dealloc on it.
        * pthread/pt-detach.c (pthread_detach): If destroying the thread,
        call __pthread_thread_halt before deallocating the stack.  In this
        case, also call __pthread_thread_dealloc on the tcb.
        * pthread/pt-exit.c (pthread_exit): Call __pthread_dealloc only if
        the thread is detached and then as the last thing we do before
        calling __pthread_thread_halt.
        * pthread/pt-internal.h (__pthread_thread_halt): Remove argument
        NEED_DEALLOC.  Update users.
        * sysdeps/mach/pt-thread-halt.c (__pthread_thread_halt): Remove
        argument need_dealloc.
        * sysdeps/mach/hurd/pt-sysdep.h (PTHREAD_SYSDEP_MEMBERS): Add field
        have_kernel_resources.
        * sysdeps/mach/hurd/pt-thread-alloc.c (__pthread_thread_alloc): If
        THREAD->HAVE_KERNEL_RESOURCES is true, just return.  After
        allocating the resources, set THREAD->HAVE_KERNEL_RESOURCES to
        true.

commit 61585a1da2ce36b0db1cbc9673456205d5111e78
Author: Neal H. Walfield <address@hidden>
Date:   Tue Aug 12 15:07:50 2008 +0000

    2008-08-12  Neal H. Walfield  <address@hidden>
    
        Merge changes from hurd-l4 fork.
    
        * Makefile (SRCS): Add pt-startup.c and pt-mutex-transfer-np.c.
        (sysdeps_headers): Add pthread-np.h.
    
    2008-08-12  Neal H. Walfield  <address@hidden>
    
        * sysdeps/generic/bits/pthread-np.h: New file.
    
    2008-08-12  Neal H. Walfield  <address@hidden>
    
        * sysdeps/generic/pt-startup.c: New file.
    
    2008-08-12  Neal H. Walfield  <address@hidden>
    
        * sysdeps/generic/bits/mutex.h (__PTHREAD_RECURSIVE_MUTEX_INITIALIZER):
        Define.
        (__PTHREAD_MUTEX_RECURSIVE_INITIALIZER): Don't define.
        * include/pthread/pthread.h
        (PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) [__USE_GNU]: Define.
        (PTHREAD_MUTEX_RECURSIVE_INITIALIZER_NP): Don't define.
    
    2008-08-12  Neal H. Walfield  <address@hidden>
    
        * include/pthread/pthread.h: Include <sys/cdefs.h>.
        (__extern_inline): If not defined, define appropriately.
    
    2008-06-01  Neal H. Walfield  <address@hidden>
    
        * include/pthread/pthread.h (PTHREAD_MUTEX_RECURSIVE_INITIALIZER_NP):
        New definition.
        * sysdeps/generic/bits/mutex.h
        (__PTHREAD_MUTEX_RECURSIVE_INITIALIZER): New definition.
        * sysdeps/generic/bits/mutex-attr.h (__pthread_recursive_mutexattr):
        New definition.
        * sysdeps/generic/pt-mutexattr.c (__pthread_recursive_mutexattr):
        New declaration.
        * sysdeps/generic/pt-mutex-init.c (_pthread_mutex_init): If ATTR
        is &__PTHREAD_RECURSIVE_MUTEXATTR, don't allocate a copy, just
        save in MUTEX->ATTR.
        * sysdeps/generic/pt-mutex-destroy.c (_pthread_mutex_destroy): If
        MUTEX->ATTR is &__PTHREAD_RECURSIVE_MUTEXATTR, don't free it.
    
    2008-05-29  Thomas Schwinge  <address@hidden>
    
        * sysdeps/generic/sem-timedwait.c: Don't include <error.h>.
    
    2008-05-21  Neal H. Walfield  <address@hidden>
    
        * include/pthread/pthread.h: Include <bits/pthread-np.h>.
    
    2008-03-01  Neal H. Walfield  <address@hidden>
    
        * sysdeps/generic/pt-mutex-transfer-np.c: New file.
    
        * pthread/pt-self.c (pthread_self): Assert that SELF is not NULL.
    
    2007-12-23  Neal H. Walfield  <address@hidden>
    
        * pthread/pt-join.c (pthread_join): Cast argument to
        pthread_cleanup_push to avoid warning.
    
    2007-11-23  Neal H. Walfield  <address@hidden>
    
        * pthread/pt-internal.h (__pthread_startup): Add declaration.
        * pthread/pt-create.c (entry_point): Call __pthread_startup.

commit 38648cd5741e671ef977879150be16546b71d84b
Author: Neal H. Walfield <address@hidden>
Date:   Tue Aug 12 14:34:18 2008 +0000

    2008-08-12  Neal H. Walfield  <address@hidden>
    
        * sysdeps/generic/bits/pthread-np.h: New file.

commit e9bf4a5cc0e6de29a0f27825d16748d8f4261d4d
Author: Neal H. Walfield <address@hidden>
Date:   Tue Aug 12 14:03:34 2008 +0000

    2006-03-04  Samuel Thibault  <address@hidden>
    
        * sysdeps/ia32/machine-sp.h (thread_stack_pointer):
        Optimize esp read.

commit fa49ade26a798fe0c9f25aa09048c6aefbfb8a84
Author: Neal H. Walfield <address@hidden>
Date:   Tue Aug 12 14:00:52 2008 +0000

    2008-08-12  Neal H. Walfield  <address@hidden>
    
        * sysdeps/generic/pt-startup.c (__pthread_startup): New file.

commit 0519673768de7ce1d212af093974bbaaef3e74d3
Author: Neal H. Walfield <address@hidden>
Date:   Tue Aug 12 13:31:49 2008 +0000

    libpthread/
    
    2008-08-12  Neal H. Walfield  <address@hidden>
    
        * sysdeps/generic/bits/mutex.h (__PTHREAD_RECURSIVE_MUTEX_INITIALIZER):
        Define.
        (__PTHREAD_MUTEX_RECURSIVE_INITIALIZER): Don't define.
        * include/pthread/pthread.h
        (PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) [__USE_GNU]: Define.
        (PTHREAD_MUTEX_RECURSIVE_INITIALIZER_NP): Don't define.
    
    libhurd-mm/
    
    2008-08-12  Neal H. Walfield  <address@hidden>
    
        * storage.c (storage_low_mutex): Use
        PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP, not
        PTHREAD_MUTEX_RECURSIVE_INITIALIZER_NP.

commit f214670f86b9355183e2478dd1827474f60439b8
Merge: 7a69a458fe11877a7b162191a6c583d7c6bd764f 
0236089d351775cf41a9a951621b7c083488ec20
Author: Neal H. Walfield <address@hidden>
Date:   Tue Aug 12 13:03:06 2008 +0000

    2008-08-12  Neal H. Walfield  <address@hidden>
    
        Merge in Samuel Thibault's changes from the main line.
    
        * Makefile.am (libpthread_a_SOURCES): Add pt-getattr.c.
        * headers.m4: Link libpthread/include/pthread/pthreadtypes.h to
        sysroot/include/pthread/pthreadtypes.h and
        libpthread/sysdeps/${arch}/bits/spin-lock-inline.h. to
        sysroot/include/bits/spin-lock-inline.h.
    
        * include/pthread/pthread.h: Include <sys/cdefs.h>.
        (__extern_inline): If not defined, define appropriately.
    
    2008-08-04  Samuel Thibault  <address@hidden>
    
        * include/pthread/pthreadtypes.h (__pthread_inheritsched): Remove
        comma at end of enumeration.
    
    2008-08-03  Samuel Thibault  <address@hidden>
    
        * Makefile (sysdeps_headers): Add spin-lock-inline.h.
        (SYSDEP_PATH): Move sysdeps/ia32 right after
        sysdeps/$(MICROKERNEL)/ia32.
        * include/pthread/pthread.h: Include <bits/spin-lock-inline.h>.
        * sysdeps/ia32/bits/spin-lock.h: Move inlines to...
        * sysdeps/ia32/bits/spin-lock-inline.h: ... new file.
    
    2008-08-02  Samuel Thibault  <address@hidden>
    
        * sysdeps/generic/bits/mutex.h: Do not include <errno.h> and
        <stddef.h>
        * sysdeps/ia32/bits/memory.h (__memory_barrier): Add memory clobber.
        * sysdeps/ia32/bits/spin-lock.h (__pthread_spin_trylock,
        __pthread_spin_unlock): Add memory clobbers.
        * sysdeps/l4/hurd/ia32/pt-setup.c (stack_setup): Fix reservation of
        stack room for initial frame.
    
    2008-07-18  Samuel Thibault  <address@hidden>
    
        * Makefile (sysdeps_headers): add pthread/pthreadtypes.h
    
    2008-06-27  Samuel Thibault  <address@hidden>
    
        * include/pthread/pthread.h: Do not define __need_clockid_t, include
        <time.h>, and define clockid_t if __clockid_defined is not defined.
        Include <pthread/pthreadtypes.h>
        (pthread_equal): New extern inline.
        (pthread_cleanup_push, pthread_cleanup_pop): New macros.
        (__pthread_process_shared, __pthread_inheritsched,
        __pthread_contentionscope, __pthread_detachstate,
        __pthread_mutex_protocol, __pthread_mutex_type,
        pthread_attr_t, pthread_mutex_attr_t, pthread_mutex_t,
        pthread_condattr_t, pthread_cond_t, pthread_spinlock_t,
        pthread_rwlockattr_t, pthread_rwlock_t, pthread_barrierattr_t,
        pthread_barrier_t, pthread_key_t, pthread_once_t): Move enums and
        typedefs to...
        * include/pthread/pthreadtypes.h: ... new file.
        * sysdeps/generic/bits/cancelation.h (pthread_cleanup_push): Rename
        macro to __pthread_cleanup_push.
        (pthread_cleanup_pop): Rename macro to __pthread_cleanup_pop.
        * sysdeps/generic/bits/barrier-attr.h (__pthread_process_shared):
        Forward-declare enum.
        * sysdeps/generic/bits/condition-attr.h (__pthread_process_shared):
        Likewise.
        * sysdeps/generic/bits/mutex-attr.h (__pthread_mutex_protocol,
        __pthread_process_shared, __pthread_mutex_type):
        Likewise.
        * sysdeps/generic/bits/rwlock-attr.h (__pthread_process_shared):
        Likewise.
        * sysdeps/generic/bits/thread-attr.h (__pthread_detachstate,
        __pthread_inheritsched, __pthread_contentionscope):
        Likewise.
        * sysdeps/generic/bits/pthread.h (pthread_t): Rename type to
        __pthread_t.
        (pthread_equal): Rename to __pthread_equal.
    
    2008-06-27  Samuel Thibault  <address@hidden>
    
        * sysdeps/generic/bits/thread-barrier.h: Remove unused file.
    
    2008-05-17  Samuel Thibault  <address@hidden>
    
        * include/pthread/pthread.h (pthread_getattr_np): New declaration.
        * pthread/pt-getattr.c: New file.
        * Makefile (SRCS): Add pt-getattr.c.
    
    2008-03-16  Samuel Thibault  <address@hidden>
    
        * include/libc-symbols.h (HAVE_ASM_PREVIOUS_DIRECTIVE): Define.
    
    2008-02-29  Samuel Thibault  <address@hidden>
    
        * sysdeps/l4/hurd/ia32/pt-setup.c (stack_setup): Align stack on 0x10
        for MMX operations.
    
    2008-01-01  Samuel Thibault  <address@hidden>
    
        * include/pthread/pthread.h (pthread_spin_destroy, pthread_spin_init,
        pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Use
        __extern_inline macro instead of extern __inline.
        * sysdeps/ia32/bits/spin-lock.h (__PT_SPIN_INLINE,
        __pthread_spin_lock): Likewise
        * sysdeps/generic/bits/pthread.h (pthread_equal): Declare ; only
        provide inline when __USE_EXTERN_INLINES is defined. Use __extern_inline
        macro instead of extern __inline.
        * sysdeps/ia32/bits/memory.h (__memory_barrier): Add static to inline.

commit 7a69a458fe11877a7b162191a6c583d7c6bd764f
Author: Neal H. Walfield <address@hidden>
Date:   Sun Jun 22 09:16:45 2008 +0000

    viengoos/
    
    2008-06-22  Neal H. Walfield  <address@hidden>
    
        * thread.h: Include "list.h".
        (struct thread) [! NDEBUG]: Add field futex_waiter_node.
        [! NDEBUG]: Instantiate the futex_waiter list class.
        (futex_waiters) [! NDEBUG]: Declare.
        * server.c (futex_waiters) [! NDEBUG]: New variable.
        (server_loop) [! NDEBUG]: If we don't get an RPC for a while,
        dequeue all thread's enqueued on FUTEX_WAITERS and return EDEADLK.
        When blocking a thread on a futex, add THREAD to FUTEX_WAITERS.
        * object.c (object_wait_queue_dequeue) [! NDEBUG]: If
        THREAD->WAIT_REASON is THREAD_WAIT_FUTEX, unlink THREAD from
        FUTEX_WAITERS.
    
    hurd/
    
    2008-06-22  Neal H. Walfield  <address@hidden>
    
        * futex.h [! RM_INTERN]: Include <errno.h>.
        (futex_wait): On error, set ERRNO and return -1.
        (futex_timed_wait): Likewise.
        (futex_wake): Likewise.
        * mutex.h (ss_mutex_lock): If FUTEX_WAIT returns failure, print
        some debugging information.

commit 9eb270404ceced4a2dc49d875c0b4e674e0b51d4
Author: Neal H. Walfield <address@hidden>
Date:   Sun Jun 22 08:58:20 2008 +0000

    2008-06-22  Neal H. Walfield  <address@hidden>
    
        * sysdeps/generic/pt-mutex-timedlock.c
        (__pthread_mutex_timedlock_internal): Don't set MUTEX->OWNER here.
        * sysdeps/generic/pt-mutex-unlock.c (__pthread_mutex_unlock): Set
        it here to WAKEUP.

commit e1e18be3d956df4b0b9cbbc67af1727c8742a294
Author: Neal H. Walfield <address@hidden>
Date:   Sat Jun 7 15:25:02 2008 +0000

    2008-06-07  Neal H. Walfield  <address@hidden>
    
        * pthread/pt-internal.h (__pthread_queue_iterate): Use 1, not
        true.
        (__pthread_dequeuing_iterate): Likewise.

commit 4ea9cbe154365e4b2e4a165c089aaaabfe3a0117
Author: Neal H. Walfield <address@hidden>
Date:   Thu Jun 5 13:21:02 2008 +0000

    viengoos/
    
    2008-06-05  Neal H. Walfield  <address@hidden>
    
        * cap-lookup.c: Move from here...
        * ../libhurd-mm/as-lookup.c: ... to here.
        * as.c: Move from here...
        * ../libhurd-mm/as-build.c: ... to here.
        * as-custom.c: Move from here...
        * ../libhurd-mm/as-build-custom.c: ... to here.
        * as.h: Move contents...
        * ../libhurd-mm/as.h: ... to here...
        * ../libhurd-mm/as-compute-gbits.h: ... and to here.
        * bits.h: Move from here...
        * ../libhurd-mm/bits.h: ... to here.
        * Makefile.am (viengoos_SOURCES): Remove cap-lookup.c, as.h and
        as.c.
        (t_as_SOURCES): Likewise.
        (t_activity_SOURCES): Likewise.
        (viengoos_LDADD): Add ../libhurd-mm/libas-kernel.a.
        (t_as_LDADD): Add ../libhurd-mm/libas-check.a.
        (t_activity_LDADD): Likewise.
        (lib_LIBRARIES): Remove libhurd-cap.a.
        (libhurd_cap_a_CPPFLAGS): Remove variable.
        (libhurd_cap_a_CFLAGS): Likewise.
        (libhurd_cap_a_SOURCES): Likewise.
        * server.c (server_loop): Replace use of object_lookup_rel with
        as_object_lookup_rel.  Replace use of slot_lookup_rel with
        as_slot_lookup_rel_use.  Replace use of cap_lookup_rel with
        as_cap_lookup_rel.
        * viengoos.c: Don't include "as.h", include <hurd/as.h>.
        * t-activity.c: Don't include "as.h", include <hurd/as.h>.
        (allocate_object): Change return type to struct
        as_allocate_pt_ret.
        * t-as.c: Don't include "as.h", include <hurd/as.h>.
        (allocate_object): Change return type to struct
        as_allocate_pt_ret.
        (allocate_page_table): New function.
        (try): Replace use of as_insert with as_insert_full.  Replace use
        of slot_lookup_rel with as_slot_lookup_rel_use.  Replace use of
        object_lookup_rel with as_object_lookup_rel.
        (test): Likewise.
        * t-guard.c: Don't include "as.h", include <hurd/as.h>.  Include
        "../libhurd-mm/as-compute-gbits.h".
    
    libhurd-mm/
    
    2008-06-05  Neal H. Walfield  <address@hidden>
    
        * as.h: Include <hurd/exceptions.h>.
        [! RM_INTERN]: Include <hurd/storage.h> and <pthread.h>.
        (as_lock_ensure_stack) [! RM_INTERN]: New function.
        (as_lock): New function.
        (as_lock_readonly): Likewise.
        (as_unlock): Likewise.
        (meta_data_activity) [RM_INTERN]: Don't declare.
        (shadow_root) [RM_INTERN]: Don't declare.
        (struct as_insert_rt): Rename from this...
        (struct as_allocate_pt_ret): ... to this.  Update users.
        (as_allocate_page_table_t): New typedef.
        (as_allocate_page_table): New declaration.
        (as_build): New declaration.
        (as_build_custom): Likewise.
        (as_slot_ensure): Remove declaration.
        (as_ensure_full): New macro.
        (as_ensure_use) [! RM_INTERN]: Likewise.
        (as_ensure) [! RM_INTERN]: New function.
        (as_insert): Rename from this...
        (as_insert_full): ... to this.  Don't return the capability.
        Reverse the order of the source address and cap.  Replace
        allocate_object parameter with an allocate_page_table parameter.
        Update users.
        (as_insert) [! RM_INTERN]: New function.
        (as_slot_ensure_full_custom): Rename from this...
        (as_ensure_full_custom): ... to this.  Replace allocate_object
        parameter with an allocate_page_table parameter.
        (as_insert_custom): Likewise.
        (union as_lookup_ret): New definition.
        (as_lookup_want_cap): New definition.
        (as_lookup_want_slot): Likewise.
        (as_lookup_want_object): Likewise.
        (as_lookup_rel): New declaration.
        (slot_lookup): Remove declaration.
        (as_slot_lookup_rel_use): Replace it with this macro.
        (as_slot_lookup_use) [! RM_INTERN]: New macro.
        (as_cap_lookup_rel): New function.
        (cap_lookup): Rename from this...
        (as_cap_lookup) [! RM_INTERN]: ... to this.  Remove activity
        parameter.  Implement here as a static inline function.
        (as_object_lookup_rel): New function.
        (object_lookup): Rename from this...
        (as_object_lookup) [! RM_INTERN]: ... to this.  Remove activity
        parameter.  Implement here as a static inline function.
        (as_dump_from): New declaration.
        * as-compute-gbits.h: Include <hurd/folio.h>.
        * as.c (allocate_object): Rename from this...
        (as_allocate_page_table): ... to this.  Remove static qualifier.
        Don't take parameter type, just allocate a cap_cappage.
        (as_slot_ensure): Remove function.
        (as_init): Replace use of slot_lookup_rel with as_slot_lookup_use
        or as_cap_lookup as appropriate.
        (cap_lookup): Remove function.
        (object_lookup): Likewise.
        (slot_lookup): Likewise.
        (as_dump): Likewise.
        * as-build.c: Don't include "as.h", but <hurd/as.h>.  Include
        <hurd/rm.h>, "as-compute-gbits.h".
        [RM_INTERN]: Don't include "object.h" but "../viengoos/object.h".
        (CUSTOM) [ID_SUFFIX]: Define.
        (as_build_internal): Rename from this...
        (as_build): ... to this.  Remove static qualifier.  Replace
        parameter allocate_object with allocate_page_table.  Use it
        instead.
        (as_slot_ensure_full): Remove function.
        (as_insert): Likewise.
        * as-build-custom.c (as_object_index_t): Remove definition.
        (AS_LOCK): Don't define.
        (AS_UNLOCK): Don't define.
        (as_ensure_full_custom): New function.
        (as_insert_custom): Likewise.
        * as-lookup.c: Include <hurd/as.h>.
        [RM_INTERN]: Don't include "object.h" but "../viengoos/object.h".
        [! RM_INTERN]: Include <pthread.h>.
        (as_lock) [! RM_INTERN]: Rename from this...
        (as_rwlock) [! RM_INTERN]: ... to this.
        (ensure_stack) [! RM_INTERN]: Remove function.
        (AS_LOCK): Don't define.
        (AS_UNLOCK): Don't define.
        (lookup): Rename from this...
        (as_lookup_rel): ... to this.  Change mode's type to an enum
        as_lookup_mode.  Change rt's type to a union as_lookup_ret.  Don't
        use want_object but as_lookup_want_object.  Don't use want_slot
        but as_lookup_want_slot.  Don't use want_cap but
        as_lookup_want_cap.
        (cap_lookup_rel): Remove function.
        (object_lookup_rel): Likewise.
        (slot_lookup_rel): Likewise.
        (print_nr): Move from here...
        * as-lookup.c (do_walk): Move from here...
        * as-dump.c (do_walk): ... to here.
        * as-lookup.c (as_dump_from): Move from here...
        * as-dump.c (as_dump_from): ... to here.
        * Makefile.am (lib_LIBRARIES) [ENABLE_TESTS]: Set to libas-check.a
        (lib_LIBRARIES) [! ENABLE_TESTS]: Add libas-kernel.a.
        (libhurd_mm_a_SOURCES): Add bits., as-build.c as-build-custom.c,
        as-lookup.c and as-dump.c.
        (libas_kernel_a_CPPFLAGS): New variable.
        (libas_kernel_a_CCASFLAGS): New variable.
        (libas_kernel_a_CFLAGS): New variable.
        (libas_kernel_a_SOURCES): New variable.
        (libas_check_a_CPPFLAGS): New variable.
        (libas_check_a_CCASFLAGS): New variable.
        (libas_check_a_CFLAGS): New variable.
        (libas_check_a_SOURCES): New variable.
        * anonymous.c (fault): Replace use of as_slot_ensure with
        as_ensure.
        * exceptions.c (exception_handler_init): Replace use of
        as_slot_ensure with as_ensure.
        * storage.c (storage_check_reserve_internal): Replace use of
        as_lock with as_rwlock.  Replace use of as_slot_ensure with and
        slot_lookup with as_ensure and as_slot_lookup_use.
        (storage_alloc): Replace use of slot_lookup with
        as_slot_lookup_use.
    
    hurd/
    
    2008-06-05  Neal H. Walfield  <address@hidden>
    
        * cap.h: Don't include <pthread.h>.
        (as_lock): Remove declaration.
        (cap_lookup_rel): Likewise.
        (object_lookup_rel): Likewise.
        (slot_lookup_rel): Likewise.
    
    /
    
    2008-06-05  Neal H. Walfield  <address@hidden>
    
        * libc.a.in: Remove -lhurd-cap.
        * Makefile.am (libc-stmp): Remove dependency on
        viengoos/libhurd-cap.a.
    
    2008-06-05  Neal H. Walfield  <address@hidden>
    
        * process-spawn.c (as_insert_custom): Replace use of as_insert
        with as_insert_full.
        (allocate_object): Change return type to struct
        as_allocate_pt_ret.  Replace use of as_slot_ensure with
        as_ensure_use.
        (allocate_page_table): New function.
        (process_spawn): Update use of as_insert_custom to be consistent
        with new API, in particular, pass allocate_page_table instead of
        allocate_object.  Replace use of object_lookup_rel with
        as_object_lookup_rel.
    
    libpthread/
    
    2008-06-05  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/hurd/pt-thread-alloc.c (__pthread_thread_alloc):
        Replace use of as_slot_ensure with as_ensure.
    
    ruth/
    
    2008-06-05  Neal H. Walfield  <address@hidden>
    
        * ruth.c (main): Replace use of slot_lookup with as_cap_lookup.
        Replace use of as_slot_ensure with as_ensure_use.  Replace use of
        slot_lookup with as_slot_lookup_use.

commit e48957feb55420710f89d88ca5a45ce08551ff12
Author: Neal H. Walfield <address@hidden>
Date:   Sun Jun 1 20:25:36 2008 +0000

    2008-06-01  Neal H. Walfield  <address@hidden>
    
        * include/pthread/pthread.h (PTHREAD_MUTEX_RECURSIVE_INITIALIZER_NP):
        New definition.
        * sysdeps/generic/bits/mutex.h
        (__PTHREAD_MUTEX_RECURSIVE_INITIALIZER): New definition.
        * sysdeps/generic/bits/mutex-attr.h (__pthread_recursive_mutexattr):
        New definition.
        * sysdeps/generic/pt-mutexattr.c (__pthread_recursive_mutexattr):
        New declaration.
        * sysdeps/generic/pt-mutex-init.c (_pthread_mutex_init): If ATTR
        is &__PTHREAD_RECURSIVE_MUTEXATTR, don't allocate a copy, just
        save in MUTEX->ATTR.
        * sysdeps/generic/pt-mutex-destroy.c (_pthread_mutex_destroy): If
        MUTEX->ATTR is &__PTHREAD_RECURSIVE_MUTEXATTR, don't free it.

commit 447867550c9ea153fdaa9966e92fd11cf543953f
Author: Thomas Schwinge <address@hidden>
Date:   Fri May 30 00:34:53 2008 +0000

    2008-05-29  Thomas Schwinge  <address@hidden>
    
        * headers.m4: Link files into `sysroot/include/' instead of `include/'.
        Create symbolic link to package's library in `sysroot/lib/'.
        * Makefile.am [ENABLE_TESTS]: Don't build package's library.

commit 2a19601c39b28ba7ebe40ddc726b2f32fe7919be
Author: Thomas Schwinge <address@hidden>
Date:   Thu May 29 21:56:09 2008 +0000

    2008-05-29  Thomas Schwinge  <address@hidden>
    
        * sysdeps/generic/sem-timedwait.c: Don't include <error.h>.

commit 6e24ba92d8d7320bf7c4b11b2b74b07fc1cf93a3
Author: Neal H. Walfield <address@hidden>
Date:   Thu May 29 20:45:48 2008 +0000

    libhurd-mm/
    
    2008-05-29  Neal H. Walfield  <address@hidden>
    
        * exceptions.c (exception_handler_activated): Assume the fault is
        on the stack if it is one page above or three pages below the
        stack pointer.
        (exception_handler_init): Allocate an area of address space
        EXCEPTION_STACK_SIZE bytes larges.  Fill it with pages.  Set the
        first page as the thread's exception page and the top of the area
        minus one word as the stack pointer.  Set the last word to the
        location of the exception page.
        * ia32-exception-entry.S: Include <hurd/exceptions.h>.
        (PAGESIZE): Don't define.
        (_exception_handler_entry): Rewrite to not assume that the
        exception page is at the start of the page in which the stack
        pointer is, but at the location stored in the word after the bottom
        of the stack.
    
        * Makefile.am (libhurd_mm_a_CCASFLAGS): New variable.
    
        * pager.c (ensure_stack): Change SPACE to be EXCEPTION_STACK_SIZE
        - PAGESIZE bytes large.  Write to each page.
    
    libpthread/
    
    2008-05-29  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/hurd/pt-sysdep.h Include <hurd/exceptions.h>.
        (EXCEPTION_AREA_SIZE): Define.
        (EXCEPTION_AREA_SIZE_LOG2): Likewise.
        (EXCEPTION_PAGE): Likewise.
        (PTHREAD_SYSDEP_MEMBERS): Change object's type to an addr_t.
        Update users.  Remove field exception_page, replace with
        exception_area.  Add field exception_area_va.
        * sysdeps/l4/hurd/pt-thread-alloc.c: Include <hurd/as.h> and
        <hurd/addr.h>.
        (__pthread_thread_alloc): Allocate EXCEPTION_AREA_SIZE bytes of
        address space.  Save it in THREAD->EXCEPTION_AREA_VA.  Allocate a
        page for each page in that area.  Save them in
        THREAD->EXCEPTION_AREA.
        * sysdeps/l4/hurd/ia32/pt-setup.c (__pthread_setup): Set
        EXCEPTION_PAGE->EXCEPTION_HANDLER_SP to the end of
        EXCEPTION_PAGE->EXCEPTION_HANDLER_SP minus one word, in which we
        save the address of the exception page.
        * sysdeps/l4/hurd/pt-thread-start.c (__pthread_thread_start): Set
        IN.EXCEPTION_PAGE to the first page in THREAD->EXCEPTION_AREA_VA.
        * sysdeps/l4/hurd/pt-thread-halt.c: Include <hurd/mutex.h>,
        <hurd/as.h> and <hurd/addr.h>.
        (saved_object_lock): New variable.
        (__pthread_thread_halt): Lock SAVED_OBJECT_LOCK when accessing
        SAVED_OBJECT.  Free the address space used by the exception
        area (THREAD->EXCEPTION_AREA_VA) and its associated
        storage (THREAD->EXCEPTION_AREA).
    
    hurd/
    
    2008-05-29  Neal H. Walfield  <address@hidden>
    
        * exceptions.h: Include <hurd/stddef.h>.
        [ASM]: Only define relevant macros.
        (EXCEPTION_STACK_SIZE_LOG2): Define.
        (EXCEPTION_STACK_SIZE): Define.
        * stddef.h [ASM]: Only define relevant macros.
        (PAGESIZE): Don't append C type specifier.
        (PAGESIZE_LOG2): Likewise.
    
    viengoos/
    
    2008-05-29  Neal H. Walfield  <address@hidden>
    
        * as.c: Include <hurd/exceptions.h>.
        (ensure_stack): Change SPACE to be EXCEPTION_STACK_SIZE - PAGESIZE
        bytes large.  Write to each page.
        * cap-lookup.c: Include <hurd/exceptions.h>.
        (ensure_stack): Change SPACE to be EXCEPTION_STACK_SIZE - PAGESIZE
        bytes large.  Write to each page.
    
        * zalloc.c (ZONE_SIZE): Add suffix the 1 with a U type qualifier.
        (ZONES): Include one less zone.

commit b79685960d731cffd6661449bb95cea79b5fc706
Author: Neal H. Walfield <address@hidden>
Date:   Tue May 27 18:29:48 2008 +0000

    2008-05-27  Neal H. Walfield  <address@hidden>
    
        * pthread/pt-internal.h (__pthread_queue_iterate): Before
        returning the current element, save its next pointer.
        (__pthread_dequeuing_iterate): Likewise.
    
        * sysdeps/l4/hurd/pt-wakeup.c (__pthread_wakeup): Loop until we
        successfully wake THREAD.

commit e6bf1e24afbac43b084f1cd1f24de6ba587d2d90
Author: Neal H. Walfield <address@hidden>
Date:   Wed May 21 14:09:11 2008 +0000

    2008-05-21  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/hurd/bits/pthread-np.h: New file.
        * headers.m4: Don't link include/bits/pthread-np.h to
        libpthread/sysdeps/l4/bits/pthread-np.h but to
        libpthread/sysdeps/l4/hurd/bits/pthread-np.h.
        * include/pthread/pthread.h: Include <bits/pthread-np.h>.
        * sysdeps/l4/hurd/pt-setactivity-np.c (pthread_setactivity_np):
        New file.
        * Makefile.am (libpthread_a_SOURCES): Add pt-setactivity-np.c.

commit dbc436cfac2d9a189ec752c2b0609a252e1be4f6
Author: Neal H. Walfield <address@hidden>
Date:   Sun Apr 6 10:46:13 2008 +0000

    2008-04-06  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/hurd/pt-kill.c: Just include "../generic/pt-kill.c".

commit 8eefddd9652fb7477de37a93e1b075d13e6e5bef
Author: Neal H. Walfield <address@hidden>
Date:   Sat Mar 1 13:07:25 2008 +0000

    2008-03-01  Neal H. Walfield  <address@hidden>
    
        Add signal implementation.
        * Makefile.am (SYSDEP_PATH): Add $(srcdir)/signal.
        (libpthread_a_SOURCES): Add pt-mutex-transfer-np.c, kill.c,
        killpg.c, pt-kill-siginfo-np.c, raise.c, sigaction.c, sigaddset.c,
        sigaltstack.c, sigdelset.c, sigemptyset.c, sigfillset.c,
        sig-internal.c, sig-internal.h, siginterrupt.c, sigismember.c,
        signal.c, signal-dispatch.c, signal.h, sigpending.c,
        sigprocmask.c, sigsuspend.c, sigtimedwait.c, sigwait.c,
        sigwaiter.c, sigwaitinfo.c, signal-dispatch-lowlevel.c, and
        sigprocmask.c.
        * headers.m4: Link libpthread/signal/signal.h into ../include.
        * sysdeps/generic/pt-mutex-transfer-np.c: New file.
            * signal/README: New file.
            * signal/TODO: Likewise.
            * signal/kill.c: Likewise.
            * signal/pt-kill-siginfo-np.c: Likewise.
            * signal/sig-internal.c: Likewise.
            * signal/sig-internal.h: Likewise.
            * signal/sigaction.c: Likewise.
            * signal/sigaltstack.c: Likewise.
            * signal/signal-dispatch.c: Likewise.
            * signal/signal.h: Likewise.
            * signal/sigpending.c: Likewise.
            * signal/sigsuspend.c: Likewise.
            * signal/sigtimedwait.c: Likewise.
            * signal/sigwaiter.c: Likewise.
            * signal/sigwaitinfo.c: Likewise.
        * sysdeps/l4/hurd/sig-sysdep.h: Likewise.
        * sysdeps/l4/hurd/sigprocmask.c: Likewise.
        * sysdeps/generic/killpg.c: Likewise.
        * sysdeps/generic/pt-kill.c: Likewise.
        * sysdeps/generic/raise.c: Likewise.
        * sysdeps/generic/sigaddset.c: Likewise.
        * sysdeps/generic/sigdelset.c: Likewise.
        * sysdeps/generic/sigemptyset.c: Likewise.
        * sysdeps/generic/sigfillset.c: Likewise.
        * sysdeps/generic/siginterrupt.c: Likewise.
        * sysdeps/generic/sigismember.c: Likewise.
        * sysdeps/generic/signal.c: Likewise.
        * sysdeps/generic/sigwait.c: Likewise.
        * sysdeps/l4/hurd/ia32/signal-dispatch-lowlevel.c: Likewise.
        * sysdeps/l4/hurd/pt-sysdep.c (sigprocmask): Remove function.
        * sysdeps/l4/hurd/pt-sigstate.c (__pthread_sigstate): Implement
        it.
        * sysdeps/l4/hurd/pt-sigstate-init.c: Include <sig-internal.h>.
        (__pthread_sigstate_init): Initialize THREAD->SS.
        * sysdeps/l4/hurd/pt-kill.c: Remove file.
        * pthread/pt-internal.h: Include <sig-internal.h>.
        (PTHREAD_SIGNAL_MEMBERS) [! PTHREAD_SIGNAL_MEMBERS]: Define.
        (struct __pthread): Add PTHREAD_SIGNAL_MEMBERS.
        * pthread/pt-self.c (pthread_self): Assert that SELF is not NULL.

commit 94851cf5771d016296cbba6dd26e5404ec333d74
Author: Neal H. Walfield <address@hidden>
Date:   Thu Feb 21 15:09:04 2008 +0000

    /
    
    2008-02-21  Neal H. Walfield  <address@hidden>
    
        * configure.ac (CFLAGS): Remove variable.
        (USER_CFLAGS): New variable.
        (USER_CPPFLAGS): Likewise.
        (USER_LDFLAGS): Likewise.
        (USER_LDADD): Likewise.
        (KERNEL_CFLAGS): Likewise.
        (KERNEL_CPPFLAGS): Likewise.
    
        * Makefile.am (SUBDIRS): Build . after building laden and
        viengoos.
    
    hieronymus/
    
    2008-02-21  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (AM_CPPFLAGS): Remove variable.
        (AM_LDFLAGS): Likewise.
        (hieronymus_CPPFLAGS): New variable.
        (hieronymus_CFLAGS): Likewise.
        (hieronymus_LDFLAGS): Likewise.
        (hieronymus_LDADD): Don't include libc.a directly, use the value
        of $(USER_LDADD) instead.
    
    hurd/
    
    2008-02-21  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (COMMON_CPPFLAGS): Remove variable.
        (t_addr_CPPFLAGS): Replace use of $(COMMON_CPPFLAGS)
        with use of $(CHECK_CPPFLAGS).
        (t_addr_trans_CPPFLAGS): Likewise.
        (t_rpc_CPPFLAGS): Likewise.
    
    libc-parts/
    
    2008-02-21  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (COMMON_CPPFLAGS): Remove variable.
        (libc_parts_a_CPPFLAGS): Set to $(USER_CPPFLAGS).
        (libc_parts_a_CFLAGS): New variable.
        (libc_kernel_a_CPPFLAGS): Set to $(KERNEL_CPPFLAGS).
        (libc_kernel_a_CFLAGS): New variable.
        (t_setjmp_CPPFLAGS): Remove use of $(COMMON_CPPFLAGS) with
        $(CHECK_CPPFLAGS).
    
    libhurd-btree/
    
    2008-02-21  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (COMMON_CPPFLAGS): Remove variable.
        (libhurd_btree_a_CPPFLAGS): Replace use of above with
        $(USER_CPPFLAGS).
        (libhurd_btree_a_CFLAGS): New variable.
        (btree_test_CPPFLAGS): Replace use $(COMMON_CPPFLAGS) with
        $(CHECK_CPPFLAGS).
    
    libhurd-ihash/
    
    2008-02-21  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (AM_CPPFLAGS): Remove variable.
        (AM_CFLAGS): Likewise.
        (libhurd_ihash_a_CPPFLAGS): New variable.
        (libhurd_ihash_a_CFLAGS): Likewise.
        (libhurd_ihash_nomalloc_a_CPPFLAGS): Replace use of $(AM_CPPFLAGS)
        with $(USER_CPPFLAGS).
        (libhurd_ihash_nomalloc_a_CFLAGS): New variable.
        (t_ihash_CPPFLAGS): Remove use of $(AM_CPPFLAGS).
        (t_ihash64_CPPFLAGS): Likewise.
        (t_ihash_CFLAGS): New variable.
        (t_ihash64_CFLAGS): Likewise.
        * ihash.c: Don't include <hurd/ihash.h> but "ihash.h".
    
    libhurd-mm/
    
    2008-02-21  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (COMMON_CPPFLAGS): Remove variable.
        (libhurd_mm_a_CPPFLAGS): Replace use of above with
        $(USER_CPPFLAGS).
        (libhurd_mm_a_CFLAGS): New variable.
    
    libpthread/
    
    2008-02-21  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (AM_CPPFLAGS): Replace use of includes with
        $(USER_CPPFLAGS).
        (AM_CFLAGS): New variable.
    
    newlib/
    
    2008-02-21  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (patch_files): Add
        05-newlib-newlib-libc-include-machine-setjmp-h.patch,
        06-newlib-newlib-libc-machine-i386-i386mach-h.patch, and
        07-newlib-newlib-libm-machine-i386-i386mach-h.patch.
        (ccheaders): Remove variable.
        (SYSINCLUDES): Likewise.
        (newlib-build/libc.a newlib-build/libm.a): Set TARGET_CFLAGS to
        "$(USER_CPPFLAGS) $(USER_CFLAGS) $(USER_LDFLAGS)".
        * newlib/patches/05-newlib-newlib-libc-include-machine-setjmp-h.patch:
        New file.
        * newlib/patches/06-newlib-newlib-libc-machine-i386-i386mach-h.patch:
        New file.
        * newlib/patches/07-newlib-newlib-libm-machine-i386-i386mach-h.patch:
        New file.
    
    ruth/
    
    2008-02-21  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (COMMON_CPPFLAGS): Remove variable.
        (ruth_CPPFLAGS): Set to $(USER_CPPFLAGS).
        (ruth_CFLAGS): New variable.
        (ruth_LDFLAGS): Set to $(USER_LDFLAGS).
        (ruth_LDADD): Set to $(USER_LDADD).
    
    viengoos/
    
    2008-02-21  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (COMMON_CPPFLAGS): Remove variable.
        (viengoos_CPPFLAGS): Set to $(KERNEL_CPPFLAGS).
        (viengoos_CFLAGS): New variable.
        (libhurd_cap_a_CPPFLAGS): Set to $(USER_CPPFLAGS).
        (libhurd_cap_a_CFLAGS): New variable.
        (t_as_CFLAGS): New variable.
        (t_activity_CFLAGS): Likewise.
        (t_link_CFLAGS): Likewise.

commit 285e9e265d96d9db2b666ba223e28ee213175cd5
Author: Neal H. Walfield <address@hidden>
Date:   Sat Feb 16 15:12:05 2008 +0000

    2008-02-16  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/hurd/ia32/pt-setup.c (stack_setup): Add correct casts
        to elide gcc warnings.
        (__pthread_setup): Likewise.

commit 53d1f64bb06284e7d458df71bb52c6965bb2a016
Author: Neal H. Walfield <address@hidden>
Date:   Wed Feb 13 14:33:26 2008 +0000

    libhurd-mm/
    
    2008-02-13  Neal H. Walfield  <address@hidden>
    
        * storage.h (storage_alloc): Take additional parameter policy.
        Update callers.
        * storage.c (storage_alloc): Take additional parameter policy.
        Use it when allocating the object and updating the shadow
        capability slots.
    
    libpthread/
    
    2008-02-13  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/hurd/pt-thread-alloc.c (__pthread_thread_alloc):
        Update use of storage_alloc to be consistent with new API.
    
    newlib/
    
    2008-02-13  Neal H. Walfield  <address@hidden>
    
        * addon/newlib/libc/sys/hurd/getreent.c (slab_alloc): Update use
        of storage_alloc to be consistent with new API.
    
    ruth/
    
    2008-02-13  Neal H. Walfield  <address@hidden>
    
        * ruth.c (main): Update use of storage_alloc to be consistent with
        new API.

commit 0c44c267ed37d9bb1c3c1343e1e651e90ef23e7b
Author: Neal H. Walfield <address@hidden>
Date:   Wed Feb 13 10:38:57 2008 +0000

    libpthread/
    
    2008-02-13  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/hurd/pt-sysdep.c (_pthread_init_routine): Change
        function signature to take a function pointer and an argument and
        to not return.
        (init_routine): Likewise.  Pass entry and argument to
        __pthread_create_internal.  Instead of returning, jump to the
        program counter and switch stacks.
    
    libc-parts/
    
    2008-02-13  Neal H. Walfield  <address@hidden>
    
        * ia32-cmain.c (cmain): Update user of _pthread_init_routine to
        reflect API change.

commit 0e7c0da6e02f122ece6ea3af9fbd5352eaaee15d
Author: Neal H. Walfield <address@hidden>
Date:   Mon Feb 11 17:19:59 2008 +0000

    2008-02-11  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/hurd/ia32/pt-setup.c (_pthread_entry_point): New
        assembly function.
        (stack_setup): Take additional argument entry_point.  Push it on
        the stack.
        (__pthread_setup): Set thread->mcontext.pc to
        &_pthread_entry_point.  Pass ENTRY_POINT to stack_setup.

commit 79abfdbc8a51615e3c820387c935d3fe8546ea7d
Author: Neal H. Walfield <address@hidden>
Date:   Fri Feb 8 10:01:41 2008 +0000

    libhurd-ihash/
    
    2008-02-08  Neal H. Walfield  <address@hidden>
    
        * ihash.h: Include <bits/wordsize.h>.
        (hurd_ihash_key64_t): New definition.
        (struct _hurd_ihash_item64): New structure.
        (struct hurd_ihash): Change items's type void *.
        [__WORDSIZE == 32]: Add field large.
        (_HURD_IHASH_LARGE): New macro.
        (HURD_IHASH_INITIALIZER): Take additional argument large.  Use it.
        (hurd_ihash_init): Take additional argument large.
        (hurd_ihash_buffer_size): Likewise.
        (hurd_ihash_init_with_buffer): Likewise.
        (hurd_ihash_create): Likewise.
        (hurd_ihash_replace): Change key's type to hurd_ihash_key64_t.
        (hurd_ihash_add): Likewise.
        (hurd_ihash_find): Likewise.
        (hurd_ihash_remove): Likewise.
        (HURD_IHASH_ITERATE): Rewrite to properly handle both 32- and
        64-bit keys.
        * ihash.c (ITEM): New macro.
        (VALUE): Likewise.
        (KEY): Likewise.
        (ITEM_SIZE): Likewise.
        (index_empty): Use the above macros rather than accessing
        HT->ITEMS directly.
        (index_valid): Likewise and change key's type to a
        hurd_ihash_key64_t.
        (find_index): Likewise.
        (replace_one): Likewise.
        (hurd_ihash_replace): Likewise.
        (hurd_ihash_find): Likewise.
        (hurd_ihash_remove): Likewise.
        (hurd_ihash_init_internal): Take additional argument large.  Use
        it.
        (hurd_ihash_init): Likewise.
        (hurd_ihash_init_with_buffer): Likewise.
        (hurd_ihash_create): Likewise.
        (hurd_ihash_buffer_size): Likewise.
        * t-ihash.c: Include <assert.h>.
        (main): Expect that TEST_LARGE is defined.  Use it when calling
        hurd_ihash_init.  If true, add some tests with 64-bit keys.
        * Makefile.am (TESTS): Add t-ihash64.
        (check_PROGRAMS): Likewise.
        (t_ihash_CPPFLAGS): Add -DTEST_LARGE=false.
        (t_ihash64_SOURCES): New variable.
        (t_ihash64_CPPFLAGS): Likewise.
    
    viengoos/
    
    2008-02-08  Neal H. Walfield  <address@hidden>
    
        * thread.c (thread_init): Update use of
        hurd_ihash_init_with_buffer to be consistent with new API.
        * object.c (object_init): Likewise.
    
    libpthread/
    
    2008-02-08  Neal H. Walfield  <address@hidden>
    
        * sysdeps/hurd/pt-setspecific.c (pthread_setspecific): Update use
        of hurd_ihash_create to be consistent with API changes.

commit b8eff95e439ec9f12dc748882e3769a080722475
Author: Neal H. Walfield <address@hidden>
Date:   Wed Jan 23 14:06:03 2008 +0000

    libpthread/
    
    2008-01-23  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (AM_CPPFLAGS): Add -I$(LIBC)/include.
    
    libhurd-slab/
    
    2008-01-23  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (AM_CPPFLAGS): Add -I$(LIBC)/include.
    
    libhurd-mm/
    
    2008-01-23  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (COMMON_CPPFLAGS): Add -I$(LIBC)/include.
    
    libhurd-ihash/
    
    2008-01-23  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (AM_CPPFLAGS): Add -I$(LIBC)/include.
    
    ruth/
    
    2008-01-23  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (COMMON_CPPFLAGS): Add -I$(LIBC)/include.
        (ruth_SOURCES): Remove malloc-wrap.c, output.h and output.c.
        (ruth_LDADD): Set to $(top_builddir)/libc.a.
        * panic.c: Don't include "output.h".  Include <stdio.h>.
        * ruth.h: Likewise.
    
        * ruth.c (getpagesize): Return a size_t, not an int.

commit 57e1f67e3757c66023abf912c302bb2a328eaebb
Author: Neal H. Walfield <address@hidden>
Date:   Thu Jan 17 01:12:44 2008 +0000

    2008-01-17  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/hurd/pt-block.c: New file.
        * sysdeps/l4/hurd/pt-wakeup.c: Likewise.

commit 00905beb9fabe556ae905b5eaa14e8c76dff7d79
Author: Neal H. Walfield <address@hidden>
Date:   Tue Jan 1 17:42:41 2008 +0000

    2008-01-01  Neal H. Walfield  <address@hidden>
    
        * sysdeps/generic/pt-mutex-timedlock.c
        (__pthread_mutex_timedlock_internal): Add additional asserts.
        [! NDEBUG]: Keep MUTEX->OWNER up to date.
        * sysdeps/generic/pt-mutex-trylock.c (__pthread_mutex_trylock):
        Add additional asserts.
        [! NDEBUG]: Keep MUTEX->OWNER up to date.
        * sysdeps/generic/pt-mutex-unlock.c (__pthread_mutex_unlock): Add
        additional asserts.
        [! NDEBUG]: Keep MUTEX->OWNER up to date.

commit 580da795e84996d81b3db9ef1878d8569a4b9530
Author: Neal H. Walfield <address@hidden>
Date:   Sun Dec 23 14:39:42 2007 +0000

    2007-12-23  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (AM_CPPFLAGS): Add "-std=gnu99 -Wall -g -O3".
    
        * sysdeps/l4/pt-block.c (__pthread_block): Remove unused variable
        err.
        * pthread/pt-join.c (pthread_join): Cast argument to
        pthread_cleanup_push to avoid warning.

commit b8a2f5eb1724f9025cb4e34b7dd42351bb4f2cef
Author: Neal H. Walfield <address@hidden>
Date:   Wed Dec 12 23:32:52 2007 +0000

    hurd/
    
    2007-12-13  Neal H. Walfield  <address@hidden>
    
        * exceptions.h (exception_page_cleanup): New declaration.
    
    libhurd-mm/
    
    2007-12-13  Neal H. Walfield  <address@hidden>
    
        * exceptions.c (exception_frame_alloc): When allocating the first
        frame, set EXCEPTION_PAGE->EXCEPTION_STACK_BOTTOM.
        (exception_page_cleanup): New function.
    
        * ia32-exception-entry.S (_exception_handler_end): Correctly
        adjust the exception page's exception stack.
    
    libpthread/
    
    2007-12-13  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/hurd/pt-thread-halt.c: Include <hurd/exceptions.h>.
        (__pthread_thread_halt): Call exception_page_cleanup.

commit d103b8568a4bcbf380d36b5fb86bef8ea475a682
Author: Neal H. Walfield <address@hidden>
Date:   Wed Dec 12 16:33:49 2007 +0000

    2007-12-12  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/pt-block.c (__pthread_block): Clear the acceptor.
        Improve debugging output.
        * sysdeps/l4/pt-wakeup.c (__pthread_wakeup): Load an empty message.
        Improve debugging output.

commit ac69c45a3eba1973f5682e0c4a11404e00f5485b
Author: Neal H. Walfield <address@hidden>
Date:   Wed Dec 12 16:33:37 2007 +0000

    2007-12-12  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/pt-block.c (__pthread_block): Clear the acceptor.
        Improve debugging output.
        * sysdeps/l4/pt-wakeup.c (__pthread_wakeup): Load an empty message.
        Improve debugging output.

commit c4ae63f6c8b068183bbbb9472ac28ba7cf304df1
Author: Neal H. Walfield <address@hidden>
Date:   Tue Dec 4 18:12:22 2007 +0000

    viengoos/
    
    2007-12-04  Neal H. Walfield  <address@hidden>
    
        Remove exception threads.  Replace with support for activations.
        * thread.h (THREAD_SLOTS): Bump to 3.
        (struct thread): Add field exception_page.  Remove fields
        have_exception and exception.
        (thread_exregs): Take additional arguments exception_page and
        exception_page_out.  Update users.
        (thread_raise_exception): New declaration.
        * thread.c (THREAD_VERSION): Define.
        (thread_init): Remove code related to the exception thread.
        (thread_commission): Likewise.
        (thread_decommission): Likewise.
        (thread_exregs): Likewise.  Take additional arguments
        EXCEPTION_PAGE and EXCEPTION_PAGE_OUT.  If CONTROL contains
        HURD_EXREGS_GET_REGS and EXCEPTION_PAGE_OUT is not NULL, return a
        capability to THREAD's exception page in *EXCEPTION_PAGE_OUT.  If
        CONTROL contains HURD_EXREGS_SET_EXCEPTION_PAGE, then set THREAD's
        exception page to EXCEPTION_PAGE.
        (thread_raise_exception): New function.
        * server.c (server_loop): Remove code related to handling the
        exception thread.  Call thread_raise_exception to propagate
        exception.  Reimplement the exception_collect method.  Update
        implementation of the thread_exregs method to support the new
        argument passing scheme.  Add support for setting and retrieving
        the exception page.
        (REPLYW): Only clear MSG here.
        * rm.h (exception_collect): Take an additional argument, the
        principal.
        * object.h (object_type): New function.
    
    hurd/
    
    2007-12-04  Neal H. Walfield  <address@hidden>
    
        Remove exception threads.  Replace with support for activations.
        * thread.h: Include <l4/ipc.h>.
        (struct exception_page): New structure.
        (THREAD_EXCEPTION_PAGE_SLOT): Define.
        (HURD_EXREGS_EXCEPTION_THREAD): Don't define.
        (HURD_EXREGS_SET_EXCEPTION_PAGE): Define.
        (HURD_EXREGS_SET_REGS): Update.
        (hurd_exception_handler_t): New definition.
        (struct hurd_thread_exregs_in): New structure.
        (struct hurd_thread_exregs_out): New structure.
        (thread_exregs): Replace the bulk of the arguments with struct
        hurd_thread_exregs_in and struct hurd_thread_exregs_out.  Update
        users.
        * exceptions.h (HURD_THREAD_MAIN_VERSION): Remove macro.
        (HURD_THREAD_EXCEPTION_VERSION): Likewise.
        (hurd_thread_is_exception_thread): Remove function.
        (hurd_thread_is_main_thread): Likewise.
        (hurd_exception_thread): Likewise.
        (hurd_main_thread): Likewise.
        (exception_handler_loop): Remove declaration.
        (exception_handler): New declaration.
        (exception_handler_entry): Likewise.
        (exception_handler_end): Likewise.
    
    libhurd-mm/
    
    2007-12-04  Neal H. Walfield  <address@hidden>
    
        Remove exception threads.  Replace with support for activations.
        * Makefile.am (ARCH_SOURCES): New variable.
        [ARCH_IA32]: Add ia32-exception-entry.S.
        (libhurd_mm_a_SOURCES): Add $(ARCH_SOURCES).
        * ia32-exception-entry.S: New file.
        * exceptions.c: Include <hurd/storage.h> and <hurd/thread.h>.
        (ARG): Don't define.
        (ARG64): Likewise.
        (ARG_ADDR): Likewise.
        (CHECK): Likewise.
        (exception_handler_loop): Remove function.
        (exception_fetch_exception): New function.
        (exception_handler): New function.
        (STACK_SIZE): Don't define.
        (stack): Don't declare.
        (exception_handler_init): Set up the thread's exception page.
    
    libpthread/
    
    2007-12-04  Neal H. Walfield  <address@hidden>
    
        Remove exception threads.  Replace with support for activations.
        * sysdeps/l4/hurd/pt-sysdep.h (PTHREAD_SYSDEP_MEMBERS): Remove
        fields exception_handler_stack and exception_handler_sp.  Add
        field exception_page.
        * sysdeps/l4/hurd/pt-thread-alloc.c (__pthread_thread_alloc):
        Allocate a page for THREAD->EXCEPTION_PAGE, not
        THREAD->EXCEPTION_HANDLER_STACK.
        * sysdeps/l4/hurd/ia32/pt-setup.c: Include <hurd/thread.h> and
        <hurd/exceptions.h>.
        (__pthread_setup): Remove code dealing with the exception thread.
        Set up the exception page.
        * sysdeps/l4/hurd/pt-thread-start.c (__pthread_thread_start):
        Remove code dealing with the exception thread.  Update to use new
        rm_thread_exregs interface.  Also set the thread's exception page.
        * sysdeps/l4/hurd/pt-thread-halt.c (__pthread_thread_halt): Remove
        code to dealing with the exception thread.  Free the
        THREAD->EXCEPTION_PAGE.
    
    ruth/
    
    2007-12-04  Neal H. Walfield  <address@hidden>
    
        * ruth.c (main): Update to use new rm_thread_exregs interface.

commit e771f19810d1e1555f0921bc6185067fc12f6409
Author: Neal H. Walfield <address@hidden>
Date:   Fri Nov 23 13:47:05 2007 +0000

    2007-11-23  Neal H. Walfield  <address@hidden>
    
        * pthread/pt-internal.h (__pthread_startup): Add declaration.
        * pthread/pt-create.c (entry_point): Call __pthread_startup.
        * sysdeps/l4/hurd/pt-sysdep.h: Include <hurd/storage.h> and
        <sys/mman.h>.
        (PTHREAD_SYSDEP_MEMBERS): Add fields object,
        exception_handler_stack and exception_handler_sp.
        (__attribute__): Call munmap.
        * sysdeps/l4/hurd/ia32/pt-setup.c (__pthread_setup): Set up
        thread->exception_handler_sp.  Don't set the user define handle
        here.
        * sysdeps/l4/hurd/pt-startup.c: New file.  Do it here.
        * sysdeps/l4/hurd/pt-thread-alloc.c: New file.
        * sysdeps/l4/hurd/pt-thread-halt.c: New file.
        * sysdeps/l4/hurd/pt-thread-start.c: New file.
        * Makefile.am (libpthread_a_SOURCES): Add pt-startup.c.
    
        * sysdeps/l4/pt-block.c: Include <hurd/stddef.h>.
        (__pthread_block): Detect IPC failure.  Add debugging output.
        * sysdeps/l4/pt-wakeup.c: Include <hurd/stddef.h>.
        (__pthread_wakeup): Detect IPC failure.  Add debugging output.

commit 71801fe4ab9e6e443327329ddf430d350d2d33e2
Author: Neal H. Walfield <address@hidden>
Date:   Tue Nov 20 18:38:00 2007 +0000

    2007-11-20  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/pt-thread-dealloc.c: New file.
        * Makefile.am (libpthread_a_SOURCES): Add pt-thread-dealloc.c.
    
        * sysdeps/l4/hurd/pt-sysdep.h (PTHREAD_STACK_DEFAULT): Change to
        2MB.
    
        * sysdeps/l4/hurd/pt-sysdep.c (sched_yield): New function.
        (sigprocmask): Likewise.
        (init_routine): Only call __pthread_initialize once.  Update
        comments.

commit 6bba5c5394e7bb7b11e3d28a456b38ae77021d52
Author: Neal H. Walfield <address@hidden>
Date:   Tue Nov 20 17:39:57 2007 +0000

    2007-11-20  Neal H. Walfield  <address@hidden>
    
        * Makefile.am (libpthread_a_SOURCES): Remove pt-create-np.c.
        * sysdeps/l4/pt-create-np.c: Remove file.
        * sysdeps/l4/pt-pool-np.c (pthread_pool_add_np): Change tid from
        an _L4_thread_id_t to an l4_thread_id_t.
        (pthread_pool_get_np): Return an l4_thread_id_t, not a
        _L4_thread_id_t.
        * sysdeps/l4/bits/pthread-np.h (pthread_create_from_l4_tid_np):
        Remove declaration.
        (pthread_pool_add_np): Change tid from an _L4_thread_id_t to an
        l4_thread_id_t.
        (pthread_pool_get_np): Return an l4_thread_id_t, not a
        _L4_thread_id_t.
    
        * sysdeps/l4/pt-docancel.c (__pthread_do_cancel): Implement for
        the case that the target thread is not the executing thread.
    
        * sysdeps/l4/pt-thread-alloc.c (__pthread_thread_alloc): Return
        EAGAIN if pthread_pool_get_np does not return a thread.  Update
        comments.
    
        * sysdeps/l4/pt-thread-start.c (__pthread_thread_start): Don't set
        the thread's pager.  Assert that if this is the first thread, then
        THREAD->THREADID is designates the running thread.
    
        * sysdeps/l4/pt-timedblock.c (__pthread_timedblock): Add warning
        about incomplete implementation.
    
        * Makefile.am (libpthread_a_SOURCES): Remove pt-thread-init.c.
        * sysdeps/l4/pt-thread-init.c: Remove dead file.
        * sysdeps/l4/pt-start.c: Remove dead file.

commit e16179334211cd7e2877197140b06b83e2f03733
Merge: 426e7e7edf67380ec5afc9791a9541b0f8e2c452 
0697fd051821d7b44b3c9ab2face57438e1a764a
Author: Neal H. Walfield <address@hidden>
Date:   Tue Nov 20 16:23:24 2007 +0000

    2007-11-20  Neal H. Walfield  <address@hidden>
    
        Merge changes from mainline Hurd.  Update L4 bits to compile with
        those changes.
    
        * sysdeps/l4/pt-block.c (__pthread_block): Call l4_receive, not
        L4_Receive.
        * sysdeps/l4/pt-create-np.c (pthread_create_from_l4_tid_np): Don't
        pass TID to __pthread_create_internal.  Emit a warning.
        * sysdeps/l4/pt-stack-alloc.c (allocate_page): Remove function.
        (__pthread_stack_alloc): Don't require that STACKSIZE is equal to
        __pthread_stacksize.  Call mmap.
        * sysdeps/l4/pt-thread-halt.c (__pthread_thread_halt): Take
        additional argument, need_dealloc.  Call __pthread_dealloc.  Stop
        the thread.
        * sysdeps/l4/hurd/pt-sysdep.c (init_routine): When calling
        __pthread_create_internal, don't pass the tid.
        * tests/test-1.c (main): Use pthread_mutex_init, not
        PTHREAD_MUTEX_INITIALIZER.
    
        * pthread/pt-alloc.c: Don't include <bits/atomic.h>.  Include
        <atomic.h>.
        (__pthread_free_threads): Make it an atomicptr_t, not an
        __atomicptr_t.
        (__pthread_alloc): Don't use __atomicptr_compare_and_swap, use
        atomic_compare_and_exchange_val_acq.
        * pthread/pt-create.c: Don't include <bits/atomic.h>.  Include
        <atomic.h>.
        (__pthread_total): Make it an atomic_fast32_t, not an __atomic_t.
        (__pthread_create_internal): Use atomic_increment and
        atomic_decrement, not __atomic_inc and __atomic_dec.
        * pthread/pt-dealloc.c: Don't include <bits/atomic.h>.  Include
        <atomic.h>.
        (__pthread_free_threads): Make it an atomicptr_t, not an
        __atomicptr_t.
        (__pthread_dealloc): Use atomic_compare_and_exchange_val_acq, not
        __atomicptr_compare_and_swap.
        * pthread/pt-exit.c: Don't include <bits/atomic.h>.  Include
        <atomic.h>.
        (pthread_exit): Use atomic_decrement_and_test, not
        __atomic_dec_and_test.
        * pthread/pt-internal.h: Don't include <bits/atomic.h>.  Include
        <atomic.h>.
        (__pthread_total): Make it an atomic_fast32_t, not an __atomic_t.
        * sysdeps/powerpc/bits/atomic.h: Remove file.
        * sysdeps/ia32/bits/atomic.h: Likewise.

commit 426e7e7edf67380ec5afc9791a9541b0f8e2c452
Author: Neal H. Walfield <address@hidden>
Date:   Mon Aug 6 16:32:43 2007 +0000

    2007-08-06  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/bits/pthread-np.h (pthread_create_from_l4_tid_np):
        Don't require the GNU interface: use _L4_thread_id_t, not
        l4_thread_id_t.
        (pthread_pool_add_np): Likewise.
        (pthread_pool_get_np): Likewise.
        * sysdeps/l4/pt-create-np.c (pthread_create_from_l4_tid_np): Likewise.
        * sysdeps/l4/pt-pool-np.c (pool_list): Likewise.
        (pthread_pool_add_np): Likewise.
        (pthread_pool_get_np): Likewise.

commit 208f8d657fd3c8f6e2f5dfff0b0af68c6f099c49
Author: Neal H. Walfield <address@hidden>
Date:   Tue Feb 8 16:17:13 2005 +0000

    libpthread/
    
    2005-02-08  Neal H. Walfield  <address@hidden>
    
        * sysdeps/posix/pt-spin.c (__pthread_spin_lock): Make a weak alias
        to _pthread_spin_lock.
        * sysdeps/l4/hurd/pt-sysdep.h (_pthread_self): Add
        __always_inline__ attribute.
        (__pthread_stack_dealloc): Likewise.

commit d7fecf68ed19432ad1d9f18f83af7d211b5e33d4
Author: Neal H. Walfield <address@hidden>
Date:   Wed Jan 12 10:33:39 2005 +0000

    libc-parts/
    
    2005-01-12  Neal H. Walfield  <address@hidden>
    
        * assert.h: Include prototype for printf.
        (assert) [!NDEBUG]: Rewrite to do something useful.
    
    libhurd-cap-server/
    
    2005-01-12  Neal H. Walfield  <address@hidden>
    
        * class-init.c (hurd_cap_class_init_untyped): Fix assert.
        * bucket-manage-mt.c (manage_mt_worker): Likewise.
    
    libpthread/
    
    2005-01-12  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/pt-thread-alloc.c: Replace assert with a compile time
        warning.
        * sysdeps/l4/hurd/pt-sigstate.c (__pthread_sigstate): Don't return
        EINVAL.  Pretend to work so the generic code is happy.

commit a2102d6a91d6e4522471da3bbc3d58473400bfe7
Author: Marcus Brinkmann <address@hidden>
Date:   Tue Nov 2 03:52:19 2004 +0000

    2004-11-02  Marcus Brinkmann  <address@hidden>
    
        * sysdeps/generic/bits/condition.h (__PTHREAD_COND_INITIALIZER):
        Remove compound statement.
        * pthread/pt-alloc.c (initialize_pthread): Use compound statement.
        * sysdeps/generic/pt-cond-init.c (pthread_cond_init): Likewise.

commit 8765659aee80734a9d0a68a67c20c43a0d97eee4
Author: Marcus Brinkmann <address@hidden>
Date:   Mon Nov 1 17:28:43 2004 +0000

    2004-11-01  Marcus Brinkmann  <address@hidden>
    
        * pthread/pt-create.c (__pthread_total): Change type to uatomic32_t.
        * pthread/pt-internal.h (__pthread_total): Likewise in declaration.

commit 347e1b07eb34cd37d37c3fd8f4a7e6645f3d0971
Author: Marcus Brinkmann <address@hidden>
Date:   Mon Nov 1 17:04:00 2004 +0000

    2004-11-01  Marcus Brinkmann  <address@hidden>
    
        * pthread/pt-internal.h: Include <atomic.h>, not <bits/atomic.h>.
        (__pthread_total): Change type of declaration to uatomic_max_t.
        * pthread/pt-alloc.c: Include <atomic.h>, not <bits/atomic.h>.
        (__pthread_free_threads): Change type to uatomicptr_t.
        (__pthread_alloc): Call atomic_compare_and_exchange_val_acq
        instead of __atomicptr_compare_and_swap.
        * pthread/pt-create.c: Include <atomic.h>, not <bits/atomic.h>.
        (__pthread_total): Change type to uatomic_max_t.
        (__pthread_create_internal): Call atomic_increment, not
        __atomic_inc and atomic_decrement, not __atomic_dec.
        * pthread/pt-dealloc.c: Include <atomic.h>, not <bits/atomic.h>.
        (__pthread_free_threads): Declare as uatomicptr_t.
        (__pthread_dealloc): Call atomic_compare_and_exchange_val_acq
        instead of __atomicptr_compare_and_swap.
        * pthread/pt-exit.c: Include <atomic.h>, not <bits/atomic.h>.
        (pthread_exit): Call atomic_decrement_and_test instead of
        __atomic_dec_and_test.
        * sysdeps/l4/pt-create-np.c: Do not include <bits/atomic.h>.

commit ad7765721756963ab8bb345c93243e38a65417a3
Author: Marcus Brinkmann <address@hidden>
Date:   Mon Nov 1 15:49:58 2004 +0000

    Remove spurious file.

commit 6c1fa169dcb29badc14bb902bd529fc43cba1443
Author: Marcus Brinkmann <address@hidden>
Date:   Fri Oct 29 01:00:59 2004 +0000

    2004-10-29  Marcus Brinkmann  <address@hidden>
    
        * platform: New directory.
        * configure.ac (AC_CONFIG_FILES): Add platform/alpha/Makefile,
        platform/amd64/Makefile, platform/ia32/Makefile,
        platform/ia64/Makefile, platform/powerpc/Makefile,
        platform/powerpc64/Makefile and platform/Makefile.
        * Makefile.am (SUBDIRS): Add platform.
    
    libpthread/
    2004-10-29  Marcus Brinkmann  <address@hidden>
    
        * headers.am (AC_CONFIG_LINKS): Remove include/bits/atomic.h.
    
    platform/
    2004-10-29  Marcus Brinkmann  <address@hidden>
    
        * Initial commit.

commit 45c83d6c491a8d7b9c1df0109c0183c1a08a0ef7
Author: Marcus Brinkmann <address@hidden>
Date:   Tue Mar 23 03:43:49 2004 +0000

    2004-03-23  Marcus Brinkmann  <address@hidden>
    
        * sysdeps/generic/bits/mutex.h (__PTHREAD_MUTEX_INITIALIZER):
        Remove compound statement.
        (pthread_mutex_init): Use compound statement with initializer.
        * pthread/pt-alloc.c (initialize_pthread): Likewise.
        * sysdeps/generic/pt-mutex-init.c (_pthread_mutex_init): Likewise.

commit 96e2b4283a91629905e799a719a9c1f7f8f6e6a8
Author: Marcus Brinkmann <address@hidden>
Date:   Fri Mar 19 04:26:42 2004 +0000

    Fix last change.

commit 4a6de6dc5632fd08588983a4f5bf6ac79d991deb
Author: Marcus Brinkmann <address@hidden>
Date:   Fri Mar 19 04:18:42 2004 +0000

    2004-03-19  Marcus Brinkmann  <address@hidden>
    
        * sysdeps/l4/bits/pthread-np.h (pthread_pool_add_np,
        pthread_pool_get_np): New prototypes.
        * sysdeps/l4/pt-pool-np.c: New file.
        * Makefile.am (libpthread_a_SOURCES): Add pt-pool-np.c.
        * sysdeps/l4/pt-thread-alloc.c (__pthread_thread_alloc): Try to
        allocate thread from pool.
        * sysdeps/l4/pt-thread-halt.c (__pthread_thread_halt): Add thread
        to pool after stopping it.

commit 7e9f8f474cc8d44818a476818f19571e2f54a3d0
Author: Marcus Brinkmann <address@hidden>
Date:   Thu Mar 18 02:58:51 2004 +0000

    Fix copyright year.

commit 5a64504f79c446e31e43d7a48866326d91b33e8d
Author: Marcus Brinkmann <address@hidden>
Date:   Thu Mar 18 02:54:43 2004 +0000

    2004-03-17  Marcus Brinkmann  <address@hidden>
    
        * sysdeps/l4/pt-thread-start.c (__pthread_thread_start): Use L4
        convenience interface.

commit af019b5030106663bb4afcefdca9a304ea063f31
Author: Marcus Brinkmann <address@hidden>
Date:   Thu Mar 18 02:53:15 2004 +0000

    2004-03-17  Marcus Brinkmann  <address@hidden>
    
        * sysdeps/l4/pt-spin.c (_pthread_spin_lock): Implement using new
        time period interface.

commit ef01119ea9239c3e91c33dc3b51bb059eb621677
Author: Marcus Brinkmann <address@hidden>
Date:   Thu Mar 18 02:44:20 2004 +0000

    2004-03-17  Marcus Brinkmann  <address@hidden>
    
        * libpthread: New directory, populated with Neal H. Walfields
        pthread implementation.

commit 0236089d351775cf41a9a951621b7c083488ec20
Author: Neal H. Walfield <address@hidden>
Date:   Tue Aug 12 07:10:31 2008 +0000

    2008-08-12  Neal H. Walfield  <address@hidden>
    
        * sysdeps/generic/pt-mutex-unlock.c (__pthread_mutex_unlock):
        Remove dead code.

commit c5441c2e019718a374461106af2b59809cfbdb0e
Author: Neal H. Walfield <address@hidden>
Date:   Mon Aug 11 19:30:30 2008 +0000

    2008-08-11  Neal H. Walfield  <address@hidden>
    
        * sysdeps/l4/pt-docancel.c: Remove file.
        * sysdeps/l4/pt-thread-alloc.c: Likewise.
        * sysdeps/l4/pt-wakeup.c: Likewise.
        * sysdeps/l4/pt-thread-halt.c: Likewise.
        * sysdeps/l4/pt-start.c: Likewise.
        * sysdeps/l4/pt-stack-alloc.c: Likewise.
        * sysdeps/l4/pt-thread-start.c: Likewise.
        * sysdeps/l4/pt-block.c: Likewise.
        * sysdeps/l4/hurd/pt-sysdep.h: Likewise.
        * sysdeps/l4/hurd/pt-sysdep.c: Likewise.
        * sysdeps/l4/hurd/i386/pt-setup.c: Likewise.
        * sysdeps/l4/hurd/i386/pt-machdep.c: Likewise.

commit 24d20469316b5a79ee1ec19da9e34384f8496c31
Author: Samuel Thibault <address@hidden>
Date:   Mon Aug 4 12:07:38 2008 +0000

    2008-08-04  Samuel Thibault  <address@hidden>
    
        * include/pthread/pthreadtypes.h (__pthread_inheritsched): Remove
        comma at end of enumeration.

commit 334b9a33a8adcddaf144e8285367c6753b7ab7ec
Author: Samuel Thibault <address@hidden>
Date:   Sun Aug 3 18:56:49 2008 +0000

        * Makefile (sysdeps_headers): Add spin-lock-inline.h.
        (SYSDEP_PATH): Move sysdeps/i386 right after
        sysdeps/$(MICROKERNEL)/i386.
        * include/pthread/pthread.h: Include <bits/spin-lock-inline.h>.
        * sysdeps/i386/bits/spin-lock.h: Move inlines to...
        * sysdeps/i386/bits/spin-lock-inline.h: ... new file.
        * sysdeps/mach/bits/spin-lock.h: Move inlines to...
        * sysdeps/mach/bits/spin-lock-inline.h: ... new file.

commit 3bcc540d4c6c59dbfa5958d1b59942f8b610bf5e
Author: Thomas Schwinge <address@hidden>
Date:   Sun Aug 3 07:02:36 2008 +0000

    Update copyright year.

commit 26ce9018aa473f5282b70d057f6b6de6d1cdca99
Author: Samuel Thibault <address@hidden>
Date:   Sun Aug 3 00:13:13 2008 +0000

        * sysdeps/mach/hurd/i386/pt-setup.c (stack_setup): Fix cast from
        thread to integer.  Fix reservation of stack room for initial frame.
        * sysdeps/l4/hurd/i386/pt-setup.c (stack_setup): Fix reservation of
        stack room for initial frame.

commit fc1964a7d295bec777d14b0f96692528bdb79437
Author: Samuel Thibault <address@hidden>
Date:   Sat Aug 2 20:40:14 2008 +0000

    2008-08-02  Samuel Thibault  <address@hidden>
    
        [libpthread]
        * sysdeps/i386/bits/memory.h (__memory_barrier): Add memory clobber.
        * sysdeps/i386/bits/spin-lock.h (__pthread_spin_trylock,
        __pthread_spin_unlock): Add memory clobbers.
    
        [libthreads]
        * i386/cthreads.h (spin_unlock, spin_try_lock): Add memory clobbers.

commit ef8de977fc0e72ee149085e5b4b9df23b7660fbe
Author: Samuel Thibault <address@hidden>
Date:   Sat Aug 2 20:21:20 2008 +0000

    2008-08-02  Samuel Thibault  <address@hidden>
    
        * sysdeps/generic/bits/mutex.h: Do not include <errno.h> and
        <stddef.h>

commit 1cd0f1301f9925420b04a4685b2934981fdc0240
Author: Samuel Thibault <address@hidden>
Date:   Fri Jul 18 14:31:06 2008 +0000

    2008-07-18  Samuel Thibault  <address@hidden>
    
        * Makefile (sysdeps_headers): add pthread/pthreadtypes.h

commit ec4b0f2734e9c4f43466019bb0cfe800efc651a9
Author: Thomas Schwinge <address@hidden>
Date:   Tue Jul 1 11:43:18 2008 +0000

    Update copyright years.

commit 0b12db015b87b2ee6f73ed9d6239bd7254ed09c5
Author: Thomas Schwinge <address@hidden>
Date:   Tue Jul 1 08:59:07 2008 +0000

    Correct ChangeLog file.

commit c38729c662cba11dca78e03dca23cec3eaec9f92
Author: Samuel Thibault <address@hidden>
Date:   Sun Jun 29 02:43:00 2008 +0000

    2008-06-29  Samuel Thibault  <address@hidden>
    
        * sysdeps/generic/pt-mutex-unlock.c (__pthread_mutex_unlock):
        Do not use assertx and threadid.

commit caacc548f4bfa2f6b86ae761bffba8d49f823e24
Author: Samuel Thibault <address@hidden>
Date:   Sat Jun 28 00:06:52 2008 +0000

    2008-06-27  Samuel Thibault  <address@hidden>
    
        * include/pthread/pthread.h: Do not define __need_clockid_t, include
        <time.h>, and define clockid_t if __clockid_defined is not defined.
        Include <pthread/pthreadtypes.h>
        (pthread_equal): New extern inline.
        (pthread_cleanup_push, pthread_cleanup_pop): New macros.
        (__pthread_process_shared, __pthread_inheritsched,
        __pthread_contentionscope, __pthread_detachstate,
        __pthread_mutex_protocol, __pthread_mutex_type,
        pthread_attr_t, pthread_mutex_attr_t, pthread_mutex_t,
        pthread_condattr_t, pthread_cond_t, pthread_spinlock_t,
        pthread_rwlockattr_t, pthread_rwlock_t, pthread_barrierattr_t,
        pthread_barrier_t, pthread_key_t, pthread_once_t): Move enums and
        typedefs to...
        * include/pthread/pthreadtypes.h: ... new file.
        * sysdeps/generic/bits/cancelation.h (pthread_cleanup_push): Rename
        macro to __pthread_cleanup_push.
        (pthread_cleanup_pop): Rename macro to __pthread_cleanup_pop.
        * sysdeps/generic/bits/barrier-attr.h (__pthread_process_shared):
        Forward-declare enum.
        * sysdeps/generic/bits/condition-attr.h (__pthread_process_shared):
        Likewise.
        * sysdeps/generic/bits/mutex-attr.h (__pthread_mutex_protocol,
        __pthread_process_shared, __pthread_mutex_type):
        Likewise.
        * sysdeps/generic/bits/rwlock-attr.h (__pthread_process_shared):
        Likewise.
        * sysdeps/generic/bits/thread-attr.h (__pthread_detachstate,
        __pthread_inheritsched, __pthread_contentionscope):
        Likewise.
        * sysdeps/generic/bits/pthread.h (pthread_t): Rename type to
        __pthread_t.
        (pthread_equal): Rename to __pthread_equal.

commit 2b4c17c482b95c079bdd7149a1326601f41dc03e
Author: Samuel Thibault <address@hidden>
Date:   Fri Jun 27 22:35:16 2008 +0000

    2008-06-27  Samuel Thibault  <address@hidden>
    
        * sysdeps/generic/bits/thread-barrier.h: Remove unused file.

commit 362912127aa75b78d4f42493ee1783bab9135cd1
Author: Neal H. Walfield <address@hidden>
Date:   Sun Jun 22 09:05:31 2008 +0000

    2008-06-22  Neal H. Walfield  <address@hidden>
    
        * sysdeps/generic/pt-mutex-timedlock.c
        (__pthread_mutex_timedlock_internal) [! NDEBUG]: Set MUTEX->OWNER
        appropriately and assert that it is consistent.
        * sysdeps/generic/pt-mutex-unlock.c (__pthread_mutex_unlock) [!
        NDEBUG]: Set MUTEX->OWNER appropriately and assert that it is
        consistent.
        * sysdeps/generic/pt-mutex-trylock.c (__pthread_mutex_trylock) [!
        NDEBUG]: Set MUTEX->OWNER.

commit 9830b3b2eb53aa7ad2eeb4cc11fbb44ba323cf4e
Author: Neal H. Walfield <address@hidden>
Date:   Sat Jun 7 15:23:00 2008 +0000

    2008-06-07  Neal H. Walfield  <address@hidden>
    
        * pthread/pt-internal.h (__pthread_queue_iterate): Use 1, not
        true.
        (__pthread_dequeuing_iterate): Likewise.

commit 542a455d6c2da2eac68f9c4f45604af85008443a
Author: Neal H. Walfield <address@hidden>
Date:   Tue May 27 18:37:56 2008 +0000

    2008-05-27  Neal H. Walfield  <address@hidden>
    
        * pthread/pt-internal.h (__pthread_queue_iterate): Before
        returning the current element, save its next pointer.
        (__pthread_dequeuing_iterate): Likewise.

commit e4ce4d3aa636b753da0b941e41128018aca6ade3
Author: Neal H. Walfield <address@hidden>
Date:   Tue May 27 18:37:29 2008 +0000

    2008-05-27  Neal H. Walfield  <address@hidden>
    
        * sysdeps/mach/hurd/pt-docancel.c (__pthread_do_cancel): Fix
        assert.

commit 7c6708ed26c318abbf7ca8bacc2eea50c9dcb459
Author: Samuel Thibault <address@hidden>
Date:   Sat May 17 20:07:56 2008 +0000

    2008-05-17  Samuel Thibault  <address@hidden>
    
        * include/pthread/pthread.h (pthread_getattr_np): New declaration.
        * pthread/pt-getattr.c: New file.
        * Makefile (SRCS): Add pt-getattr.c.

commit bff1b2efeae74afed68b5521d46395b0e29681e3
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 16 16:44:17 2008 +0000

        * include/libc-symbols.h (HAVE_ASM_PREVIOUS_DIRECTIVE): Define.

commit afd495357942d9cd5aaee27b1185cf9a4d4f81fe
Author: Samuel Thibault <address@hidden>
Date:   Fri Feb 29 09:53:35 2008 +0000

    2008-02-29  Samuel Thibault  <address@hidden
    
        * sysdeps/l4/hurd/i386/pt-setup.c (stack_setup): Align stack on 0x10
        for MMX operations.
        * sysdeps/mach/hurd/i386/pt-setup.c (stack_setup): Likewise.

commit a831c87b798b78c22ef496de6ddb2e6e447aabad
Author: Samuel Thibault <address@hidden>
Date:   Tue Jan 1 04:07:14 2008 +0000

    2008-01-01  Samuel Thibault  <address@hidden
    
        * include/pthread/pthread.h (pthread_spin_destroy, pthread_spin_init,
        pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Use
        __extern_inline macro instead of extern __inline.
        * sysdeps/i386/bits/spin-lock.h (__PT_SPIN_INLINE,
        __pthread_spin_lock): Likewise
        * sysdeps/mach/bits/spin-lock.h (__PT_SPIN_INLINE,
        __pthread_spin_lock): Likewise
        * sysdeps/generic/bits/pthread.h (pthread_equal): Declare ; only
        provide inline when __USE_EXTERN_INLINES is defined. Use __extern_inline
        macro instead of extern __inline.
        * sysdeps/i386/bits/memory.h (__memory_barrier): Add static to inline.

commit 0697fd051821d7b44b3c9ab2face57438e1a764a
Author: Thomas Schwinge <address@hidden>
Date:   Mon Nov 19 17:37:02 2007 +0000

    2007-11-19  Thomas Schwinge  <address@hidden>
    
        * Makefile (CFLAGS): Don't set and instead...
        (CPPFLAGS): ... append the inclusion stuff to these.

commit b180c6076f787d1b7241153dc1a42f37262dd827
Author: Samuel Thibault <address@hidden>
Date:   Thu Aug 2 22:51:14 2007 +0000

    2007-08-02  Samuel Thibault  <address@hidden>
    
        * sysdeps/generic/bits/mutex.h (pthread_mutex_init)
        (pthread_mutex_destroy, __pthread_mutex_lock, __pthread_mutex_trylock)
        (pthread_mutex_lock, pthread_mutex_trylock): Remove inline
        definitions.
        * sysdeps/generic/bits/rwlock.h (pthread_rwlock_init)
        (pthread_rwlock_destroy): Likewise.

commit 0b48c1e5d1764b5970faa0abeb101f377c3f441c
Author: Samuel Thibault <address@hidden>
Date:   Sun Jun 24 15:11:52 2007 +0000

    2007-06-24  Samuel Thibault  <address@hidden>
    
        * include/semaphore.h (sem_timedwait): Declare only if __USE_XOPEN2K
        is defined.
        * include/pthread/pthread.h (pthread_attr_getstack)
        (pthread_attr_setstack, pthread_mutex_timedlock)
        (pthread_condattr_getclock, pthread_condattr_setclock)
        (pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock)
        (pthread_barrierattr_t, pthread_barrierattr_init)
        (pthread_barrierattr_destroy, pthread_barrierattr_getpshared)
        (pthread_barrierattr_setpshared, pthread_barrier_t)
        (PTHREAD_BARRIER_SERIAL_THREAD, pthread_barrier_init)
        (pthread_barrier_destroy, pthread_barrier_wait)
        (pthread_getcpuclockid): Declare only if __USE_XOPEN2K is defined.
        (pthread_mutexattr_getprioceiling, pthread_mutexattr_setprioceiling)
        (pthread_mutexattr_getprotocol, pthread_mutexattr_setprotocol)
        (pthread_mutexattr_gettype, pthread_mutexattr_settype)
        (pthread_mutex_getprioceiling, pthread_mutex_setprioceiling)
        (pthread_setconcurrency, pthread_getconcurrency): Declare only if
        __USE_UNIX98 is defined.
        (pthread_rwlockattr_t, pthread_rwlockattr_init)
        (pthread_rwlockattr_destroy, pthread_rwlockattr_getpshared)
        (pthread_rwlockattr_setpshared, pthread_rwlock_t, pthread_rwlock_init)
        (pthread_rwlock_destroy, pthread_rwlock_rdlock)
        (pthread_rwlock_tryrdlock, pthread_rwlock_wrlock)
        (pthread_rwlock_trywrlock, pthread_rwlock_unlock): Declare only if
        __USE_UNIX98 or __USE_XOPEN2K are defined.
        (PTHREAD_PRIO_NONE, PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT)
        (PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK)
        (PTHREAD_MUTEX_RECURSIVE, PTHREAD_MUTEX_DEFAULT):
        Define only if __USE_UNIX98 is defined.
        (PTHREAD_MUTEX_FAST_NP): Define for compatibility when __USE_GNU is
        defined.
        * sysdeps/generic/bits/rwlock.h (pthread_rwlock_init)
        (pthread_rwlock_destroy): Declare only if __USE_UNIX98 or
        __USE_XOPEN2K are defined.
        * TODO: Drop that TODO item.

commit b46bf7d8865dc55842a68f30f64ac064daf87441
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 4 23:27:29 2007 +0000

    wrong ChangeLog file, sorry

commit 0924954a436fe55698686e4c750e777fb058ad25
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 4 00:05:21 2007 +0000

    2006-03-04  Samuel Thibault  <address@hidden>
    
        * libpthread/include/pthread/pthread.h: Add the restrict keyword where
        appropriate for full compliance.
        * libpthread/pthread/pt-internal.h: Likewise.
        * libpthread/sysdeps/generic/bits/mutex.h: Likewise.
        * libpthread/sysdeps/generic/bits/rwlock.h: Likewise.
        * libpthread/TODO: Drop that TODO item.

commit 47f99033b358fb41d7c9f8f2b2f8aa221cbcc387
Author: Samuel Thibault <address@hidden>
Date:   Sat Mar 3 23:57:37 2007 +0000

    2006-03-04  Samuel Thibault  <address@hidden>
    
        * libpthread/sysdeps/i386/machine-sp.h (thread_stack_pointer):
        Optimize esp read.
        * libpthread/i386/cthreads.h (cthread_sp): Likewise.

commit c9f6661d48de1d24a21093f70031bc9a055a6a33
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 20 13:07:06 2007 +0000

    2006-01-20  Samuel Thibault  <address@hidden>
    
            Do not let other libraries (like libX11) override libpthread's
            pthread_mutex_*, pthread_rwlock_* and sem_* dynamic symbols.
        * libpthread/sysdeps/generic/pt-mutex-destroy.c
        (pthread_mutex_destroy): Make the alias strong.
        * libpthread/sysdeps/generic/pt-mutex-init.c
        (pthread_mutex_init): Likewise.
        * libpthread/sysdeps/generic/pt-mutex-lock.c
        (_pthread_mutex_lock, pthread_mutex_lock): Likewise.
        * libpthread/sysdeps/generic/pt-mutex-trylock.c
        (_pthread_mutex_trylock, pthread_mutex_trylock): Likewise.
        * libpthread/sysdeps/generic/pt-mutex-unlock.c
        (_pthread_mutex_lock, pthread_mutex_unlock): Likewise.
        * libpthread/sysdeps/generic/pt-rwlock-destroy.c
        (pthread_rwlock_destroy): Likewise.
        * libpthread/sysdeps/generic/pt-rwlock-init.c
        (pthread_rwlock_init): Likewise.
        * libpthread/sysdeps/generic/sem-destroy.c (sem_destroy): Likewise.
        * libpthread/sysdeps/generic/sem-getvalue.c (sem_getvalue): Likewise.
        * libpthread/sysdeps/generic/sem-init.c (sem_init): Likewise.
        * libpthread/sysdeps/generic/sem-open.c (sem_open): Likewise.
        * libpthread/sysdeps/generic/sem-post.c (sem_post): Likewise.
        * libpthread/sysdeps/generic/sem-timedwait.c (sem_timedwait): Likewise.
        * libpthread/sysdeps/generic/sem-trywait.c (sem_trywait): Likewise.
        * libpthread/sysdeps/generic/sem-unlink.c (sem_unlink): Likewise.
        * libpthread/sysdeps/generic/sem-wait.c (sem_wait): Likewise.

commit e3f5b14acf07c8162d1777ca630aeece561ef485
Author: Thomas Schwinge <address@hidden>
Date:   Mon Mar 27 19:57:54 2006 +0000

    2006-03-27  Thomas Schwinge  <address@hidden>
    
        * Makefile (SRCS): Don't define two times and only list `pt-attr.c'
        once.  Reported by Jeff Bailey <address@hidden>.

commit 5bff6e8f998477a4528510e92fbcf33783c70506
Author: Neal H. Walfield <address@hidden>
Date:   Sun Aug 28 12:43:55 2005 +0000

    2005-08-28  Neal H. Walfield  <address@hidden>
    
        * include/semaphore.h: Use __restrict, not restrict.

commit 8e18e678afebb38e4208680ae7d7d23172116b41
Author: Neal H. Walfield <address@hidden>
Date:   Tue May 31 17:34:36 2005 +0000

    libpthread/
    
    2005-05-31  Neal H. Walfield  <address@hidden>
    
        * include/pthread/pthread.h: If clockid_t is still not defined
        after including <time.h>, define it manually.

commit ad327ba4bdcccdfaccde64ba4852220ec99d7b79
Author: Neal H. Walfield <address@hidden>
Date:   Tue May 17 09:40:51 2005 +0000

    libpthread/
    
    2005-05-17  Neal H. Walfield  <address@hidden>
    
        * include/pthread/pthread.h: Define __need_clockid_t before
        including <time.h>.

commit a2c46ac956613c162b5162d2ef2c725229b08aca
Author: Neal H. Walfield <address@hidden>
Date:   Thu May 12 20:55:38 2005 +0000

    libpthread/
    
    2005-05-12  Neal H. Walfield  <address@hidden>
    
        * include/pthread/pthread.h (pthread_exit): Add noreturn
        attribute.
    
        * sysdeps/generic/bits/condition.h (__PTHREAD_COND_INITIALIZER):
        Don't create a compound literal.
        * sysdeps/generic/bits/mutex.h (__PTHREAD_MUTEX_INITIALIZER):
        Don't create a compound literal.
        (pthread_mutex_init): Don't assign to *__MUTEX directly.
        Initialize an intermediate local variable and then copy the
        result.
        * sysdeps/generic/bits/rwlock.h (__PTHREAD_RWLOCK_INITIALIZER):
        Don't create a compound literal.
        (pthread_rwlock_init): Don't assign to *__RWLOCK directly.
        Initialize an intermediate local variable and then copy the
        result.
        * sysdeps/i386/bits/spin-lock.h (__SPIN_LOCK_INITIALIZER):
        Don't create a compound literal.
    
        * pthread/pt-alloc.c (initialize_pthread): Cast
        PTHREAD_MUTEX_INITIALIZER and PTHREAD_COND_INITIALIZER to create a
        compound literal.
        * tests/test-1.c (main): Use pthread_mutex_init, not
        PTHREAD_MUTEX_INIT for mutex initialization
    
        * sysdeps/generic/pt-barrier-init.c (pthread_barrier_init): Remove
        assert.  Copy ATTR if non-defaults are used.
        * sysdeps/generic/pt-cond-init.c (pthread_cond_init): Include
        <string.h>.  Remove assert.  Copy ATTR if non-defaults are used.
        * sysdeps/generic/pt-mutex-init.c (_pthread_mutex_init): Cast
        PTHREAD_MUTEX_INITIALIZER to create a compound literal.
        * sysdeps/generic/pt-rwlock-init.c: Include <string.h>.
        (_pthread_rwlock_init): Cast __PTHREAD_RWLOCK_INITIALIZER to
        create a compound literal.  Copy ATTR if non-defaults are used.
    
        * sysdeps/generic/pt-cond-timedwait.c
        (__pthread_cond_timedwait_internal): Check that ABSTIME->TV_NSEC
        is valid.  Don't shadow ERR.  Don't return before cleaning up.
        * sysdeps/generic/pt-mutex-timedlock.c (pthread_mutex_timedlock):
        Move after __pthread_mutex_timedlock_internal.  Check that
        ABSTIME->TV_NSEC is valid.
        * sysdeps/generic/pt-rwlock-timedrdlock.c
        (pthread_rwlock_timedrdlock): Move after.
        __pthread_rwlock_timedrdlock_internal.
        (__pthread_rwlock_timedrdlock_internal): Check that
        ABSTIME->TV_NSEC is valid.
        * sysdeps/generic/pt-rwlock-timedwrlock.c
        (pthread_rwlock_timedwrlock): Move after
        __pthread_rwlock_timedwrlock_internal.
        (__pthread_rwlock_timedwrlock_internal): Check that
        ABSTIME->TV_NSEC is valid.
        * sysdeps/generic/sem-timedwait.c (__sem_timedwait_internal):
        Check that TIMEOUT->TV_NSEC is valid before enqueuing the thread.
    
        * sysdeps/generic/pt-rwlock-rdlock.c
        (__pthread_rwlock_timedrdlock_internal): Fix declaration.
    
        * sysdeps/generic/pt-mutex-trylock.c (__pthread_mutex_trylock):
        Don't return EDEADLK.  POSIX does not allow it.
    
        * sysdeps/mach/pt-timedblock.c (__pthread_timedblock): Calculate
        the relative timeout without overflowing.
    
        * sysdeps/mach/hurd/i386/pt-setup.c (stack_setup): Cast THREAD.

commit a6dffc4afcfb78fbb043971ecffdf5a2cfa60989
Author: Neal H. Walfield <address@hidden>
Date:   Thu May 12 11:50:42 2005 +0000

    libpthread/
    
    2005-05-12  Neal H. Walfield  <address@hidden>
    
        * Makefile (SRCS): Add sem-close.c sem-destroy.c sem-getvalue.c
        sem-init.c sem-open.c sem-post.c sem-timedwait.c sem-trywait.c
        sem-unlink.c and sem-wait.c.
        (sysdeps_headers): Add semaphore.h bits/semaphore.h.
        * include/semaphore.h: New file.
        * sysdeps/generic/sem-close.c: New file.
        * sysdeps/generic/sem-destroy.c: New file.
        * sysdeps/generic/sem-getvalue.c: New file.
        * sysdeps/generic/sem-init.c: New file.
        * sysdeps/generic/sem-open.c: New file.
        * sysdeps/generic/sem-post.c: New file.
        * sysdeps/generic/sem-timedwait.c: New file.
        * sysdeps/generic/sem-trywait.c: New file.
        * sysdeps/generic/sem-unlink.c: New file.
        * sysdeps/generic/sem-wait.c: New file.
        * sysdeps/generic/bits/semaphore.h: New file.

commit f19e83eb2a17d0e87b90a050e7550e1e6985196f
Author: Neal H. Walfield <address@hidden>
Date:   Wed May 4 16:04:06 2005 +0000

    libpthread/
    
    2005-05-04  Neal H. Walfield  <address@hidden>
    
        * Makefile (SRCS): Add pt-thread_dealloc.c.
        * sysdeps/mach/pt-thread-dealloc.c: New file.
        * pthread/pt-internal.h (__pthread_thread_dealloc): New
        declaration.
        (__pthread_thread_halt): Add parameter NEED_DEALLOC.  Update
        callers.
        * sysdeps/mach/pt-thread-halt.c (__pthread_thread_halt): Respect
        new NEED_DEALLOC parameter.  Move code which deallocates kernel
        resources from here ...
        * sysdeps/mach/pt-thread-dealloc.c (__pthread_thread_dealloc):
        ...to here.
        * pthread/pt-create.c (__pthread_create_internal): Call
        __pthread_thread_dealloc on failure.
        * pthread/pt-exit.c (pthread_exit): Call __pthread_thread_dealloc.
    
        * sysdeps/mach/pt-thread-alloc.c (create_wakeupmsg): Call
        __mach_port_destroy to deallocate the receive right.
        __mach_port_deallocate won't do it.
    
        * pthread/pt-detach.c (pthread_detach): Don't call
        __pthread_thread_halt a second time.
    
        * sysdeps/mach/hurd/pt-sysdep.c (_cthread_init_routine): Fix
        declaration.
        (init_routine): Update declaration and remove gratuitous cast.

commit 81cb5487d08c59fca0190cf03a07bdf45fe90ea8
Author: Neal H. Walfield <address@hidden>
Date:   Mon May 2 22:00:34 2005 +0000

    libpthread/
    
    2005-05-02  Neal H. Walfield  <address@hidden>
    
        * pthread/pt-alloc.c (__pthread_alloc): Set the thread id to the
        table index plus one.
        * pthread/pt-internal.h (__pthread_getid): Index __pthread_threads
        using THREAD - 1, not THREAD.
        (__pthread_setid): Likewise.
        * pthread/pt-create.c (__pthread_create_internal): Likewise.
    
        * sysdeps/generic/pt-mutex-trylock.c (__pthread_mutex_trylock):
        When returning EBUSY, don't forget to first unlock MUTEX->__HELD.

commit d3259802444358fa6f917c7d2a049fc8fcc98cc0
Author: Neal H. Walfield <address@hidden>
Date:   Wed Apr 20 15:26:52 2005 +0000

    libpthread/
    
    2005-04-20  Neal H. Walfield  <address@hidden>
    
        * sysdeps/generic/pt-setschedparam.c: policy's type is int, not
        int *.
        * include/pthread/pthread.h: Likewise.
        Reported by Christopher `Physicman' Bodenstein <address@hidden>.

commit ca420458a592b5fce854d45c7c516cf2fb73f600
Author: Neal H. Walfield <address@hidden>
Date:   Tue Feb 8 15:01:39 2005 +0000

    libpthread/
    
    2005-01-21  Michael Banck  <address@hidden>
    
        * Makefile ($(libdir)/libpthread2.a): Install linker script
        from $(srcdir) instead of current directory.
        ($(libdir)/libpthread2_pic.a): Likewise.

commit a8c2a0c2a1bb1abc34056b09995cb66e5009fce9
Author: Neal H. Walfield <address@hidden>
Date:   Tue Feb 8 14:42:03 2005 +0000

    libpthread/
    
    2005-02-08  Neal H. Walfield  <address@hidden>
    
        * sysdeps/mach/pt-spin.c (__pthread_spin_lock): Make a weak alias
        to _pthread_spin_lock.
        * sysdeps/posix/pt-spin.c (__pthread_spin_lock): Likewise.

commit d3b41b2c9ee4ac8a7786a78936bc8d929cc26a80
Author: Neal H. Walfield <address@hidden>
Date:   Tue Jan 18 10:08:52 2005 +0000

    libpthread/
    
    2005-01-18  Neal H. Walfield  <address@hidden>
    
        * sysdeps/mach/hurd/pt-sysdep.h (__pthread_stack_dealloc): Add
        __always_inline__ attribute.
        * sysdeps/l4/hurd/pt-sysdep.h (_pthread_self): Likewise.
        (__attribute__): Likewise.

commit a0cc53efb171fceddc40bae4568cff3e7b17a31b
Author: Neal H. Walfield <address@hidden>
Date:   Tue Jan 18 09:57:35 2005 +0000

    libpthread/
    
    2005-01-12  Pietro Ferrari  <address@hidden>
    
        * include/pthread/pthread.h (pthread_spin_destroy): Replace extern
        inline with extern __inline.
        (pthread_spin_init): Likewise.
        (pthread_spin_lock): Likewise.
        (pthread_spin_trylock): Likewise.
        (pthread_spin_unlock): Likewise.
        * sysdeps/mach/bits/spin-lock.h (__pthread_spin_lock): Likewise.
        * sysdeps/i386/bits/spin-lock.h (__pthread_spin_lock): Likewise.
        * sysdeps/generic/bits/mutex.h (__pthread_mutex_trylock):
        Likewise.
        (pthread_mutex_lock): Likewise.
        (pthread_mutex_trylock): Likewise.
        * sysdeps/generic/bits/pthread.h (pthread_equal): Likewise.

commit 78e9767210adc52f8c5ea997bdc8d18b4b7812a5
Author: Marcus Brinkmann <address@hidden>
Date:   Mon Mar 1 09:58:44 2004 +0000

    auth/
    2003-08-17  Marcus Brinkmann  <address@hidden>
    
        * auth.c: Include <stddef.h>.
        (pending_users, pending_server): Change type to struct hurd_ihash,
        initialize with HURD_IHASH_INITIALIZER.
        (struct pending): Change type of member LOCP to hurd_ihash_locp_t.
        (S_auth_user_authenticate): Use hurd_ihash_* functions instead
        ihash_*.
        (S_auth_server_authenticate): Likewise.
        (main): Do not allocate the hash tables.
    
    console-client/
    2003-08-17  Marcus Brinkmann  <address@hidden>
    
        * vga-dynafont.c: Include <stddef.h>.
        (struct mapped_character): Change type of LOCP to
        hurd_ihash_locp_t.
        (struct dynafont): Change type of CHARMAP to struct hurd_ihash.
        (dynafont_new): Use hurd_ihash_init instead of ihash_create.
        Remove variable ERR.  Call hurd_ihash_add instead of ihash_add.
        (dynafont_free): Call hurd_ihash_destroy, no ihash_free.
        (dynafont_lookup_internal): Use hurd_ihash_find, not ihash_find.
        (dynafont_lookup_internal): Call hurd_ihash_locp_remove instead
        ihash_locp_remove, and hurd_ihash_add instead ihash_add.
        (dynafont_change_font): Likewise.  Clean out LOCP if character is
        unmapped.
    
    ftpfs/
    2003-08-17  Marcus Brinkmann  <address@hidden>
    
        * ftpfs.h: Include <hurd/ihash.h>.
        (struct ftpfs): Change type of INODE_MAPPINGS to struct
        hurd_ihash.
        (struct ftpfs_dir_entry): Change type of INODE_LOCP to
        hurd_ihash_locp_t.
        * node.c (ftpfs_create_node): Call hurd_ihash_add, not ihash_add.
        (netfs_node_norefs): Call hurd_ihash_locp_remove, not
        ihash_locp_remove.
        * fs.c: Include <stddef.h>.
        (ftpfs_create): Call hurd_ihash_init, not hurd_ihash_create.
        Call hurd_ihash_destroy on error.
    
    libihash/
    2003-08-17  Marcus Brinkmann  <address@hidden>
    
        * ihash.c: Rewritten.
        * ihash.h: Rewritten.
        * Makefile (SRCS): Remove sizes.c.
        (LCLHDRS): Remove priv.h.
        * primes.c, sizes.c, priv.h: Files removed.
    
    2003-08-17  Marcus Brinkmann  <address@hidden>
    
        * ports.h (struct port_bucket): Change type of HTABLE to struct
        hurd_ihash.
        (struct port_info): Change type of HENTRY to hurd_ihash_locp_t.
        * lookup-port.c (ports_lookup_port): Use hurd_ihash_find instead
        ihash_find.
        * bucket-iterate.c (_ports_bucket_class_iterate): Use
        HURD_IHASH_ITERATE instead ihash_iterate.
        * inhibit-all-rpcs.c (ports_inhibit_all_rpcs): Likewise.
        * inhibit-bucket-rpcs.c (ports_inhibit_bucket_rpcs): Likewise.
        * create-internal.c (_ports_create_port_internal): Use
        hurd_ihash_add instead ihash_add.
        * import-port.c (ports_import_port): Likewise.
        * reallocate-from-external.c (ports_reallocate_from_external):
        Likewise.
        * reallocate-port.c (ports_reallocate_port): Likewise.
        * transfer-right.c (ports_transfer_right): Likewise.
        * create-bucket.c: Include <stddef.h>.
        (ports_create_bucket): Use hurd_ihash_init instead hurd_ihash_create.
        * class-iterate.c: Do not include <hurd/ihash.h>.
        * claim-right.c (ports_claim_right): Call hurd_ihash_locp_remove
        instead ihash_locp_remove.
        * complete-deallocate.c (_ports_complete_deallocate): Likewise.
        * destroy-right.c (ports_destroy_right): Likewise.
        * reallocate-from-external.c (ports_reallocate_from_external):
        Likewise.
        * reallocate-port.c (ports_reallocate_port): Likewise.
        * transfer-right.c (ports_transfer_right): Likewise.
    
    libps/
    2003-08-17  Marcus Brinkmann  <address@hidden>
    
        * ps.h (struct ps_context): Change type of members procs, ttys,
        ttys_by_cttyid and users to struct hurd_ihash.
        * context.c (ps_context_create): Remove variables err_procs,
        err_ttys, err_ttys_by_cttyid and err_users.  Use hurd_ihash_init
        instead of ihash_create.  Call hurd_ihash_set_cleanup and the
        hurd_ihash_cleanup_t type instead of ihash_set_cleanup.
        (ps_context_free): Call hurd_ihash_destroy instead of ihash_free.
        (lookup): Call hurd_ihash_find instead ihash_find, hurd_ihash_add
        instead ihash_add.
        (ps_context_find_proc_stat): Take pointer of hash object.
        (ps_context_find_tty): Likewise.
        (ps_context_find_tty_by_cttyid): Likewise.
        (ps_context_find_user): Likewise.
    
    libpthread/
    2003-08-17  Marcus Brinkmann  <address@hidden>
    
        * sysdeps/hurd/pt-key.h (PTHREAD_KEY_MEMBERS): Change type of
        THREAD_SPECIFICS to hurd_ihash_t.
        * sysdeps/hurd/pt-setspecific.c (pthread_setspecific): Call
        hurd_ihash_create instead ihash_create, and hurd_ihash_add instead
        ihash_add.
        * sysdeps/hurd/pt-getspecific.c (pthread_getspecific): Call
        hurd_ihash_find instead of ihash_find.
        * sysdeps/hurd/pt-destroy-specific.c (__pthread_destroy_specific):
        Call hurd_ihash_find instead of ihash_find, hurd_ihash_remove
        instead of ihash_remove, and hurd_ihash_free instead of
        ihash_free.
    
    proc/
    2003-08-17  Marcus Brinkmann  <address@hidden>
    
        * proc.h: Include <hurd/ihash.h>.
        (struct proc): Change type of members p_pidhashloc and
        p_taskhashloc to hurd_ihash_locp_t.
        (struct pgrp): Likewise for pg_hashloc.
        (struct session): Likewise for s_hashloc.
        * hash.c: Change type of pghash, pidhash, taskhash and sidhash to
        struct hurd_ihash and initialize them with HURD_IHASH_INITIALIZER.
        Include stddef.h.
        (pid_find): Call hurd_ihash_find instead ihash_find.
        (pid_find_allow_zombie): Likewise.
        (task_find): Likewise.
        (task_find_nocreate): Likewise.
        (pgrp_find): Likewise.
        (session_find): Likewise.
        (add_proc_to_hash): Call hurd_ihash_add instead ihash_add.
        (add_pgrp_to_hash): Likewise.
        (add_session_to_hash): Likewise.
        (remove_pgrp_from_hash): Call hurd_ihash_locp_remove instead
        ihash_locp_remove, and provide hash table pointer.
        (remove_proc_from_hash): Likewise.
        (remove_session_from_hash): Likewise.
        (prociterate): Use HURD_IHASH_ITERATE instead ihash_iterate.
    
    trans/
    2003-08-17  Marcus Brinkmann  <address@hidden>
    
        * fakeroot.c: Include <stddef.h>.
        (struct netnode): Change type of member idport_locp
        to hurd_ihash_locp_t.
        (idport_ihash): Change type to struct hurd_ihash and initialize
        with HURD_IHASH_INITIALIZER.
        (new_node): Call hurd_ihash_add instead of ihash_add.
        (netfs_node_norefs): Call hrd_ihash_locp_remove instead
        ihash_locp_remove.
        (netfs_S_dir_lookup): Call hurd_ihash_find instead ihash_find.
    
    utils/
    2003-08-17  Marcus Brinkmann  <address@hidden>
    
        * rpctrace.c: Include <stddef.h>.
        (struct traced_info): Change type of LOCP to hurd_ihash_locp_t.
        (msgid_ihash): Change type to struct hurd_ihash, and initialize
        with HURD_IHASH_INITIALIZER, don't set cleanup here.
        (traced_names): Likewise.
        (main): Call hurd_ihash_set_cleanup for msgid_ihash.  Don't create
        traced_names.
        (parse_msgid_list): Call hurd_ihash_add instead ihash_add.
        (new_send_wrapper): Likewise.
        (msgid_info): Likewise.  Call hurd_ihash_find instead ihash_find.
        (rewrite_right): Likewise.
        (traced_dropweak): Call hurd_ihash_locp_remove instead
        ihash_locp_remove.

commit cb62fb204d22daea8ec0367c7590f32116276aa7
Author: Marco Gerards <address@hidden>
Date:   Wed Aug 20 20:40:06 2003 +0000

    2003-08-03  Marco Gerards  <address@hidden>
    
        * Makefile (install): Do not install from $(srcdir).

commit 562f681d63d5b2b4a06db8b2378cdef45c7594e4
Author: Neal H. Walfield <address@hidden>
Date:   Tue Nov 26 17:50:48 2002 +0000

    2002-11-26  Neal H. Walfield  <address@hidden>
    
        * pthread/pt-create.c [HAVE_USELOCAL]: Include <locale.h>.
        (entry_point) [HAVE_USELOCALE]: Initialize the thread to the
        global locale.

commit 96f08e93f5cc18de5877bc1700e46b805cb86a78
Author: Neal H. Walfield <address@hidden>
Date:   Mon Nov 25 21:07:35 2002 +0000

    2002-11-25  Neal H. Walfield  <address@hidden>
    
        * sysdeps/mach/hurd/i386/pt-setup.c (__pthread_setup): Fix last
        change.

commit a59f26424348f0caf9a3666f9b6ac12565e425e1
Author: Neal H. Walfield <address@hidden>
Date:   Mon Nov 18 22:20:58 2002 +0000

    2002-11-18  Neal H. Walfield  <address@hidden>
    
        * sysdeps/mach/pt-wakeup.c (__pthread_wakeup): Use the size of
        THREAD->wakeupmsg which may not be a mach_msg_header_t.
    
        * sysdeps/generic/pt-mutex-timedlock.c
        (__pthread_mutex_timedlock_internal): Really test for equality.
        * sysdeps/generic/pt-rwlock-timedrdlock.c
        (__pthread_rwlock_timedrdlock_internal): Likewise.
        * sysdeps/generic/pt-rwlock-timedwrlock.c
        (__pthread_rwlock_timedwrlock_internal): Likewise.
    
        * sysdeps/generic/pt-cond-timedwait.c
        (__pthread_cond_timedwait_internal): On timeout, remove our thread
        structure from the wait queue if necessary.
    
        * sysdeps/l4/pt-start.c (__pthread_start): Call L4_Myself, not
        __mach_thread_self.
    
        * sysdeps/mach/hurd/i386/pt-setup.c: Include <mach.h>.
        (__pthread_setup): Do not leak references from __mach_thread_self.
        * sysdeps/mach/hurd/pt-docancel.c (__pthread_do_cancel): Likewise.
        * sysdeps/mach/hurd/pt-sysdep.h (_pthread_self): Likewise.
        * sysdeps/mach/pt-thread-alloc.c (__pthread_thread_alloc): Likewise.
        * sysdeps/mach/pt-thread-start.c (__pthread_thread_start): Likewise.
    
        * sysdeps/mach/pt-start.c: Remove dead file.

commit 92d94f2528ad27aaa1b2753f96ea95d7bb7f71d9
Author: Roland McGrath <address@hidden>
Date:   Sun Nov 10 04:18:18 2002 +0000

    .

commit cdb06f48bf15215610d91eddeb2af0a7bdbea2fd
Author: Roland McGrath <address@hidden>
Date:   Sun Nov 10 04:18:11 2002 +0000

    2002-11-09  Roland McGrath  <address@hidden>
    
        * include/pthread/pthread.h: Avoid `__thread' as an identifier,
        since it might be a keyword.

commit 1f41464c1b1620f164927f13ca0c2119ffb5a1b0
Author: Neal H. Walfield <address@hidden>
Date:   Sat Nov 2 23:41:51 2002 +0000

    2002-11-02  Alfred M. Szmidt  <address@hidden>
    
        * sysdeps/generic/pt-key-delete.c, sysdeps/hurd/pt-key-delete.c
        (pthread_key_delete): Renamed from pthread_key_destroy.  Reported
        by Michael Koch <address@hidden>

commit b7f80be8ca511ccf92f4488dc34e42712e1f957d
Author: Neal H. Walfield <address@hidden>
Date:   Sun Oct 13 00:58:03 2002 +0000

    2002-10-12  Neal H. Walfield  <address@hidden>
    
        * sysdeps/hurd/pt-destroy-specific.c (__pthread_destroy_specific):
        Only call the destructor if there is one set.

commit b1c60ca6e55ead2fda78550689f588d81bb6c23b
Author: Neal H. Walfield <address@hidden>
Date:   Fri Oct 11 23:57:47 2002 +0000

    Finish import.

commit 51c55d85632d43aa362b625ae519d00d559f9e5c
Author: Neal H. Walfield <address@hidden>
Date:   Thu Oct 10 23:05:06 2002 +0000

    Import libpthread.

-----------------------------------------------------------------------


hooks/post-receive
-- 
POSIX threading library




reply via email to

[Prev in Thread] Current Thread [Next in Thread]