2006-11-10 Frank Ch. Eigler <fche@redhat.com>
PR libmudflap/28578
* mf-hooks1.c (__mf_0fn_malloc): Make the bootstrap buffers
static but not function scope static.
(free): Skip deallocation attempts for objects placed into
bootstrap buffers.
* testsuite/libmudflap.cth/pass59-frag.c: New test.
M libmudflap/mf-hooks1.c
M libmudflap/ChangeLog
A libmudflap/testsuite/libmudflap.cth/pass59-frag.c
From-SVN: r118662
From Herman ten Brugge <hermantenbrugge@home.nl>:
* mf-runtime.c (__mf_uncache_object): Optimize the code so that
small and large objects are handled a lot faster.
From-SVN: r118526
2006-11-06 Frank Ch. Eigler <fche@redhat.com>
* configure.ac (__libc_freeres): Look for it.
* mf-impl.h (call_libc_freeres): New configuration flag.
* mf-runtime.c (__mf_set_default_options): Set it by default.
(__mfu_report): Call it if needed.
(__mfu_unregister): Remove "unaccessed registered object" warning.
* configure, config.h.in: Regenerated.
From-SVN: r118523
* configure.ac (mudflap_cv_entry_point): Use quadrigraphs to declare
$name as array of characters with unknown bound. Also store into the
array.
* configure: Regenerate.
From-SVN: r104964
* configure.ac (pthread.h): Use AC_CHECK_HEADERS instead of
AC_CHECK_HEADER.
(target_thread_file): New. Set from sed'ed gcc output.
(posix_threads): New. Set from target_thread_file. Use instead of
ac_have_pthread_h.
(pthread_create_version): Move initialization before code using it.
* configure: Regenerate.
From-SVN: r104838
* configure.ac: Test for the name of the symbol used for the entry
point; define ENTRY_POINT to the result.
* configure: Regenerate.
* config.h.in: Regenerate.
* mf-heuristics.c: Replace _start with ENTRY_POINT throughout.
From-SVN: r103113
* 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.
From-SVN: r102108
2005-06-15 Frank Ch. Eigler <fche@redhat.com>
Fix for uncaching bug reported by Herman ten Brugge.
* mf-runtime.c (__mf_uncache_object): Search whole cache.
* testsuite/libmudflap.c/fail40-frag.c: New test.
From-SVN: r100985
2005-06-14 Frank Ch. Eigler <fche@redhat.com>
PR mudflap/21023
* tree-mudflap.c (mudflap_finish_file): Exclude non-public
rather than static objects (!) from libmudflap registration.
* testsuite/libmudflap.c/externs.exp, externs-{1,2}.c: New test files.
* testsuite/libmudflap.c/cfrags.exp: Bypass new sources.
From-SVN: r100950
2005-06-14 Frank Ch. Eigler <fche@redhat.com>
PR mudflap/22064
* mf-impl.h (mudflap_mode, violation_mode): Make these ordinary
unsigned vars with #defines instead of enums.
From-SVN: r100945
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
In all substitutions, expand gcc_version in Makefile.
* aclocal.m4, configure: Regenerate.
* Makefile.am: Set gcc_version.
* Makefile.in, testsuite/Makefile.in: Regenerate.
From-SVN: r96817
* mf-impl.h (uintptr_t): Get typedef via stdint.h or define explicitly.
* mf-runtime.h: New file, replaces mf-runtime.h.in.
* configure.ac (AC_CONFIG_FILES): mf-runtime.h is no longer generated.
* Makefile.in: Ditto.
* testsuite/lib/libmudflap.exp: Add -I${srcdir}/.. to get mf-runtime.h
* testsuite/libmudflap.c/pass32-frag.c: s/uintptr_t/__mf_uintptr_t/
* testsuite/libmudflap.c/fail36-frag.c: New test.
* testsuite/libmudflap.c/fail37-frag.c: New test.
* testsuite/libmudflap.c/fail38-frag.c: New test.
From-SVN: r92815
* lib/target-libpath.exp: New file defining set_ld_library_path_env_vars
and restore_ld_library_path_env_vars.
* g++.dg/compat/compat.exp, lib/g++.exp, lib/gcc-dg.exp,
lib/gfortran.exp, lib/objc.exp, lib/treelang.exp: Use new procs.
* ada/acats/run_acats (LD_LIBRARY_PATH): Add previous LD_LIBRARY_PATH
to LD_LIBRARY_PATH. Export LD_LIBRARY_PATH.
* testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
* testsuite/lib/libjava.exp,
testsuite/libjava.jacks/jacks.exp: Use new procs in target-libpath.exp.
* testsuite/lib/libmudflap.exp: Use new procs in target-libpath.exp.
* testsuite/lib/libstdc++.exp: Use new procs in target-libpath.exp.
From-SVN: r91137
gcc/testsuite:
PR other/18138
* lib/g++.exp: Accept more than one multilib libgcc.
* lib/gcc-dg.exp: Likewise.
* lib/objc.exp: Likewise.
* lib/treelang.exp: Likewise.
* lib/gfortran.exp: Likewise.
libffi:
PR other/18138
* testsuite/lib/libffi-dg.exp: Accept more than one multilib
libgcc.
libjava:
PR other/18138
* testsuite/lib/libjava.exp: Accept more than one multilib
libgcc.
libmudflap!:
PR other/18138
* testsuite/lib/libmudflap.exp: Accept more than one multilib
libgcc.
libstdc++-v3:
PR other/18138
* testsuite/lib/libstdc++.exp: Accept more than one multilib
libgcc.
From-SVN: r89528