* gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 17 Jul 2005 02:29:00 +0000 (02:29 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 17 Jul 2005 02:29:00 +0000 (02:29 +0000)
commitee3213a30ff759561602be8e94553d06b2fa2e61
tree7eb9ea11806846cc5d60256f51b3b0a1033126fe
parentfbe74ea41cc74eaed95d398bdc4f9237d6fea6d0
    * gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit.

        * acinclude.m4: New file.
        * configure.ac: Invoke LIBMUDFLAP_CHECK_TLS.
        * configure, config.h.in, Makefile.in, testsuite/Makefile.in: Rebuild.
        * mf-hooks1.c (__mf_0fn_malloc): Move body from ...
        (__mf_0fn_calloc): ... here.
        * mf-hooks3.c (struct pthread_info): Remove.
        (__mf_pthread_info, __mf_pthread_info_idx): Remove.
        (LIBMUDFLAPTH_THREADS_MAX): Set to 1021.
        (struct mf_thread_data): New.
        (mf_thread_data, mf_thread_data_lock): New.
        (__mf_allocate_blank_threadinfo): Remove.
        (__mf_find_threadinfo): Rewrite and simplify.  Only use if TLS is
        not available.
        (__mf_state_perthread): Remove.
        (__mf_get_state, __mf_set_state): New.
        (__mf_pthread_cleanup): Use &errno, rather than saved pointer.
        Update mf_thread_data killing procedure.
        (__mf_pthread_spawner): Similarly.
        (__mf_0fn_pthread_create): Only use wrapper if necessary.  Remove
        code to allocate thread stack space.
        (__mf_0fn_pthread_join, pthread_join): Remove.
        (__mf_0fn_pthread_exit, pthread_exit): Remove.
        * mf-impl.h (dyn_pthread_join, dyn_pthread_exit): Remove.
        (__mf_state_1): Rename from __mf_state; use TLS when available.
        (__mf_get_state, __mf_set_state): New.  Update all users.
        * mf-runtime.c (begin_recursion_protect1): New.
        (BEGIN_RECURSION_PROTECT): Use it.
        (__mf_state_1): Rename from __mf_state; use TLS when available.
        (threads_active_p): Remove.
        (__mf_usage): Compute it directly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102108 138bc75d-0d04-0410-961f-82ee72b054a4
14 files changed:
gcc/ChangeLog
gcc/gcc.c
libmudflap/ChangeLog
libmudflap/Makefile.in
libmudflap/acinclude.m4 [new file with mode: 0644]
libmudflap/aclocal.m4
libmudflap/config.h.in
libmudflap/configure
libmudflap/configure.ac
libmudflap/mf-hooks1.c
libmudflap/mf-hooks3.c
libmudflap/mf-impl.h
libmudflap/mf-runtime.c
libmudflap/testsuite/Makefile.in