summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo
Commit message (Collapse)AuthorAgeFilesLines
* DWARFDebugLine.cpp: Fix true path. Did you forget "return true" here?NAKAMURA Takumi2013-01-261-0/+2
| | | | llvm-svn: 173552
* Add DIContext::getLineInfoForAddressRange() function and test. This ↵Andrew Kaylor2013-01-264-0/+139
| | | | | | function allows a caller to obtain a table of line information for a function using the function's address and size. llvm-svn: 173537
* Fix a warning in the new DWARFheader. Add a new line at the end of the file.Nadav Rotem2013-01-251-1/+2
| | | | llvm-svn: 173518
* Add support for applying in-memory relocations to the .debug_line section ↵Andrew Kaylor2013-01-256-8/+55
| | | | | | and, in the case of ELF files, using symbol addresses when available for relocations to the .debug_info section. Also extending the llvm-rtdyld tool to add the ability to dump line number information for testing purposes. llvm-svn: 173517
* Add command-line flags for DWARF dumping.Eli Bendersky2013-01-252-63/+83
| | | | | | | Flags for dumping specific DWARF sections added in lib/DebugInfo and llvm-dwarfdump. llvm-svn: 173480
* Fix the assembly and dissassembly of DW_FORM_sec_offset. Found this byEric Christopher2013-01-172-18/+9
| | | | | | | | | 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 the DW_AT_GNU_addr_base for the skeleton cu. Add support forEric Christopher2013-01-171-4/+2
| | | | | | | emitting the dwarf32 version of DW_FORM_sec_offset and correct disassembler support. llvm-svn: 172698
* Split address information for DWARF5 split dwarf proposal. This involvesEric Christopher2013-01-155-4/+44
| | | | | | | | | | | | | | | using the DW_FORM_GNU_addr_index and a separate .debug_addr section which stays in the executable and is fully linked. Sneak in two other small changes: a) Print out the debug_str_offsets.dwo section. b) Change form we're expecting the entries in the debug_str_offsets.dwo section to take from ULEB128 to U32. Add tests for all of this in the fission-cu.ll test. llvm-svn: 172578
* [Object, DebugInfo] Make DWARFContext BE-aware.NAKAMURA Takumi2013-01-091-1/+1
| | | | | | test/DebugInfo/member-pointers.ll would not fail in targetting BE any more. llvm-svn: 171943
* Whitespace and 80-col.Eric Christopher2013-01-072-4/+6
| | | | llvm-svn: 171804
* Add support for separating strings for the split debug info DWARF5Eric Christopher2013-01-076-9/+53
| | | | | | | | | | | | | 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
* Add a space to the end of the line so we don't get "itsbounds" in output.Eric Christopher2013-01-041-1/+1
| | | | llvm-svn: 171487
* Extend the dumping infrastructure to deal with additionalEric Christopher2013-01-026-29/+148
| | | | | | | | | | | | 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
* Right now all of the relocations are 32-bit dwarf, and the relocationEric Christopher2012-12-271-4/+3
| | | | | | | | information doesn't return an addend for Rel relocations. Go ahead and use this information to fix relocation handling inside dwarfdump for 32-bit ELF REL. llvm-svn: 171126
* Don't skip __DWARF,Rafael Espindola2012-12-211-2/+0
| | | | | | | Now that we don't merge section and segment names, we don't need to skip the segment name to get to the section name. llvm-svn: 170839
* Rename the 'Attributes' class to 'Attribute'. It's going to represent a ↵Bill Wendling2012-12-192-14/+14
| | | | | | single attribute in the future. llvm-svn: 170502
* Sort includes for all of the .h files under the 'lib' tree. These wereChandler Carruth2012-12-041-1/+1
| | | | | | | | | | missed in the first pass because the script didn't yet handle include guards. Note that the script is now able to handle all of these headers without manual edits. =] llvm-svn: 169224
* The section is .debug_line.Eric Christopher2012-11-271-1/+1
| | | | llvm-svn: 168666
* Add some basic support for the fission addr forms to DebugInfo.Eric Christopher2012-11-161-0/+10
| | | | llvm-svn: 168223
* [DebugInfo] Generate address ranges for compile units even if .debug_aranges ↵Alexey Samsonov2012-11-163-24/+39
| | | | | | is present: it is often the case that .debug_aranges section contains ranges only for a small subset of compile units. Test cases will be added in separate commits. llvm-svn: 168144
* Rewrite DIContext interface to take an object. Update all callers.Eric Christopher2012-11-124-59/+105
| | | | llvm-svn: 167757
* Fixup for r167558: Store raw pointer (instead of reference) to RelocMap in ↵Alexey Samsonov2012-11-123-20/+28
| | | | | | DIContext. This is needed to prevent crashes because of dangling reference if the clients don't provide RelocMap to DIContext constructor. llvm-svn: 167728
* Add a relocation visitor to lib object. This works via caching relocatedEric Christopher2012-11-073-9/+32
| | | | | | | values in a map that can be passed to consumers. Add a testcase that ensures this works for llvm-dwarfdump. llvm-svn: 167558
* Reformat and 80-column this. It's not strictly conformingEric Christopher2012-10-301-21/+29
| | | | | | yet, but it's better. llvm-svn: 167053
* Use a typedef to reduce some typing and reformat code accordingly.Eric Christopher2012-10-161-12/+17
| | | | llvm-svn: 166077
* Variable name cleanup.Eric Christopher2012-10-161-4/+4
| | | | llvm-svn: 166076
* Mark unimplemented copy constructors and copy assignment operators as ↵Craig Topper2012-09-181-2/+2
| | | | | | LLVM_DELETED_FUNCTION. llvm-svn: 164090
* Stop casting away const qualifier needlessly.Roman Divacky2012-09-052-2/+2
| | | | llvm-svn: 163258
* Remove unused typedefs gcc4.8 warns about.Roman Divacky2012-09-051-1/+0
| | | | llvm-svn: 163225
* Add support for fetching inlining context (stack of source code locations)Alexey Samsonov2012-09-048-79/+279
| | | | | | | | | | | 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-304-63/+127
| | | | | | | | code and allow better code reuse. Make the code a bit more conforming to LLVM code style. No functionality change. llvm-svn: 162895
* Fix compile error when building with C++11 - clang thinks that PRIx64 is a ↵Marshall Clow2012-08-271-2/+2
| | | | | | user-defined suffix or something llvm-svn: 162704
* DWARFDebugRangeList.cpp: Use PRIx64 for uint64_t as format string.NAKAMURA Takumi2012-08-271-2/+3
| | | | llvm-svn: 162665
* [DebugInfo] fixup for r162657: update CMakeLists.txtAlexey Samsonov2012-08-271-0/+1
| | | | llvm-svn: 162659
* Add basic support for .debug_ranges section to LLVM's DebugInfo library.Alexey Samsonov2012-08-275-5/+136
| | | | | | | | | | | 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
* Add support for some missing DW_FORM_*.Eric Christopher2012-08-242-0/+77
| | | | | TODO: Fix code duplication and coding style. llvm-svn: 162525
* Formatting.Eric Christopher2012-08-241-1/+1
| | | | llvm-svn: 162524
* Formatting cleanup.Eric Christopher2012-08-231-7/+7
| | | | llvm-svn: 162499
* Add an assert here in case parsing gave us a NULL compile unit.Eric Christopher2012-08-231-1/+3
| | | | llvm-svn: 162498
* 80-col.Eric Christopher2012-08-231-1/+1
| | | | llvm-svn: 162422
* Tidy.Eric Christopher2012-08-231-3/+3
| | | | llvm-svn: 162421
* Fix the representation of debug line table in DebugInfo LLVM library,Alexey Samsonov2012-08-073-48/+134
| | | | | | | | | | | | | and "instruction address -> file/line" lookup. Instead of plain collection of rows, debug line table for compilation unit is now treated as the number of row ranges, describing sequences (series of contiguous machine instructions). The sequences are not always listed in the order of increasing address, so previously used std::lower_bound() sometimes produced wrong results. Now the instruction address lookup consists of two stages: finding the correct sequence, and searching for address in range of rows for this sequence. llvm-svn: 161414
* DebugInfo library: add support for fetching absolute paths to source filesAlexey Samsonov2012-07-194-7/+39
| | | | | | | | (instead of basenames) from DWARF. Use this behavior in llvm-dwarfdump tool. Reviewed by Benjamin Kramer. llvm-svn: 160496
* Improve behavior of DebugInfoEntryMinimal::getSubprogramName() introduced in ↵Alexey Samsonov2012-07-173-28/+35
| | | | | | | | | | | 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
* Fix a bug in DebugInfo lib, extend a comment for one of the methodsAlexey Samsonov2012-07-042-3/+3
| | | | llvm-svn: 159707
* This patch extends the libLLVMDebugInfo which contains a minimalistic DWARF ↵Alexey Samsonov2012-07-027-25/+108
| | | | | | | | | | 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
* Fix a C++11 UDL conflict.Benjamin Kramer2012-04-041-1/+1
| | | | | | Still not fixed in the standard ;) llvm-svn: 154044
* More dead code removal (using -Wunreachable-code)David Blaikie2012-01-201-2/+0
| | | | llvm-svn: 148578
* Unweaken vtables as per ↵David Blaikie2011-12-202-0/+3
| | | | | | http://llvm.org/docs/CodingStandards.html#ll_virtual_anch llvm-svn: 146960
OpenPOWER on IntegriCloud