dwww Home | Show directory contents | Find package

2007-05-14  Gray Watson  <>

        * Removed some left-over references to the dmalloc.info file.
        Thanks Bernard.

        * Fixed some unsigned/signed issues in one of the dmalloc_t tests.
        Thanks Bernard.

        * Fixed problems with configure and SL_LINK_OBJS.  Thanks Bernard.

        * Releasing dmalloc version 5.5.2.

2007-03-25  Gray Watson  <>

        * Fixed some problems with str[n]dup argument checking.

        * Releasing dmalloc version 5.5.1.

2007-03-24  Gray Watson  <>

        * Fixed bug where LOG_PNT_SEEN_COUNT set to 0 caused segfault in
        dmalloc_examine.  dmalloc_t was also not handling the setting
        appropriated.

        * Fixed bug with the checking of the MAX_FILE_LENGTH. 

2007-03-23  Gray Watson  <>

        * Revamped the chunk.c tests for user_pnt space.  Added support
        for strnlen sizing.  Added better checking of non-exact user
        pointers.

        * Added dmalloc_verify_pnt_strsize to support strnlen size testing.

2007-03-22  Gray Watson  <>

        * Added missing DMALLOC_FUNC_CHECK routines: atoi, atol, memmove

        * Added a number of special checks for DMALLOC_FUNC_CHECK stuff.

        * Fixed all of the DMALLOC_FUNC_CHECK arguments thanks to Nickolai.

2007-03-12  Gray Watson  <>

        * Improved some documents after user feedback. Thanks Renny.

2007-02-08  Gray Watson  <>

        * Releasing dmalloc version 5.5.0.

2006-03-27  Gray Watson  <>

        * Fixed a problem with arg-check dmalloc code and check-fence.

2006-03-23  Gray Watson  <>

        * Fixed a section of the manual about Cygwin thanks to Pierre.

        * Fixed a problem with Cygwin env parsing.  Thanks to Pierre and
        others.

2005-12-21  Gray Watson  <>

        * Added a section on dumping core in the manual.

        * Added a number of regression tests for the arg-check code.

2005-12-19  Gray Watson  <>

        * Fixed some problems with function argument checking and length
        arguments.  The library was not handling strncmp correctly for
        example.

        * Added handling of strndup function.

        * Added overlapping memory check for memcpy if memmove exists.

        * Added __FILE__ and __LINE__ arguments to function checks.  Not
        sure why they weren't there earlier.

2005-12-18  Gray Watson  <>

        * Added patches to [hopefully] improve the building under Mac OSX.
        Thanks to Terry.

        * Added dmalloc_get_stats function to report on internal heap
        stats.  Thanks to Sam.

2005-12-17  Gray Watson  <>

        * Fixed a problem with the RPM .spec file.

2005-11-30  Gray Watson  <>

        * Fixed a problem with double free not reporting
        ERROR_ALREADY_FREE.  This was confusing.

2005-10-27  Gray Watson  <>

        * Made some changes to the docs to address the possible mmap
        issues.

        * Added better checking for mmap compatibility during autoconfig.

2005-10-15  Gray Watson  <>

        * Added a section to the startup docs about the .tgz file
        extension.

2005-07-26  Gray Watson  <>

        * Improved some of the startup docs and installed a new version of
        texi2html.  The old one was hiding the NOTE entries.

2005-06-05  Gray Watson  <>

        * Improved the usage output for dmalloc.  Thanks to murf.

        * Improved some of the error values to better identify internal
        dmalloc errors.

        * Fixed problem where if LARGEST_ALLOCATION is set to 0 the test
        program still checks it.  Whoops.  Thanks to sbied.

2005-03-18  Gray Watson  <>

        * Increased the basic block default to 32k.

        * Fixed some documentation.

        * Added better error code output in dmalloc_t.

        * Fixed the global Makefile to install libs as 755 not 644.

2005-01-11  Gray Watson  <>

        * Added some fixes for Compaq's C compiler, some include ordering
        fixes, and some C++ compiler defines.  Thanks Burl.

2004-12-03  Gray Watson  <>

        * Improved dmalloc_t to better detect and test a small heap area.

2004-10-19  Gray Watson  <>

        * Releasing dmalloc version 5.4.2.

        * Refined the definition of the 'alloc-blank' and 'free-blank'
        tags.  The 'alloc-blank' token clear various parts of the
        allocation block when it is allocated.  The 'free-blank' token
        clears a pointer when it is freed.

        * Also, the library was clearing the user spaces of an allocated
        chunk with the alloc-blank character and the non-user spaces with
        the free-blank character.  This seemed confusing and wrong so now
        all sections of an allocated chunk are cleared with the
        alloc-blank character.

        * Fixed a couple of longer standing stupid bugs via feedback from
        Philippe.  Thanks dude.

2004-10-12  Gray Watson  <>

        * Releasing dmalloc version 5.4.1.

        * Found and fixed a stupid little test bug so re-released as 5.4.1.

        * Releasing dmalloc version 5.4.0.

        * Added return.h support for ARM processors from Silvester Erdeg.

        * Improved the manual a bit.

2004-09-13  Gray Watson  <>

        * Made allocating zero size chunks the default.

2004-08-13  Gray Watson  <>

        * Fixed some missing ; and a int/unsigned-int bug from feedback
        from Joe Buehler.

        * Added return.h support for AIX 4.3 RS/6000 from Joe Buehler.

        * Added backwards compatibility (ugh) to %d for logfile name.

2004-07-10  Gray Watson  <>

        * Starting release of 5.4.0 with beta.

2004-07-09  Gray Watson  <>

        * Removed force-linear token because made invalid with mmap
        addition.

        * Removed the growing up testing and other restrictions for the
        heap because mmap made it invalid.  Drastically reduced the
        various up and down macros and associated testing.

        * Added mmap usage inside of the library.  Should it be the
        default?

2004-07-08  Gray Watson  <>

        * Removed auto-seeding of internal random with variable seed.
        This was creating random addresses for programs making it hard to
        debug.

2004-07-01  Gray Watson  <>

        * Added bigger and better debugging server section to the manual.

        * Added header/footer to online manual.

2004-06-29  Gray Watson  <>

        * Really improved the logging of error information about pointers.
        Better formats, added prev/next for fence post errors, etc..

2004-06-07  Gray Watson  <>

        * Added return.h support for ia64 machine type from Didier Remy.

2004-04-09  Gray Watson  <>

        * NOTE: next release I should increase the maximum source file
        length from 10k to 30k or something.

        * Fixed some typos in the docs and created a new gdb translate
        return-address section.  Thanks Luk.

2004-02-18  Gray Watson  <>

        * Fixed info install with feedback from Matt Fuller.  Thanks.

2004-01-31  Gray Watson  <>

        * Added compat and arg_checking of atoi, atol, and memmove.
        Thanks to Guy (guyresh) for pointing out the omissions.

        * Added arg checking to internal strdup functions.

        * Moved argv.c code to use loc_snprintf.

2004-01-28  Gray Watson  <>

        * Releasing dmalloc version 5.3.0.

        * Fixed a bad bug where calls to _dmalloc_chunk_pnt_check from the
        arg_check.c functions were not locking.  Ugh.  Thanks much to
        Guy (guyresh).

        * Added dmalloc_verify_pnt function for proper external pointer
        checking.

2004-01-14  Gray Watson  <>

        * Added a dmalloc_memory_allocated function to assist with the
        checking of the memory size start feature.

        * Added automatic checking of the start at file:line, iteration,
        and memory size features.

        * Added a --start-size argument to dmalloc to start the library
        checking the heap after we allocate a certain size of memory.
        Thanks to andyc_2k.

        * Added some more documentation about destructors.

        * Added a check-shutdown token and support to check the pointers
        heap when we shutdown the library.  Thanks to Charles for the
        idea.

2003-11-23  Gray Watson  <>

        * Added dmalloc_count_changed function plus tests.  Thanks to
        Brian O'Kelley.

2003-11-20  Gray Watson  <>

        * Added some more error code documentation.

        * Added ability to disable the LARGEST_ALLOCATION setting by
        defining it to be 0.

2003-11-18  Gray Watson  <>

        * Released dmalloc version 5.2.4.

        * Fixed bug with check-fence and check-funcs interaction.  Thanks
        to John Hetherington.

2003-11-17  Gray Watson  <>

        * Added support for rc shell.  Thanks to Michael Haardt.

        * Fixed a logfile NULL pointer printf.  Thanks to John
        Hetherington.

2003-10-17  Gray Watson  <>

        * Fleshed out the error code documentation.

2003-10-06  Gray Watson  <>

        * Fixed Makefile.in to properly refer to the documents directory.
        Whoops.  Thanks to Mike Castle.

2003-10-04  Gray Watson  <>

        * Improved the docs about alias creation and usage.

2003-10-01  Gray Watson  <>

        * Added testing for destructors in configure.

2003-09-29  Gray Watson  <>

        * Releasing dmalloc version 5.2.3.

2003-09-12  Gray Watson  <>

        * Added new GetEnvironmentVariableA Cygwin call.  Thanks to Rolf
        Banting.

2003-09-10  Gray Watson  <>

        * Added quick checks for the constructor attribute.

2003-09-09  Gray Watson  <>

        * Removed find_slot function in chunk.c since it was only used
        once.

2003-09-08  Gray Watson  <>

        * Changed the configure script to define the HAVE_... include
        defines to 0 or 1.  Thanks to Brian Schreder.

        * Removed usage of environ (duh) from dmalloc_argv.c.  Thanks to
        Brian Schreder.

        * Added better dmalloc.h processing.

2003-09-08  Gray Watson  <>

        * Releasing dmalloc version 5.2.2.

        * Added a Cygwin section to the manual.

        * Added GETENV_SAFE testing for Cygwin environments.

        * Added a new ERROR_NOT_START_BLOCK (30) errno for addresses which
        are within an allocation but not pointing to the start of the
        block.

        * Worked a bit more on the function pnt checking code after some
        more feedback from Richard Colley.

2003-09-06  Gray Watson  <>

        * Improved the pnt checking code to properly check free space
        below and above an allocation.  Added regression tests for this.

2003-09-05  Gray Watson  <>

        * Fixed possible lock leak in the shutdown code.  Thanks to TJ
        Saunders.

        * Fixed bug in function pnt checking code.  Not sure when this
        broke.  Thanks to Philippe Roger.

2003-08-04  Gray Watson  <>

        * Removed references to dmalloc leap.

2003-07-23  Gray Watson  <>

        * Changed the installing of libraries to install-data. 

2003-07-08  Gray Watson  <>

        * Releasing version 5.2.1.

2003-06-20  Gray Watson  <>

        * Fixed problems with macro arguments not in () thanks to Paul
        Hurtley.

2003-06-18  Gray Watson  <>

        * Fixed a problem with strdup not returning char *.  Thanks to Dan
        Nelson, Juhani Rautiainen, and Paul Hurtley.

2003-06-10  Gray Watson  <>

        * Releasing version 5.2.0.

        * Renamed the "max memory space wasted" to "max unused memory
        space" to indicate that it is not the users fault.

        * Improved the admin and extern block accounting.

        * Added PDF doc files to the installation.

        * Fixed a problem with the global Makefile and dmalloc_t.  Thanks
        to Bert Deknuydt.

        * Added new logfile expansion of %u as getuid() output.

2003-06-09  Gray Watson  <>

        * Added detection of gethostname() function for %h logpath
        handling.

        * Added new logfile process with %h hostname, %t time, %p
        process-id, and %i for thread-id.

        * Removed the old logfile % processing.  %d, %l, or %u no longer
        expands to the pid.

        * Added LOG_PID to drop the pid on each line of the logfile.

        * Added LOG_REOPEN to reopen the logfile when the pid of the
        process changes as with a fork.  Thanks to James Hawtin.

        * Renamed the LOG_ITERATION_COUNT to LOG_ITERATION in settings.dist.

        * Renamed the STORE_SEEN_COUNT to be LOG_PNT_SEEN_COUNT.

        * Renamed the STORE_ITERATION_COUNT to be LOG_PNT_ITERATION.

        * Renamed the STORE_TIME to be LOG_PNT_TIME.

        * Renamed the STORE_TIMEVAL to be LOG_PNT_TIMEVAL.

        * Renamed the LOG_THREAD_ID to be LOG_PNT_THREAD_ID.

        * Improved the log_stats and log_changed output.

2003-06-08  Gray Watson  <>

        * Releasing version 5.1.0.

        * Fixed the FREED_POINTER_DELAY functionality.

        * Removed PROTECT_BLOCKS from settings.dist because was unused.

        * Added the tsecs perl script to convert epoch seconds time to
        ctime output.

        * Removed the check-lists debug token which was not being used
        with the new heap organizations.

        * Fixed the never-reuse functionality and added checks to
        dmalloc_t for it.

        * Added checks to dmalloc_t for the realloc-copy functionality.

        * Fixed a problem where a call to dmalloc_log_changed would wipe
        out allocate table information.  Improved other table functions.

        * Improved the stats output a bit.

        * Added additional checks to dmalloc_t for weird realloc and free
        problems.

2003-06-06  Gray Watson  <>

        * Expanded the arguments to dmalloc_examine to return more
        information about the pointer.  This was explicitly needed to
        better test the library's setting of the values.

        * Found and fixed a problem where the last-used mark was not being
        set properly.  Added checks to dmalloc_t for this.

        * Found and fixed a bad problem where the leaked memory was not
        being reported correctly.  Very bad.  Added checks in dmalloc_t
        for this.

2003-06-04  Gray Watson  <>

        * Releasing dmalloc version 5.0.2.

        * Fixed some problems and improved the code in dmalloc_t.

        * Integrated an internal random number generator since random()
        often calls malloc.  Ugh.

2003-05-22  Gray Watson  <>

        * Removed protection filler to not confuse stuff.

2003-05-21  Gray Watson  <>

        * Improved some of the configure script internals.

        * Added support for a.exe and other cc output forms for Windoze.

2003-05-20  Gray Watson  <>

        * Releasing dmalloc version 5.0.1.

        * Updated configure.ac script.

        * New texinfo.tex macros.

2003-05-19  Gray Watson  <>

        * Added dmalloc_page_size() function.

        * Improved the auto-testing in dmalloc_t.

        * Found a [bad] problem with putting pointers back on the free
        list.

        * Added some checking of pointers on the free list.

        * Removed DEBUG_NOT_REMOVABLE and DEBUG_NOT_ADDABLE flags.

        * Added the per-pointer checking for cleared free memory.

        * Compressed the per-pointer admin structure by 8 bytes.

        * Cleaned up the production of dmalloc.h.3 from fillproto file.

2003-05-16  Gray Watson  <>

        * Releasing dmalloc version 5.0.0.

2003-05-14  Gray Watson  <>

        * Removed debug_val.h and error_str.h.

        * Lots of bugs fixed.

        * Removed a number of old error codes.

2003-05-13  Gray Watson  <>

        * Deprecated log-blocks and heap-check-map debug tokens.

        * Removed dmalloc_lp.[ch] stuff.

        * Added -M --memory-limit argument to dmalloc and ability to limit
        the library from allocating more than a certain number of bytes.

        * Getting ready for a huge checkin after a good bunch of work.

2002-06-06  Gray Watson  <>

        * Added a currently in use stats to log-stats.  Thanks Bernard.

2002-02-27  Gray Watson  <>

        * Fixed some literal ranlib entries in the Makefile.in thanks to
        Ralf Fassel.

2002-02-24  Gray Watson  <>

        * Removed the USE_DMALLOC_LEAP functionality.  This was causing
        pains internally and I needed to simplify some of the sections.  I
        apologize for those folks who used this a lot.

2002-02-14  Gray Watson  <>

        * Added a function to close and re-open the dmalloc logfile when
        you process a new set of environmental flags.

        * Added a section to the docs about debugging daemon and CGI
        processes.

2002-01-28  Gray Watson  <>

        * Made some cosmetic improvements to the configure.in script.

2001-11-30  Gray Watson  <>

        * Made free(0L) not an error by default.  I've been swayed by
        public pressure.

        * Removed short token support.

        * Did some more work on testing and chunk.c changes.

2001-07-18  Gray Watson  <>

        * Added better autoconf checking of thread libraries to include
        FreeBSD's non-portable libc_r.  Grrr.  Thanks to Steve Roberts.

2001-07-12  Gray Watson  <>

        * Added dmalloc_debug_setup function with which you can set the
        options with a function and not just the environmental variable.

        * Finally got the main line compiling again.  Ugh.  Chunk code
        looks a lot better however.

        * Before this time I've changed significantly the way the chunk
        routines account for pointers.  Now every pointer has a flags
        field which says whether fence post checking should be applied to
        it.

2001-05-23  Gray Watson  <>

        * Renamed _dmalloc_logpath to dmalloc_logpath to match the
        documentation and dmalloc.h.  Thanks Christoph.

2001-05-21  Gray Watson  <>

        * Solved problem with dmalloc_t and no sbrk.

        * Added INTERNAL_MEMORY_SPACE setting to the settings.dist file to
        help people with no sbrk function.

2001-03-29  Gray Watson  <>

        * Fixed some additional problems with start-file, start-count, and
        interval.

2001-03-28  Gray Watson  <>

        * Added the 'How It Works' section to the manual.

        * Removed necessity of strcat.

        * Removed use of strcpy internally.

        * Fixed problem with use of start-count and start-file not
        disabling the check-heap flag.

Mon Feb 26 12:17:25 2001  Gray Watson  <>

        * Releasing dmalloc version 4.8.2.

        * Installed new configure script to remove C++ requirement.

Sun Feb 25 18:58:37 2001  Gray Watson  <>

        * Making major changes to a number of routines.

Thu Feb 22 19:24:38 2001  Gray Watson  <>

        * Added more information to heap-check error messages on freed
        memory overwritten.  This is now possible since I unrolled the
        unions from chunk_loc.h.  Thanks to Robert Nielsen for pointing
        out this oversite.

Wed Feb 21 20:16:32 2001  Gray Watson  <>

        * Added strings to identify if the library was compiled with
        LOCK_THREADS enabled.

Thu Nov 30 19:01:10 2000  Gray Watson  <>

        * Added heap checking when we shutdown if check-blank is enabled.
        This will verify that all of the freed memory was not overwritten.

Mon Nov 27 19:01:10 2000  Gray Watson  <>

        * Added a separate ALLOC_BLANK_CHAR and FREE_BLANK_CHAR to the
        settings.dist file.  Now the default 0xc5 character has been
        replaced with 0xda for dmalloc-allocated memory and 0xdf for
        dmalloc-freed memory.

Tue Nov 14 15:09:02 2000  Gray Watson  <>

        * Releasing dmalloc version 4.8.1.

        * Added --enable-shlib to configure which enables the building of
        shared libraries.

        * Added autoconf handling of the shlibdir for installing of shared
        libraries.

Mon Nov 13 10:47:21 2000  Gray Watson  <>

        * Added improvements to the shared library creation in the Makefile.

        * Fixed the #ident "..."; semi-colon problem.  Thanks to Jonathan.

Fri Nov 10 10:27:23 2000  Gray Watson  <>

        * Releasing dmalloc version 4.8.0.

Thu Nov  9 19:58:56 2000  Gray Watson  <>

        * Added OpenBSD port information.  Hopefully this will be close to
        Free/Net/... BSD as well.

Tue Nov  7 11:39:26 2000  Gray Watson  <>

        * Renamed malloc.h to malloc_funcs.h to avoid system conflicts.

        * Made log-unknown the default and depreciated the token.  Added a
        log-known token to _only_ report on known (file/line) memory.

        * Removed INSTALL.1 file because it was basically empty.

        * Added Troubleshooting section to the INSTALL manual.

Tue Oct 10 19:03:14 2000  Gray Watson  <>

        * Did a pre-release of 4.7.2 with the autoconfigure handling for
        VA Linux release.  Thanks guys.

        * Reorged dmalloc.h.3.  Ugh.

        * malloc_verify and dmalloc_verify now return
        [D]MALLOC_VERIFY_[NO]ERROR.

        * Just about every function now initializes the library.  This was
        not the case before with some information routines.

        * dmalloc_debug now takes an unsigned-int flags and returns the
        old debug flag value.  debug_current now returns an unsigned int
        flag value.

        * Added autoconfig handling of #ident.  I really hate Unix
        sometimes for its blatant disregard for anything approaching a
        standard.  Idiots.

Wed Sep 13 14:24:46 2000  Gray Watson  <>

        * Fixed a bug in chunk.c found by Ian Badcoe.

        * Improved the displaying of tokens my dmalloc utility.

Tue Jul 25 11:57:49 2000  Gray Watson  <>

        * Releasing dmalloc version 4.7.1.

        * Fixed problem with check-blank being specified but not
        free-blank or alloc-blank.  I thought I fixed this before.

Mon Jul 24 15:30:04 2000  Gray Watson  <>

        * Releasing dmalloc version 4.7.0.

        * Added support for --disable-cxx and --enable-threads for turning
        on or off C++ and thread support.

Fri Jul 21 17:00:25 2000  Gray Watson  <>

        * Added autoconfiguration code to see if the return macros work
        for an architecture.

        * Renamed USE_RET_ADDRESS to USE_RETURN_MACROS in return.h.

        * Added threaded C++ library support to Makefile.

Tue Jun 20 18:30:55 2000  Gray Watson  <>

        * Fixed problems with -p and -m not setting the debug flags.

        * Added 'force-linear' token and depreciated the 'allow-nonlinear'
        token.  Non-linear heaps really are the default these days (on AIX
        for example).  Now, you can enable the force-linear if you want to
        ensure a linear heap.

Wed May 17 11:29:55 2000  Gray Watson  <>

        * Releasing dmalloc version 4.6.0.

        * Fixed an incompatibility with the dmalloc_t -r, sbrk, and the
        DEBUG_ALLOW_NONLINEAR flag.

        * Improved the implementation of the NEVER_REUSE flag.  Found
        problems with the dmalloc_t -r random debug flag.

        * Added BUILD.txt instructions to the repository.

Tue May 16 14:34:14 2000  Gray Watson  <>

        * Added BLOCK_ROUND macros to heap.h.

        * Made initial attempt to protect blocks in chunk.c.  Got pretty
        hairy way too fast so backed it out.

        * Added SET_POINTER macro and cleaned some code.

        * Completely reworked the internal initialization values for the
        environmental variables to fix problems pointed out by Carlton
        Teel.  I was doing a (unsigned int)-1.  Yuck.

        * Fixed a bug found by Mcvey where the 1st dblock allocation in a
        block would not have been found in non-freed memory lists.  Yuck.

Mon May 15 11:46:21 2000  Gray Watson  <>

        * Moved to 'make cxx' and 'make installcxx' for building and
        installing the C++ version of the library.

        * Added autoconfiguration of the presence of a C++ compiler so it
        will attempt to build and install libdmallocxx.a if it can.

        * Removed DMALLOC_VERIFY_[NO]ERROR and replaced with
        DMALLOC_[NO]ERROR.

        * dmalloc_examine now returns DMALLOC_[NO]ERROR not [NO]ERROR.

        * Added initial mprotect configuration and stub function to the
        library.

Mon May  8 08:19:45 2000  Gray Watson  <>

        * Renamed dmalloc.cc to dmallocc.cc and added the building of
        libdmalloc++.a per Dimitri's comments.

        * Renamed rpm.spec to dmalloc.rpm per Dimitri's comments.

Mon May  1 20:34:18 2000  Gray Watson  <>

        * Fixed some more function headers.

Tue Apr 18 15:41:30 2000  Gray Watson  <>

        * Releasing dmalloc version 4.5.2.

        * Added DGUX notes from Takis Psarogiannakopoulos.

        * Fixed bug in chunk.c pointer checking.  Thanks Ezra.

Mon Apr 17 21:55:39 2000  Gray Watson  <>

        * Cleaned up some of the compat.[ch] headers to better match
        reality.

Thu Mar 30 10:05:01 2000  Gray Watson  <>

        * Reorganized the dmalloc.texi documentation and moved to using
        makeinfo program.

        * Releasing dmalloc version 4.5.1.

        * Fixed a problem with compilation of dmalloc_lp.c.  Thanks Chip.

Wed Mar 29 17:40:43 2000  Gray Watson  <>

        * Releasing dmalloc version 4.5.0.

Fri Mar 24 16:21:39 2000  Gray Watson  <>

        * Releasing dmalloc version 4.5.0 beta 1.

        * Added new dmalloc_mark() and dmalloc_log_changed() functions.

        * Added new BBLOCK_FREE_START and redid some of the block flag
        checking.

Tue Mar 21 13:15:46 2000  Gray Watson  <>

        * Releasing dmalloc version 4.4.0 beta 2.

        * Removed the stupid old Deansify.pl script.

        * Added rpm.spec file to the distribution.

        * Fixed problem with chunk checking of dblock structures.

Mon Mar 20 18:19:06 2000  Gray Watson  <>

        * Releasing dmalloc version 4.4.0 beta 1.

        * Removed usage of PTHREAD_MUTEX_INITIALIZER which was delaying
        the mutex-init call.

        * Added code to fix some recursive problems with open and atexit.

        * Basically encorporated Randell's changes [finally].  Thanks for
        your patience dude.

        * Removed the stupid chunk.c unions.  Why did I ever do that?  It
        made debugging and absolute bear.

        * www.dmalloc.com -> dmalloc.com.

Mon Mar  6 12:05:01 2000  Gray Watson  <>

        * Added better help messages to dmalloc.

Thu Feb 17 09:04:19 2000  Gray Watson  <>

        * Fixed Makefile.dep creation with _th.o special objects.

        * Fixed the outputting of gratuitous colons.

        * Added @uref texinfo tags and new texinfo.tex.

Mon Nov  8 15:39:44 1999  Gray Watson  <>

        * Releasing dmalloc version 4.3.0.

        * Fixed some problems with char * instead of void *.

Mon Oct 18 12:09:30 1999  Gray Watson  <>

        * Added info about log-unknown to the Getting Started section and
        more info about ident.

Fri Oct 15 18:13:39 1999  Gray Watson  <>

        * Added power pc return.h macros from Shawn.

Thu Oct 14 10:08:58 1999  Gray Watson  <>

        * Releasing dmalloc version 4.3.0 beta 3.

        * Darn.  Missed malloc.h in the port file.

Wed Oct 13 18:38:26 1999  Gray Watson  <>

        * Releasing dmalloc version 4.3.0 beta 2.

        * Changed #ifdef USE_DMALLOC_LEAP -> #if USE_DMALLOC_LEAP.  Doh.

Mon Oct 11 12:37:13 1999  Gray Watson  <>

        * Releasing dmalloc version 4.3.0 beta 1.

        * Fixed problems on Linux with the strdup macro.

Wed Aug 25 08:33:39 1999  Gray Watson  <>

        * Added copyright and url info for ident and what.

        * Added support for PTHREAD_MUTEX_INITIALIZER.

Tue Jul 20 12:47:14 1999  Gray Watson  <>

        * Added USE_DMALLOC_LEAP define in the settings.dist file with
        which you can enable the leap functionality which previously was
        the default.

Thu Apr 15 10:21:55 1999  Gray Watson  <>

        * Dmalloc now looks in the current directory for .dmallocrc before
        checking your $HOME directory.

        * Rewrote a significant piece of the dmalloc utility.  Much better
        code with regards to processing configuration files.

Fri Mar 26 17:57:54 1999  Gray Watson  <>

        * Increased the filename size from 40 to 100 characters.

Thu Mar 11 17:31:00 1999  Gray Watson  <>

        * Releasing dmalloc version 4.2.0.

        * Completely reworked the qsort code.

Wed Mar 10 11:18:13 1999  Gray Watson  <>

        * Improved the autoconfig of abort and qsort safety.

        * Fixed hash problem on 64-bit alphas.

        * Fixed a number of missing prototypes and include problems.

        * Added QSORT_OKAY switch to configure for linux.

        * Fixed STDC ifdefs for C++.  Thanks Eric.

Tue Mar  9 14:26:11 1999  Gray Watson  <>

        * Fixed some problems with threading and the LOG_THREAD_ID ifdef.

        * Improved the memory table output.  Renamed the table files to be
        dmalloc_tab.[ch] to removed clash with libtable.a.

Mon Mar  8 10:50:12 1999  Gray Watson  <>

        * Releasing dmalloc version 4.2.0-beta.

        * Fixed long standing problem with the NEVER-REUSE token.

        * Added memory tracking function so the user can register a
        callback function to be run whenever a memory transaction occurs.

Sun Mar  7 17:58:07 1999  Gray Watson  <>

        * Added DUMP_UNFREED_SUMMARY_ONLY variable to the settings.dist
        file.

        * Added MEMORY_TABLE_SIZE and MEMORY_TABLE_LOG variables to the
        settings.dist file.

        * Fixed problem with valloc exposed by moving to random() from
        rand().  Grrr.

        * Added memory table code for grouping of allocated and non-freed
        memory.  Looks great!

Thu Mar  4 19:28:45 1999  Gray Watson  <>

        * Removed a number of static variables for string buffers.  Yuck.

        * Removed PERMISSION file and all references to commercial-ness.

        * Moved to internal sprintf code for snprintf, etc..

        * Added dmalloc_message to the exported list of functions.  Had to
        add stdarg.h handling to dmalloc.h.

Fri Dec 11 00:04:04 1998  Gray Watson  <>

        * Releasing dmalloc version 4.1.2.

        * Fixed really bad bug which basically killed pthread support.

Mon Nov 16 11:51:39 1998  Gray Watson  <>

        * Releasing dmalloc version 4.1.1.

        * Fixed signal autoconfiguration.  Bad dog.

        * Releasing dmalloc version 4.1.0.

Thu Nov 12 10:08:58 1998  Gray Watson  <>

        * Added HTML versions of the manuals to the releases.

        * Added FREED_POINTER_DELAY in settings.h which will hold a
        pointer from being reused for a certain amount of time.

        * Renamed allow-zero token to be allow-free-null.

        * Added LOG_TIME_NUMBER and LOG_CTIME_STRING to the settings.dist
        file for logging times in the logfile.

        * Disabled the log-thread-id macro.  Use the LOG_THREAD_ID
        define in settings.h to control.

        * Disabled the log-stamp macro.  Use the STORE_TIME define in
        settings.h to control.

Tue Nov 10 12:43:00 1998  Gray Watson  <>

        * Added Jens' cool gdb script and -g (--gdb) flag to dmalloc
        utility.

        * Added missing delete[] function to the C++ code.  Thanks Jens.

Mon Nov  9 11:48:29 1998  Gray Watson  <>

        * Releasing dmalloc version 4.1.0 beta.

        * Moved some settings from chunk_loc.h into settings.dist.

        * Improved the handling of free(NULL) and malloc(0) settings.

        * Added initial memalign support with a error message if the
        alignment is less than block size which is not currently
        supported.

        * Renamed print-error token to print-messages.

Wed Oct 28 10:17:13 1998  Gray Watson  <>

        * Increased the default max memory size from 16mb to 64mb.

Thu Oct 15 11:06:41 1998  Gray Watson  <>

        * Released dmalloc version 4.0.3.

        * Moved to #ident for rcs-ids in GCC.

        * Found and fixed a bug when reallocing a previous valloced
        section.  Not a good idea anyway since it will not preserve the
        block-aligned status (should it).

        * Released dmalloc version 4.0.2.

        * Fixed a problem in return.h and DMALLOC_UNKNOWN_FILE.  Ugh.
        Thanks much to Mike Sacauskis for pointing this out.

Thu Oct  8 11:07:25 1998  Gray Watson  <>

        * Released dmalloc version 4.0.1.

        * Added startup messages acknowledging the thread status.  Added
        error.o to the thread object list.

Wed Oct  7 14:52:14 1998  Gray Watson  <>

        * Fixed problem with thread compilation and chunk.c.  Thanks much
        to Didier Verna for pointing out this problem.

        * Fixed possible race condition with synchronizing with external
        sbrk calls.

Mon Oct  5 22:56:46 1998  Gray Watson  <>

        * Migrated in new argv code.

Sun Oct  4 22:56:46 1998  Gray Watson  <>

        * Released dmalloc version 4.0.0.

        * Updated the manual a bit.

        * Made a small change to the solaris return.h code.  Thanks
        Alexandre.

Tue Sep 29 09:26:50 1998  Gray Watson  <>

        * Releasing dmalloc version 4.0.0 beta2.

        * Aligned valloc to block alignment as it should have been with
        fence post checking installed.

        * Renamed some internal variables and macros better names.

Mon Sep 28 17:55:24 1998  Gray Watson  <>

        * Added better auto-configuration of valloc.

        * Improved the log-trans output messages.

        * Added the printf attribute to error.c's dmalloc_message.  Fixed
        a number of casting problems.

Fri Sep 18 13:37:23 1998  Gray Watson  <>

        * Releasing dmalloc version 4.0.0 beta.

        * Added recalloc support into the library.  Thanks to Nick
        Albright for suggesting it.

        * Cleaned up the calloc special handling and accounting.
        Simplified the local malloc functions in malloc.c.

        * Added valloc support to the library after it was determined that
        OSF thread libraries still use the function.  memalign will be
        much harder to add.

Thu Sep 17 08:42:14 1998  Gray Watson  <>

        * Improved the pthread autoconfiguration and the code.  Removed
        the gross macro code sections.

        * Lots of small code improvements.

        * Got rid of the _dmalloc_file and _dmalloc_line stuff which was
        _very_ unportable.  Thanks Marty for pointed this out.  Reduced
        the race conditions there and improved the handling of default
        values.

        * Added FTX return.h information.  Thanks to Wim van Duuren.

Wed Sep 16 16:28:49 1998  Gray Watson  <>

        * Added direct strdup support to the library with the assocated
        leap functions.

Tue Feb 10 21:12:40 1998  Gray Watson  <>

        * Releasing version 3.3.1 to get rid of the -beta.

Sun Dec 21 19:32:02 1997  Gray Watson  <>

        * Shifted some flags to ints instead of longs.

        * Improved error string handling.

Wed Dec 17 08:15:04 1997  Gray Watson  <>

        * Removed allocation macros from the docs and the header.  I was
        not using them anymore and I would think they would be confusing.

        * Added realloc(pnt, 0) works like free(pnt).  Thanks Stefan!

Mon Dec  8 04:34:14 1997  Gray Watson  <>

        * Reworked the log_error_info routine's dumping of the fence post
        areas to properly dumps upper fence post bytes.

Mon Dec  8 02:34:14 1997  Gray Watson  <>

        * Releasing dmalloc version 3.3.0.

        * Fixed problems with pthread locking and various conditions.
        Added a warning if lock-on is set without allow-nonlinear.

Sun Dec  7 21:44:17 1997  Gray Watson  <>

        * Added THREAD_LOCK_INIT_VAL autoconfigure.

Fri Dec  5 12:09:26 1997  Gray Watson  <>

        * Performed some long overdue major code cleaning.  Added new
        Lycos {}, int _b for bools, and other stuff.

Wed Nov  5 11:25:09 1997  Gray Watson  <>

        * Renamed argv.[ch] to be dmalloc_argv.[ch] to not clash with argv
        files.

Sun Jul 20 00:40:53 1997  Gray Watson  <>

        * Added return address handling for SGI.  Thanks James.

Mon Jul  7 03:12:28 1997  Gray Watson  <>

        * Added better C++ overload functions.  From whom off the Net did
        I get this from?

        * Added test for DMALLOC_SIZE unsigned-ness.

        * Added a FINI_DMALLOC setting to the settings.dist file to
        support the OSF __fini_ stuff.

        * Added pthread lock_on -o environmental settings.  You will need
        to have LOCK_THREADS set to 1 in the settings.h file.

Sat Mar 22 12:28:45 1997  Gray Watson  <>

        * Added return-address tracking for gcc on alphas.  Thanks
        Alexandre.

Fri Mar 21 09:29:46 1997  Gray Watson  <>

        * Released version 3.2.1.

        * Added to dmalloc the ability to recognize its internal tags.

        * Added better documentation of auto-dmalloc_shutdown.

        * Cleaned up some configuration stuff.

        * Fixed a number of signed/unsigned problems in chunk.

Thu Mar 20 15:45:59 1997  Gray Watson  <>

        * Removed autoconf rule in Makefile.all.

        * Cleaned up pthreads locking delay code.

Fri Jan 17 14:25:12 1997  Gray Watson  <>

        * Releasing version 3.2.0.

        * Added catch-signals debug token (about time, huh Marty?)

        * Revamped autoconf scripts to be more standard.

        * New signal handling.

Thu Jan 16 15:22:06 1997  Gray Watson  <>

        * Moved to memcpy and memcmp from the b routines.

        * Fixed the locking for pthread programs.  Dumb errors.

        * Ran new fillproto on h-files.  IMPORT -> extern.

Thu Dec 28 20:39:00 1995  Gray Watson  <>

        * Releasing version 3.1.3.

        * Added new argv versions to fix problems.

        * Don't allow silent dumps of test program.

Tue Dec 19 19:11:19 1995  Gray Watson  <>

        * Added registration subdirectory.

Mon Nov 20 22:14:14 1995  Gray Watson  <>

        * Removed some unresolved references in argv.c: strcasecmp, strdup.

        * Fixed some porting problems to Unixware.  Unsigned chars.

Mon Oct 21 00:23:51 1995  Gray Watson  <>

        * Fixed bug where I called display_pnt instead of display_where.

Tue Oct 10 18:43:09 1995  Gray Watson  <>

        * Releasing version 3.1.2.

Mon Sep 18 10:14:36 1995  Gray Watson  <>

        * Finally tested fore myself the configure --srcdir option.  Found
        lots of places with missing $(srcdir) entries.

Wed Sep  6 13:33:59 1995  Gray Watson  <>

        * Released version 3.1.2-gamma.

        * Added sbrk handling in the dmalloc_t test program.

        * Renumbered error values so inserting won't be a problem in the
        future.  Added ERROR_EXTERNAL_HUGE.

        * Added new argv files.

        * Fixed up statistics to include external block handling.

        * Fixed up the external sbrk handling.  I broke it with the 3.1.1
        version.  This re-write is much cleaner.  Made some changes to
        dblock admin handling and heap-check

        * Re-added THREAD_LOCK definitions to settings.dist.  Where did
        they go?

Tue Sep  5 12:38:48 1995  Gray Watson  <>

        * Moved install.sh to install-sh and fixed some Makefile problems.
        Thanks Francois.

        * Simplified the heap code a lot.  Fixed race conditions.

Sun Sep  3 12:50:30 1995  Gray Watson  <>

        * Releasing 3.1.2-beta.

        * Added configure handling of 32768 page sizes.

        * Removed stdlib inclusion in dmalloc.h.2 for size_t.

        * Added some undefs for malloc, etc. for Linux.  Thanks Rick.

Sat Sep  2 15:34:01 1995  Gray Watson  <>

        * Releasing 3.1.2-alpha.

        * Added inital thread locking for debugging threaded programs.

        * New attempts to auto-configure DMALLOC_SIZE for size_t.  I've
        tried this before.  We'll have to see what it screws up.

        * Added settings.dist which is copied by configure.  Thanks Marty.

Fri Sep  1 15:53:50 1995  Gray Watson  <>

        * Started better autoconfiguring of DMALLOC_SIZE variable.

Wed Aug 30 14:05:39 1995  Gray Watson  <>

        * Added dmalloc_aborting flag in case kill or abort recurses.
        Thanks Stephen.

Tue Aug 29 17:43:54 1995  Gray Watson  <>

        * Added new[] C++ function.  Thanks Arno.

Tue Aug 28 00:00:00 1995  Gray Watson  <>

        * Changed DMALLOC_SIZE to 'unsigned long' instead of unsigned.

Fri Aug 18 11:50:03 1995  Gray Watson  <>

        * Releasing version 3.1.1.

        * Moved all non-linear heap checking to heap code and improved the
        code immensely (read it works now).

        * Fixed dumb bug in argv code.

        * Added handling of NONLINEAR heap by default.

Mon Aug 14 10:57:26 1995  Gray Watson  <>

        * Fixed up dmalloc_t to propogate errors better.  Thanks Thorsten.

Sun Aug 13 16:02:27 1995  Gray Watson  <>

        * Renamed chunk_heap_check to chunk_check.

Fri Jul 14 16:58:09 1995  Gray Watson  <>

        * Releasing version 3.1.0.  First commercial release.

        * Added academic references to permissions sections.

Wed Jul  5 19:11:03 1995  Gray Watson  <>

        * Released version 3.1.0-beta.

Mon Jul  3 19:57:05 1995  Gray Watson  <>

        * Encorporated new configed argv files from version 2.0.1.

Wed Jun 28 19:48:47 1995  Gray Watson  <>

        * Improved header file configurations immensely.  Removed all
        casts and other dumb coding assumptions for 64 bit machines.

        * Fixed dumb sparc preprocesser error.

Tue Jun 20 13:56:02 1995  Gray Watson  <>

        * Added commercial license restrictions to library.

Mon Jun 19 22:06:12 1995  Gray Watson  <>

        * Changed USE_ABORT to rely on ABORT_OKAY auto-configed setting.

        * Fixed problem with fence handling and 64 bit longs.

        * Added lots of comments about internal chunk structures.

Tue Jun 13 17:34:02 1995  Gray Watson  <>

        * pulled manual settings out of conf.h to settings.h.

Tue May 31 10:30:59 1995  Gray Watson  ()

        * Finished version 3.0.7.  Released later.

Tue May 30 10:30:59 1995  Gray Watson  ()

        * Fixed problem with conf.h references before included.

        * Fixed problems with exit() calls in configure.  Thanks Rik.

Mon May 15 20:13:10 1995  Gray Watson  ()

        * Added error-dump token for dumping-core and continuing on errors.

        * Added Web pointers to online documentation.

        * Added abort() auto-configuration for KILL_PROCESS.

        * Minor fixes.  Added an arg to dmalloc_die to be silent.

Fri May 12 16:33:44 1995  Gray Watson  ()

        * Released version 3.0.6-beta.

        * Fixed problem with NEVER_REUSE and realloc same block-size.

        * Fixed up logging of time.  Lots of ifdefs.

        * Added a pointer overhead structure.

Fri May  5 11:39:39 1995  Gray Watson  ()

        * Renamed a number of chunk fields to remove the use of count.

        * Logged starting/ending time in logfile.

        * Added thread-id tracking with conf.h option.

        * Added pointer-count tracking with conf.h option.

        * Added iteration-count tracking with conf.h option.

        * Added global/relative time tracking with conf.h option.

Fri Mar 31 16:51:52 1995  Gray Watson  ()

        * Better tag output from dmalloc -t.

        * New version of argv files.

        * Fixed problem with dmalloc -c and start-count.

        * Added some messages about upcoming errors in dmalloc_t.

Thu Mar 23 10:34:33 1995  Gray Watson  ()

        * Improved the manual a bit.  Phased in some alpha changes.

        * Added some Next notes to the contrib directory.  Need more.

Fri Mar 10 13:29:49 1995  Gray Watson  ()

        * Added allow-zero token for not minding malloc(0) and free(0L).

        * Made all chunk.c global counters longs.

Fri Mar  3 12:37:17 1995  Gray Watson  ()

        * Integrated into new CVS hierarchy.  New copyrights.

Mon Jan  2 18:51:19 1995  Gray Watson  ()

        * Released version 3.0.5.

        * Changed my mail address and ftp location.

Fri Dec 16 15:07:29 1994  Gray Watson  ()

        * Fixed some old references to malloc in docs.  Thanks Dave.

Thu Dec 15 10:25:59 1994  Gray Watson  ()

        * Released version 3.0.4.

Sat Nov 12 18:05:34 1994  Gray Watson  ()

        * Removed message arg to env-get routine due to various probs.

        * New STDC definitions of DMALLOC_PNT and DMALLOC_FREE_RET.

        * Removed all STRDUP and BDUP macros.  Was anyone using them?

Wed Nov  9 15:43:45 1994  Gray Watson  ()

        * Upgraded to autoconf 2.1.  New configure script.

Tue Nov  8 18:54:04 1994  Gray Watson  ()

        * Added dying message when malloc_die is called.  Thanks Marty.

        * Reworked the manual a ton.  Looks much better.  Added
        Quick-Start + Installation sections.

        * Lots of changes to notes files.

Thu Nov  3 17:25:29 1994  Gray Watson  ()

        * Released version 3.0.3.

        * Added dmalloc.cc C++ file to distribution.

        * Default is now to build/install a libdmalloclp.a library.

Wed Oct 26 21:13:11 1994  Gray Watson  ()

        * Removed the log-error tag.  Pretty worthless.  If you had
        logpath set then it should log errors.

Tue Oct 18 19:54:21 1994  Gray Watson  ()

        * Fixed problem with new args clearing all old ones.

Sat Oct 15 13:55:16 1994  Gray Watson  ()

        * Added dmalloc.h.2 creation to config.status file.  Thanks Dave.

        * Added a startup message with the debug flags used to logfile.

Fri Oct 14 18:40:59 1994  Gray Watson  ()

        * Fixed dumb errors with FUNC_CHECK code.  Thanks Dave.

Thu Oct 13 21:25:52 1994  Gray Watson  ()

        * Added default tags: default,low,medium,high,all to dmalloc.

        * Renamed check-free to check-blank but left free for compat.

        * Made a number of changes from Dave MacKenzie.  Reworking the
        manual fixed the Makefile, RC file, argv, etc...

Wed Oct 12 13:00:48 1994  Gray Watson  ()

        * Added long/short options to dmalloc and env routines.

        * Changed some dmalloc options.  -T -> -D, -L -> -t.  Yeach!

        * Added better error logging in chunk.

Tue Oct  4 13:39:40 1994  Gray Watson  ()

        * Added DG/UX code to return.h and atexit code and notes to the
        distribution.  Thanks Joerg.

Mon Sep 26 11:59:56 1994  Gray Watson  ()

        * Releasing version 3.0.2.

        * Fixed stupid strtok error in dmallocrc file processing.

Mon Sep 26 11:20:17 1994  Gray Watson  ()

        * Fixed problems with env code and that sprintf returning (char *)
        on some archs.  DUMB!

Wed Sep 21 11:45:19 1994  Gray Watson  ()

        * Library now dumps the proper fence-bottom bytes on first pointer
        error.

        * Fixed 2 casting problems on OSF.  Thanks Dave.

Tue Sep 20 13:58:08 1994  Gray Watson  ()

        * Releasing version 3.0.1.

        * Combined all env variables into DMALLOC_OPTIONS.  Lots of
        changes to dmalloc program.

Fri Sep 16 14:50:26 1994  Gray Watson  ()

        * Added short token strings and values to -T very-verbose output.

        * Added -n flag to dmalloc program for printing/not-doing actions.

Tue Sep 13 11:36:10 1994  Gray Watson  ()

        * Added mkinstalldirs to distribution.  Thanks Francois.

Mon Sep 12 13:12:38 1994  Gray Watson  ()

        * Fixed zsh and [t]csh alias messages in documentation.

        * Added install.sh to distribution. Thanks Francois.

Mon Sep 12 10:07:29 1994  Gray Watson  ()

        * Renamed _dmalloc_error to dmalloc_error since it is used
        externally so often.  Sorry folks.

        * Removed time() and getpid() from compat functions.  Moved
        HAVE_... tests into the code that used them.  Duhhhh.

        * Changed DMALLOC_DEBUG_DISABLE flag to DMALLOC_DISABLE.

        * Fixed some include file auto-include messages. Thanks Francois.

Thu Sep  8 10:07:56 1994  Gray Watson  ()

        * Releasing version 3.0.0.

        * Fixed a problem with some list checking via user feedback.

Fri Sep  2 17:34:02 1994  Gray Watson  ()

        * Fixed possible recursion problem.  Thanks Marty.

Mon Aug 29 11:08:36 1994  Gray Watson  ()

        * Tons of name changes going from malloc_dbg -> dmalloc.  Lots of
        files, internal/external routines, variables, etc.

Sat Aug 27 19:33:16 1994  Gray Watson  ()

        * Releasing 2.2.1 so I make the name shifts.

        * Fixed problem with IMPORT in malloc_dbg.3 via user feedback.

Mon Aug  8 22:43:44 1994  Gray Watson  ()

        * Releasing version 2.2.0.

Mon Aug  8 22:29:11 1994  Gray Watson  ()

        * Added no-special test option to malloc_t.

        * Fixed problem with merging adjacent free blocks if last/first
        block being freed.

Wed Aug  3 14:28:20 1994  Gray Watson  ()

        * Fixed xmalloc,xrealloc,etc. override functions.

        * Added xstrdup to the x leap function list.

Mon Aug  1 23:03:50 1994  Gray Watson  ()

        * Added $verbose checks in configure.  Thanks Francois.

        * Added 'err' label to error printing.  Thanks Francois.

Fri Jul 22 11:48:26 1994  Gray Watson  ()

        * Added ability to combine adjacent free blocks into one.

Thu Jul 21 14:44:25 1994  Gray Watson  ()

        * 0 or negative MALLOC_INTERVAL values act as if no interval value.

        * Made a 'malloc_dbg -i 0' undefine MALLOC_INTERVAL.

        * Fixed calloc return-address problem.  Thanks Gregory.

        * Added KILL_PROCESS macro to configuration scripts.  Replaces
        ERROR_SIGNAL.

Thu Jul 10 00:00:00 1994  Gray Watson  ()

        * Marty Leisner compiles library on MS-DOG!

Sun May 22 18:37:31 1994  Gray Watson  ()

        * Fixed some problems with malloc_errno set after call to error.

Wed May 11 12:02:31 1994  Gray Watson  ()

        * Released version 2.1.0.

        * Fixed problem with never-reuse going on/off and check-lists.

        * Added -r (random-debug) option to malloc_t which causes it to
        constantly change the dmalloc flags while testing.

        * Fixed VERY nasty bug in realloc with alloc-blank and no
        realloc-copy token.

        * Fixed problem with ANSI-C configure on AIX systems.

Fri Apr  8 13:51:39 1994  Gray Watson  ()

        * Fixed some race conditions with sbrk failure.

Thu Apr  7 17:13:31 1994  Gray Watson  ()

        * Added some better checking for out-of-range arguments.

        * Changed heap-error to 0L from -1.

        * Added -p max-pointers argument to malloc_t.

Wed Apr  6 23:02:07 1994  Gray Watson  ()

        * Added 'log-nonfree-space' token for logging unfreed memory
        space.

Wed Mar 30 01:03:56 1994  Gray Watson  ()

        * Added iteration count label to all logfile output.

Fri Mar 25 01:18:55 1994  Gray Watson  ()

        * Fixed small recursive problem messing up malloc #2 info.

Mon Mar 21 09:58:21 1994  Gray Watson  ()

        * Added xmalloc,xrealloc,etc. override functions.

Sun Mar 20 14:48:25 1994  Gray Watson  ()

        * Added better mechanisms for const definition.

Sun Mar 20 11:57:34 1994  Gray Watson  ()

        * Renamed token 'log-perror' and 'print-perror' to '...-error'.

Wed Mar  2 22:49:18 1994  Gray Watson  ()

        * Fixed some spelling and other misc problems.

Sun Feb 27 17:53:35 1994  Gray Watson  ()

        * New argv files.  Fixed Makefile.all.in problem.

        * Released version 2.0.1.

Sun Feb 20 00:39:37 1994  Gray Watson  ()

        * Cleaned up a number of configure/compat functions.

Fri Feb 18 02:32:53 1994  Gray Watson  ()

        * Fixed tons of __STDC__ defines.  Finally I hope.

        * Added more commands to malloc_t to log information, etc.

        * Released version 2.0.0.

        * Last minute fixes from Sparc and MIPS boxes.

Thu Feb 17 17:47:05 1994  Gray Watson  ()

        * Lots of changes to add argv files in place of argv subdir.

        * added initial support for external block locating.  this is
        going to be a toughy to solve.  there is a catch-22 here.

Sat Jan 22 01:34:55 1994  Gray Watson  ()

        * moved BLOCK_SIZE into malloc_log because its used everywhere.

Fri Jan 21 23:45:26 1994  Gray Watson  ()

        * added missing checks for ADMIN_FREE in heap_check

Wed Jan 19 20:43:05 1994  Gray Watson  ()

        * Added a new texinfo.tex macro file.

        * Renamed CHECK_FREE to CHECK_BLANK internally.

        * Added 'allow-nonlinear' token to remove special checks.

Mon Dec 20 14:14:08 1993  Gray Watson  ()

        * Added a -m max-amount flag to malloc_t.

        * Renamed dbg_tokens.h -> debug_tok.h and dbg_values.h -> debug_val.h

Mon Dec 20 02:24:02 1993  Gray Watson  ()

        * Added -V option to malloc_dbg and desc field for debug-token list.

Sun Dec 19 23:35:53 1993  Gray Watson  ()

        * moved the NULLs in malloc_dbg.h to 0L.

        * added a debugging section to the manual and moved some stuff
        around.

Fri Dec 17 15:02:29 1993  Gray Watson  ()

        * fixed some compilation errors with non-STDC systems re
        Charles Campbell.

Mon Dec  6 01:18:29 1993  Gray Watson  ()

        * new fence read/write code.  much cleaner.  new FENCE_TOP define.

Tue Nov 30 05:35:39 1993  Gray Watson  ()

        * added special tests to malloc_t.  cleaned up and tested
        alloc(0).

Mon Nov 29 21:39:54 1993  Gray Watson  ()

        * turned num_bits into a macro and condensed log_heap_map.  added
        MAX_SLOTS to chunk.

Tue Nov 23 02:39:44 1993  Gray Watson  ()

        * fixed heap_check error with free blocks.

        * Added light and heavy makefile targets for automatic testing.

        * added -s flag to malloc_t and cleaned up the output.

        * added realloc test code to malloc_t and immediately had to fix a
        pretty nasty realloc bug with the new code.

        * phased in the version 1.3.5 branch changes into the 2.0.0
        version.  looks like it was reasonably painless.

Mon Nov 22 22:21:56 1993  Gray Watson  ()

        * Integrated tons of new heap code with per/block allocations (not
        base 2) and better free list management with block splitting.

        * Releasing version 1.3.5.

        * Added more automatic and comprehensive malloc_t testing
        facilities with argv options.

        * removed library from linking with malloc_dbg.  good idea dave.

        * integrated some fixes and remove pre-main shit.

Mon Nov 15 00:39:51 1993  Gray Watson  ()

        * Added -T option to malloc_dbg: list-tokens for listing of debug
        tokens.

        * added ERROR_SIGNAL configure entry.  defaults to SIGABRT.
        (NOTE: later removed).

Sun Nov 14 23:08:03 1993  Gray Watson  ()

        * Added 'never-reuse' token to never reuse free'd memory.

Mon Nov  8 05:44:58 1993  Gray Watson  ()

        * added ra_info to the contrib directory.  Big wow.

Wed Nov  3 00:56:19 1993  Gray Watson  ()

        * Added check for pre-main calls to malloc.  HACK!

        * Added on_exit and atexit support to auto-call malloc_shutdown.
        Thanks much to Manfred, Dave, Scott, and Rich.

        * Added -m (minus) option to malloc_dbg.  Why didn't I think of
        this before?

Tue Nov  2 16:45:32 1993  Gray Watson  ()

        * Fixed problem with getenv processing.

Wed Oct 20 19:30:34 1993  Gray Watson  ()

        * Renamed malloc_debug to malloc_flags.

        * Added all malloc utility functions to malloc_lp.c.  Now
        programs can call malloc_shutdown (for instance) without fear.
        See malloc_lp.h.

Sat Oct 16 19:18:53 1993  Gray Watson  ()

        * removed debug token log-ra, log-unknown should be enough.

Thu Oct 14 19:48:42 1993  Gray Watson  ()

        * malloc_heap_map() -> malloc_log_heap_map() for consistency.

Wed Oct 13 17:58:55 1993  Gray Watson  ()

        * Added malloc_log_unfreed() to dump non-free memory to
        logfile.  Good for comparing heaps to see differences.

        * Added -p flag to malloc_dbg to allow adding of tokens to
        debug value.

        * added DEBUG_LOG_STAMP to add timestamps to log entries.

        * Added malloc_log_stats() to dump stats to log file.

        * Re-added cfree() call.  No reason not to have it.

Sun Sep 26 14:36:54 1993  Gray Watson  ()

        * For new version 2.0.0b.  Major changes.  Lots of procedures
        moved around.  Rewrote a large part of get_bblocks and removed
        get_bblock_adm.

        * Releasing version 1.3.4.

        * Added -std1 configuration changes and bcopy fixes.

        * Fixed up the messages to provide more information and to just
        reflect reality.  Some real dumb errors found.

        * Added malloc_debug_current() and #ifdef STDC instead of
        #if.  Thanks Scott.

Wed Sep 22 00:43:54 1993  Gray Watson  ()

        * Removed log-bad-pnt.  What a dumb token!  Unnecessary!

Mon Sep 20 20:36:23 1993  Gray Watson  ()

        * Releasing version 1.3.3.

        * Added ALLOW_FREE_NULL defines because of some systems allowing
        free(0).  Yeach!  Thanks Dave.

Fri Sep 10 17:10:45 1993  Gray Watson  ()

        * Fixed debug value changes in mid-stream.  Repaired configuration
        error with memcpy/bcopy and memcmp/bcmp.  Thanks Marc.

Tue Sep  7 00:49:50 1993  Gray Watson  ()

        * Renamed all error codes to ERROR_*.  Added ERROR_IS_FREE and
        changed some of the already-free errors to this.  Reworded some
        error messages and added free's file/line into to log_bad_pnt.

Mon Aug 30 17:23:47 1993  Gray Watson  ()

        * Added prototypes for _malloc_strcpy, etc. functions to
        malloc_dbg.h per Scott's comments.

Thu Aug 26 19:06:45 1993  Gray Watson  ()

        * Released version 1.3.2.  Uploaded to the ftp site.

        * Removed MALLOC_TRACE and malloc_dbg -t.  Replaced by
        MALLOC_ADDRESS:0 functionality and logging of a message every time
        malloc_address is seen.

        * Fixed some dumb const problems.  Have to now preprocess
        malloc_dbg.h from start const.h end.  Yeach!

        * Added MALLOC_LOGFILE feature where %d in the string will be
        replaced with the pid of the process.  Had to add getpid to
        configure and compat.

        * Fixed some problems with compat.h defines.

Tue Aug 24 00:35:49 1993  Gray Watson  ()

        * Releasing version 1.3.1.

        * Added log-ra token to log specific information about non-freed
        memory with only return-address information (NOTE: later removed).

        * Added the beginnings of return-address handling.  Thanks Dave.
        Need to resolve some XXX sections in chunk and get more
        architecture/compiler hacks in return.h.  Along the way had to
        change the malloc_examine() arguments to add ret_attr.

        * Added -L or --list to malloc_dbg to list all the rc-file tags.

        * Fixed some problems in chunk.c.  Thanks Dave.  Renamed
        malloc_str.[ch] to be arg_check.[ch].

Tue Aug 17 16:22:20 1993  Gray Watson  ()

        * Releasing version 1.3.0.

        * Fixed some ansi compiler problems via patch from Manfred
        Hauswirth.

Thu Aug 12 18:11:01 1993  Gray Watson  ()

        * Added MALLOC_TRACE variable and malloc_dbg -t functionality for
        tracing an address and logging messages about it.  NOTE: this
        was later removed -- replaced by MALLOC_ADDRESS:0.

Tue Aug 10 16:43:07 1993  Gray Watson  ()

        * Made some minor fixes.  Thanks Marc.

Mon Jul 26 05:50:27 1993  Gray Watson  ()

        * Added some C++ from Peter Miller to the manual.

Fri Jul 23 01:36:09 1993  Gray Watson  ()

        * Removed LGPL copyright and put in its place fully free
        software notices.

Thu Jul 22 17:35:23 1993  Gray Watson  ()

        * _malloc_perror renamed to _malloc_error and made some other
        minor changes.

Tue Jul 20 01:52:02 1993  Gray Watson  ()

        * Added smallest_block runtime calculations.

Mon Jul 19 12:20:58 1993  Gray Watson  ()

        * Made malloc_address exported per Dave's comments so it
        can be setable by debugger at runtime.

        * Added Dave's idea of auto-sensing of shell by malloc_dbg.
        Also added -C option to malloc_dbg to force cshell output.

        * Removed the dblock checking tokens CHECK_DBLOCK and
        CHECK_DB_FENCE for a couple different reasons.  I never liked them
        anyway!  I also renumbered CHECK_FREE and CHECK_FUNCS in the
        process.

        * Fixed a number of int/long problems since Dave is running
        malloc on a 64 bit alpha.

        * Made a number of changes to the configure scripts and conf.h per
        Dave's comments.  Added BASIC_BLOCK and ALLOCATION_ALIGNMENT
        to the auto-config stuff.

Fri Jul 16 00:01:31 1993  Gray Watson  ()

        * Changed malloc_dbg per new ARGV_MAYBE.  Made some various
        changes from ints to longs per some useful comments from Dave
        Hill.

Tue Jul 13 01:53:32 1993  Gray Watson  ()

        * Version 1.2.6 released.

        * Posting to bsdi.  Last minute porting changes.

Mon Jul 12 02:03:25 1993  Gray Watson  ()

        * Finished new catch-null token.

Tue Jul  6 16:04:17 1993  Gray Watson  ()

        * Added 'catch-null' token for quitting as soon as we get a sbrk
        failure (i.e. the swap is full or something) as opposed to
        returning NULL.

Sat Jun 19 14:49:42 1993  Gray Watson  ()

        * Minor changes to configuration and notes files.

Tue Jun 15 10:29:13 1993  Gray Watson  ()

        * Released version 1.2.5.

        * Made some last minute changes to the manual.

Wed Jun  9 15:12:21 1993  Gray Watson  ()

        * Fixed small malloc_dbg token bug from Peter Miller.

Thu Jun  3 16:01:14 1993  Gray Watson  ()

        * Added index to manual, removed shar files in place of Makefile
        variables.

Mon May 24 12:58:06 1993  Gray Watson  ()

        * Added -r and -k options for auto-unsetting of variables or
        keeping of variables with malloc_dbg when setting a tag.

        * Added const checking to configure and reordered some include
        files to put conf.h on top.

Tue May 18 20:07:41 1993  Gray Watson  ()

        * Added log-bad-space token and added expand_buf into chunk.c.

        * Create log_bad_pnt in chunk.  Probably broke stuff.
        Translated some flag to BIT_FLAG format.

        * Updated README and started ftp site thanks to Doug Balog.

Thu May 13 00:56:39 1993  Gray Watson  ()

        * Released version 1.2.4.

        * Pretty stable now for a while.  Trying to get access to a ftp
        for distribution ease.

Thu May  6 11:26:03 1993  Gray Watson  ()

        * Added new fix-patch script for myself.  Fixed malloc_t by
        removing LOCAL/EXPORT, etc.

Fri Apr 30 15:26:12 1993  Gray Watson  ()

        * Removed some heap checks in malloc.c from Bali Jatinder's
        comments and fixed some of the error strings.

        * Moved around some defines and changes include ordering.

        * Added -v option to malloc_dbg to provide verbose output
        especially for dumping currently set debug tokens from
        MALLOC_DEBUG variable.

Mon Apr 19 16:04:17 1993  Gray Watson  ()

        * Released version 1.2.3.

        * Made some changes to a lot of comments, notes files, and ttd
        file.

Thu Apr 15 17:44:41 1993  Gray Watson  ()

        * Renamed malloc.h to malloc_dbg.h and libmalloc.a to
        libmalloc_dbg.a.  Added heap-extension checking and verification
        to make sure no-one extends the heap using sbrk behind out back.
        Fixed calloc to have the number of elements be a size_t to (WHY??
        It's not a size!!).  Fixed malloc_t free problems.

Wed Apr 14 18:11:00 1993  Gray Watson  ()

        * Released version 1.2.2.

        * Added some more point checking tests to malloc_str.  Added
        MALLOC_SIZE to some more places.  Completely ifdef'ed compat.h.
        If cannot open logfile, now it complains and continues.  Removed
        stdarg from malloc_dbg.

Fri Apr  9 01:50:17 1993  Gray Watson  ()

        * Released version 1.2.1.

        * Made various other changes.  Backed out some printf changes.
        Added SIZE_T defines and fixed up STDC defines.

Thu Apr  8 17:41:59 1993  Gray Watson  ()

        * Changed to void * internally from char * and put STDC defines in
        malloc.h for ANSI folks.  Why did the ANSI idiots drop the return
        value from free?  Dumb!

        * Made a number of changes per suggestions from the net.  Added
        some size_t defines for AIX junk (that's right Scott junk).  Cut
        down on the continuation strings, fixed some README and mallocrc
        goofs, etc.  Thanks to all.

Tue Apr  6 00:46:45 1993  Gray Watson  ()

        * Released version 1.2.0 to comp.sources.unix.

        * Upgraded to version 1.2.0.  Ready for 2nd release to
        comp.sources.unix.  Lots of work on the manual.

Mon Apr  5 18:28:05 1993  Gray Watson  ()

        * Finished adding token "check-funcs" to check the arguments of
        some common string functions to see whether they are in the heap.
        if so it tries to verify that the pointers are good.

Sun Apr  4 21:24:45 1993  Gray Watson  ()

        * Added token "log-unknown" to dump non-free unknown pointers as
        well as known ones.  Also cleaned up the displaying of the
        pointers.

        * comp.sources.unix is almost ready to post so lots of last minute
        cleanups in the manual, etc.

        * Started integration of function argument checking.

Tue Mar 30 19:36:27 1993  Gray Watson  ()

        * Changed malloc.h defines so malloc routines are handled as well
        as the ALLOC macros.

        * malloc_dbg program now reports on the token NAME and values.

        * Added initial string files for string support in the future.

        * A number of minor changes: fixed gcc compilation problems per
        Scott's help, combined malloc_lp.h into malloc.h, cleaned most .h
        and .c files.

Fri Mar 26 04:00:14 1993  Gray Watson  ()

        * Fixed post 1.1.6 problem with chunk.c.  Boy do I need some
        automated testing tools.  Discovered the illusive localtime
        fence-post error.  Had a hard time tracking it down.  Maybe due to
        the fact that the checks were not being made on dblock fence posts
        before?

        * Released version 1.1.6

        * Found some problems with malloc debug codes.  Use of DB_FENCE
        and CHECK_LISTS and some others were improper.  A MALLOC_DEBUG
        value of 0x403000 would crash all malloc programs.  :-)

        * Added some better comments to all files and cleaned up most
        files too.

Fri Mar 12 18:35:02 1993  Gray Watson  ()

        * Released version 1.1.5.

Sat Feb 13 17:25:43 1993  Gray Watson  ()

        * Finished add a number of const operators to improve coding per
        scott's recommendations.

Sat Jan 30 12:33:43 1993  Gray Watson  ()

        * Released version 1.1.4

        * Took out the check_vars call inside of malloc_strerror since
        _malloc_perror calls malloc_strerror which would go quickly
        recursive.  Thanks scott.

Tue Jan  5 00:00:00 1993  Gray Watson  ()

        * Posted version 1.1.3 shar files to comp.sources.unix.

Sat Jan  2 00:16:58 1993  Gray Watson  ()

        * Made last minute changes to solve some gcc/ansi errors and
        to the manual to get things ready for the post.

Sun Dec 27 20:28:19 1992  Gray Watson  ()

        * Fixed problem with some external functions in malloc.c not
        resetting the in_alloc flag.  Also removed some testing of unsigned
        variables < 0 in chunk.c per gcc 2.3.3 warnings.

        * Released version 1.1.3.

Mon Dec 21 15:31:50 1992  Gray Watson  ()

        * Created the series of shar files in preparation to posting to
        comp.unix.sources.  Looking good.

Thu Dec 17 18:33:38 1992  Gray Watson  ()

        * Renamed a number of files to comply with the Sys5 12 character
        restrictions (14 - 2 for RCS/CVS/SCCS).  Yeach.  malloc_debug ->
        malloc_dbg.

Sat Nov 14 15:59:53 1992  Gray Watson  ()

        * Added all external functions to configure and conf.h even though
        the library assumes that some functions will be resolved.  Also
        upgraded the version number to 1.01gamma (oooooh).

        * Added print-perror debug token for logging messages to STDERR as
        well as log-files.  Removed stdio from the malloc library to make
        sure it does not go recursive (alloc for stderr) at a bad time.

Wed Nov 11 18:19:49 1992  Gray Watson  ()

        * Moved the heap_check calls from chunk.c over to malloc so we can
        be guaranteed that it gets called only once per user call.
        chunk's routines often cross-call each other meaning that
        heap-check was being run 5 times in realloc.  YEACH!!

Tue Nov 10 17:55:53 1992  Gray Watson  ()

        * Added two new debug-tokens: log-blocks and heap-check-map.  Also
        made sure that heap_check was being called from everywhere.
        Updated the manual and corresponding files.

        * Added library functions that may not be defined.  Updated the
        conf.h.in and configure.in files to improve confiurability.
        Upgraded the manual which still needs a lot of work (sigh).

Mon Nov  9 19:21:25 1992  Gray Watson  ()

        * Added configure, configure.in, conf.h.in, and Makefile.in to try
        and conform with autoconf specs.  What a bear.  The documentation
        for autoconf needs a whole bunch more examples, etc.  Sigh.
        Removed all the MEMORY and STRING defines, etc.

Thu Nov  5 22:13:18 1992  Gray Watson  ()

        * Released version 1.01b.  Sending it off to some folks.

        * Lots and lots of changes.  Translated all programs into non-ansi
        C dependence and then went back again when I found some problems
        with my macros.  :-)  Took out all (and I mean all) Antaire
        dependencies and defines.

Thu Oct 22 00:47:18 1992  Gray Watson  ()

        * Ran through most of the debug-flag functionality testing and
        tweaking.  Found some bugs on dblock handling and some messed up
        logic with the way the LOG flags were working.

        * malloc_debug is looking good.  It now outputs C or Bourne shell
        code and seems to work in both environments.  What do sh folks use
        in the place of c-shell aliasing?  I guess use bash.  :-)

Wed Oct 21 03:27:35 1992  Gray Watson  ()

        * Major changes.  I sort of went overboard tonight.  I integrated
        the new malloc_debug program which sets all the debug variables
        for you.  I also added a .mallocrc which you can define with tags
        exactly the functionality you want to happen.  No more levels!!

        * Did some renaming of files, cleaned up some other things,
        had to rework a number of items to get new debug flags working.

Tue Oct 20 18:06:36 1992  Gray Watson  ()

        * Removed useful.h requirements and integrated necessary
        definitions into malloc.h.

        * Transferred malloc.txt documentation into malloc.texinfo.  Boy
        is it nifty!!  And damn easy!!!

        * Major changes to improve general machine independence.  Added
        malloc_mach.h.  Moved alloc.[ch] to malloc.[ch] for sanity
        reasons.

Tue Oct 13 16:14:17 1992  Gray Watson  ()

        * Made various cosmetic changes.  Fixed realloc inbound pointer
        checking per MALLOC_ADDRESS.  Fixed problem with MALLOC_ADDRESS
        initialization to NULL causing free to "find" NULL pointers.  :-)

        * Separated the PERROR debug level and the KILL_SELF level.  Now
        (by default) all memory errors are logged at level 1 and above and
        malloc kills itself at level 2 and above.

Mon Sep 28 23:24:36 1992  Gray Watson  ()

        * Added MALLOC_ADDRESS support for free.  MALLOC_ADDRESS counts
        now also apply to frees also.

Mon Sep 21 20:39:38 1992  Gray Watson  ()

        * Fixed some size problems with bounds checking enabled.

        * Made free be able to report who freed a pointer.  I don't know
        why this wasn't caught before.  free wasn't even using its
        file/line arguments.

Thu Sep  3 03:23:39 1992  Gray Watson  ()

        * Added ability to realloc a NULL pointer with an ifdef to
        disable.  Useful in realloc loops where the first time you don't
        have to alloc it.

Fri Aug 14 15:54:03 1992  Gray Watson  ()

        * Added a bunch of new environmental variables features:
        MALLOC_ADDRESS now can have a :# argument.  MALLOC_START now has
        two formats, the old number and new file:line.  Looks nice!

        * Made a pass through chunk.c and fixed a number of problems where
        debug output pnt/size did not match user-supplied information.

        * Moved most of the debug variables into alloc.c from chunk.c and
        added a standardized check_debug_vars() checking routine.

Tue Jul 21 16:06:13 1992  Gray Watson  ()

        * Fixed malloc count statistics.  Removed duplicate malloc_count
        variable from a number of places.

Mon Mar 23 10:49:25 1992  Gray Watson  ()

        * Released version 0.04

        * New env variable features.

Thu Mar 12 19:28:34 1992  Gray Watson  ()

        * Fixed a large problem with chunk.c not reporting the correct
        memory address when listing unfreed memory.  This was discovered
        when MALLOC_ADDRESS was not working correctly.

        * Started ChangeLog.

-------------------------------------------------------------------------------
$Id: ChangeLog,v 1.345 2007/05/14 17:23:42 gray Exp $
-------------------------------------------------------------------------------

Generated by dwww version 1.15 on Sat May 18 06:46:09 CEST 2024.