Age | Commit message (Collapse) | Author |
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
lstat should see through them, but bash process substitution produces
files that report themselves as symlinks even to lstat.
|
|
Also allow parsing colon-separated lists into opt_F. This will be useful
for -F as well as for parsing some environment variables.
This removes bits related to default directories to look into. This will
eventually be moved to os_get_config_dirs, currently it's simply disabled.
The code in libltrace.c is currently incompatible with opt_F being a vector,
so it's disabled as well. Revamp of the whole configury shebang underway.
|
|
Adjust users accordingly.
|
|
|
|
- Add several missing options to synopsis in ltrace.1
- Synchronize naming of arguments between ltrace.1 and --help
- Fix formatting in ltrace.1 -- argument names should be in emphasis,
only the argument metavariables should.
|
|
Also add myself (or rather Red Hat) as a copyright holder.
|
|
|
|
Not all systems define this (IRIX 6.5 doesn't). Comparing to 0 is not
terribly less readable, so do that instead.
|
|
Also adjust the way -w is described in --help to be consistent with other
options that accept arguments.
|
|
Hopefully this will make it clearer that the protocol is different than
everywhere else in ltrace, where <0 is error condition.
|
|
|
|
This plugs a leak.
|
|
|
|
|
|
|
|
|
|
This was only ever used for PowerPC, which doesn't need it anymore.
|
|
|
|
|
|
error is not standard so it has no business being used in generic code.
The linux-gnu back end is useful for android, and that doesn't have that
interface either.
|
|
We already have support for initial '-', so this can be trivially translated
|
|
The '+' operator is technically not necessary, but it might be useful for
intuition.
|
|
|
|
|
|
|
|
Since "regexec" doesn't have a flag for that, smuggle initial ^ and
terminating $ to each expression (globs as well as regular expressions).
|
|
- convert some to debug or error calls
|
|
- -L becomes just a way of configuring options.plt_filter default
|
|
- or, as of now, it's used to decide whether or not we should display
"unexpected breakpoint" messages
|
|
- this is applied across libraries. Syntax for the -x option is the same
as for -e
- this fails on symbol aliases. E.g. there are several symbols named like
strlen in libc: strlen, __GI_strlen, and perhaps others. This needs to
be taken into account, and symbol aliases shouldn't be enabled if
they were added under a different name already
|
|
- instead of creating them, keeping them around, and then just not enabling
breakpoints for them
|
|
|
|
|
|
- the default might become "*" in future, but keep things more or less
the same as they always were for now
|
|
|
|
|
|
- the patch will be sliced later
|
|
Numerous warnings had snuck into the build, preventing ltrace from
building with --enable-debug (which uses -Wall, -Werror, and more).
This patch fixes the problems, mostly caused by -Wsign-compare.
Signed-off-by: Zachary T Welch <zwelch@codesourcery.com>
|
|
- clean up options a bit to alphabetize things :)
- add documentation to the man page for added options which were missing docs
- removed the lib-dl caveat
|
|
|
|
- add libunwind as a dep to configure
- add a command line option to show backtraces from traced library functions
- best guess at autoconf stuff, seems to work x86_64 and i686
- NOT TESTED ON ANY OTHER PLATFORMS!
|
|
|
|
|
|
|