diff options
author | Petr Machata <pmachata@redhat.com> | 2012-10-19 01:51:06 +0200 |
---|---|---|
committer | Petr Machata <pmachata@redhat.com> | 2012-10-19 01:51:06 +0200 |
commit | c11c01eeb579623de5bbe2d97e9ec69c9c5ddd26 (patch) | |
tree | 4099722745157a1588ab5f954ba094bee565874b | |
parent | fbb61b1a1ddb0a320a6f4dca6ecd64261dd8cac8 (diff) | |
download | ltrace-c11c01eeb579623de5bbe2d97e9ec69c9c5ddd26.tar.gz |
Add NEWS file
This should be used for tracking user-visible changes. I retroactively
filled in entries from 0.6 on (inclusive).
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | NEWS | 92 |
2 files changed, 96 insertions, 0 deletions
@@ -1,3 +1,7 @@ +2012-10-19 Petr Machata <pmachata@redhat.com> + + * NEWS: New file. + 2012-10-06 Petr Machata <pmachata@redhat.com> * testsuite/ltrace.main/filt.c: Remove. @@ -0,0 +1,92 @@ +-*-org-*- +* Version 0.7 +** General Features +*** Full support for tracing multi-threaded processes +*** Support for tracing inter-library calls + -e and -x were extended to allow library selectors. See the man + page for details. +*** Better support for parameter passing ("fetch backend") + This version brings a more complete support for parameter passing, + including passing structures in registers, passing double on i386, + and other edge cases that were unsupported before. Several + architectures now support fetch backend, see below. +*** Fix detaching from a process + Earlier, a process that ltrace detached from would sometimes die + of SIGSEGV, SIGTRAP, or SIGILL. These were caused by ltrace + detaching from the process just after that process hit a + breakpoint. Program counter would thus be left pointing + mid-instruction, or signals would be left pending. +*** Fix tracing across vfork +*** Fix tracing across exec in a stripped binary +*** Be aware of deny_ptrace SELinux boolean +*** Limited support for tracing returns from tail call functions +*** -e, -x and -l selectors now allow using globs and regular expressions +*** Argument to -n is now checked for validity +*** Test suite can now be run under valgrind + Use --enable-valgrind to turn this on. +** Config Files +*** New abstraction: parameter pack + Parameter packs make it much simpler to add specialized decoding + logic. The only parameter pack currently implemented is "format", + which used to be a special type. It should be relatively + straightforward to add more parameter packs for functions like + execl, strftime, and others. +*** New expression: zero + When used in array length expressions, it means "this array ends + at the first element with zero value". C strigs are essentially + array(char, zero)*. +*** Lenses + Lenses are used to change a way that underlying type is rendered. +**** octal + "octal", which used to be a separate type, is now lens, which can + be used as octal(short) or octal(long) to render any underlying + type in base 8. (Plain "octal" is still valid and means + "octal(int)".) +**** hex, hide, bool + Similarly, "hex" lens was introduced to format as base 16. + "hide" was introduced to conceal given argument. "bool" lens was + added to format objects as booleans. +**** enum + "enum" became lens as well. The underlying type is selected by + square brackets: "enum[short](RED,GREEN,BLUE)". +*** Pointers now allow spaces between *'s +** Architecture-specific Changes +*** [x86] ORIG_RAX/ORIG_EAX may not contain original syscall number + In cases where the system call shouldn't be restarted, these are + set to -1. In that case assume that the return is from the + topmost syscall. This gets rid of some "unexpected breakpoint" + messages on x86_64 and i386. +*** [x86] New fetch backend implemented +*** [ppc] Allow stepping over lwarx instruction +*** [ppc] Support both BSS and secure PLTs for 32-bit processes +*** [ppc] Fix races in tracing -e events in 64-bit processes + As a side effect, events requested via -e now only hit when a PLT + call is made, which is consistent with other architectures. +*** [ppc] New fetch backend implemented +*** [mips] Implement software singlestepping +*** [mips] Add support for CPIC main programs +*** [ia64] New fetch backend implemented +*** [s390] New fetch backend implemented +*** [m68k] New fetch backend implemented +*** [arm] Tracing is not supported at all on ARM + ltrace might work on older kernels, but no attempt was made to + fully support it. Newer kernels don't support PTRACE_SINGLESTEP, + which ltrace depends on. Before singlestepping is implemented in + software, ARM is considered unsupported. + +* Version 0.6 +** General Features +*** Use autotools for building +*** New option -b: disables output of signals received by the tracee +*** New option -w: print stack trace of events + Pass --with-libunwind to configure to enable the feature. This + requires libunwind. +*** Support tracing of symbols from libraries opened with dlopen + These symbols are selected by -x. +** Architecture-specific Changes +*** Various fixes for MIPS and PowerPC +*** Support for ARM Thumb mode +*** Implement fetching of 5th and further function arguments on s390 +*** Support fork/exec syscalls on 31-bit s390 +*** Support for float and double arguments on x86_64 +*** Fixes for return arguments (after '+') in nested calls on x86_64 |