1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815
|
Changes for 1.4.8 (8th January, 2002)
* Added better logging for diagnostic messages.
* Added much-improved autoconf, automake and libtool support.
* Added provisional HTML log file support with the HTML option.
* The library now checks to ensure that there were not any problems writing
the profiling and tracing output files.
* Added better Tru64 thread-safe support.
* Fixed a problem locating symbols for the a.out object file format.
* Fixed diagnostics for the number of symbols read from Windows DLLs.
* Fixed a bug which calculated the wrong total size of marked allocations.
* The mpatrol command now has the --read-env option for using the existing
contents of the MPATROL_OPTIONS environment variable.
* The mpsym command now autodetects 64-bit support and now has the --skip
option.
* The source code now compiles properly on BSD systems.
Changes for 1.4.7 (5th September, 2001)
* Fixed the problems building Windows DLLs.
* Fixed the problems with stack unwinding on Tru64.
* The mpsym command now works on LynxOS and the mpedit command now works on
FreeBSD and supports the elvis, pico and nano editors.
* Added ability to build a Debian package.
Changes for 1.4.6 (28th August, 2001)
* Added many new arguments that are passed to prologue, epilogue and low
memory callback functions and updated the tools that already use them.
* The Windows DLL version of the mpatrol library now correctly exports the
C++ functions defined within it.
* Increased the maximum input line length for the mptrace and mleak commands
due to the excessive length of some C++ identifiers.
* Improved the UNIX Makefile when building mptrace with GUI support.
* Added ability to build full documentation from the source code.
* Added skeleton autoconf, automake and libtool support.
Changes for 1.4.5 (14th June, 2001)
* Added the CHECKFORK option in order to fix the fork() problem on UNIX
platforms explicitly. This had to be added because the fix in the previous
release did not work for multithreaded programs on Linux.
* Added the HD_CONTENTS flag to the heapdiff tool.
* Added the --source option to the mptrace command.
Changes for 1.4.4 (31st May, 2001)
* Added ability to read, write, compare and remove allocation contents files.
* Added the __mp_libversion() function to return the library version number.
* The __mp_* functions can now be called as mpatrol_* functions when the
mpatrol.h header file is included.
* Added support for automatic compilation when TARGET=TARGET_ANY and
ARCH=ARCH_ANY and added information about the platform in the log file.
* SuSE Linux is now supported.
* Added ability to trace reallocations.
* Fixed a problem on UNIX platforms when fork() was called and the child
process continued to make memory allocations.
* Fixed a problem on Windows platforms when protecting pages that were
allocated by different calls to VirtualAlloc().
* Fixed a bug when using alloca() without full stack support.
* Added the --hatf-file option to the mptrace command to write out the trace
file in HATF format. Also added running statistics to the --verbose
option.
* Added the --max-stack option to the mleak command.
Changes for 1.4.3 (22th March, 2001)
* Added the --call-graph option to the mprof command and fixed a rare bug when
displaying the leak table and call graph with call sites which have no
associated symbols.
* Added the --gui and --verbose options to the mptrace command, which now also
displays useful statistics.
* Added chapters on heap corruption, memory leaks and porting to the mpatrol
manual and moved the Tools and Utilities sections to the top level.
Changes for 1.4.2 (12th March, 2001)
* Added the LEAKTABLE option which displays a leak table at the end of program
execution. Also added functions for users to manipulate the leak table.
* Added the __mp_iterateall() function to walk the entire heap, including
free blocks and internal allocations. The __mp_info() and __mp_printinfo()
functions now also return information about free blocks.
* Added functions to print to the log file along with their source position
and a stack traceback.
* Added the __mp_errno global variable and a function to obtain the error
message string corresponding to an error code.
* Added __mp_init_* and __mp_fini_* initialisation and finalisation function
support.
* Finished the support for marked allocations.
* Tru64 is now supported.
* The library is now no longer initialised on Linux until the environment
variables are fully set up.
* Removed calls to ZeroMemory(), etc. on Windows platforms as they ended up
calling memset(), etc. thus defeating the whole purpose of the original
change!
* Fixed a problem building the shared version of the mpatrol library with some
versions of GNU C++.
* Added the --sim-file option to the mptrace command to provide trace-driven
memory allocation simulation support.
* Fixed the mpsym command which had problems when GDB displayed lines that
were too long. Also now uses progfile.log if mpatrol.log cannot be found.
* Added Dmalloc-compatible function implementations as an external package.
* Forgot to build the Dbmalloc module and install its header file in the
previous release. Also now read all relevant Dbmalloc environment variables
on initialisation and mapped all Dbmalloc error codes onto mpatrol errors.
Fixed the malloc_inuse() function for marked allocations.
* Added chapters to the mpatrol manual describing the tools supplied and the
leak table.
* Added the AUTHORS, CHECKSUMS and THANKS files.
Changes for 1.4.1 (27th February, 2001)
* Added the __mp_atexit() and __mp_setmark() functions. Also added more
fields to the information returned by __mp_info() and better source-level
information when __mp_check() is called.
* Added the FREMRK error for when an attempt is made to free a marked memory
allocation.
* Fixed a problem which prevented the const keyword being used when compiling
with a C++ compiler.
* Fixed a problem when profiling memory reallocations.
* Fixed a typing error which would prevent compilation on Windows platforms.
Also fixed std namespace problems for set_new_handler() on Windows
platforms.
* Changed HEAPDIFFSTART() and HEAPDIFFEND() to their lowercase equivalents and
added support in the heapdiff tool for marked memory allocations.
* Added Dbmalloc-compatible function implementations as an external package.
* The trace file in the mtrace tool is now automatically closed at exit.
Changes for 1.4.0 (21st February, 2001)
* Added release versions of all of the mpatrol library functions that can be
used to quickly remove all mpatrol features by linking with libmpalloc.
Changed the arguments to the MP_MALLOC() family of functions so that the
pointer being manipulated is always the first argument.
* The log file now displays a summary of all of the symbols loaded from the
main executable file and any shared libraries.
* The C++ operators are now ANSI standard conforming, with new versions that
throw the std::bad_alloc exception when no more memory is available. The
mpatrol library is now built with a C++ compiler by default on some
platforms.
* The alloca() family of functions now abort instead of returning NULL when
there is no more memory available. Also added the BSD reallocf() function.
* Added a function to read the value of any mpatrol option at runtime. Also
added a function that can set most mpatrol options at any point in a
program's execution. In addition, a function has been added to obtain
symbolic information about a code address from the mpatrol symbol manager
and another function added to associate user-specific data with a particular
memory allocation.
* Added functions to snapshot the heap and iterate across all memory
allocations in the heap. Also added functions to write strings, hex dumps,
memory allocations and current call stacks to the mpatrol log file, as well
as the ability to edit or view specific source files from within a program
when it is running. A function is also now available to obtain various
statistics about the current state of the heap.
* The CHECK option is now zero by default, which means that the library does
not perform as much checking by default as it did before. Also added a
frequency argument to the CHECK option so that checking can be performed
every nth time across a given range.
* Changed the behaviour of the NOFREE option so that NOFREE=0 really does mean
that all memory allocations will be freed immediately. A large finite
number must given to the NOFREE option in order to mimic the old behaviour
of the NOFREE=0 option.
* The mpatrol library now calls FillMemory(), etc. on Windows platforms in
order to perform memory operations faster than would normally be done with
__mp_memset(), etc.
* Fixed a bug in the strdup() and realloc() families of functions that would
be triggered if they ran out of memory.
* Fixed a bug in memalign() which meant that if the alignment was specified as
zero then the system page size would be used instead of the default system
alignment.
* GNU C++ destructor symbols are now recognised and preserved when reading
the symbol tables from object files. Previously this meant that memory
allocations from such destructors were recorded as having occurred in the
wrong place.
* Added the return address as an additional argument to the prologue and
epilogue handlers.
* The hexwords command now searches for a dictionary in several other
locations if the default dictionary is not found.
* Added an Automake macro for use when incorporating mpatrol into a new or
existing project. Also added a new header file which can be used to
include mpatrol.h, mpalloc.h or neither depending on whether the mpatrol
or mpalloc libraries are available.
* Added the allocstop, reallocstop and freestop commands to the .gdbinit
configuration file so that it is possible to stop at specific allocations,
reallocations and deallocations when debugging a program.
* Added new tests demonstrating the MP_MALLOC() family of functions and the
__mp_snapshot() and __mp_iterate() functions. Also improved some of the
existing tests to make use of the new functions.
* Added a tools directory containing additional source code for the mpatrol
library. Currently contains packages for determining the difference in the
heap between two points in a program's execution, a GNU-compatible mtrace()
function and a memory allocation gauge. A new library is also available
which contains these packages.
* The mpatrol distribution now contains the mpatrol documentation and manual
page archives which are no longer available separately.
Changes for 1.3.4 (25th January, 2001)
* Added the MP_MALLOC() family of functions for recording the type name and
type size of a memory allocation. Also added the xmalloc() family of
functions which never return NULL.
* Added a new header file and library for use when mpatrol is not being used.
* Added FreeBSD, NetBSD, OpenBSD and SunOS support.
* Added the ability to read symbols from a.out files. Also added the ability
to build mpatrol as a shared library on AIX, as well as being able to read
symbols from shared libraries on AIX. The COFF and XCOFF symbol readers now
require the use of the libld object file access library.
* Changed the behaviour of the low memory handler to automatically retry the
memory allocation once the handler has been called.
* Now store information about the point of last reallocation rather than the
point of original allocation.
* The manual pages are now also supplied in HTML format.
Changes for 1.3.3 (6th January, 2001)
* Added support for the -fcheck-memory-usage option of the GNU compiler.
* Added the hexwords command to extract any words from a dictionary file that
can be written as hexadecimal numbers.
* The mpsym command can now make use of perl if it is installed rather than
using the slower method of calling awk and sed.
* The library now allocates internal memory with mmap() by default, and with
sbrk() when the USEMMAP option is used, but only if the mmap() system call
is supported.
* The MP_USE_ATEXIT feature macro has been added to force the mpatrol library
to be registered with atexit() instead of using alternative methods to
automatically terminate the library, if they exist.
* Added two new tests demonstrating the support for -fcheck-memory-usage.
Changes for 1.3.2 (18th December, 2000)
* Added the TRACE and TRACEFILE options to handle memory allocation tracing.
* Added the SHOWFREE option to display information about free memory blocks.
* Added the mptrace command to decode a tracing output file into tabular, and
possibly graphical, form.
* Added the %d, %t and %f filename characters to be replaced with the current
date, current time and full path of the executable.
* Added information about the peak number of memory allocations to the log
file summary.
* Improved the handling of internal blocks used by the mpatrol library to be
more efficient.
* Added a chapter on tracing to the mpatrol manual.
* Added new DVI, postscript and PDF formats for the UNIX manual pages and
added the mpatrol_man.tar.gz archive. Also changed the mpatrol.3 manual
page to libmpatrol.3.
Changes for 1.3.1 (22nd November, 2000)
* The initialisation and termination of the mpatrol library has been improved
when compiling on ELF, GNU or C++ systems. All memory deallocations
resulting from C++ file-scope destructors will now be recorded as a result.
* The thread-safe shared library version of mpatrol was not being built
correctly with the GNU linker. This has now been fixed, with the result
that the library is properly initialised.
* Improved the RPM package specification file to keep in line with the Red Hat
PowerTools release.
* Added the ability to build an SD/UX package for use on HP/UX.
* Documented how to create shared libraries from archive libraries when using
the GNU linker.
Changes for 1.3.0 (19th November, 2000)
* Added the CHECKMEMORY option for displaying an error for each zero-size
memory operation on a NULL pointer.
* Added the EDIT and LIST options for editing and listing source lines that
cause warnings or error messages. Also added the mpedit command which is
used by these options.
* Changed the format of stack traces in the mpatrol log file so that symbol
names also contain a byte offset from the beginning of the symbol.
* Warnings and errors are now reported with error abbreviation codes.
* Added the alloca(), strdupa(), strndupa() and dealloca() functions for
tracing and debugging temporary stack-based memory allocations.
* Improved the error-checking of the strdup() family of functions and also
fixed a bug in strndup() and strnsave() where the string was not being
terminated correctly.
* Added support for the LOGDIR and PROFDIR environment variables.
* ICL DRS/NX is now supported.
* The OFLOWWATCH option is now supported on IRIX.
* Finally fixed the determination of the address of an illegal memory access
on IRIX platforms and added support for the SGI N32 object file format.
* MP_FUNCNAME is now supported for C9X compilers. Also added MP_NONEWDELETE,
MP_NEW and MP_DELETE to prevent problems with the macro replacement of the
C++ operators.
* Added long options to the external commands and added --help. The short
options have now been heavily revised so beware!
* Added the --show-env option to the mpatrol command and removed the implicit
LOGALL that was always being added to MPATROL_OPTIONS. Also added the
--threads option to link at run-time with thread-safe libraries.
* Fixed a problem with the mpatrol command on UNIX platforms when the command
to be run was not supplied with a pathname.
* The mprof command can now display the full allocation call graph for a
profiling output file. Added the --graph-file and --leaks options to the
mprof command for writing out graph specification files for later
visualisation with dot.
* Added the ability to read the unfreed allocations table from the log file
with the mleak command and also added the --ignore option.
* Added the mpsym command, which makes use of a debugger to locate any missing
symbolic information in an mpatrol log file if the USEDEBUG option does not
work.
* Added instructions on how to define a mallopt command in the shell which
will set the MPATROL_OPTIONS environment variable in the current process.
* Added new sections to the mpatrol manual on diagnostic messages and
references to other documentation. The manual also contains example graph
images illustrating the new --graph-file mprof option.
* The ASCII, GNU Info, AmigaGuide and HTML versions of the mpatrol manual and
the texinfo.tex file used to build the printed manuals are now provided with
the main distribution. The PDF version of the manual now includes the
mpatrol logo as a proper PDF image file instead of a PNG file and now
includes thumbnail images as well.
* Fixed the problem with margins in the PDF reference card. The printed
mpatrol manual is now A4 by default.
* A Makefile is now provided to build the UNIX manual pages.
* Added a new definition file for the Windows thread-safe DLL.
* Made the tests work on 64-bit platforms and added 2 new tests demonstrating
the alloca() family of functions.
Changes for 1.2.6 (18th July, 2000)
* The NOFREE option now takes an argument which specifies the maximum number
of freed memory allocations to preserve before returning the oldest to the
free memory pool.
* Fixed a regression when displaying the summary after an illegal memory
access and also made the signal-handler thread-safe.
* Added 64-bit support for SPARC Solaris platforms.
* Added support for the -d option on DYNIX/ptx.
* Added support for threads on DYNIX/ptx.
* Moved the FAQ into the mpatrol manual.
Changes for 1.2.5 (12th July, 2000)
* Can now determine the address of an illegal memory access on LynxOS
platforms.
* Fixed a bug when allocations are pages and an allocation is increased in
size using space from a free block.
* Added a new magic file excerpt for use with the file command.
* Added a new build script for building Windows ZIP distributions.
* The tests are now included when building packages.
Changes for 1.2.4 (29th June, 2000)
* Added support for the USEMMAP option on HP/UX.
* Can now determine the address of an illegal memory access on AIX and
Linux platforms, and fixed a regression from 1.2.0 when detecting the
location of an illegal memory access on platforms that support siginfo.
Changes for 1.2.3 (27th June, 2000)
* Added more robust stack traversal support for Windows platforms.
* Can now determine the address of an illegal memory access on IRIX and
Windows platforms and now also the address of a misaligned memory access
on UNIX platforms.
* Added support for the XCOFF and Windows PE object file formats and
provisional support for the ELF64 object file format.
* Can now read symbols from executable files and shared libraries on Windows
platforms.
* Added support for the USEDEBUG option on Windows platforms.
* Fixed long-standing problem with USEDEBUG and the GNU BFD library.
* C++ symbol names now automatically get demangled on Windows platforms.
Changes for 1.2.2 (18th June, 2000)
* The mpatrol library can now be built as a thread-safe library on many
platforms.
* Added ability to determine the program name on DG/UX M88K.
* SINIX and UnixWare are now supported.
* Added stack traversal support for MIPS.
* Fixed problem with using libcl.sl on HP/UX.
* Fixed problem with offsets of symbols read from HP/UX shared libraries.
Changes for 1.2.1 (1st June, 2000)
* Intel LynxOS is now supported.
* Added stack traversal support for PA/RISC, RS/6000 and PowerPC.
* Added ability to determine the program name on AIX, HP/UX and LynxOS.
* Added a better way of determining the program name under Linux.
* Symbols can now be read from HP/UX and IRIX shared libraries.
* Added a Linux Software Map index file.
Changes for 1.2.0 (16th May, 2000)
* Added memory allocation profiling, which behaves in a similar way to mprof.
* Added the PROF, PROFFILE, AUTOSAVE, SMALLBOUND, MEDIUMBOUND and LARGEBOUND
options for memory allocation profiling purposes.
* Added a new command for displaying tables from memory allocation profiling
output files.
* The -P and -p options to the mpatrol command are now called -X and -x.
* The memleak tool is now called mleak.
* The CHECK* options now display the calling function details even when the
LOG* options are not used.
* Added the ALLOWOFLOW option for allowing memory operations which overflow
allocation boundaries to continue rather than being ignored.
* The log file and profiling output file can now contain %p in their names
which will be expanded to the name of the executable program file.
* AIX and IRIX are now supported.
* The recalloc() and cfree() functions now take extra arguments to be in line
with the IRIX malloc library.
* Added support for duplicate functions with alternative names to be defined
as well as malloc(), calloc(), etc.
* All replacement function definitions are now disabled in mpatrol.h if the
NDEBUG preprocessor macro is defined.
* Added the memccpy() function.
* Fixed a bug in the reimplementation of memcmp() and bcmp() which used plain
chars for comparison rather than unsigned chars.
* Function call stack traversal is now more robust on UNIX systems, with
the library simply stopping reading a call stack if it is corrupt rather
than crashing.
* Added lint support in the UNIX makefile and the ability to build a lint
library for mpatrol.
* Added a GDB command file for use with mpatrol.
* Added a quick reference card.
* Added instructions on how to build the mpatrol library as a shared library
while also resolving references to any object file access libraries. Also
added references to more related software.
* Added an image file in ASCII art for the text versions of the mpatrol
manual.
* Added new tests for illustrating profiling support.
Changes for 1.1.4 (10th April, 2000)
* The mpatrol shell script is now rewritten in C and is now also available on
AmigaOS, Windows and Netware as well.
* Added a new command for detecting memory leaks in the log file.
* Added a new function, __mp_printinfo(), for calling from within a debugger
to determine information about a specific heap address.
* Changed set_new_handler() name mangling for GNU C++.
* Fixed a typing error in inter.c for Windows platforms.
* Added a makefile compatible with Microsoft's nmake on Windows platforms.
* The filenames of some object libraries have been changed to prevent
conflicts when building the mpatrol command.
* Added untested support for Parasoft Inuse.
* Added new tests for freeing local and global variables and also a test to
highlight problems of overwriting pointer information.
Changes for 1.1.3 (26th March, 2000)
* Amiga shared library support has been removed (but it didn't work before
anyway).
* Limited stack traversal and symbol reading is now supported on AmigaOS
when using GCC.
* A build script is provided for AmigaOS Aminet distributions.
* malloc() and related memory allocation functions are now overridden without
requiring the inclusion of mpatrol.h on Windows (and AmigaOS platforms when
using GCC) as well as UNIX platforms.
* Limited forms of brk() and sbrk() are now provided on certain non-UNIX
platforms that do not have them.
* The Windows version of mpatrol now allocates memory from the system in 64K
chunks as that seems to be the minimum allocatable size on that platform.
* The memory operation functions no longer initialise the mpatrol library
if they are called before any memory allocation functions.
* Added new tests for detecting pre-read and post-read errors.
Changes for 1.1.2 (18th March, 2000)
* Added a section on integration to the mpatrol manual.
* Added ability to determine source level information from call if USEDEBUG
is enabled, even if mpatrol.h was not included.
* Internal blocks are now allocated in larger chunks which will increase the
efficiency of library execution and cause less memory fragmentation.
* Added a default low-memory handler for C++ operators new and new[].
* Added special name mangling for the GNU C++ operators.
* Fixed a bug which occurred when allocating lots of pages using sbrk().
Changes for 1.1.1 (9th March, 2000)
* Added a section on threads to the mpatrol manual.
* Added the USEDEBUG option for displaying filenames and line numbers in call
stacks if the executable file contains debugging information.
* Changed the definitions of the C++ operators so that they now include source
level information.
* Added the MP_NOCPLUSPLUS preprocessor macro for disabling C++ support in
mpatrol.h.
* The mpatrol.h header file should have less incompatibilities with the
library functions that it overrides.
* The prologue and epilogue functions are now only called for user allocations
and not internal mpatrol allocations.
* The memory operation functions now continue to function even when the
mpatrol library has been terminated.
* Support has been added for building a tape archive distribution.
* Added a new C++ test.
Changes for 1.1.0 (30th January, 2000)
* Added a new file containing answers to frequently asked questions.
* Added references to the memory management reference, FreshMeat and eGroups
in the mpatrol manual. Also added more related software and removed the
authors from the concept index and added a complete tutorial.
* Changed the suffix of the ASCII documentation from .doc to .txt since it
was being wrongly assumed to be a Microsoft Word document.
* Object libraries are now no longer built when the all Makefile target is
used.
* The library now replaces the memset(), bzero(), memcpy(), memmove(),
bcopy(), memcmp(), bcmp(), memchr() and memmem() functions for tracing and
debugging purposes.
* Added the expand() function for backwards compatibility with other C
libraries.
* Added the LOGMEMORY option to log all calls to memory operation functions.
* Added the SAFESIGNALS option which is now no longer enabled by default.
* Added a summary of bytes compared, located, copied and set when
__mp_summary() is called.
* Dynamic symbols are now used on GNU BFD as well as ELF when the object file
has been stripped of its symbol table.
* Relevant options and flags have been added for future mallopt() support.
* Added new tests for the tutorial and memory operation functions.
Changes for 1.0.8 (20th December, 1999)
* Added the utilities and library functions sections and documented the pkg
directory and how to use other libraries with mpatrol in the mpatrol manual.
* Made reading the ELF dynamic linker independent of file format since Linux
now uses the GNU BFD library rather than the ELF access library.
Changes for 1.0.7 (29th November, 1999)
* Added the overwrites and underwrites, testing, library behaviour and general
errors sections and the how it works chapter to the mpatrol manual.
* Added support for building PKG and RPM packages.
Changes for 1.0.6 (25th November, 1999)
* Removed the NOTES, INSTALL and EXAMPLES files as their contents are now
entirely in the mpatrol manual.
* Added the operating system support, using mpatrol, improving performance and
library performance chapters to the mpatrol manual.
* Added lots of software for AmigaOS to the related software section in the
mpatrol manual.
* Added new library performance figures.
* Added the FAILFREQ and FAILSEED options.
* The __mp_trap() function now does nothing so that it can be used as a
breakpoint target in a debugger.
* Increased the maximum size of the MPATROL_OPTIONS environment variable from
256 to 1024 bytes.
Changes for 1.0.5 (16th November, 1999)
* Added TeXinfo documentation which can be translated to on-line manuals in
ASCII, GNU Info, AmigaGuide and HTML format, and printed manuals in DVI,
Postscript and PDF format.
* Added support for allocating memory from a static array rather than the
system heap, which might be useful on embedded systems which have no heap.
Changes for 1.0.4 (21st October, 1999)
* Added the CHECK option.
Changes for 1.0.3 (19th October, 1999)
* Improved library performance.
* Added library performance figures.
* Added total number of warnings and errors to summary.
Changes for 1.0.2 (15th October, 1999)
* Added the USEMMAP option for UNIX platforms so that mmap() can be used
instead of sbrk() to allocate heap memory on systems that support it.
Changes for 1.0.1 (13th October, 1999)
* A bug that appeared when the mpatrol library was statically linked on a UNIX
system that defaults to dynamic linking has been fixed.
* A potential problem with losing details of some free memory blocks when the
library runs out of system memory has been fixed.
* Added a new examples document which illustrates the features of the mpatrol
library with annotated examples.
Changes for 1.0.0 (11th October, 1999)
* First public release.
|