summaryrefslogtreecommitdiff
path: root/output.c
AgeCommit message (Collapse)AuthorFilesLines
2014-08-22library_exported_names_each_alias(), library_exported_names_each() now ↵Dima Kogan1-1/+1
restartable These function now takes a *start_after, and return a pointer to the first failing key, like the other ltrace iterators
2014-08-22We now use known prototypes for all aliased symbols (same address)Dima Kogan1-2/+37
Some libraries have multiple names for the same function. Prior to this patch, it was possible to define a prototype for a symbol, and not have ltrace use it because it saw a different symbol be called. libc is a common source of this. For instance (on my amd64 Debian box) it defines the nanosleep symbol as both 'nanosleep' and '__GI___nanosleep', at the same address. If a calling library calls '__GI___nanosleep', then an ltrace prototype for 'nanosleep' would not be used, even though it should apply to this call
2014-08-22Making sure to not double-examine the same DWARF CUDima Kogan1-1/+1
2014-08-22whitespace style changeDima Kogan1-7/+9
- Tabs should be 8 characters. - Lines should be no longer than 80 characters - Pointer star belongs to the variable, not the type - Lines shouldn't be formatted into tables arbitrarily - if and while should get a space before the paren
2014-08-22added a bit more diagnostic printingDima Kogan1-0/+4
2014-08-22I now read the DWARF data in addition to the .conf filesDima Kogan1-1/+3
Previously if a .conf file for a library was available, the corresponding DWARF data would not be parsed. Now I use one to complement the other
2014-08-22import_DWARF_prototypes() now takes JUST a lib argumentDima Kogan1-1/+1
2014-08-22moved DWARF prototype reading to library_get_prototype()Dima Kogan1-0/+13
2014-08-22Fix lookup of prototypes from non-leader threadsPetr Machata1-1/+1
2014-08-22Add support for using elfutils as unwinder.Mark Wielaard1-0/+86
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.
2014-08-22NitsPetr Machata1-13/+14
- Fix some coding style issues in output.c - Add a couple items to TODO
2014-08-22Fix infinite loop in stack unwindLuca Clementi1-3/+7
This bug was introduced in af452c6 Reported-by: Petr Machata <pmachata@redhat.com>
2014-08-22check return value of unw_get_reg and unw_get_proc_nameLuca Clementi1-4/+12
Before printng the current procedure name and IP verify their validity
2014-08-22Consider exec and exit events an end of outstanding callsPetr Machata1-69/+17
- This cleans up a lot of stuff. The actual substance is addition of account_current_callstack in handle_event.c (which however uses those cleaned-up interfaces). - trace-exec.exp was extended to check that the exec syscall can be seen in -c output. That's one of the symptoms of what this fixes. - This hides dict_opt_c in summary.c. It also gets rid of the global variable current_time_spent--instead, the information is passed via a function argument in a struct timedelta (so that we never confuse absolute time with relative). callstack_element.time_spent was renamed to .enter_time, as that is what it has always been.
2014-08-22Imported Upstream version 0.7.91upstream/0.7.91upstreamChanho Park1-131/+255
2013-01-15Imported Upstream version 0.7.2upstream/0.7.2Anas Nashif1-102/+510
2012-11-13Imported Upstream version 0.5.3upstream/0.5.3Anas Nashif1-0/+303