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
|
03/2/01 - Version 0.8.1 Released
- FreeBSD portability fixes
- Fixed Fencepost error in __nj_ptr_info
- Added more detailed information on segmentation fault.
- Fixed boundary bug in __nj_ptr_info and __nj_dump_leaks
- Fixed a teeny bug in njamdpm when dealing with addr < 0
- Kernel patch updates to latest version
- Workaround for evil glibc2 bug where errno was handled improperly
with profiling code and with C++ and pthreads
- Added option to dump core on exit.
- Fixed for a problem with reporting stats when NO_CHK_FREE was set
- Fixed a permissions problem with root.
- Changed ENOTSUP to ENOSYS in public.c for portability to FreeBSD 4
- Fix for broken PAGE_SIZE on Solaris
- Port for Irix
- Documentation updates
10/5/00 - Version 0.8.0 Released
- Limited HPUX support
- Limited AIX support. Tested on VERY old version of AIX tho.
- Added symbol tracing in Linux via glibc's backtrace_symbols_fd.
Unfortunately, it only works for shared libs in 2.1 <= glibc < 2.2
- Kernel patches for more mappings on Linux included (Should be able
to debug Mozilla with enough RAM now)
- Fixed deadlock bug when mallocing > 20meg segments
- Fixed bug that prevented SIGUSR1 from dumping stats
- Added SIGINT, SIGBUS, SIGTERM to NJAMD's signal handler
- Wrap sigaction and all aroung better signal handling
- Fixed bug that left heap files lying around if njamd exited early
- Added ability to turn off warning of free(NULL) and malloc(0)
- Slight code cleanup (more standardized naming convention, more
defines)
- Added usage statistics and option (NJAMD_DUMP_STATS_ON_EXIT) to
turn them on at exit
- Usage stats and more info are also printed when out of memory.
- Unmap unused memory if prot=none
- Dump leaks range now reported correctly for prot=none
- Fixed a big bad bug if you realloc to shrink a buffer.
- Documentation updates
5/19/00 - Version 0.7.0 Released
- Added a trim option to njamdpm, to cut off excess slack from heap
files
- Now store a limited call trace instead of a single return address
for each malloc
- Added the ability to get return addresses in libraries as opposed
to usercode only
- Added ability to turn off return address recording (for debugging
programs compiled with or linked with libraries compiled with
-fomit-frame-pointer, or optimization > -O2)
- Changed the default free checking option to segv because of a Linux
page mapping limit.
- libltdl no longer used. More trouble than it's worth
- Added __nj_ptr_info(void *) that can be called from gdb to get info
on any address wrt NJAMD.
- NJAMD_PROT=none feature added to use libc malloc and only do leak
accounting
- Better bounds checking for the reverse error (ie: an overflow
when using the NJAMD_PROT=under, and vice versa)
- Changed default operation of NJAMD_CHK_FREE to segv when I
discovered Linux kernel v2.2 has a limit of 65536 mappings. Boo! :)
- Bug fix to acutally dump leaks when requested
- Script to automate testing and compare values automatically to
./tests/README.
- Documentation updates
4/20/00 - Version 0.6.1 Released
- Now builds on systems without any pthread support (NetBSD)
- Fixed crash bugs relating to return address detimination and
pthreads
- Fixed an off-by-one return address error. It went one level too
high on the call stack (could cause segv's in some cases)
- Added ability to disable building frontend
(./configure --disable-frontend)
- Removed a performace bottleneck related to using the enitre address
space when NJAMD_CHK_FREE=none was set.
- Fixed arg parsing on njamdpm
4/9/00 - Version 0.6.0 Released
- Added heap persistance and the ability to do post-portem analysis.
See njamdpm(1).
- Added a "This address not from malloc" check.
- Finer grained mutex locking and all around code cleanup
4/6/00 - Version 0.5.3 Released (Wow! One per day!)
- Replaced usage of dlopen with libltdl in hopes to work around BSD's
broken dlopen. It didn't help. Complained to libtool folks.
- Wraped pthread_create so that we can really ensure that
__nj_primary_init runs before threads. Depends on libltdl working
tho.
- Added PERFORMANCE section to njamd(3) after finding performance
problems with the BSD mm system. Man, BSD is nothin but trouble. :)
4/5/00 - Version 0.5.2 Released
- Fixed problems with architectures that don't support constructors in
shared libs
- Fixed problems with alignment
- Fixed bug where ncurses tries to call itself curses.h
4/4/00 - Version 0.5.1 Released
- Fixed a slip up on the library loading for the front end.
- Fixed a deadlock in the back end that occured when handshaking with
the front end.
4/3/00 - Version 0.5.0 Released
- See NOTES for release notes
|