From 7f40999b3db608961a2ddf59b9c56b611a856611 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Tue, 7 Jan 2014 21:00:44 +0100 Subject: Add support for using elfutils as unwinder. This adds support for using elfutils as unwinder with -w. Since elfutils 0.158 elfutils contains a simple unwinder interface that matches nicely on the ltrace backtrace support. The code reuses the libunwind infrastructure already in ltrace where possible (by defining HAVE_UNWINDER which is 1 if either libunwind or elfutils is used). It also reuses the ltrace proc_add_library callback to keep track of the ELF files mapped for the unwinder. The current implementation matches the output as if libunwind was used. But elfutils can also provide some more information since it can lookup the DWARF debuginfo. So if the source info of an address can be found through elfutils the backtrace will also include this as an additional output line per frame. --- ltrace.1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'ltrace.1') diff --git a/ltrace.1 b/ltrace.1 index 1d5ee63..331c223 100644 --- a/ltrace.1 +++ b/ltrace.1 @@ -195,7 +195,8 @@ This option is only useful when running as root and enables the correct execution of setuid and/or setgid binaries. .IP "\-w, \-\-where \fInr" Show backtrace of \fInr\fR stack frames for each traced function. This -option enabled only if libunwind support was enabled at compile time. +option enabled only if elfutils or libunwind support was enabled at compile +time. .IP "\-x \fIfilter" A qualifying expression which modifies which symbol table entry points to trace. The format of the filter expression is described in the -- cgit v1.2.3