1171831Skan2007-07-19 Release Manager 2171831Skan 3171831Skan * GCC 4.2.1 released. 4171831Skan 5169695Skan2007-05-13 Release Manager 6169695Skan 7169695Skan * GCC 4.2.0 released. 8169695Skan 9169695Skan2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr> 10169695Skan 11169695Skan * configure: Regenerate. 12169695Skan 13169695Skan2006-09-18 Tom Tromey <tromey@redhat.com> 14169695Skan 15169695Skan * configure: Rebuilt. 16169695Skan 17169695Skan2006-06-21 Frank Ch. Eigler <fche@redhat.com> 18169695Skan 19169695Skan PR 21274 20169695Skan mf-runtime.h installation based on ssp patch for PR 26473 from 21169695Skan Mark Mitchell <mark@codesourcery.com>. 22169695Skan * configure.ac (ACX_NONCANONICAL_TARGET): Use it. 23169695Skan * Makefile.am (target_noncanonical): Define. 24169695Skan (libsubincludedir): New variable. 25169695Skan (nobase_libsubinclude_HEADERS): Add mf-runtime.h. 26169695Skan (include_HEADERS): Remove. 27169695Skan * configure, aclocal.m4, config.h.in: Regenerated. 28169695Skan * Makefile.in, testsuite/Makefile.in: Likewise. 29169695Skan * mf-runtime.h: Add #ifndef protection for conflicting _REENTRANT 30169695Skan and _THREAD_SAFE redefinition values. 31169695Skan 32169695Skan2006-05-23 Carlos O'Donell <carlos@codesourcery.com> 33169695Skan 34169695Skan * Makefile.am: Add install-html target. Add install-html to .PHONY 35169695Skan * Makefile.in: Regenerate. 36169695Skan 37169695Skan2006-04-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 38169695Skan 39169695Skan PR mudflap/26789 40169695Skan * testsuite/libmudflap.c++/error1-frag.cxx: New test. 41169695Skan 42169695Skan PR mudflap/26790 43169695Skan * testsuite/libmudflap.c++/error2-frag.cxx: New test. 44169695Skan 45169695Skan2006-04-10 Matthias Klose <doko@debian.org> 46169695Skan 47169695Skan * testsuite/lib/libmudflap.exp (libmudflap-init): Recognize multilib 48169695Skan directory names containing underscores. 49169695Skan 50169695Skan2005-11-22 Janis Johnson <janis187@us.ibm.com> 51169695Skan 52169695Skan * testsuite/lib/libmudflap.exp (libmudflap-init): Remove -static from 53169695Skan MUDFLAP_FLAGS if static library not supported. 54169695Skan * testsuite/libmudflap.c/cfrags.exp (MUDFLAP_FLAGS): new. 55169695Skan * testsuite/libmudflap.c/externs.exp: Ditto. 56169695Skan * testsuite/libmudflap.c++/ctors.exp: Ditto. 57169695Skan * testsuite/libmudflap.c++/c++frags.exp: Ditto. 58169695Skan * testsuite/libmudflap.cth/cthfrags.exp: Ditto. 59169695Skan 60169695Skan2005-10-04 James E Wilson <wilson@specifix.com> 61169695Skan 62169695Skan * configure.ac (mudflap_cv_entry_point): Use quadrigraphs to declare 63169695Skan $name as array of characters with unknown bound. Also store into the 64169695Skan array. 65169695Skan * configure: Regenerate. 66169695Skan 67169695Skan2005-09-30 James E. Wilson <wilson@specifix.com> 68169695Skan 69169695Skan * configure.ac (pthread.h): Use AC_CHECK_HEADERS instead of 70169695Skan AC_CHECK_HEADER. 71169695Skan (target_thread_file): New. Set from sed'ed gcc output. 72169695Skan (posix_threads): New. Set from target_thread_file. Use instead of 73169695Skan ac_have_pthread_h. 74169695Skan (pthread_create_version): Move initialization before code using it. 75169695Skan * configure: Regenerate. 76169695Skan 77169695Skan * mf-heuristics.c (_end, ENTRY_POINT): Make them arrays with unknown 78169695Skan bounds. 79169695Skan 80169695Skan2005-09-29 James E. Wilson <wilson@specifix.com> 81169695Skan 82169695Skan * mf-hooks1.c (__mf_0fn_mmap, mmap, __mf_0fn_munmap, munmap): Protect 83169695Skan with HAVE_MMAP ifdef. 84169695Skan 85169695Skan2005-09-23 Frank Ch. Eigler <fche@elastic.org> 86169695Skan 87169695Skan PR 23084. 88169695Skan * mf-hooks2.c (accept): Tolerate NULL sockaddr* parameter. 89169695Skan 90169695Skan2005-09-23 Frank Ch. Eigler <fche@elastic.org> 91169695Skan 92169695Skan * testsuite/libmudflap.c++/pass58-frag.cxx: New test for heisenbug 19319. 93169695Skan 94169695Skan2005-09-23 Tom Tromey <tromey@redhat.com> 95169695Skan 96169695Skan * aclocal.m4, configure: Rebuilt. 97169695Skan * configure.ac: Use GCC_CHECK_TLS. 98169695Skan * acinclude.m4 (LIBMUDFLAP_CHECK_TLS, LIBMUDFLAP_ENABLE): Moved 99169695Skan to ../config. 100169695Skan 101169695Skan2005-08-22 Jim Wilson <wilson@specifix.com> 102169695Skan 103169695Skan * mf-hooks2.c (MF_REGISTER_fopen): Define to __MF_TYPE_STATIC when 104169695Skan __FreeBSD__ is defined. 105169695Skan 106169695Skan2005-08-17 Jim Wilson <wilson@specifix.com> 107169695Skan 108169695Skan * mf-hooks1.c (malloc, calloc, realloc, free, 109169695Skan __mf_wrap_alloca_indirect): Call BEGIN_MALLOC_PROTECT before calling 110169695Skan the real routines, and END_MALLOC_PROTECT afterwards. 111169695Skan * mf-impl.h (enum __mf_state_enum): Expand comment. Add in_malloc. 112169695Skan (BEGIN_PROTECT): Handle in_malloc state. 113169695Skan (BEGIN_MALLOC_PROTECT, END_MALLOC_PROTECT): New. 114169695Skan * testsuite/libmudflap.c/hook2-allocstuff.c: New. 115169695Skan 116169695Skan2005-08-17 Kelley Cook <kcook@gcc.gnu.org> 117169695Skan 118169695Skan * All files: Update FSF address. 119169695Skan 120169695Skan2005-08-15 Ulrich Weigand <weigand@informatik.uni-erlangen.de> 121169695Skan 122169695Skan * mf-hooks3.c (main_seen_p): Remove. 123169695Skan (__mf_get_state): Remove attempt to recognize the main thread. 124169695Skan 125169695Skan2005-08-15 Maciej W. Rozycki <macro@linux-mips.org> 126169695Skan 127169695Skan * configure.ac: Test for the name of the symbol used for the entry 128169695Skan point; define ENTRY_POINT to the result. 129169695Skan * configure: Regenerate. 130169695Skan * config.h.in: Regenerate. 131169695Skan * mf-heuristics.c: Replace _start with ENTRY_POINT throughout. 132169695Skan 133169695Skan2005-08-14 Ulrich Weigand <weigand@informatik.uni-erlangen.de> 134169695Skan 135169695Skan * mf-runtime.c (__mf_state_1): Initialize to reentrant. 136169695Skan (__mf_init): Set thread state active. 137169695Skan * mf-hooks3.c (__mf_pthread_spawner): Always set thread 138169695Skan state active. 139169695Skan (pthread_create wrapper): Always use thread spawner. 140169695Skan 141169695Skan * testsuite/libmudflap.cth/pass37-frag.c: Increase timeout. 142169695Skan * testsuite/libmudflap.cth/pass39-frag.c: Likewise. 143169695Skan 144169695Skan2005-07-16 Richard Henderson <rth@redhat.com> 145169695Skan 146169695Skan * acinclude.m4: New file. 147169695Skan * configure.ac: Invoke LIBMUDFLAP_CHECK_TLS. 148169695Skan * configure, config.h.in, Makefile.in, testsuite/Makefile.in: Rebuild. 149169695Skan * mf-hooks1.c (__mf_0fn_malloc): Move body from ... 150169695Skan (__mf_0fn_calloc): ... here. 151169695Skan * mf-hooks3.c (struct pthread_info): Remove. 152169695Skan (__mf_pthread_info, __mf_pthread_info_idx): Remove. 153169695Skan (LIBMUDFLAPTH_THREADS_MAX): Set to 1021. 154169695Skan (struct mf_thread_data): New. 155169695Skan (mf_thread_data, mf_thread_data_lock): New. 156169695Skan (__mf_allocate_blank_threadinfo): Remove. 157169695Skan (__mf_find_threadinfo): Rewrite and simplify. Only use if TLS is 158169695Skan not available. 159169695Skan (__mf_state_perthread): Remove. 160169695Skan (__mf_get_state, __mf_set_state): New. 161169695Skan (__mf_pthread_cleanup): Use &errno, rather than saved pointer. 162169695Skan Update mf_thread_data killing procedure. 163169695Skan (__mf_pthread_spawner): Similarly. 164169695Skan (__mf_0fn_pthread_create): Only use wrapper if necessary. Remove 165169695Skan code to allocate thread stack space. 166169695Skan (__mf_0fn_pthread_join, pthread_join): Remove. 167169695Skan (__mf_0fn_pthread_exit, pthread_exit): Remove. 168169695Skan * mf-impl.h (dyn_pthread_join, dyn_pthread_exit): Remove. 169169695Skan (__mf_state_1): Rename from __mf_state; use TLS when available. 170169695Skan (__mf_get_state, __mf_set_state): New. Update all users. 171169695Skan * mf-runtime.c (begin_recursion_protect1): New. 172169695Skan (BEGIN_RECURSION_PROTECT): Use it. 173169695Skan (__mf_state_1): Rename from __mf_state; use TLS when available. 174169695Skan (threads_active_p): Remove. 175169695Skan (__mf_usage): Compute it directly. 176169695Skan 177169695Skan2005-06-19 Ulrich Weigand <uweigand@de.ibm.com> 178169695Skan 179169695Skan * testsuite/libmudflap.c/externs-1.c (main): Add return statement. 180169695Skan 181169695Skan2005-06-15 Frank Ch. Eigler <fche@redhat.com> 182169695Skan 183169695Skan Fix for uncaching bug reported by Herman ten Brugge. 184169695Skan * mf-runtime.c (__mf_uncache_object): Search whole cache. 185169695Skan * testsuite/libmudflap.c/fail40-frag.c: New test. 186169695Skan 187169695Skan2005-05-23 Alfred M. Szmidt <ams@gnu.org> 188169695Skan 189169695Skan PR libmudflap/21724 190169695Skan * Makefile.am (AM_MAKEFLAGS): Pass includedir. 191169695Skan * Makefile.in: Amend. 192169695Skan 193169695Skan2005-06-14 Frank Ch. Eigler <fche@redhat.com> 194169695Skan 195169695Skan PR mudflap/21023 196169695Skan * testsuite/libmudflap.c/externs.exp, externs-{1,2}.c: New test files. 197169695Skan * testsuite/libmudflap.c/cfrags.exp: Bypass new sources. 198169695Skan 199169695Skan2005-06-14 Frank Ch. Eigler <fche@redhat.com> 200169695Skan 201169695Skan PR libmudflap/21094 202169695Skan * testsuite/libmudflap.c++/*.exp: Assert build tree g++. 203169695Skan 204169695Skan2005-06-14 Frank Ch. Eigler <fche@redhat.com> 205169695Skan 206169695Skan PR mudflap/22064 207169695Skan * mf-impl.h (mudflap_mode, violation_mode): Make these ordinary 208169695Skan unsigned vars with #defines instead of enums. 209169695Skan 210169695Skan2005-05-09 Mike Stump <mrs@apple.com> 211169695Skan 212169695Skan * configure: Regenerate. 213169695Skan 214169695Skan2005-04-12 Mike Stump <mrs@apple.com> 215169695Skan 216169695Skan * configure: Regenerate. 217169695Skan 218169695Skan2005-04-12 Frank Ch. Eigler <fche@redhat.com> 219169695Skan 220169695Skan PR mudflap/19266 221169695Skan * testsuite/libmudflap.c++/c++frags.exp: Also test -O permutation. 222169695Skan * testsuite/libmudflap.c++/pass57-frag.cxx: New test. 223169695Skan 224169695Skan2005-04-04 Alan Modra <amodra@bigpond.net.au> 225169695Skan 226169695Skan * mf-runtime.c (__mfu_unregister): Warning fix for char unsigned. 227169695Skan 228169695Skan2005-03-31 Mike Stump <mrs@apple.com> 229169695Skan 230169695Skan * mf-runtime.h: Add libmudflap copyright clause. 231169695Skan 232169695Skan2005-03-21 Mike Stump <mrs@apple.com> 233169695Skan 234169695Skan * mf-heuristics.c: Fix whitespace at end of line. 235169695Skan * mf-hooks1.c: Likewise. 236169695Skan * mf-hooks2.c: Likewise. 237169695Skan * mf-hooks3.c: Likewise. 238169695Skan * mf-impl.h: Likewise. 239169695Skan * mf-runtime.c: Likewise. 240169695Skan * mf-runtime.h: Likewise. 241169695Skan 242169695Skan2005-03-21 Zack Weinberg <zack@codesourcery.com> 243169695Skan 244169695Skan * configure.ac: Do not invoke TL_AC_GCC_VERSION. 245169695Skan In all substitutions, expand gcc_version in Makefile. 246169695Skan * aclocal.m4, configure: Regenerate. 247169695Skan * Makefile.am: Set gcc_version. 248169695Skan * Makefile.in, testsuite/Makefile.in: Regenerate. 249169695Skan 250169695Skan2005-03-17 Frank Ch. Eigler <fche@redhat.com> 251169695Skan 252169695Skan * mf-runtime.c (__mfu_check): Respect ignore_reads configuration. 253169695Skan * testsuite/libmudflap.c/{pass56,fail39}-frag.c: New tests. 254169695Skan 255169695Skan2005-02-13 Frank Ch. Eigler <fche@redhat.com> 256169695Skan 257169695Skan PR mudflap/19319 258169695Skan * testsuite/libmudflap.c++/pass55-frag.c: New test. 259169695Skan 260169695Skan2005-01-05 Richard Henderson <rth@redhat.com> 261169695Skan 262169695Skan * testsuite/libmudflap.c/pass32-frag.c: Fix typo. 263169695Skan 264169695Skan2005-01-02 Greg McGary <greg@mcgary.org> 265169695Skan 266169695Skan * mf-impl.h (uintptr_t): Get typedef via stdint.h or define explicitly. 267169695Skan * mf-runtime.h: New file, replaces mf-runtime.h.in. 268169695Skan * configure.ac (AC_CONFIG_FILES): mf-runtime.h is no longer generated. 269169695Skan * Makefile.in: Ditto. 270169695Skan * testsuite/lib/libmudflap.exp: Add -I${srcdir}/.. to get mf-runtime.h 271169695Skan * testsuite/libmudflap.c/pass32-frag.c: s/uintptr_t/__mf_uintptr_t/ 272169695Skan * testsuite/libmudflap.c/fail36-frag.c: New test. 273169695Skan * testsuite/libmudflap.c/fail37-frag.c: New test. 274169695Skan * testsuite/libmudflap.c/fail38-frag.c: New test. 275169695Skan 276169695Skan2004-12-08 Kelley Cook <kcook@gcc.gnu.org> 277169695Skan 278169695Skan * Makefile.am: Add ../config to ACLOCAL_AMFLAGS. 279169695Skan * aclocal.m4, Makefile.in, testsuite/Makefile.in: Regenerate. 280169695Skan 281169695Skan2004-12-02 Richard Sandiford <rsandifo@redhat.com> 282169695Skan 283169695Skan * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version. 284169695Skan * aclocal.m4: Include ../config/gcc-version.m4. 285169695Skan * configure, Makefile.in, testsuite/Makefile.in: Regenerate. 286169695Skan 287169695Skan2004-11-29 Kelley Cook <kcook@gcc.gnu.org> 288169695Skan 289169695Skan * Makefile.am: Define ACLOCAL_AMFLAGS. 290169695Skan * acinclude.m4: Remove. 291169695Skan * stamp-h.in: Remove superfluous stamp file. 292169695Skan * aclocal.m4, configure, Makefile.in: Regenerate. 293169695Skan * testsuite/Makefile.in: Likewise. 294169695Skan 295169695Skan2004-11-24 Kelley Cook <kcook@gcc.gnu.org> 296169695Skan 297169695Skan * Makefile.am: Revert previous. 298169695Skan * acinclude.m4: Restore. 299169695Skan * aclocal.m4, configure, Makefile.in: Regenerate. 300169695Skan * testsuite/Makefile.in: Likewise. 301169695Skan 302169695Skan2004-11-24 Kelley Cook <kcook@gcc.gnu.org> 303169695Skan 304169695Skan * Makefile.am: Define ACLOCAL_AMFLAGS. 305169695Skan * acinclude.m4: Remove. 306169695Skan * aclocal.m4, configure, Makefile.in: Regenerate. 307169695Skan * testsuite/Makefile.in: Likewise. 308169695Skan 309169695Skan2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 310169695Skan 311169695Skan * testsuite/lib/libmudflap.exp: Use new procs in target-libpath.exp. 312169695Skan 313169695Skan2004-11-23 Kelley Cook <kcook@gcc.gnu.org> 314169695Skan 315169695Skan * Makefile.in, configure, aclocal.m4: Regenerate with automake 1.9.3. 316169695Skan * testsuite/Makefile.in: Likewise. 317169695Skan 318169695Skan2004-11-01 Andreas Schwab <schwab@suse.de> 319169695Skan 320169695Skan * configure.ac: (target_alias): Default to $host_alias, not 321169695Skan $target. 322169695Skan * configure: Regenerated. 323169695Skan 324169695Skan2004-10-28 Frank Ch. Eigler <fche@redhat.com> 325169695Skan 326169695Skan * testsuite/libmudflap.c/fail35-,pass53-,pass54-frag.c: New tests. 327169695Skan * testsuite/libmudflap.c/pass35-frag.c: Correct embedded warning 328169695Skan message. 329169695Skan 330169695Skan2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr> 331169695Skan 332169695Skan PR other/18138 333169695Skan * testsuite/lib/libmudflap.exp: Accept more than one multilib libgcc. 334169695Skan 335169695Skan2004-10-12 Frank Ch. Eigler <fche@redhat.com> 336169695Skan 337169695Skan * configure.ac: Check for more headers, functions. 338169695Skan * mf-hooks2.c (mkbuffer, unmkbuffer): New helper functions for 339169695Skan tracking overridden FILE buffers. 340169695Skan (fopen, setvbuf): New/revised hook functions for buffer overriding. 341169695Skan (setbuf,setlinebuf,fdopen,freopen,fopen64,freopen64,fclose): Ditto. 342169695Skan (fflush): Accept given NULL stream (means "all streams"). 343169695Skan * mf-runtime.h.in: 344169695Skan * mf-runtime.c (__mfu_check): Accept accesses that span adjacent 345169695Skan HEAP/GUESS objects. 346169695Skan (LOOKUP_CACHE_SIZE_MAX): Raise to 64K entries tentatively. 347169695Skan (__mf_adapt_cache): Use them all. 348169695Skan * testsuite/libmudflap.c/pass35-frag.c: Update warning message. 349169695Skan * testsuite/libmudflap.c++/ctors.exp: Ditto. 350169695Skan * testsuite/libmudflap.c/{pass51,pass52}-frag.c: New tests. 351169695Skan * configure, config.h.in: Regenerated. 352169695Skan 353169695Skan2004-10-05 Frank Ch. Eigler <fche@redhat.com> 354169695Skan 355169695Skan * configure.ac: Checking for sys/socket.h once is enough. 356169695Skan * configure: Regenerated. 357169695Skan 358169695Skan2004-10-04 Frank Ch. Eigler <fche@redhat.com> 359169695Skan 360169695Skan * configure.ac: Look for more headers & functions. 361169695Skan * mf-hooks2.c (getmntent, inet_ntoa, getproto*): New wrapper functions. 362169695Skan * mf-runtime.h.in: Add new "#pragma redefine_extname"s for them. 363169695Skan * mf-runtime.c (options): Clean up integer signedness warnings. 364169695Skan (main): Add a declaration to fix a warning. 365169695Skan * mf-hooks3.c (pthread_exit): Add not-reached exit() to wrapper. 366169695Skan * configure, config.h.in: Regenerated. 367169695Skan 368169695Skan2004-10-02 Frank Ch. Eigler <fche@redhat.com> 369169695Skan 370169695Skan * testsuite/libmudflap.c/pass50-frag.c, fail33-frag.c, fail34-frag.c: 371169695Skan New tests for proper base/limit checking for aggregates. 372169695Skan 373169695Skan2004-09-15 Joseph S. Myers <jsm@polyomino.org.uk> 374169695Skan 375169695Skan * testsuite/libmudflap.c/pass35-frag.c: Update expected message. 376169695Skan 377169695Skan2004-09-07 Frank Ch. Eigler <fche@redhat.com> 378169695Skan 379169695Skan * configure.ac: Look for pwd.h, grp.h, netdb.h headers and functions. 380169695Skan * mf-hooks2.c (strerror): Unregister previous string returned by 381169695Skan previous strerror. 382169695Skan (getlogin,cuserid,getpwnam,getpwuid,getgrnam,getgrgid): New wrappers. 383169695Skan (getservent,getservbyname,getservbyport,gai_strerror): Ditto. 384169695Skan * mf-runtime.h.in: Add redefine_extname pragmas for them all. 385169695Skan * mf-runtime.c (__mf_describe_object): Clarify object life status. 386169695Skan * testsuite/libmudflap.c/pass48-frag.c, pass49-frag.c, fail32-frag.c: 387169695Skan New tests. 388169695Skan * configure, config.h.in: Regenerated. 389169695Skan 390169695Skan2004-08-03 Dale Johannesen <dalej@apple.com> 391169695Skan 392169695Skan * mf-runtime.c: Conditionalize POSIX_SOURCE for Darwin. 393169695Skan 394169695Skan2004-08-03 Frank Ch. Eigler <fche@redhat.com> 395169695Skan 396169695Skan * mf-runtime.c (compare_uintptr_t): Remove function. Inline 397169695Skan simplified contents in all former callers. 398169695Skan 399169695Skan2004-07-27 Ulrich Weigand <weigand@informatik.uni-erlangen.de> 400169695Skan 401169695Skan * mf-runtime.c (__mf_fini): Set mudflap_mode to mode_nop in 402169695Skan the statically linked case. 403169695Skan 404169695Skan2004-07-27 Frank Ch. Eigler <fche@redhat.com> 405169695Skan 406169695Skan * splay-tree.[ch]: Remove. Merge contents into ... 407169695Skan * mf-runtime.c: ... here, renaming symbols and making all functions 408169695Skan static. Remove unused min/max functions. 409169695Skan * Makefile.am: Forget about splay-tree.[ch]. 410169695Skan * Makefile.in, testsuite/Makefile.in: Regenerated. 411169695Skan 412169695Skan2004-07-21 Frank Ch. Eigler <fche@redhat.com> 413169695Skan 414169695Skan * mf-runtime.c (__mfu_check): Remove mistaken mode-nop handling. 415169695Skan (__mfu_usage): Include (C) 2004. 416169695Skan * mf-hooks3.c (__mf_find_threadinfo): Don't call tracing functions 417169695Skan here. Include a comment explaining why. 418169695Skan 419169695Skan2004-07-20 Frank Ch. Eigler <fche@redhat.com> 420169695Skan 421169695Skan * mf-impl.h (__mf_options): Add ignore_reads and timestamps fields. 422169695Skan * mf-runtime.c (options): Give them a name. 423169695Skan (__mf_set_default_options): Set them. 424169695Skan (__mf_insert_new_object, __mfu_unregister): Optionalize timestamps. 425169695Skan (__mf_violation): Warning cleanup. 426169695Skan * mf-impl.h (MF_VALIDATE_EXTENT): Support ignore_reads option. 427169695Skan * splay-tree.c (splay_tree_delete_helper): Remove obsolete decl. 428169695Skan 429169695Skan2004-07-15 Frank Ch. Eigler <fche@redhat.com> 430169695Skan 431169695Skan g++/15861 432169695Skan * mf-runtime.c (__mf_init): Make it non-static. Tolerate 433169695Skan repeated invocation. 434169695Skan 435169695Skan2004-07-09 Frank Ch. Eigler <fche@redhat.com> 436169695Skan 437169695Skan Test case for g++/15861 438169695Skan * testsuite/libmudflap.c++/ctors-[12].cxx: New test case halves. 439169695Skan * testsuite/libmudflap.c++/ctors.exp: Driver. 440169695Skan * testsuite/libmudflap.c++/c++frags.exp: Elide redundant default. 441169695Skan Look only for *frag* test cases. 442169695Skan 443169695Skan2004-07-08 Frank Ch. Eigler <fche@redhat.com> 444169695Skan 445169695Skan ANSI C conversion, libmudflap specialization, recursion limiting. 446169695Skan * splay-tree.h (splay_tree_{de,}allocate_fn): Remove allocation_data 447169695Skan argument and indirection function pointers, update callers. 448169695Skan (splay_tree_s): Add statistics and recursion control fields 449169695Skan num_keys, max_depth, depth, rebalance_p. 450169695Skan * splay-tree.c (splay_tree_splay_helper): Track recursion depth. 451169695Skan Back out of search if it exceeds limit. 452169695Skan (splay_tree_splay): Manage recursion limiting with rebalancing as 453169695Skan needed. 454169695Skan (splay_tree_new): More initialization. 455169695Skan (splay_tree_rebalance): New function. 456169695Skan (splay_tree_foreach): Rewrite using nonrecursive logic. 457169695Skan (splay_tree_xmalloc_allocate, splay_tree_xmalloc_deallocate): 458169695Skan Remove. Point indirect calls to mf-runtime.c's routines. 459169695Skan (splay_tree_compare_ints, splay_tree_compare_pointers): Remove unused 460169695Skan functions. 461169695Skan (splay_tree_delete, splay_tree_delete_helper): Ditto. 462169695Skan * testsuite/heap-scalestress.c: New test based on one from 463169695Skan Eyal Lebedinsky <eyal@eyal.emu.id.au>: 464169695Skan 465169695Skan2004-07-05 Matthias Klose <doko@debian.org> 466169695Skan 467169695Skan * libtool-version: New. 468169695Skan * Makefile.am (libmudflap_la_LDFLAGS, libmudflapth_la_LDFLAGS): 469169695Skan Use -version-info for soname. 470169695Skan * Makefile.in: Regenerate. 471169695Skan * configure.ac: Remove libtool_VERSION macro 472169695Skan * configure: Regenerate 473169695Skan 474169695Skan2004-07-05 Zack Weinberg <zack@codesourcery.com> 475169695Skan 476169695Skan * mf-runtime.h.in: Wrap declarations of struct __mf_cache, 477169695Skan __mf_lookup_cache, __mf_lc_mask, or __mf_lc_shift in 478169695Skan #ifndef _MUDFLAP. 479169695Skan 480169695Skan2004-06-29 Frank Ch. Eigler <fche@redhat.com> 481169695Skan 482169695Skan Splay tree implementation fork. 483169695Skan * splay-tree.c, splay-tree.h: Copied & modified from libiberty. 484169695Skan Use hard-coded comparison function for uintptr_t. Remove key/value 485169695Skan deallocation logic. Cache last splayed key for consecutive lookups. 486169695Skan * Makefile.am, Makefile.in: Use them, don't link to them. 487169695Skan * mf-runtime.c (__mf_object_tree): Adapt to simpler splay_tree_new. 488169695Skan (__mf_find_objects2): Flip successor/predecessor search sequence. 489169695Skan * ansidecl.h, libiberty.h: Removed dummy files. 490169695Skan 491169695Skan2004-06-29 Nick Clifton <nickc@redhat.com> 492169695Skan 493169695Skan * configure.ac (AC_CHECK_HEADERS): Add dirent.h 494169695Skan * configure: Regenerate. 495169695Skan * mf-hooks2.c: Surround uses of dirent.h with #ifdef 496169695Skan HAVE_DIRENT_H. 497169695Skan Remove spurious inclusion of <strings.h>. 498169695Skan 499169695Skan2004-06-29 Nick Clifton <nickc@redhat.com> 500169695Skan 501169695Skan * mf-runtime.c (pthread_join): Only apply the weak pragma if the 502169695Skan function actually exists. 503169695Skan 504169695Skan2004-06-25 Frank Ch. Eigler <fche@redhat.com> 505169695Skan 506169695Skan * ansidecl.h, libiberty.h: New dummy files for building splay-tree. 507169695Skan * config.h.in: Regenerated. 508169695Skan 509169695Skan2004-06-24 Frank Ch. Eigler <fche@redhat.com> 510169695Skan 511169695Skan Adopt splay trees for object database. 512169695Skan * Makefile.am: Copy splay-tree.* from libiberty. 513169695Skan * Makefile.in, testsuite/Makefile.in: Regenerated. 514169695Skan * mf-runtime.h.in (__mf_unregister): Add third parameter (type). 515169695Skan * mf-hooks[123].c (*): Add new third parameter to mf_unregister. 516169695Skan * mf-impl.h (BEGIN_PROTECT): Remove some trace text. 517169695Skan * mf-runtime.c: Rewrite code dealing with object database to use 518169695Skan libiberty splay trees. Remove tree liveness aging option. 519169695Skan * testsuite/libmudflap.c/fail18-frag.c: Add volatile flag. 520169695Skan 521169695Skan2004-06-15 Paolo Bonzini <bonzini@gnu.org> 522169695Skan 523169695Skan * configure.ac: New name of configure.in. Update 524169695Skan AC_INIT, AC_CONFIG_SRCDIR, AC_CONFIG_HEADERS, AC_CONFIG_FILES, 525169695Skan AC_OUTPUT, AM_INIT_AUTOMAKE to the preferred style for 526169695Skan Autoconf 2.5x and Automake 1.7 or later. 527169695Skan * configure.in: Remove. 528169695Skan * configure: Regenerate. 529169695Skan 530169695Skan * Makefile.am: Remove useless multilib rules. 531169695Skan * Makefile.in: Regenerate. 532169695Skan 533169695Skan2004-06-15 Paolo Bonzini <bonzini@gnu.org> 534169695Skan 535169695Skan * .cvsignore: New file. 536169695Skan 537169695Skan2004-06-10 Stephen Crowley <stephen.crowley@sbcglobal.net> 538169695Skan 539169695Skan PR libmudflap/13505 540169695Skan * mf-hooks2.c (semctl): Add cygwin porting hack. 541169695Skan 542169695Skan2004-06-09 Frank Ch. Eigler <fche@redhat.com> 543169695Skan 544169695Skan ctype support. 545169695Skan * configure.in: Look for ctype header and glibc implementation. 546169695Skan * mf-hooks2.c (__ctype_{b,toupper,tolower}_loc): Sample ctype 547169695Skan array hooks for glibc 2.3. 548169695Skan * mf-runtime.h.in: Wrap them. 549169695Skan * mf-runtime.c (__mf_init): Leave marker regarding other ctype 550169695Skan implementations. 551169695Skan * testsuite/libmudflap.c/pass47-frag.c: New test. 552169695Skan * configure, config.h.in: Regenerated. 553169695Skan 554169695Skan2004-06-04 Frank Ch. Eigler <fche@redhat.com> 555169695Skan 556169695Skan Portability improvements, e.g., libmudflap/15293. 557169695Skan * configure.in: Look for glibc extension functions. Look for 558169695Skan support of -f{function,data}-sections. Look for more headers. 559169695Skan Create testsuite/mfconfig.exp. Correct more "test x.." thinkos. 560169695Skan * Makefile.am: Use $(SECTION_FLAGS). Collapse piecemeal-compiled 561169695Skan mf-hooks* into usual single object per source. 562169695Skan * mf-hooks*.c: Remove all #if WRAP_foo conditionals. 563169695Skan * mf-hooks2.c: #include a bunch more system headers. Define strnlen 564169695Skan if system doesn't provide one. 565169695Skan * mf-hooks3.c (struct pthread_info): Add stack_*_alloc fields. 566169695Skan (pthread_create): Use it to properly GC dead thread stacks. 567169695Skan * mf-runtime.c (__mf_violation): Correct snprintf type warning. 568169695Skan * testsuite/Makefile.am: Stop generating site.exp. 569169695Skan * testsuite/mfconfig.exp.in: New file. 570169695Skan * testsuite/config/default.exp: Load new mfconfig.exp. 571169695Skan * testsuite/lib/libmudflap.exp (libmudflap-init): Add extra libraries. 572169695Skan (prune_gcc_output): Add glibc static linking warnings. 573169695Skan * testsuite/libmudflap.*/*frags.exp: Enumerate needed -lmudflap* libs. 574169695Skan * testsuite/libmudflap.c/pass46-frag.c: Ditto. 575169695Skan * configure, Makefile, aclocal.m4, config.h.in, testsuite/Makefile.in: 576169695Skan Regenerated with autoconf 2.57 and automake 1.7. 577169695Skan 578169695Skan2004-06-04 Per Bothner <per@bothner.com> 579169695Skan 580169695Skan * configure.in (LIBMUDFLAPTH): Fix thinko. 581169695Skan 582169695Skan * configure.in: Check for more headers. 583169695Skan * mf-hooks2.c: Conditionalize on HAVE_SYS_SOCKET_H etc. 584169695Skan 585169695Skan * mf-runtime.c: In two places conditionalize on SIUSR1 rather than 586169695Skan HAVE_SIGNAL as mingw has signal.h but not SIUSR1. 587169695Skan 588169695Skan2004-06-01 Andreas Jaeger <aj@suse.de> 589169695Skan 590169695Skan * configure.in: Handle multilibs, support 591169695Skan --enable-version-specific-runtime-libs. 592169695Skan * Makefile.am (lib_LTLIBRARIES): Rename to ... 593169695Skan (toolexeclib_LTLIBRARIES): this for multilib support. 594169695Skan * Makefile.in: Regenerated. 595169695Skan * configure: Regenerated. 596169695Skan * aclocal.m4: Regenerated. 597169695Skan * config.h.in: Regenerated. 598169695Skan * testsuite/Makefile.in: Regenerated. 599169695Skan 600169695Skan2004-06-01 Andreas Jaeger <aj@suse.de> 601169695Skan 602169695Skan * testsuite/lib/libmudflap.exp (libmudflap-init): Handle 603169695Skan multilibs, using multilib directory instead of hardcoded path. 604169695Skan Set LD_RUN_PATH. 605169695Skan 606169695Skan2004-05-21 Frank Ch. Eigler <fche@redhat.com> 607169695Skan 608169695Skan * Makefile.am (AM_MAKEFLAGS): Pass RUNTESTFLAGS. 609169695Skan * Makefile.in: Ditto. 610169695Skan 611169695Skan2004-05-18 Kaz Kojima <kkojima@gcc.gnu.org> 612169695Skan 613169695Skan * acinclude.m4 (lt_cv_deplibs_check_method): Use pass_all on sh*. 614169695Skan * aclocal.m4, configure: Rebuilt. 615169695Skan 616169695Skan2004-05-17 Frank Ch. Eigler <fche@redhat.com> 617169695Skan 618169695Skan * lib/libmudflap.exp (libmudflap-init): For C++ test cases only, 619169695Skan import some build settings from libstdc++-v3 testsuite_flags. 620169695Skan * .../cfrags.exp, .../c++frags.exp, .../cthfrags.exp: Corresponding 621169695Skan changes to pass test language. 622169695Skan 623169695Skan * mf-runtime.c (__mfu_check): Poison the cache with antidote for 624169695Skan quicker mode-nop handling. 625169695Skan 626169695Skan2004-03-25 Frank Ch. Eigler <fche@redhat.com> 627169695Skan 628169695Skan * mf-impl.h: Added libgcc license header. 629169695Skan 630169695Skan2004-03-20 Frank Ch. Eigler <fche@redhat.com> 631169695Skan 632169695Skan * mf-hooks[123].c, mf-runtime.c, mf-heuristics.c: 633169695Skan Added libgcc license header. 634169695Skan * mf-hooks3.c (__mf_0fn_pthread_create): Correct arg constness. 635169695Skan (pthread_create): Simplify stack allocation syntax. 636169695Skan 637169695Skan2004-03-08 Loren J. Rittle <ljrittle@acm.org> 638169695Skan 639169695Skan * mf-hooks2.c: Support FreeBSD. 640169695Skan (WRAP_gets): Avoid gets(). 641169695Skan * testsuite/libmudflap.c/pass-stratcliff.c: Do not 642169695Skan test unimplemented mem/str calls on FreeBSD. 643169695Skan * testsuite/libmudflap.c/pass21-frag.c: Do not include 644169695Skan <alloca.h> on FreeBSD. 645169695Skan 646169695Skan2004-01-30 Frank Ch. Eigler <fche@redhat.com> 647169695Skan 648169695Skan * testsuite/libmudflap.c/pass36-frag.c: Add missing free() call. 649169695Skan * testsuite/libmudflap.c/pass46-frag.c: New test for -fmudflapir. 650169695Skan * testsuite/libmudflap.cth/cthfrags.exp: Add -DSTATIC to compiler 651169695Skan flags for static linking permutation. 652169695Skan * testsuite/libmudflap.cth/pass40-frag.c: When -DSTATIC, avoid 653169695Skan some pthreads code that croaks on linux glibc tls. 654169695Skan 655169695Skan2004-01-27 Frank Ch. Eigler <fche@redhat.com> 656169695Skan 657169695Skan * testsuite/libmudflap.c/fail31-frag.c, pass45-frag.c: New tests. 658169695Skan 659169695Skan2004-01-15 Frank Ch. Eigler <fche@redhat.com> 660169695Skan 661169695Skan * testsuite/libmudflap.c/pass44-frag.c: New test. 662169695Skan 663169695Skan2004-01-12 Frank Ch. Eigler <fche@redhat.com> 664169695Skan 665169695Skan * testsuite/libmudflap.c/fail{28,29,30}-frag.c: New tests. 666169695Skan 667169695Skan2004-01-08 Frank Ch. Eigler <fche@redhat.com> 668169695Skan 669169695Skan * testsuite/libmudflap.c/pass43-frag.c: Added missing program rc. 670169695Skan 671169695Skan2003-12-11 Frank Ch. Eigler <fche@redhat.com> 672169695Skan 673169695Skan * testsuite/libmudflap.c/pass42-frag.c, pass43-frag.c: New tests. 674169695Skan 675169695Skan2003-12-08 Andrew Pinski <pinskia@physics.uc.edu> 676169695Skan 677169695Skan PR libmudflap/12670 678169695Skan * configure.in: Add check for see if 679169695Skan socklen_t typedef is in sys/socket.h. 680169695Skan * mf-hooks1.c: Add define if socklen_t 681169695Skan is not typedef. 682169695Skan * mf-hooks2.c: Likewise. 683169695Skan * mf-hooks3.c: Likewise. 684169695Skan * config.h.in: Regen. 685169695Skan * configure: Regen. 686169695Skan 687169695Skan2003-12-08 Frank Ch. Eigler <fche@redhat.com> 688169695Skan 689169695Skan * mf-runtime.c (__mf_watch_or_not): Tweak tracing message. 690169695Skan * testsuite/libmudflap.c/fail21-frag.c: Defeat aliasing 691169695Skan optimizations. 692169695Skan * testsuite/libmudflap.c/pass25-frag.c: Ditto. 693169695Skan * testsuite/libmudflap.c/pass26-frag.c: Tolerate non-overlapping 694169695Skan (unoptimized) allocation of stack space. 695169695Skan 696169695Skan2003-12-07 Richard Henderson <rth@redhat.com> 697169695Skan 698169695Skan * testsuite/libmudflap.c/fail23-frag.c (main): Adjust addend to 11. 699169695Skan * testsuite/libmudflap.c/fail27-frag.c (foo): Mark noinline. 700169695Skan 701169695Skan2003-12-06 Andrew Pinski <apinski@apple.com> 702169695Skan 703169695Skan partial PR libmudflap/12670 704169695Skan * mf-hooks1.c: Respect Darwin checks. Conditionalize POSIX_SOURCE. 705169695Skan * mf-hooks2.c: Likewise. 706169695Skan * mf-hooks3.c: Likewise. 707169695Skan 708169695Skan2003-11-19 Frank Ch. Eigler <fche@redhat.com> 709169695Skan 710169695Skan libstdc++/11696 711169695Skan * mf-runtime.h.in: Switch to #pragma redefine_extname for 712169695Skan symbols interposed at compile time. 713169695Skan * testsuite/libmudflap.c++/pass41-frag.cxx: New test. 714169695Skan 715169695Skan libmudflap/12939 716169695Skan * mf-hooks2.c (semctl): Tolerate FreeBSD. 717169695Skan 718169695Skan * configure.in: Reorganize check for <pthread.h>. 719169695Skan * configure: Regenerated. 720169695Skan 721169695Skan2003-11-04 David Edelsohn <edelsohn@gnu.org> 722169695Skan 723169695Skan * mf-runtime.c (_ALL_SOURCE): Define for AIX. 724169695Skan (_LARGE_FILE_API): Define for AIX. 725169695Skan * mf-hooks[123]: Same. 726169695Skan (_XOPEN_SOURCE_EXTENDED): Define to 1 for AIX. 727169695Skan 728169695Skan2003-10-21 David Edelsohn <edelsohn@gnu.org> 729169695Skan 730169695Skan * mf-runtime.c (_XOPEN_SOURCE_EXTENDED): Define to 1 for AIX. 731169695Skan 732169695Skan2003-07-29 Frank Ch. Eigler <fche@redhat.com> 733169695Skan 734169695Skan 2003-07-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 735169695Skan 736169695Skan * configure.in: Update check for union semun. 737169695Skan 738169695Skan2003-07-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 739169695Skan 740169695Skan PR other/11673 741169695Skan * mf-hooks2.c [WRAP_semctl]: Fix check for HAVE_UNION_SEMUN. 742169695Skan 743169695Skan2003-07-29 Frank Ch. Eigler <fche@redhat.com> 744169695Skan 745169695Skan PR other/11673 746169695Skan * configure.in: Add checks for 64-bit LFS functions, struct semun 747169695Skan definition, for BSD compatibility. 748169695Skan * mf-hooks1.c: Respect BSD checks. Conditionalize POSIX_SOURCE. 749169695Skan * mf-hooks2.c: Ditto. Include <strings.h> for bcmp* decls. 750169695Skan * mf-hooks3.c: Ditto. 751169695Skan (pthread_create): Try MAP_ANON on platforms without the MAP_ANONYMOUS 752169695Skan mmap flag. 753169695Skan * configure, config.h.in: Regenerated. 754169695Skan 755169695Skan2003-07-23 Frank Ch. Eigler <fche@redhat.com> 756169695Skan 757169695Skan Multithreading fixes: 758169695Skan * mf-runtime.c (__mf_object): Store allocating/deallocating 759169695Skan thread id. 760169695Skan (options): Support new "-thread-stack" option. 761169695Skan Rename "-heur-argv-environ" option to "-heur-stdlib". 762169695Skan Disable "-lc-mask" and "-lc-shift" options. 763169695Skan (__mf_dynamic): Add function pointers for pthread_join/_exit. 764169695Skan (__assert_fail): New self-contained function for glibc. 765169695Skan * mf-hooks3.c: Essentially rewritten, particularly related to 766169695Skan use of __mf_pthread_info array. 767169695Skan (pthread_join, _exit): New hook functions. 768169695Skan * mf-impl.h (BEGIN_PROTECT): Handle starting_p case. 769169695Skan * testsuite/libmudflap.cth/pass40-frag.c: New test. 770169695Skan 771169695Skan Warning cleanups: 772169695Skan * mf-heuristics.c: Add type casts for tracing, sub calls. 773169695Skan * mf-impl.h (BEGIN_PROTECT): Redefine to omit result type. 774169695Skan Update all callers to declare explicit result holder. 775169695Skan (END_PROTECT): Removed. 776169695Skan * testsuite/*/*frags.exp: Clean up default MUDFLAP_OPTIONS. 777169695Skan 778169695Skan2003-07-15 Diego Novillo <dnovillo@redhat.com> 779169695Skan 780169695Skan * testsuite/libmudflap.c/fail21-frag.c: Add volatile modifiers. 781169695Skan * testsuite/libmudflap.c/fail15-frag.c: Likewise. 782169695Skan * testsuite/libmudflap.c/fail13-frag.c: Likewise. 783169695Skan 784169695Skan2003-07-04 Frank Ch. Eigler <fche@redhat.com> 785169695Skan 786169695Skan * mf-hooks1.c, 2.c, 3.c: New file, splits up content from old ... 787169695Skan * mf-hooks: Removed. 788169695Skan * mf-impl.h (MF_VALIDATE_EXTENT, BEGIN_PROTECT, END_PROTECT): 789169695Skan Move these macros from old mf-hooks.c here. 790169695Skan * Makefile.am: Adapt to split-up hook sources for faster builds. 791169695Skan * Makefile.in: Regenerated. 792169695Skan 793169695Skan * mf-heuristics.c: Remove #if-0 block. 794169695Skan 795169695Skan * mf-impl.h (__mf_state): Reorganize declaration and implementation. 796169695Skan (__mf_starting_p): New state only for use while dlsym bootstrapping. 797169695Skan (CALL_REAL, __mf_init): Corresponding changes. 798169695Skan (TRACE, VERBOSE_TRACE): Include thread id and "mf:" prefix. Update 799169695Skan all callers to remove redundant "mf:" prefix. 800169695Skan * mf-runtime.h.in: #define a few reentrancy macros for libmudflapth. 801169695Skan * mf-hooks3.c: Rewrite chunks to support per-thread __mf_state value. 802169695Skan (__mf_pthread_info): Become a hash table. 803169695Skan 804169695Skan * testsuite/lib/mfdg.exp: Support new "dg-timeout" and 805169695Skan "dg-repetitions" directives to control test case execution. 806169695Skan * testsuite/libmudflap.cth/pass37-frag.c: Add timeout and repeat 807169695Skan options. 808169695Skan * testsuite/libmudflap.cth/pass39-frag.c: Ditto for this new test. 809169695Skan 810169695Skan2003-06-25 Frank Ch. Eigler <fche@redhat.com> 811169695Skan 812169695Skan * mf-hooks.c (alloca): Separate into stub. 813169695Skan (__mf_wrap_alloca_indirect): New function. Use CALL_REAL 814169695Skan malloc/free for alloca blocks. 815169695Skan (pthread_create): Tolerate failing pthread_attr_get* calls. 816169695Skan * mf-runtime.c (__mf_fini): Call __mf_wrap_alloca_indirect. 817169695Skan * mf-impl.h (CALL_WRAP): Remove macro. 818169695Skan * testsuite/libmudflap.c/pass21-frag.c: Include <alloca.h>. 819169695Skan * testsuite/libmudflap.c/pass23-frag.c: Include more struct 820169695Skan padding for ia64 BIT_FIELD_REF constructs. 821169695Skan 822169695Skan2003-06-19 Frank Ch. Eigler <fche@redhat.com> 823169695Skan 824169695Skan * mf-hooks.c (struct pthread_info): Add "thread_errno" field. 825169695Skan (__mf_pthread_spawner, __mf_pthread_cleanup): Use it with GUESS 826169695Skan libmudflap object type. 827169695Skan * mf-runtime.c (__mfu_unregister): Correct cemetary logic to avoid 828169695Skan crashes on unregistering STATIC objects. 829169695Skan 830169695Skan2003-06-17 Frank Ch. Eigler <fche@redhat.com> 831169695Skan 832169695Skan Based on patch from Eyal Lebedinsky <eyal@eyal.emu.id.au>: 833169695Skan * mf-hooks.c (__mf_pthread_spawner): Register thread errno. 834169695Skan (time, strerror, fopen, fopen64, fclose, fread): New hooks. 835169695Skan (fwrite, fgetc, fgets, getc, gets, ungetc, fputc): New hooks. 836169695Skan (fputs, putc, puts, clearerr, feof, ferror, fileno): New hooks. 837169695Skan (printf, fprintf, sprintf, snprintf, vprintf, vfprintf): New hooks. 838169695Skan (vsprintf, vsnprintf, access, remove, fflush, fseek): New hooks. 839169695Skan (fseeko64, ftell, ftello64, rewind, fgetpos, fsetpos): New hooks. 840169695Skan (stat, stat64, fstat, lstat, mkfifo, setvbuf, setbuf): New hooks. 841169695Skan (setvbuf, opendir, closedir, readdir, recv, recvfrom): New hooks. 842169695Skan (recvmsg, send, sendto, sendmsg, setsockopt, getsockopt): New hooks. 843169695Skan (accept, bind, connect, gethostname, sethostname): New hooks. 844169695Skan (gethostbyname, wait, waitpid, popen, pclose, execve): New hooks. 845169695Skan (execv, execvp, system, dlopen, dlclose, dlerror, dlsym): New hooks. 846169695Skan (semop, semctl, shmctl, shmat, shmdt): New hooks. 847169695Skan * mf-runtime.h.in: Corresponding changes. 848169695Skan * mf-runtime.c (__mf_ini): Register stdio objects. Use STATIC type. 849169695Skan (opts) Rename heur_argv_environ to heur_std_data. 850169695Skan (__mf_wrap_main): Use STATIC type for argv/environ strings. 851169695Skan * Makefile.am: Corresponding changes. 852169695Skan * Makefile.in: Regenerated. 853169695Skan 854169695Skan2003-06-11 Frank Ch. Eigler <fche@redhat.com> 855169695Skan 856169695Skan * mf-heuristics.c (__mf_heuristic_check): Disable stack_bounds 857169695Skan heuristic for threaded case, and for non-x86-linux targets. 858169695Skan * mf-hooks.c (__mf_0fn_calloc): Provide a working dummy implementation 859169695Skan for use during pre-main() program startup. 860169695Skan (__mf_0fn_*): Make these functions non-static. 861169695Skan * mf-impl.h (DECLARE, CALL_REAL): Support calls to 0fn backup hook 862169695Skan functions. 863169695Skan * mf-runtime.c (__mf_state): Set initial state to "starting". 864169695Skan (__mf_resolve_single_dynamic): Tolerate repeated calls for same symbol. 865169695Skan (__wrap_main): New function to register argv[] and environ[] strings. 866169695Skan (__mf_ini): Call it. 867169695Skan (*): In all trace functions, use "%p" as formatter for uintptr_t. 868169695Skan 869169695Skan * testsuite/libmudflap.c/pass38-frag.c: New test case. 870169695Skan * testsuite/libmudflap.cth/pass37-frag.c: Improved test. 871169695Skan 872169695Skan * acinclude.m4: Add comments with aoliva's concerns about x86_64 873169695Skan pass_all. 874169695Skan * aclocal.m4, configure: Regenerated. 875169695Skan 876169695Skan2003-06-04 Frank Ch. Eigler <fche@redhat.com> 877169695Skan 878169695Skan * acinclude.m4: Correct typo in AC_MSG_CHECKING. 879169695Skan * aclocal.m4, configure: Regenerated. 880169695Skan 881169695Skan2003-06-03 Frank Ch. Eigler <fche@redhat.com> 882169695Skan 883169695Skan * acinclude.m4: Force "pass_all" deplibs_check_method for libtool 884169695Skan for x86_64 target. Disable caching for this value. 885169695Skan * aclocal.m4, configure: Regenerated. 886169695Skan 887169695Skan2003-06-02 Frank Ch. Eigler <fche@redhat.com> 888169695Skan 889169695Skan * testsuite/libmudflap.c/pass38-frag.c: Deleted. -fwritable-strings 890169695Skan is about to become deprecated, and its present handling bugs are 891169695Skan unworthy of fixing. 892169695Skan 893169695Skan2003-05-30 Frank Ch. Eigler <fche@redhat.com> 894169695Skan 895169695Skan * testsuite/libmudflap.c/pass38-frag.c: New test for 896169695Skan -fwritable-strings. 897169695Skan 898169695Skan2003-05-23 Frank Ch. Eigler <fche@redhat.com> 899169695Skan 900169695Skan * mf-runtime.c (__mf_sigusr1_handle): Call unlocked variant of 901169695Skan __mf_report, asserting reentrant calling context. 902169695Skan 903169695Skan2003-05-23 Frank Ch. Eigler <fche@redhat.com> 904169695Skan 905169695Skan * mf-hooks.c (realloc): Correct reentrancy logic. 906169695Skan * testsuite/libmudflap.c/hook-allocstuff.c: New test case. 907169695Skan 908169695Skan2003-05-20 Frank Ch. Eigler <fche@redhat.com> 909169695Skan 910169695Skan * mf-hooks.c (LIBMUDFLAPTH_THREADS_MAX): New macro, replaces 911169695Skan PTHREAD_THREADS_MAX. Update users. 912169695Skan * mf-runtime.c (__mf_usage): Print [active] instead of [default] 913169695Skan for active options. 914169695Skan * testsuite/Makefile.am (all-local): Prime dejagnu site.exp file 915169695Skan with libmudflapth presence indicator. 916169695Skan * testsuite/Makefile.in: Regenerated. 917169695Skan 918169695Skan2003-05-16 Frank Ch. Eigler <fche@redhat.com> 919169695Skan 920169695Skan * Makefile.am (AM_CFLAGS): Remove "-ansi". 921169695Skan * configure.in: Remove silly no-pthreads => no-shared logic. 922169695Skan * Makefile.in, configure: Regenerated. 923169695Skan * mf-heuristics.c (__mf_heuristic_check): Remove reentrancy hacks. 924169695Skan * mf-hooks.c (BEGIN_PROTECT, END_PROTECT): Reorganize reentrancy 925169695Skan code. Count reentrancy events. 926169695Skan (all hook functions): Don't directly manipulate __mf_state variable. 927169695Skan Add TRACE calls to hook functions without them. 928169695Skan * mf-impl.h (LOCKTH): Try to count lock contention events. 929169695Skan (VERBOSE_TRACE, TRACE): Remove reentrancy hacks. 930169695Skan * mf-runtime.c (BEGIN_RECURSION_PROTECT, END_RECURSION_PROTECT): 931169695Skan Reorganize reentrancy code. 932169695Skan (external __mf_ entry points): Use RECURSION_PROTECT mechanism to 933169695Skan identify reentrancy with mutex holding times. 934169695Skan (internal __mfu_ entry points): Remove internal reentrancy code. 935169695Skan (__mf_init): Use ordinary locked calls. 936169695Skan (__mfu_report): Print the two new counts. 937169695Skan * testsuite/lib/libmudflap.exp: Filter out junk ld/pthreads messages. 938169695Skan * testsuite/libmudfap.cth/cthfrags.exp: New test driver. 939169695Skan * testsuite/libmudflap.cth/pass37-frag.c: New pthreads test. 940169695Skan * testsuite/libmudfap.cth/cfrags.exp: Adapt to new libmudflap 941169695Skan option defaults. 942169695Skan 943169695Skan2003-05-09 Frank Ch. Eigler <fche@redhat.com> 944169695Skan 945169695Skan * configure.in: Add pthread support, plus glibc and porting hacks. 946169695Skan * Makefile.am (LIBMUDFLAPTH): New conditional, to build -lmudflapth 947169695Skan from objects built into ./pth/. 948169695Skan * mf-runtime.c (__mfu_watch,register,...): Fork new unlocked 949169695Skan functions for internal entry points. Update callers to pick 950169695Skan locked vs. unlocked variants. 951169695Skan (__mf_resolve_single_dynamic): Extend to support symbol versioning 952169695Skan info coming in from a static data structure. 953169695Skan (*): Reorder miscellaneous declarations to group data vs functions. 954169695Skan (__mf_set_default_options): Simplify. 955169695Skan (__mf_usage): Mention threading status of host executable. 956169695Skan * mf-impl.h: Move max/min decls here. Reorganize __mf_dynamic 957169695Skan decls to match above. 958169695Skan (LOCKTH, UNLOCKTH): New macros for Big Libmudflap Lock management. 959169695Skan * mf-heuristics.c: Choose between locked/unlocked calls. Add 960169695Skan some lock/unlock markers. Remove some unused code. 961169695Skan * mf-hooks: Ditto. 962169695Skan (pthread_create): New hook function. 963169695Skan (__mf_pthread_cleanup, _spawner): New helper functions. 964169695Skan * configure. aclocal.m4, config.h.in, Makefile.in: Regenerated. 965169695Skan 966169695Skan2003-05-02 Frank Ch. Eigler <fche@redhat.com> 967169695Skan 968169695Skan * testsuite/libmudflap.c/fail27-frag.c: Add more volatile flags. 969169695Skan 970169695Skan2002-04-28 Frank Ch. Eigler <fche@redhat.com> 971169695Skan 972169695Skan * Makefile.am (HOOKOBJS): Add *time related hooks. 973169695Skan * configure.in: Look for pthreads.h header. 974169695Skan * mf-hooks.c (asctime, ctime, gmtime, localtime): New wrappers. 975169695Skan * mf-runtime.c: Begin sketching some pthreads support. 976169695Skan (__mf_usage): Check for -lpthread presence. 977169695Skan (__mf_unregister): Confirm matching unregistration base. 978169695Skan (__mf_find_objects_rec): Reduce unnecessary recursion. 979169695Skan * mf-runtime.h.in: Add "nothrow" attribute to functions. Add 980169695Skan #defines for new hook functions. 981169695Skan * mf-impl.h: Corresponding changes. 982169695Skan * config.h.in, configure, Makefile.in: Regenerated. 983169695Skan 984169695Skan2002-04-27 Diego Novillo <dnovillo@redhat.com> 985169695Skan 986169695Skan * testsuite/libmudflap.c/fail1-frag.c: Add volatile 987169695Skan modifiers to prevent being optimized away. 988169695Skan * testsuite/libmudflap.c/fail10-frag.c: Likewise. 989169695Skan * testsuite/libmudflap.c/fail13-frag.c: Likewise. 990169695Skan * testsuite/libmudflap.c/fail14-frag.c: Likewise. 991169695Skan * testsuite/libmudflap.c/fail15-frag.c: Likewise. 992169695Skan * testsuite/libmudflap.c/fail2-frag.c: Likewise. 993169695Skan * testsuite/libmudflap.c/fail20-frag.c: Likewise. 994169695Skan * testsuite/libmudflap.c/fail3-frag.c: Likewise. 995169695Skan 996169695Skan2003-04-15 Frank Ch. Eigler <fche@redhat.com> 997169695Skan 998169695Skan * Makefile.am (libmudflap_la_LIBADD): Remove -ldl. 999169695Skan * configure.in: Look for uintptr_t and -ldl on target. 1000169695Skan * mf-runtime.h.in: Adjust uintptr_t declaration logic. 1001169695Skan * Makefile.in, aclocal.m4, configure, config.h.in: Regenerated. 1002169695Skan * testsuite/Makefile.in: Regenerated. 1003169695Skan * mf-runtime.c (__mf_sigusr1_respond): Tweak declaration and calls 1004169695Skan for better C compliance. 1005169695Skan 1006169695Skan2003-04-15 Frank Ch. Eigler <fche@redhat.com> 1007169695Skan 1008169695Skan * mf-hooks.c (MF_VALIDATE_EXTENT): Remove unnecessary reentrancy 1009169695Skan prevention code. 1010169695Skan * mf-runtime.c (__mf_set_default_options): Turn off 1011169695Skan check-initialization. 1012169695Skan (__mf_describe_object): Shorten description. 1013169695Skan * testsuite/libmudflap.c/fail25-frag.c: Turn on check-initialization. 1014169695Skan 1015169695Skan2003-04-07 Frank Ch. Eigler <fche@redhat.com> 1016169695Skan 1017169695Skan * mf-hooks.c (__mf_0fn_mmap): Correct return value, as per <rth>. 1018169695Skan 1019169695Skan2003-04-02 Frank Ch. Eigler <fche@redhat.com> 1020169695Skan 1021169695Skan * mf-hooks.c (BEGIN_PROTECT): Handle startup-time reentrant 1022169695Skan calls specially. 1023169695Skan (__mf_0fn_malloc ... _munmap): New dummy backup calls. 1024169695Skan * mf-impl.h (CALL_BACKUP): New macros. 1025169695Skan * mf-runtime.c (__mf_init): Tweak __mf_state during startup. 1026169695Skan 1027169695Skan2003-03-31 Frank Ch. Eigler <fche@redhat.com> 1028169695Skan 1029169695Skan * Makefile.am (AM_CFLAGS): Remove optimization flags. 1030169695Skan (HOOKOBJS): Remove dlopen hook. 1031169695Skan (libmudflap_la_LIBADD): Add -ldl. 1032169695Skan * mf-hooks.c (dlopen): Remove hook. 1033169695Skan * mf-impl.h (__mf_dynamic): Ditto. 1034169695Skan * mf-runtime.c (__mf_resolve_dynamics): Ditto. 1035169695Skan * Makefile.in: Regenerated. 1036169695Skan 1037169695Skan2003-03-28 Frank Ch. Eigler <fche@redhat.com> 1038169695Skan 1039169695Skan * configure.in: Check for target gettimeofday, signal, some headers. 1040169695Skan * mf-impl.h (__mf_opts): Add new "sigusr1_report" field. Comment 1041169695Skan out inop multi_threaded field. 1042169695Skan * mf-runtime.c (options): Handle new "-sigusr1-report" option. 1043169695Skan (__mf_set_options): Correct handling of "-help". 1044169695Skan (__mf_sigusr1_respond): New function to manage SIGUSR1 response. 1045169695Skan (__mf_check, __mf_register, __mf_unregister): Call it. 1046169695Skan (__mf_insert_new_object, __mf_unregister): Respect HAVE_GETTIMEOFDAY. 1047169695Skan (__mf_report_leaks): Make callable 1048169695Skan (__mf_tree_analyze): Traverse in-order. Accumulate address bit 1049169695Skan distribution statistics. 1050169695Skan (__mf_adapt_cache): Rewrite shift guessing logic based on address 1051169695Skan bit distributions. 1052169695Skan * config.h.in, configure: Regenerated. 1053169695Skan * testsuite/libmudflap.c/fail27-frag.c: New test. 1054169695Skan * testsuite/libmudflap.c/pass36-frag.c: New test. 1055169695Skan 1056169695Skan2003-03-11 Frank Ch. Eigler <fche@redhat.com> 1057169695Skan 1058169695Skan * mf-runtime.h.in: Tweak. 1059169695Skan * Makefile.am, configure.in: Tweak mf-runtime.h generation some more. 1060169695Skan Don't use intermediate files nor AC_OUTPUT-time postprocessing. 1061169695Skan * Makefile.in, testsuite/Makefile.in, configure: Regenerated. 1062169695Skan 1063169695Skan2003-03-10 Frank Ch. Eigler <fche@redhat.com> 1064169695Skan 1065169695Skan * configure.in: Tweak generation of mf-runtime.h some more. It 1066169695Skan needs to work from both config.status and configure. 1067169695Skan * configure: Regenerated. 1068169695Skan 1069169695Skan2003-03-10 Frank Ch. Eigler <fche@redhat.com> 1070169695Skan 1071169695Skan * Makefile.am: Reorganize hook file building. Add auto dependencies. 1072169695Skan * configure.in: Tweak generation of mf-runtime.h. 1073169695Skan * mf-runtime.h.in: Add new __MF_TYPE_HEAP_I. 1074169695Skan * mf-hooks.c (*): Adapt to initialized-heap object type. 1075169695Skan * mf-impl.h: Tweak cemetary boundaries. 1076169695Skan * mf-runtime.c (__mf_check): Adapt to new initialized-heap object 1077169695Skan type. 1078169695Skan (__mf_insert_new_object, __mf_register, __mf_unregister): Ditto. 1079169695Skan (__mf_describe_object, __mf_report_leaks, __mf_violation): Ditto. 1080169695Skan * testsuite/lib/libmudflap.exp (includes): Include build tree. 1081169695Skan * testsuite/libmudflap.c/pass{26,5}: Further adapt to initialization 1082169695Skan checking. 1083169695Skan * testsuite/.../fail{25,26}-frag.c: New tests. 1084169695Skan * testsuite/.../pass{32,33,34,35}-frag.c: New tests. 1085169695Skan * Makefile.in, configure: Regenerated. 1086169695Skan 1087169695Skan2003-03-05 Frank Ch. Eigler <fche@redhat.com> 1088169695Skan 1089169695Skan * mf-runtime.c (__mf_set_default_options): Turn on initialization 1090169695Skan checking by default. 1091169695Skan (__mf_insert_new_object): As a temporary hack, assume that new 1092169695Skan objects registered on the stack start out initialized. 1093169695Skan * testsuite/libmudflap.c/fail9,pass23,pass[6789]-*: Initialize 1094169695Skan heap objects by hand. 1095169695Skan 1096169695Skan2003-03-05 Frank Ch. Eigler <fche@redhat.com> 1097169695Skan 1098169695Skan Switch to macro-style hooks for str*/mem*/b* functions. 1099169695Skan * mf-runtime.h.in (__MF_TYPE_*): Moved some internal values out. 1100169695Skan (mem*, str*, b*): Added macro-style hooks for _MUDFLAP case. 1101169695Skan * mf-runtime.c: #include config.h to enable glibc backtraces again. 1102169695Skan (__mf_set_default_options): Turn off heur_proc_map. 1103169695Skan (*): Adapt to to macro-style hook functions. 1104169695Skan (__mf_object_dead_head, __mf_object_cemetary): Correct bounds. 1105169695Skan (__mf_check, __mf_register, __mf_unregister): Tweak tracing message. 1106169695Skan (__mf_violation): Handle __MF_VIOL_WATCH. 1107169695Skan * mf-impl.h (__MF_TYPE_*): Moved these internal values here. 1108169695Skan (__mf_dynamic): Removed mem*/str*/b* functions. 1109169695Skan (TRACE, VERBOSE_TRACE): Add reentrancy locking. 1110169695Skan (WRAPPER2): New macro for macro-style hooks. 1111169695Skan * mf-hooks.c: Convert mem*/str*/b* functions to simpler 1112169695Skan macro-style hooks. 1113169695Skan (BEGIN_PROTECT): Tweak tracing vs reentrancy-lock ordering. 1114169695Skan * mf-heuristics.c: Adapt to macro-style hook functions. 1115169695Skan Correct some comments. 1116169695Skan * testsuite/lib/mfdg.exp (dg-test): Simplify result string for 1117169695Skan output pattern tests. 1118169695Skan * testsuite/libmudflap.c/fail[89]-frag.c: Elaborate output test. 1119169695Skan * testsuite/libmudflap.c++/c++frags.exp: Enable non-static tests. 1120169695Skan 1121169695Skan2003-02-28 Frank Ch. Eigler <fche@redhat.com> 1122169695Skan 1123169695Skan * testsuite/libmudflap.c/fail23-frag.c, pass30-frag.c: New tests 1124169695Skan for global array registration. 1125169695Skan * testsuite/libmudflap.c++/fail24-frag.cxx, pass31-frag.cxx: Ditto. 1126169695Skan * testsuite/libmudflap.c++/c++frags.exp: Tweak -static multilib hack. 1127169695Skan 1128169695Skan2003-02-27 Frank Ch. Eigler <fche@redhat.com> 1129169695Skan 1130169695Skan * Makefile.am: Add gross make bug workarounds. Tweaked 1131169695Skan SUBDIRS and AM_CFLAGS. 1132169695Skan * Makefile.in: Regenerated. 1133169695Skan 1134169695Skan2003-02-26 Frank Ch. Eigler <fche@redhat.com> 1135169695Skan 1136169695Skan Switch to dejagnu. 1137169695Skan * configure.in (AC_PROG_CXX): Don't look for C++ any more. 1138169695Skan * Makefile.am (TESTS): Remove simple automake testing. 1139169695Skan * configure, Makefile.in: Regenerated. 1140169695Skan (SUBDIRS): Include new testsuite/ directory. 1141169695Skan * tests/*: Removed all files; moved bulk under: 1142169695Skan * testsuite/*: New subdirectory tree. 1143169695Skan * testsuite/libmudflap.c/cfrags.exp: New file, C test driver. 1144169695Skan * testsuite/libmudflap.c++/c++frags.exp: New file, C++ test driver. 1145169695Skan * testsuite/lib/libmudflap.exp: New file, derived from libstdc++. 1146169695Skan * testsuite/lib/mfdg.exp: New file, derived from dejagnu. 1147169695Skan * testsuite/config/default.exp: New file. 1148169695Skan * testsuite/Makefile.am, Makefile.in: New files. 1149169695Skan 1150169695Skan2003-01-29 Frank Ch. Eigler <fche@redhat.com> 1151169695Skan 1152169695Skan * Makefile.am (TESTS_ENVIRONMENT): Remove redundant "-mode-check". 1153169695Skan (TESTS): Add fail22 and pass29 tests. 1154169695Skan * mf-runtime.h.in: Change API to take void*/size_t region parameters. 1155169695Skan Add new access-type parameter for __mf_check. Move __MF_VIOL* out. 1156169695Skan * mf-impl.h: Corresponding changes. Update CLAMP* macros for void* 1157169695Skan values. Move __MF_VIOL* here. 1158169695Skan * mf-runtime.c (*): Adapt to void*/size_t API in mf-runtime.h. 1159169695Skan (check_initialization): New field in __mf_opts. Default off. 1160169695Skan (read_count,write_count): New fields in __mf_object. 1161169695Skan (__mf_check): Implement basic initialization checking. 1162169695Skan (__mf_insert_new_object): Assume STATIC|GUESS regions are initialized. 1163169695Skan (__mf_describe_object): Print new fields. 1164169695Skan (__mf_violation): Identify check/read vs. check/write in messages. 1165169695Skan * test/pass29-frag.c, test/fail22-frag.c: Basic tests for new 1166169695Skan "-check-initialized" mudflap option. 1167169695Skan * test/pass25-frag.c, test/fail21-frag.c: Adapt to API changes. 1168169695Skan * mf-hooks.c (MF_VALIDATE_EXTENT): Add new access-type parameter. 1169169695Skan Drop __FILE__/__LINE__ hack. Update callers. 1170169695Skan (*): Adapt to new mf-runtime.h API. 1171169695Skan * Makefile.in: regenerated. 1172169695Skan 1173169695Skan2003-01-24 Frank Ch. Eigler <fche@redhat.com> 1174169695Skan 1175169695Skan * configure.in: Build mf-runtime.h a more proper way. 1176169695Skan * mf-hooks.c (strdup, strndup): Correct reentrancy logic. 1177169695Skan * mf-runtime.c (verbose_violations): Turn on by default. 1178169695Skan * mf-runtime.h.in: Remove some miscellaneous stuff ... 1179169695Skan * mf-impl.h: ... and move it here. 1180169695Skan * configure: Regenerated. 1181169695Skan 1182169695Skan2003-01-22 Frank Ch. Eigler <fche@redhat.com> 1183169695Skan 1184169695Skan * configure.in: Look for C++ compiler. 1185169695Skan * test/*-frag.c, mf-driver.c: Reformatted with GNU indent and 1186169695Skan fixed type warnings when built with C++. 1187169695Skan * test/pass27-frag.cxx, pass28-frag.cxx: New C++ tests. 1188169695Skan * Makefile.am (TESTS): Run them. 1189169695Skan (*) Add new rules for building and running C++ tests. 1190169695Skan (TESTFLAGS): Set new default to avoid libstdc++-v3 shlib issues. 1191169695Skan * mf-runtime.h.in: Protect with extern "C". 1192169695Skan * Makefile, configure: Regenerated. 1193169695Skan 1194169695Skan2003-01-06 Frank Ch. Eigler <fche@redhat.com> 1195169695Skan 1196169695Skan Portability improvements. 1197169695Skan * configure.in: Look for glibc backtrace headers/functions. 1198169695Skan * mf-hooks.c: Don't include <execinfo.h> any more. 1199169695Skan * mf-runtime.c (__mf_set_options): Call more stdlib functions 1200169695Skan via CALL_REAL. 1201169695Skan (__mf_backtrace): Provide alternate baby implementation in 1202169695Skan absence of glibc. 1203169695Skan * test/mf-driver.c: Portability tweaks. 1204169695Skan * acinclude.m4: New file, containing top level libtool.m4. 1205169695Skan * aclocal.m4, configure, Makefile.in, config.h.in: Regenerated. 1206169695Skan 1207169695Skan2002-12-19 Frank Ch. Eigler <fche@redhat.com> 1208169695Skan 1209169695Skan * mf-runtime.h.in (HAVE_UINTPTR_T): Define unconditionally. 1210169695Skan 1211169695Skan2002-11-08 Frank Ch. Eigler <fche@redhat.com> 1212169695Skan 1213169695Skan * mf-runtime.c (options): Add new "wipe-heap", "wipe-stack" 1214169695Skan options. 1215169695Skan (__mf_unregister): Implement stack/heap object wiping. 1216169695Skan (__mf_set_options): Renamed from __mf_process_opts. 1217169695Skan (__mf_uncache_object): Change arg type, correct callers. 1218169695Skan * mf-impl.h: Corresponding changes. 1219169695Skan * mf-hooks.c (realloc): Save/restore heap-wiping flag. 1220169695Skan * mf-runtime.h.in (__mf_set_options): Extend public API. 1221169695Skan * test/pass26-frag.c: New test for stack wiping. 1222169695Skan * Makefile.am (TESTS): Run it. 1223169695Skan * Makefile.in: Regenerated. 1224169695Skan 1225169695Skan2002-11-07 Frank Ch. Eigler <fche@redhat.com> 1226169695Skan 1227169695Skan * mf-runtime.h.in (__mf_watch, __mf_unwatch): Extend public API. 1228169695Skan * mf-runtime.c (__mf_object_t): Add watching_p field. 1229169695Skan (__mf_watch_or_not): New function to implement 1230169695Skan object watch flagging. 1231169695Skan (__mf_watch, __mf_unwatch): New wrappers for above. 1232169695Skan (__mf_check, __mf_describe_object): Handle objects with watching_p. 1233169695Skan (__mf_count_violation): Enlarge array. 1234169695Skan (__mf_uncache_object): Renamed from __mf_remove_old_object. Don't 1235169695Skan unlink object. Clear cache properly. 1236169695Skan (__mf_unregister): Unlink object explicitly before uncaching. 1237169695Skan * test/fail21-frag.c, pass25-frag.c: New tests. 1238169695Skan * Makefile.in, aclocal.m4: Regenerated. 1239169695Skan 1240169695Skan2002-11-05 Frank Ch. Eigler <fche@redhat.com> 1241169695Skan 1242169695Skan * test/fail20-frag.c: New test for NULL pointer dereferencing. 1243169695Skan * Makefile.am (TESTS): Add it. 1244169695Skan * test/pass-stratcliff.c: Add decls of stpcpy. 1245169695Skan * configure.in: Test for <stdint.h>. Generate mf-runtime.h in 1246169695Skan build tree from config.h and new file mf-runtime.h.in. 1247169695Skan * mf-runtime.h.in: Renamed from mf-runtime.h. Tweak uintptr_t decl. 1248169695Skan * Makefile.in, configure, config.h.in: Regenerated. 1249169695Skan * mf-hooks.c: Add #undef for wrapped glibc str*/mem* macros. 1250169695Skan * mf-runtime.c (options, __mf_set_default_options): Support new 1251169695Skan default "abbreviate" option. 1252169695Skan (__mf_object.description_epoch): New field. 1253169695Skan (__mf_describe_object): Conditionally abbreviate objects already 1254169695Skan displayed in current epoch. Accept NULL input to increment epoch. 1255169695Skan (__mf_fini, __mf_ini): Reset description epoch. 1256169695Skan (__mf_register, __mf_unregister, __mf_adapt_cache, __mf_init): Ensure 1257169695Skan that NULL pointer slot in lookup cache is invalidated. Register a 1258169695Skan NOACCESS region around NULL. 1259169695Skan * mf-impl.h: Corresponding changes. 1260169695Skan 1261169695Skan2002-10-16 Frank Ch. Eigler <fche@redhat.com> 1262169695Skan 1263169695Skan * test/fail19-frag.c, pass24-frag.c, pass-stratcliff.c: New tests. 1264169695Skan * Makefile.am: Run them. Install mf-runtime.h. 1265169695Skan * Makefile.in: Regenerated. 1266169695Skan * mf-hooks.c: Add some markers for more missing functions. 1267169695Skan * mf-runtime.c (__mf_adapt_cache): Experiment with a utilization-based 1268169695Skan statistic to tune tune cache size (mask). 1269169695Skan 1270169695Skan2002-10-01 Frank Ch. Eigler <fche@redhat.com> 1271169695Skan 1272169695Skan * test/pass23-frag.c: New test for bit_field_ref expressions. 1273169695Skan * Makefile.am, Makefile.in: Add new test. 1274169695Skan * mf-hooks.c (mmap, munmap): Rewrite to track individual pages. 1275169695Skan (MF_VALIDATE_EXTENT): Accept zero-size mem/str operations. 1276169695Skan * mf-runtime.c (__mf_init): Register errno global. 1277169695Skan (__mf_find_object): Removed function. 1278169695Skan (__mf_check): Rewrite logic to support accesses across some 1279169695Skan contiguous but distinctly registered objects. 1280169695Skan (__mf_remove_old_object): Tolerate cache entries that span 1281169695Skan contiguous objects. 1282169695Skan 1283169695Skan2002-09-30 Frank Ch. Eigler <fche@redhat.com> 1284169695Skan 1285169695Skan * test/pass21-frag.c, pass22-frag.c: New tests: alloca, bitfields. 1286169695Skan * Makefile.am, Makefile.in: Run new tests. 1287169695Skan * mf-hooks.c (alloca): Correct stack direction logic. 1288169695Skan 1289169695Skan2002-09-26 Frank Ch. Eigler <fche@redhat.com> 1290169695Skan 1291169695Skan * mf-impl.h (adapt_cache): New option. 1292169695Skan * mf-runtime.c (__mf_set_default_options): Set its default value. 1293169695Skan Tweak the tree_aging parameter down. 1294169695Skan (__mf_check): Maintain separate counter for cache-adaptation. 1295169695Skan (__mf_tree_analyze): New function to collect object tree stats. 1296169695Skan (__mf_adapt_cache): New function to automate cache parameters. 1297169695Skan 1298169695Skan2002-09-24 Frank Ch. Eigler <fche@redhat.com> 1299169695Skan 1300169695Skan * mf-heuristics.c (__init_misc, __mf_heuristic_check): Add 1301169695Skan hypothetical #if-0'd argv/envp region registration. 1302169695Skan * mf-runtime.c (__mf_init): Add kludged form of above. 1303169695Skan (*) Add "heur_argv_environ" flag, default on, to govern this. 1304169695Skan * mf-impl.h: Corresponding changes. 1305169695Skan 1306169695Skan2002-09-20 Frank Ch. Eigler <fche@redhat.com> 1307169695Skan 1308169695Skan * test/fail18-frag.c: New test file for NOACCESS regions. 1309169695Skan * Makefile.am (TESTS): Add new test. 1310169695Skan * Makefile.in: Regenerated. 1311169695Skan 1312169695Skan * mf-heuristics.c (__mf_heuristics_check): Correct deja_vu logic. 1313169695Skan * mf-impl.h (tree_aging): Add new mudflap_option, default 1000000. 1314169695Skan (optimize_object_tree): Remove unused mudflap_option. 1315169695Skan * mf-runtime.h (__MF_TYPE_NOACCESS): New region type. Add printing 1316169695Skan support throughout. Use .._MAX_CEM for cemetary upper bound. 1317169695Skan * mf-runtime.c (__mf_init): Register __mf_* globals as NOACCESS 1318169695Skan regions. 1319169695Skan (__mf_object): Add new liveness field for use by tree aging. 1320169695Skan (__mf_check): Trigger tree aging when needed. 1321169695Skan (__mf_age_tree): New function to decay liveness field. 1322169695Skan (__mf_find_objects_rec): Use liveness field to rotate tree. 1323169695Skan (__mf_insert_new_object): Only provide backtrace for HEAP objects. 1324169695Skan (__mf_unregister): Ditto. 1325169695Skan (__mf_register): Tweak duplicate-static message. 1326169695Skan (__mf_violation: Tweak nearby-object counter printing. 1327169695Skan 1328169695Skan2002-09-16 Frank Ch. Eigler <fche@redhat.com> 1329169695Skan 1330169695Skan * test/pass20-frag.c: New test file. 1331169695Skan * Makefile.am (TESTS): Reorganize. Add pass20 test. 1332169695Skan * Makefile.in: Regenerated. 1333169695Skan 1334169695Skan * mf-impl.h (TRACE_IN, TRACE_OUT): Remove macros. Update callers. 1335169695Skan * mf-hooks.c (BEGIN_PROTECT): Add hook tracing here. 1336169695Skan * mf-heuristic.c (__mf_heuristic_check): Track seen /proc/self/map 1337169695Skan entries to avoid repeat registration. 1338169695Skan * mf-runtime.c (__mf_object_cemetary): Don't bother bury GUESS regions. 1339169695Skan (__mf_register, __mf_unregister): Rewrite GUESS handling logic. 1340169695Skan 1341169695Skan2002-09-09 Frank Ch. Eigler <fche@redhat.com> 1342169695Skan 1343169695Skan * Makefile.am: Create test sources with #include, not cat>>. 1344169695Skan * Makefile.in: Regenerated. 1345169695Skan * test/buildtest.sh: Removed. 1346169695Skan * test/driver.c (abort_handler, main): Be quiet. 1347169695Skan 1348169695Skan2002-09-06 Frank Ch. Eigler <fche@redhat.com> 1349169695Skan 1350169695Skan * test/pass18-frag.c, pass19-frag.c: New tests. 1351169695Skan * Makefile.am (check): Run them. Rebuild test programs each time. 1352169695Skan * Makefile.in: Regenerated. 1353169695Skan 1354169695Skan2002-09-06 Frank Ch. Eigler <fche@redhat.com> 1355169695Skan 1356169695Skan * mf-runtime.c (__mf_register): Correct SEGV-inducing error in 1357169695Skan overlapping object search. 1358169695Skan (__mf_violation): Likewise for nearby objects. 1359169695Skan Improve nearby-object listing. 1360169695Skan 1361169695Skan cleanup: 1362169695Skan * mf-runtime.c, mf-hooks.c: Remove "{{{"/"}}}" folding marks. 1363169695Skan * mf-heuristics.c (__mf_heuristic_check): Tweak message. 1364169695Skan 1365169695Skan2002-09-03 Frank Ch. Eigler <fche@redhat.com> 1366169695Skan 1367169695Skan alloca support: 1368169695Skan * Makefile.am (AM_CFLAGS): New definition of needed settings. 1369169695Skan (HOOKOBJS): Add alloca-hook.o. 1370169695Skan * mf-hooks.c (alloca): New function to implement alloca in libiberty 1371169695Skan style. 1372169695Skan * mf-runtime.c (__mf_report): Call alloca(0) to flush remaining blocks. 1373169695Skan (__mf_backtrace): Reimplement without using alloca. 1374169695Skan * Makefile.in: Regenerated. 1375169695Skan 1376169695Skan cleanup: 1377169695Skan * mf-hooks.c: Use VERBOSE_TRACE throughout instead of fprintf(stderr). 1378169695Skan Correct signedness bugs in length-tracking variables. 1379169695Skan * mf-impl.h: Make options unsigned. 1380169695Skan (CALL_WRAP): New macro to parallel CALL_REAL(). 1381169695Skan (DECLARE): Remove erroneous ";" at end. 1382169695Skan * mf-runtime.c, mf-hooks.c, mf-heuristics.c: Replace remaining %p 1383169695Skan formatting specs with %08lx. Correct several compiler warnings. 1384169695Skan 1385169695Skan2002-08-28 Frank Ch. Eigler <fche@redhat.com> 1386169695Skan 1387169695Skan * mf-runtime.c (__mf_violation): Try harder to locate nearby objects. 1388169695Skan 1389169695Skan2002-08-27 Frank Ch. Eigler <fche@redhat.com> 1390169695Skan 1391169695Skan libmudflap hook breakup: 1392169695Skan * Makefile.am (TESTS_ENVIRONMENT): Add ../../gcc to LD_LIBRARY_PATH 1393169695Skan for libgcc_s. 1394169695Skan (TESTS): Make dependent on libmudflap. 1395169695Skan (HOOKOBJS): Break up mf-hooks.o into many little hook objects, 1396169695Skan compiled from segments of mf-hooks.c. 1397169695Skan * mf-hooks.c: Corresponding changes: wrap each function in 1398169695Skan #ifdef/#endif. 1399169695Skan * Makefile.in: Regenerated. 1400169695Skan 1401169695Skan Heuristics reorganization: 1402169695Skan * mf-heuristics.c (__mf_register_ro_sections, __mf_init_heuristics): 1403169695Skan Remove these functions. Update callers. 1404169695Skan (__mf_heuristic_check): Incorporate all the various heuristics. 1405169695Skan Encode cacheability/retry judgement into trinary return value. 1406169695Skan Separate start-end logic into a separate fallback heuristic. Only 1407169695Skan register relevant /proc/self/map segments. 1408169695Skan * mf-impl.h: Corresponding changes. 1409169695Skan * mf-runtime.c (__mf_check): Reorganize heuristics fallback logic. 1410169695Skan (__mf_init): Don't call __mf_init_heuristics. 1411169695Skan 1412169695Skan Tracing cleanup: 1413169695Skan * mf-heuristics.c, mf-runtime.c: Use new MUDFLAP_OPTION 1414169695Skan "-verbose-trace" to emit all tracing messages other than those of 1415169695Skan basic public api. Eliminate some duplicate/excessive messages. 1416169695Skan * mf-runtime.h: Corresponding changes. 1417169695Skan 1418169695Skan2002-08-27 Graydon Hoare <graydon@redhat.com> 1419169695Skan 1420169695Skan * mf-impl.h (WRAPPER): Change to create linker aliases for __wrap 1421169695Skan and __real when compiled with -DPIC. 1422169695Skan * mf-hooks.c (WRAPPER): Change all uses of WRAPPER macro slightly. 1423169695Skan * Makefile.am (AUTOMAKE_OPTIONS): Fix LD_LIBRARY_PATH for tests. 1424169695Skan * Makefile.in: Regenerate. 1425169695Skan 1426169695Skan2002-08-26 Graydon Hoare <graydon@redhat.com> 1427169695Skan 1428169695Skan * mf-impl.h: New file, private implementation header. 1429169695Skan * mf-runtime.h: Reorganize a bit. 1430169695Skan (CLAMPSZ): Fix arithmetic. 1431169695Skan (__MF_CACHE_MISS_P): Fix arithmetic. 1432169695Skan * mf-runtime.c: Reorganize a bit. 1433169695Skan (__mf_dynamic): New structure. 1434169695Skan (resolve_single_dynamic): New function. 1435169695Skan (__mf_resolve_dynamics): New function. 1436169695Skan (__mf_init): Initialize dynamic wrappers. 1437169695Skan * mf-hooks.c: Macro-ize __real calls. 1438169695Skan Clamp various bits of arithmetic. 1439169695Skan Add explicit __mf_check call contexts. 1440169695Skan * Makefile.am: Add dependencies on mf-impl.h 1441169695Skan * Makefile.in: Regenerate. 1442169695Skan * configure.in: Comment out shared override. 1443169695Skan * configure: Regenerate. 1444169695Skan 1445169695Skan2002-08-22 Graydon Hoare <graydon@redhat.com> 1446169695Skan 1447169695Skan * mf-runtime.c (__mf_process_opts): Sanity-check free_queue_length. 1448169695Skan (__mf_check): Re-inialize and check heuristics before violation. 1449169695Skan (__mf_register): Permit updating pure-guess regions. 1450169695Skan * mf-hooks.c (__wrap_free): Correct some free queue logic. 1451169695Skan (__wrap_dlopen): New wrapper function. 1452169695Skan (__wrap_mmap): New wrapper function. 1453169695Skan (__wrap_munmap): New wrapper function. 1454169695Skan * mf-heuristics.c (__mf_register_ro_sections): Register *all* regions 1455169695Skan which are not stack addresses. 1456169695Skan (is_stack_address): New function. 1457169695Skan (__mf_init_heuristics): Save and restore state, always initialize with 1458169695Skan "starting" state. 1459169695Skan 1460169695Skan2002-08-21 Frank Ch. Eigler <fche@redhat.com> 1461169695Skan 1462169695Skan * mf-hooks.c (MF_VALIDATE_EXTENT): Rewrite to correct off-by-one 1463169695Skan error. Pass location string. 1464169695Skan (wrap_strcpy, wrap_strncpy): Remove extra %s in trace strings. 1465169695Skan * mf-runtime.c (options): Add lc-mask, lc-shift options. 1466169695Skan (__mf_process_opts): Apply some sanity checking for lc-mask. 1467169695Skan (__mf_check, __mf_violation): Take new location-string argument. 1468169695Skan Update callers to pass NULL if necessary. 1469169695Skan (__mf_backtrace): New smart backtracer function. Calls replace 1470169695Skan several ad-hoc blocks elsewhere. 1471169695Skan (__mf_describe_object): Remove bad reentrancy test. Improve 1472169695Skan tracing message. 1473169695Skan * mf-runtime.h: Corresponding changes. Public/private markup. 1474169695Skan (__MF_CACHE_MISS_P): New macro. 1475169695Skan 1476169695Skan2002-08-20 Graydon Hoare <graydon@redhat.com> 1477169695Skan 1478169695Skan * mf-runtime.h: New option: stack_bound (heuristic). 1479169695Skan Move some macros out of implementation files. 1480169695Skan * mf-runtime.c: New option string: -stack-bound. 1481169695Skan Unify recursion protection with hooks. 1482169695Skan Add more logging. 1483169695Skan (__mf_check): Call __mf_heuristic_check. 1484169695Skan (__mf_process_opts): Fix "no-" processing. 1485169695Skan * mf-heuristics.c (__mf_heuristic_check): New function. 1486169695Skan * mf-hooks.c: Much off-by-one fixing, recursion protection. 1487169695Skan 1488169695Skan2002-08-20 Frank Ch. Eigler <fche@redhat.com> 1489169695Skan 1490169695Skan Option parsing improvements, region splitting bug fixes: 1491169695Skan * mf-heuristics.c (__mf_register_ro_sections): Add warned casts. 1492169695Skan * mf-runtime.h (heur_proc_map): New libmudflap option. 1493169695Skan * mf-runtime.c (__mf_set_default_options): Set it. 1494169695Skan (__mf_usage): Print default values/status. 1495169695Skan (__mf_process_opts): Support general "no-" option string prefix. 1496169695Skan (__mf_init): Print __mf_usage on unknown-option error. 1497169695Skan (__mf_register): Print trace message up front. 1498169695Skan Correct region splitting logic for case where a subregion disappears. 1499169695Skan Correct memory leak. 1500169695Skan (__mf_violation): Make even basic message conditional on option. 1501169695Skan 1502169695Skan Build cleanup: 1503169695Skan * Makefile.am (TESTS_ENVIRONMENT): Add -no-heur-proc-map. 1504169695Skan (clean-local): New target. 1505169695Skan (test/*x rules): Add -g CFLAGS. 1506169695Skan (CFLAGS): Add -freorder-blocks. 1507169695Skan (MFCONFIG_CFLAGS, INCLUDE): Remove unneeded settings. 1508169695Skan * Makefile.in: Regenerated. 1509169695Skan * Makefile, mf-config.h: Removed files. 1510169695Skan 1511169695Skan2002-08-16 Graydon Hoare <graydon@redhat.com> 1512169695Skan 1513169695Skan * mf-runtime.c (__mf_insert_new_object): Factor out of 1514169695Skan __mf_register. 1515169695Skan (__mf_remove_old_object): Factor out of __mf_unregister. 1516169695Skan (__mf_register): Handle guessed regions, splitting 1517169695Skan guesses when new registrations arrive. 1518169695Skan (__mf_unregister): Do not unregister guesses. 1519169695Skan * mf-runtime.h: Move convenience macros around, 1520169695Skan declare new option fields. Add __MF_TYPE_GUESS. 1521169695Skan * mf-hooks.c (__wrap_*alloc): Use crumple zones. 1522169695Skan (__wrap_free): Call __real_free for deferred frees. 1523169695Skan * Makefile.am: Add more tests, fix dependency. 1524169695Skan * Makefile.in: Regenerate. 1525169695Skan * test/pass[13..17]-frag.c: New testcases. 1526169695Skan * test/fail[13..17]-frag.c: New testcases. 1527169695Skan 1528169695Skan2002-08-15 Graydon Hoare <graydon@redhat.com> 1529169695Skan 1530169695Skan * mf-heuristics.c: New file. 1531169695Skan * mf-runtime.c (options): Add -trace-calls option. 1532169695Skan (__mf_init): Call __mf_init_heuristics. 1533169695Skan 1534169695Skan2002-08-14 Graydon Hoare <graydon@redhat.com> 1535169695Skan 1536169695Skan * Makefile.am (TESTS): Add testsuite support. 1537169695Skan * Makefile.in: Regenerate. 1538169695Skan * test/mf-driver.c: New file. 1539169695Skan * test/buildtest.sh: New file. 1540169695Skan * test/passNN-frag.c: New testcases. 1541169695Skan * test/failNN-frag.c: New testcases. 1542169695Skan 1543169695Skan2002-08-14 Graydon Hoare <graydon@redhat.com> 1544169695Skan 1545169695Skan * mf-hooks.c: Change __real_strlen() to __real_strlen()+1 when 1546169695Skan verifying non-size-limited string extents. 1547169695Skan 1548169695Skan2002-08-14 Frank Ch. Eigler <fche@redhat.com> 1549169695Skan 1550169695Skan * mf-hooks.c: Make __wrap string* functions use __real_str[n]len 1551169695Skan instead of plain str[n]len for internal checks. 1552169695Skan * mf-runtime.c (__mf_violation): Print optional stack traceback. 1553169695Skan 1554169695Skan2002-08-14 Frank Ch. Eigler <fche@redhat.com> 1555169695Skan 1556169695Skan * mf-hooks.c: Remove #if-0 around hooks that are now ld-wrapped. 1557169695Skan 1558169695Skan2002-08-13 Graydon Hoare <graydon@redhat.com> 1559169695Skan 1560169695Skan * mf-runtime.c: Rework configuration to operate on 1561169695Skan environment variable options rather than #defines 1562169695Skan (__mf_violation): Add simple fork-a-gdb violaiton mode. 1563169695Skan (__mf_init): Set static __mf_active_p flag on startup, 1564169695Skan to inhibit mudflap wrap-based checking during crt0.s. 1565169695Skan * mf-runtime.h: Declare options structure. 1566169695Skan * mf-hooks.c: New wrappings for mem*, b*, str* 1567169695Skan libc functions (temporarily #if 0-ed out). 1568169695Skan 1569169695Skan2002-08-12 Frank Ch. Eigler <fche@redhat.com> 1570169695Skan 1571169695Skan * Makefile.am, configure.in: New files. 1572169695Skan * Makefile.in, Makefile, configure, config.h.in: New generated files. 1573169695Skan * stamp-h.in, aclocal.m4: Ditto. 1574169695Skan 1575169695Skan2002-08-08 Frank Ch. Eigler <fche@redhat.com> 1576169695Skan 1577169695Skan * Makefile: New file. 1578169695Skan * mf-config.h: New file: runtime configuration. 1579169695Skan * mf-hooks.c: New file: interposed libc functions. 1580169695Skan * mf-runtime.c: New file: bulk of runtime. 1581169695Skan * mf-runtime.h: New file: public functions. 1582