summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/DWARFDebugInfoEntry.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Create a stub for DWARF parser unittestsAlexey Samsonov2013-04-171-1/+1
| | | | | | | Moves one DWARF-specific header to include/llvm/DebugInfo from lib/. Add a short unittest for r179095. llvm-svn: 179678
* DWARF parser: remove duplicated code and fix code style in DIE extractors.Alexey Samsonov2013-04-081-265/+73
| | | | llvm-svn: 179023
* Fix the assembly and dissassembly of DW_FORM_sec_offset. Found this byEric Christopher2013-01-171-8/+4
| | | | | | | | | changing both the string of the dwo_name to be correct and the type of the statement list. Testcases all around. llvm-svn: 172699
* Add support for separating strings for the split debug info DWARF5Eric Christopher2013-01-071-2/+11
| | | | | | | | | | | | | proposal. This leaves the strings in the skeleton die as strp, but in all dwo files they're accessed now via DW_FORM_GNU_str_index. Add support for dumping these sections and modify the fission-cu.ll testcase to have the correct strings and form. Fix a small bug in the fixed form sizes routine that involved out of array accesses for the table and add a FIXME in the extractFast routine to fix this up. llvm-svn: 171779
* Update comment.Eric Christopher2013-01-071-1/+1
| | | | llvm-svn: 171689
* Extend the dumping infrastructure to deal with additionalEric Christopher2013-01-021-2/+1
| | | | | | | | | | | | sections for debug info. These are some of the dwo sections from the DWARF5 split debug info proposal. Update the fission-cu.ll testcase to show what we should be able to dump more of now. Work in progress: Ultimately the relocations will be gone for the dwo section and the strings will be a different form (as well as the rest of the sections will be included). llvm-svn: 171428
* Reformat and 80-column this. It's not strictly conformingEric Christopher2012-10-301-21/+29
| | | | | | yet, but it's better. llvm-svn: 167053
* Add support for fetching inlining context (stack of source code locations)Alexey Samsonov2012-09-041-32/+88
| | | | | | | | | | | 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
* Add support for some missing DW_FORM_*.Eric Christopher2012-08-241-0/+28
| | | | | TODO: Fix code duplication and coding style. llvm-svn: 162525
* Formatting.Eric Christopher2012-08-241-1/+1
| | | | llvm-svn: 162524
* 80-col.Eric Christopher2012-08-231-1/+1
| | | | llvm-svn: 162422
* Improve behavior of DebugInfoEntryMinimal::getSubprogramName() introduced in ↵Alexey Samsonov2012-07-171-24/+27
| | | | | | | | | | | r159512. To fetch a subprogram name we should not only inspect the DIE for this subprogram, but optionally inspect its specification, or its abstract origin (even if there is no inlining), or even specification of an abstract origin. Reviewed by Benjamin Kramer. llvm-svn: 160365
* This patch extends the libLLVMDebugInfo which contains a minimalistic DWARF ↵Alexey Samsonov2012-07-021-0/+48
| | | | | | | | | | 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
* More dead code removal (using -Wunreachable-code)David Blaikie2012-01-201-2/+0
| | | | llvm-svn: 148578
* Reduce the offsets in DwarfDebugInfoEntry to 32 bit, they're printed with %x andBenjamin Kramer2011-11-051-1/+1
| | | | | | | | that breaks on big-endian machines. I have to clean up the 32/64 bit confusion in libDebugInfo some day. llvm-svn: 143812
* DWARF: wire up .debug_str dumping.Benjamin Kramer2011-09-151-1/+1
| | | | llvm-svn: 139799
* DWARF: Make DIE printing more bulletproof.Benjamin Kramer2011-09-151-5/+18
| | | | llvm-svn: 139786
* DWARF: Generate the address lookup table from the DIE tree if .debug_aranges ↵Benjamin Kramer2011-09-141-1/+25
| | | | | | | | is not available. Ported from LLDB. llvm-svn: 139732
* DWARF: Improve indentation of DIE dumping so it's easier to see the structure.Benjamin Kramer2011-09-141-8/+8
| | | | llvm-svn: 139705
* DebugInfo: Don't print DIEs multiple times.Benjamin Kramer2011-09-141-3/+1
| | | | llvm-svn: 139671
* Style & indentation tweaks.Benjamin Kramer2011-09-131-2/+1
| | | | llvm-svn: 139646
* Sketch out a DWARF parser.Benjamin Kramer2011-09-131-0/+410
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