aboutsummaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorPetr Machata <pmachata@redhat.com>2012-10-19 01:51:06 +0200
committerPetr Machata <pmachata@redhat.com>2012-10-19 01:51:06 +0200
commitc11c01eeb579623de5bbe2d97e9ec69c9c5ddd26 (patch)
tree4099722745157a1588ab5f954ba094bee565874b /NEWS
parentfbb61b1a1ddb0a320a6f4dca6ecd64261dd8cac8 (diff)
downloadltrace-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).
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS92
1 files changed, 92 insertions, 0 deletions
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..61b6cec
--- /dev/null
+++ b/NEWS
@@ -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