Commit graph

15 commits

Author SHA1 Message Date
dholland
69fa755758 Use BROKEN_ON_PLATFORM for undocumented MacOS restriction. 2015-01-04 02:47:06 +00:00
cheusov
67c292804e Update to 1.2.1
lmdbg-leaks: fix incorrect memory leak detection with calloc(3).
2014-02-05 21:14:00 +00:00
cheusov
64befa833a Update to 1.2.0
New tool lmdbg-head(1) was implemented, see the man page for
  details.

  README: recomendations for procfs

  lmdbg-sym:
    - Much simplier (and correct) method for address convertion was
      implemented. As a result lmdbg-sym works correctly on AltLinux
      where ASLR and PIE are enabled by default.
    - Breakpoint are removed very soon after creation.
      This saves a lot of memory consumed by gdb(1)
      and dramatically speeds up it.

  lmdbg-run:
    - Arguments are passed correctly to progname
    - On glibc-based systems (e.g. Linux) malloc hooks are not used
      anymore as they are declared deprecated
    - Addresses from lmdbg.c are not included to stacktrace
    - Additional checks for address (returned by stacktrace(3))
      correctness.  As a result gdb(1) doesn't crash and therefore
      lmdbg-sym(1) work correctly.
    - stacktrace(3) doesn't not crash anymore on NetBSD/x64_64 with
      system utilities.  See implementation details in stacktrace.c.
    - New option -N
    - Option -v works correctly with non-zero exit status of progname.
    - Exits with error if progname is not specified.

  lmdbg-stat:
    - Fix for NULL dereference appeared if free(3) or realloc(3)
      stacktrace is seen without appropriate malloc(3) stacktrace.

  AWK interpreter is found at configure time via MKC_REQUIRE_PROGS.

  Build and regression tests were fixed for non-empty MAKEOBJDIR case.

  ChangeLog file is never installed.

  lmdbg-s2m and lmsbg-m2s was moved to libexec dir.

  mk-configure >= 0.24.0 is required for build.

  Fixes, improvements and additions in regression tests.
2013-08-07 21:07:25 +00:00
asau
e1ab7079b6 Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days. 2012-10-31 11:16:30 +00:00
cheusov
f6533445d5 Update to 1.1.0
Fix in regression tests. Now "make test" exits with non-zero status
  if something fails.

  lmdbg-run:
    - Zero addresses are removed from stacktraces generated by glibc's
      backtrace(3).  This fixes asserts in lmdbg-stat(1).
    - Double "0x" in "info section" were fixed (seen on NetBSD).
    - backtrace(3) from libexecinfo is used instead of builtin
      implementation if the library and execinfo.h are available
      (FreeBSD, NetBSD).

  lmdbg-sym:
    - Fixes. Sometimes addresses were converted to symbols
      incorrectly. The problem was seen on modern Linux distros with
      recent gdb(1).

  lmdbg-stat:
    - Now incompletly read lines (having no LF in the end) are
      ignored.  This fixes crashes and therefore empty output or
      lmdbg(1) when analysed program is killed.
    - Alternative implementation written in awk was removed.

  Build infrastructure was converted to 2-level dirs.
  This requires mk-configure>=0.23.0 for build.

  Minor clean-ups in man pages and Makefiles.
2012-09-02 18:48:19 +00:00
cheusov
fcd614744f clean-ups (adapted for recent mk-configure) 2012-03-09 18:58:19 +00:00
cheusov
b4a82d10c7 Update to lmdbg-1.0.0
libstacktrace:
     Remove signal handlers and other garbage.
     All we need is __builtin_frame_address and __builtin_return_address
     builtins and nothing else.

  Documentation files have been moved to subproject "doc".
  Run "mkcmake install-doc" for installing it (or change SUBPRJ_DFLT).

  Only backtrace(3) in libc is accepted as an external implementation
  of stacktrace(3). This may fix build failure on FreeBSD with
  installed libexeinfo.
2012-01-09 19:47:35 +00:00
cheusov
6ae1bf71fd Update to 0.17.0
Long options have been removed from all programs.
  Use standard single-letter POSIX-compatible options.

  lmdbg-sym:
    - Doesn't accept progname as an argument anymore.
      Use -P option instead.
    - option --with-so was replaced with -s.

  SORRY FOR INCOMPATIBILITIES WITH PREVIOUS RELEASES.

                                    ----------------------------------

  lmdbg:
    - -M option was added. lmdbg(1) is now a meta tools which is able
      to not only collecting memory leaks. See the manual page for
      details.
    - -n option was added
    - -T and -B options were added
    - Regression tests were added for -M

  A lot of improvements and grammar fixes in manual pages.
  Thanks to Nikolai Krot for this.

  lmdbg-stat, tests/test.sh:
    - Fixes for Solaris

  lmdbg-run:
    - options -T and -B were added to lmdbg-run.
    - option -n was added. It disables logging on startup.
      Sending SIGUSR1 signal to the process enables it.
    -f option was added, synonym for -p.

  lmdbg-grep.1:
    - documentation for "bytes" variable

  If set, LMDBG_MODULES_AWK and LMDBG_STRIP_AWK environment variables
  are used as a path to AWK interpreter by "lmdbg-modules" and
  "lmdbg-strip" programs respectively.

  More regression tests
2011-12-02 22:45:47 +00:00
cheusov
302e8e62aa clang was added to a list of supported compilers
minor code clean-ups
2011-11-26 10:18:49 +00:00
cheusov
14c74a84e1 Adding MANDIR to MAKE_ENV is not needed anymore 2011-10-19 15:04:37 +00:00
cheusov
98589abbad Update my email 2011-10-09 10:02:44 +00:00
cheusov
7827725f0a For all packages based on mk-configure "configure" target is provided.
This fixes parallel builds.
2011-09-04 18:21:26 +00:00
dholland
c29fe8e8b2 Using REPLACE_INTERPRETER does not magically generate a dependence on the
interpreter. Depend explicitly on lang/runawk. PKGREVISION++
2011-07-03 02:00:40 +00:00
cheusov
0eafb44d8e fix #!/usr/bin/env issue 2011-05-10 08:10:13 +00:00
cheusov
de3dd8aed3 LMDBG is a collection of small tools for collecting and analyzing logs
of malloc/realloc/memalign/free etc. function calls. Unlike many
others, LMDBG does not provide any way to detect overruns of the
boundaries of malloc() memory allocations, as this is not the
goal. Like most other malloc debuggers, LMDBG allows detecting memory
leaks. Unlike some others LMDBG generates full stacktraces and
separates the logging process from analysis, thus allowing you to
analyze application on a per-module basis. Simple but powerful tools
for analisis are also provided.

lmdbg-run    - Creates malloc/realloc/free/memalign/... logs
lmdbg-sym    - Converts addresses to 'file.c:NUM func_name'
lmdbg-leak   - Checks for memory leaks
lmdbg-stat   - Gathers statistical information about memory allocations
lmdbg-grep   - Greps the stackframes
lmdbg-strip  - Strips the stackframes
lmdbg-module - Enrichs the stackframes with a module name
lmdbg-sort   - Sorts the stackframes by e.g. total allocated bytes,
               a number of memory allocations etc.
lmdbg-sysleaks - Filters out system memory leaks e.g. libc's
2011-05-08 18:32:15 +00:00