summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/DWARFContext.h
Commit message (Collapse)AuthorAgeFilesLines
* Add support for fetching inlining context (stack of source code locations)Alexey Samsonov2012-09-041-8/+2
| | | | | | | | | | | by instruction address from DWARF. Add --inlining flag to llvm-dwarfdump to demonstrate and test this functionality, so that "llvm-dwarfdump --inlining --address=0x..." now works much like "addr2line -i 0x...", provided that the binary has debug info (Clang's -gline-tables-only *is* enough). llvm-svn: 163128
* Refactor fetching file/line info from DWARFContext to simplify theAlexey Samsonov2012-08-301-6/+17
| | | | | | | | code and allow better code reuse. Make the code a bit more conforming to LLVM code style. No functionality change. llvm-svn: 162895
* Add basic support for .debug_ranges section to LLVM's DebugInfo library.Alexey Samsonov2012-08-271-2/+8
| | | | | | | | | | | This section (introduced in DWARF-3) is used to define instruction address ranges for functions that are not contiguous and can't be described by low_pc/high_pc attributes (this is the usual case for inlined subroutines). The patch is the first step to support fetching complete inlining info from DWARF. Reviewed by Benjamin Kramer. llvm-svn: 162657
* This patch extends the libLLVMDebugInfo which contains a minimalistic DWARF ↵Alexey Samsonov2012-07-021-1/+2
| | | | | | | | | | parser: 1) DIContext is now able to return function name for a given instruction address (besides file/line info). 2) llvm-dwarfdump accepts flag --functions that prints the function name (if address is specified by --address flag). 3) test case that checks the basic functionality of llvm-dwarfdump added llvm-svn: 159512
* Unweaken vtables as per ↵David Blaikie2011-12-201-0/+1
| | | | | | http://llvm.org/docs/CodingStandards.html#ll_virtual_anch llvm-svn: 146960
* DWARF: Put all the pieces we have together and provide a single accessor to ↵Benjamin Kramer2011-09-151-0/+5
| | | | | | DIContext that provides line information when given an address. llvm-svn: 139836
* DWARF: Remove accessors that parse the whole line table section in one go, ↵Benjamin Kramer2011-09-151-2/+3
| | | | | | | | this can't possibly work. The address size is specified by the compile unit associated with a line table, there is no global address size. llvm-svn: 139835
* DWARF: Add basic support for line tables.Benjamin Kramer2011-09-151-0/+5
| | | | | | The llvm-dwarfdump output isn't very verbose yet. llvm-svn: 139771
* DWARF: Port support for parsing .debug_aranges section from LLDB and wire it ↵Benjamin Kramer2011-09-141-2/+5
| | | | | | | | | up to llvm-dwarfdump. This is only one half of it, the part that caches address ranges from the DIEs when .debug_aranges is not available will be ported soon. llvm-svn: 139680
* Sketch out a DWARF parser.Benjamin Kramer2011-09-131-0/+104
This introduces a new library to LLVM: libDebugInfo. It will provide debug information parsing to LLVM. Much of the design and some of the code is taken from the LLDB project. It also contains an llvm-dwarfdump tool that can dump the abbrevs and DIEs from an object file. It can be used to write tests for DWARF input and output easily. llvm-svn: 139627
OpenPOWER on IntegriCloud