summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo
Commit message (Collapse)AuthorAgeFilesLines
* DebugInfo: Make pubnames header printing similar to unit header printingDavid Blaikie2013-11-011-4/+4
| | | | | | | | | | | | | | | In a failed attempt to allow the gnu-public-names.ll test case to not hardcode the size of the unit that the pubnames section referred to I've at least managed to have unit headers and pubnames headers print out in a similar style. This failed to achieve the desired goal because the header in a unit specifies the length of the unit without the length element of the header whereas the length in the pubnames includes this element, so the numbers are off by 4 bytes. I don't know of any arithmetic powers in FileCheck so the test case can't simply say "CU_LENGTH + 4". llvm-svn: 193872
* DWARFDebugArangeSet: remove dead codeAlexey Samsonov2013-10-312-54/+0
| | | | llvm-svn: 193785
* DWARFUnit: kill dead code and make a couple of functions private. No ↵Alexey Samsonov2013-10-312-38/+7
| | | | | | functionality change. llvm-svn: 193780
* DWARFAbbreviationDeclaration: remove dead code, refactor parsing code and ↵Alexey Samsonov2013-10-313-75/+60
| | | | | | make it more robust. No functionality change. llvm-svn: 193770
* DWARF parser: propery handle DW_FORM_ref_sig8 and fix Windows build.Alexey Samsonov2013-10-291-43/+41
| | | | | | Based on D2050 by Timur Iskhodzhanov. llvm-svn: 193619
* Quick-fix DebugInfo build on WindowsTimur Iskhodzhanov2013-10-291-1/+3
| | | | | | | | | | | | | | | MSVC can't comprehend template<typename T, size_t N> ArrayRef<T> makeArrayRef(const T (&Arr)[N]) { return ArrayRef<T>(Arr); } if Arr is static const uint8_t sizes[]; declared in a templated and defined a few lines later. I'll send a proper fix (i.e. get rid of unnecessary templates) for review soon. llvm-svn: 193604
* Clean up.Richard Smith2013-10-291-4/+4
| | | | llvm-svn: 193576
* DWARFFormValue.cpp: Appease gcc to give explicit constructors.NAKAMURA Takumi2013-10-291-4/+4
| | | | | | error: conversion from `const uint8_t*' to non-scalar type `llvm::ArrayRef<unsigned char>' requested llvm-svn: 193575
* Merge DWARFDIE::extractFast and DWARFDIE::extract into one function.Alexey Samsonov2013-10-282-56/+10
| | | | | | | Complicated CU-DIE-specific logic in the latter was never used, and it makes sense to have safety checks for broken dwarf in the former. llvm-svn: 193563
* DWARF parser: Use ArrayRef to represent form sizes and simplify ↵Alexey Samsonov2013-10-284-18/+11
| | | | | | DWARFDIE::extractFast() interface. No functionality change. llvm-svn: 193560
* DWARF parser: since DWARF4, DW_AT_high_pc may be a constant representing ↵Alexey Samsonov2013-10-281-4/+10
| | | | | | function size llvm-svn: 193555
* DebugInfo: Introduce the notion of "form classes"Alexey Samsonov2013-10-285-67/+158
| | | | | | | | | | | | | | | | | | Summary: Use DWARF4 table of form classes to fetch attributes from DIE in a more consistent way. This shouldn't change the functionality and serves as a refactoring for upcoming change: DW_AT_high_pc has different semantics depending on its form class. Reviewers: dblaikie, echristo Reviewed By: echristo CC: echristo, llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1961 llvm-svn: 193553
* Correct log message typo: ended ad -> ended atEd Maste2013-10-181-1/+1
| | | | | | (From LLDB r192897) llvm-svn: 192968
* [DebugInfo] Remove unneeded struct member and hide struct definition. No ↵Alexey Samsonov2013-10-181-3/+2
| | | | | | functionality change. llvm-svn: 192954
* [DebugInfo] Remove dead code.Alexey Samsonov2013-10-181-31/+0
| | | | llvm-svn: 192952
* [DebugInfo] Delete dead code, simplify and fix code style for some existing ↵Alexey Samsonov2013-10-172-49/+31
| | | | | | code. No functionality change. llvm-svn: 192894
* [DebugInfo] Further simplify DWARFDebugAranges public interfaceAlexey Samsonov2013-10-023-42/+33
| | | | llvm-svn: 191813
* [DebugInfo] Simplify and speedup .debug_aranges parsingAlexey Samsonov2013-10-011-58/+25
| | | | | | | | | | | Parsing .debug_aranges section now takes O(nlogn) operations instead of O(n^2), where "n" is the number of address ranges. With this change, the time required to symbolize an address from a random large Clang-generated binary drops from 165 seconds to 1.5 seconds. No functionality change. llvm-svn: 191781
* [DebugInfo] Further simplify DWARFDebugAranges. No functionality change.Alexey Samsonov2013-10-012-56/+43
| | | | llvm-svn: 191779
* [DebugInfo] Remove unused functions from DWARFDebugAranges and fix code style.Alexey Samsonov2013-10-012-93/+44
| | | | llvm-svn: 191778
* Deallocate type units when destroying a DWARFContext.Benjamin Kramer2013-09-291-0/+1
| | | | llvm-svn: 191637
* Rework conditional for printing out pub sections.Eric Christopher2013-09-271-7/+5
| | | | llvm-svn: 191571
* Dump the normal dwarf pubtypes section as well.Eric Christopher2013-09-252-20/+29
| | | | llvm-svn: 191408
* Unify pubsection/gnu pubsection printing.Eric Christopher2013-09-251-26/+21
| | | | llvm-svn: 191407
* Slight formatting change for pubnames/pubtypes output.Eric Christopher2013-09-251-3/+3
| | | | llvm-svn: 191401
* llvm-dwarfdump: add missing opening quotation mark lost in r191330David Blaikie2013-09-241-1/+1
| | | | llvm-svn: 191333
* llvm-dwarfdump: re-add field formatting for the entry kind lost in r191329David Blaikie2013-09-241-1/+1
| | | | | | CR feedback from Eric Christopher llvm-svn: 191330
* llvm-dwarfdump support for gnu_pubtypesDavid Blaikie2013-09-242-20/+33
| | | | llvm-svn: 191329
* DWARFTypeUnit::dump(): Use PRIx64 to format uint64_t.NAKAMURA Takumi2013-09-241-1/+1
| | | | llvm-svn: 191266
* Format the index entry kind string to align.Eric Christopher2013-09-241-3/+3
| | | | llvm-svn: 191255
* Comments for r191234 as suggested by Eric Christopher.David Blaikie2013-09-231-0/+4
| | | | llvm-svn: 191244
* Unbreak the build (from r191233)since we're calling printf.David Blaikie2013-09-231-0/+1
| | | | llvm-svn: 191238
* llvm-dwarfdump/libDebugInfo support for type unitsDavid Blaikie2013-09-235-3/+135
| | | | llvm-svn: 191234
* Exract most of DWARFCompileUnit into a new DWARFUnit to prepare for the ↵David Blaikie2013-09-239-667/+696
| | | | | | coming DWARFTypeUnit. llvm-svn: 191233
* DebugInfo: Wrap section data and relocs together for dwarf dumping supportDavid Blaikie2013-09-232-48/+39
| | | | | | | | | | | | | | | | | | This is a small step that may enable some simplifications in producer (DWARFContext) and consumer (DWARFCompileUnit and other places) by making a more complete abstraction around the data and relocations for a section. Small initial steps could include simple changes such as passing the pair to DWARFCompileUnit's ctor rather than passing the data and relocs separately. I don't intend to pursue any such changes immediately, however. The motivation for doing this now is that type unit dumping will need to deal with these data+reloc pairs moreso than the existing dumping support has needed to associate the data as type unit sections are named the same (debug_types) and comdat group folded. So to implement dumping and reloc handling we'll need a mapping of section->data+relocs. llvm-svn: 191209
* Remove dead codeDavid Blaikie2013-09-221-17/+0
| | | | llvm-svn: 191179
* StringRef-ize some thingsDavid Blaikie2013-09-221-8/+4
| | | | llvm-svn: 191178
* Revert r191062; the build break was also fixed in a different (incompatible) ↵Richard Smith2013-09-201-3/+2
| | | | | | way in r191060. llvm-svn: 191065
* Unbreak Clang build after r191050: don't pass a StringRef to snprintf.Richard Smith2013-09-201-2/+3
| | | | llvm-svn: 191062
* DebugInfo: constrain gnu pubnames test furtherDavid Blaikie2013-09-191-2/+2
| | | | | | | | | | Ensures that the pubnames entries actually refer to the intended entities. This test could be more flexible if there was a way to do multiline FileCheck matches with captures (in that way the test wouldn't need to have hardcoded offset values and would thus be resilient to changes in the layout of the DIEs in this CU). llvm-svn: 191055
* DebugInfo: llvm-dwarfdump support for gnu_pubnames sectionDavid Blaikie2013-09-192-0/+25
| | | | llvm-svn: 191050
* Add support for DebugFission to DWARF parserAlexey Samsonov2013-08-276-85/+246
| | | | | | | | | | | | | | | | | | | Summary: 1) Make llvm-symbolizer properly symbolize files with split debug info (by using stanalone .dwo files). 2) Make DWARFCompileUnit parse and store corresponding .dwo file, if necessary. 3) Make bits of DWARF parsing more CompileUnit-oriented. Reviewers: echristo Reviewed By: echristo CC: bkramer, llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1164 llvm-svn: 189329
* Make DWARFCompileUnit non-copyableAlexey Samsonov2013-08-233-37/+40
| | | | | | | | | | | | | | | | | Summary: This is a part of D1164. DWARFCompileUnit is not that lightweight to copy it around, and we want it to own corresponding .dwo compile unit eventually. Reviewers: echristo Reviewed By: echristo CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1298 llvm-svn: 189089
* llvm-dwarfdump: Do not include address offsets for attributes, only for tagsDavid Blaikie2013-08-191-1/+1
| | | | | | | | | This reduces the noise in diffs making it more likely that, at least for LLVM revision-over-revision, diffs will actually yield usable results. This is consistent with objdump's DWARF dumping behavior. llvm-svn: 188650
* Store compile unit corresponding to each chain of inlined debug info ↵Alexey Samsonov2013-08-065-39/+44
| | | | | | entries. No functionality change. llvm-svn: 187792
* Add LLVM-style RTTI to DIContext/DWARFContext classesAlexey Samsonov2013-08-061-1/+6
| | | | llvm-svn: 187790
* Allow 4 as a valid debug info version.Eric Christopher2013-08-061-1/+1
| | | | llvm-svn: 187763
* DebugInfo: Factor out parsing compile unit DIEs to a separate function. ↵Alexey Samsonov2013-07-152-78/+70
| | | | | | | | Improve code style and comments. No functionality change. llvm-svn: 186315
* Spell correct (s/begining/beginning/)David Blaikie2013-06-191-3/+3
| | | | llvm-svn: 184362
* llvm-dwarfdump: Add support for dumping the .debug_loc sectionDavid Blaikie2013-06-196-1/+170
| | | | | | | | | This is a basic implementation - we still don't have any support (that I know of) for dumping DWARF expressions in a meaningful way, so the location information itself is just printed as a sequence of bytes as we do elsewhere. llvm-svn: 184361
OpenPOWER on IntegriCloud