summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo
Commit message (Collapse)AuthorAgeFilesLines
...
* [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
* Handle relocations that don't point to symbols.Rafael Espindola2013-06-051-3/+2
| | | | | | | | In ELF (as in MachO), not all relocations point to symbols. Represent this properly by using a symbol_iterator instead of a SymbolRef. Update llvm-readobj ELF's dumper to handle relocatios without symbols. llvm-svn: 183284
* Change how we iterate over relocations on ELF.Rafael Espindola2013-05-301-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | For COFF and MachO, sections semantically have relocations that apply to them. That is not the case on ELF. In relocatable objects (.o), a section with relocations in ELF has offsets to another section where the relocations should be applied. In dynamic objects and executables, relocations don't have an offset, they have a virtual address. The section sh_info may or may not point to another section, but that is not actually used for resolving the relocations. This patch exposes that in the ObjectFile API. It has the following advantages: * Most (all?) clients can handle this more efficiently. They will normally walk all relocations, so doing an effort to iterate in a particular order doesn't save time. * llvm-readobj now prints relocations in the same way the native readelf does. * probably most important, relocations that don't point to any section are now visible. This is the case of relocations in the rela.dyn section. See the updated relocation-executable.test for example. llvm-svn: 182908
* Reformat comments here.Eric Christopher2013-05-301-26/+26
| | | | llvm-svn: 182901
* libDebugInfo depends on libObject nowadays.Benjamin Kramer2013-05-091-1/+1
| | | | llvm-svn: 181510
* Hoist boundary condition out of loop header.Eric Christopher2013-05-061-1/+2
| | | | llvm-svn: 181248
* Untabify.Eric Christopher2013-05-061-5/+5
| | | | llvm-svn: 181247
* Don't emit .dwo sections unless they exist.Eric Christopher2013-05-061-24/+30
| | | | llvm-svn: 181224
* Clarify getRelocationAddress x getRelocationOffset a bit.Rafael Espindola2013-04-251-1/+1
| | | | | | | | | | getRelocationAddress is for dynamic libraries and executables, getRelocationOffset for relocatable objects. Mark the getRelocationAddress of COFF and MachO as not implemented yet. Add a test of ELF's. llvm-readobj -r now prints the same values as readelf -r. llvm-svn: 180259
* Use zlib to uncompress debug sections in DWARF parser.Alexey Samsonov2013-04-232-0/+41
| | | | | | | This makes llvm-dwarfdump and llvm-symbolizer understand debug info sections compressed by ld.gold linker. llvm-svn: 180088
* Remove variable store that is never read.Eric Christopher2013-04-221-1/+0
| | | | llvm-svn: 180013
* Use StringSwitch instead of long chain of if-else. No functionality change.Alexey Samsonov2013-04-171-37/+28
| | | | llvm-svn: 179682
* Create a stub for DWARF parser unittestsAlexey Samsonov2013-04-174-85/+3
| | | | | | | Moves one DWARF-specific header to include/llvm/DebugInfo from lib/. Add a short unittest for r179095. llvm-svn: 179678
* Rename the C function to create a SLPVectorizerPass to something sane and ↵Benjamin Kramer2013-04-111-2/+3
| | | | | | expose it in the header file. llvm-svn: 179272
* DWARF parser: Fix DWARF-2/3 incompatibility: size of DW_FORM_ref_addr is the ↵Alexey Samsonov2013-04-093-45/+35
| | | | | | same as DW_FORM_addr in DWARF2, and is 4/8 bytes on 32/64-bit DWARF starting from DWARF3. Adding a test for this is a huge pain - generating and uploading pre-built binary with DWARF3 debug info is way too ugly, and writing fine-grained unittests for DebugInfo is impossible, as it doesn't expose any headers in include/llvm. That said, I'm going to choose the second approach and submit the patch exposing DebugInfo headers for review soon enough. llvm-svn: 179095
* DWARF parser: remove duplicated code and fix code style in DIE extractors.Alexey Samsonov2013-04-082-268/+81
| | | | llvm-svn: 179023
* DW_FORM_sec_offset should be a relocation on platforms that useEric Christopher2013-04-071-2/+9
| | | | | | | | | a relocation across sections. Do this for DW_AT_stmt list in the skeleton CU and check the relocations in the debug_info section. Add a FIXME for multiple CUs. llvm-svn: 178969
OpenPOWER on IntegriCloud