Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | [DebugInfo] fixup for r162657: update CMakeLists.txt | Alexey Samsonov | 2012-08-27 | 1 | -0/+1 | |
| | | | | llvm-svn: 162659 | |||||
* | Add basic support for .debug_ranges section to LLVM's DebugInfo library. | Alexey Samsonov | 2012-08-27 | 5 | -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 Christopher | 2012-08-24 | 2 | -0/+77 | |
| | | | | | TODO: Fix code duplication and coding style. llvm-svn: 162525 | |||||
* | Formatting. | Eric Christopher | 2012-08-24 | 1 | -1/+1 | |
| | | | | llvm-svn: 162524 | |||||
* | Formatting cleanup. | Eric Christopher | 2012-08-23 | 1 | -7/+7 | |
| | | | | llvm-svn: 162499 | |||||
* | Add an assert here in case parsing gave us a NULL compile unit. | Eric Christopher | 2012-08-23 | 1 | -1/+3 | |
| | | | | llvm-svn: 162498 | |||||
* | 80-col. | Eric Christopher | 2012-08-23 | 1 | -1/+1 | |
| | | | | llvm-svn: 162422 | |||||
* | Tidy. | Eric Christopher | 2012-08-23 | 1 | -3/+3 | |
| | | | | llvm-svn: 162421 | |||||
* | Fix the representation of debug line table in DebugInfo LLVM library, | Alexey Samsonov | 2012-08-07 | 3 | -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 files | Alexey Samsonov | 2012-07-19 | 4 | -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 Samsonov | 2012-07-17 | 3 | -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 methods | Alexey Samsonov | 2012-07-04 | 2 | -3/+3 | |
| | | | | llvm-svn: 159707 | |||||
* | This patch extends the libLLVMDebugInfo which contains a minimalistic DWARF ↵ | Alexey Samsonov | 2012-07-02 | 7 | -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 Kramer | 2012-04-04 | 1 | -1/+1 | |
| | | | | | | Still not fixed in the standard ;) llvm-svn: 154044 | |||||
* | More dead code removal (using -Wunreachable-code) | David Blaikie | 2012-01-20 | 1 | -2/+0 | |
| | | | | llvm-svn: 148578 | |||||
* | Unweaken vtables as per ↵ | David Blaikie | 2011-12-20 | 2 | -0/+3 | |
| | | | | | | http://llvm.org/docs/CodingStandards.html#ll_virtual_anch llvm-svn: 146960 | |||||
* | LLVMBuild: Remove trailing newline, which irked me. | Daniel Dunbar | 2011-12-12 | 1 | -1/+0 | |
| | | | | llvm-svn: 146409 | |||||
* | build/CMake: Finish removal of add_llvm_library_dependencies. | Daniel Dunbar | 2011-11-29 | 1 | -4/+0 | |
| | | | | llvm-svn: 145420 | |||||
* | Audited all the format strings in libDebugInfo and fixed those that didn't ↵ | Benjamin Kramer | 2011-11-05 | 4 | -13/+14 | |
| | | | | | | match the types. llvm-svn: 143814 | |||||
* | Reduce the offsets in DwarfDebugInfoEntry to 32 bit, they're printed with %x and | Benjamin Kramer | 2011-11-05 | 2 | -3/+3 | |
| | | | | | | | | that breaks on big-endian machines. I have to clean up the 32/64 bit confusion in libDebugInfo some day. llvm-svn: 143812 | |||||
* | Add more PRI.64 macros for MSVC and use them throughout the codebase. | Benjamin Kramer | 2011-11-05 | 4 | -9/+11 | |
| | | | | llvm-svn: 143799 | |||||
* | build: Add initial cut at LLVMBuild.txt files. | Daniel Dunbar | 2011-11-03 | 1 | -0/+23 | |
| | | | | llvm-svn: 143634 | |||||
* | lib/DebugInfo/DWARFDebugLine.cpp: De-Unicode-ify. | NAKAMURA Takumi | 2011-10-08 | 1 | -2/+2 | |
| | | | | llvm-svn: 141484 | |||||
* | Whitespace | NAKAMURA Takumi | 2011-10-08 | 1 | -1/+1 | |
| | | | | llvm-svn: 141483 | |||||
* | DWARF: avoid unnecessary map lookups. | Benjamin Kramer | 2011-09-21 | 1 | -6/+5 | |
| | | | | llvm-svn: 140260 | |||||
* | Namespacify. | Benjamin Kramer | 2011-09-16 | 1 | -8/+10 | |
| | | | | llvm-svn: 139892 | |||||
* | DWARF: Reset the state after parsing a line table prologue and remove an ↵ | Benjamin Kramer | 2011-09-15 | 3 | -5/+5 | |
| | | | | | | unnecessary lookup. llvm-svn: 139859 | |||||
* | DWARF: Don't crash when looking up an invalid address. | Benjamin Kramer | 2011-09-15 | 1 | -0/+6 | |
| | | | | llvm-svn: 139846 | |||||
* | DWARF: Put all the pieces we have together and provide a single accessor to ↵ | Benjamin Kramer | 2011-09-15 | 3 | -1/+57 | |
| | | | | | | 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 Kramer | 2011-09-15 | 4 | -58/+39 | |
| | | | | | | | | 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: Print line tables per compile unit, so they get the right address size. | Benjamin Kramer | 2011-09-15 | 3 | -5/+23 | |
| | | | | llvm-svn: 139808 | |||||
* | DWARF: wire up .debug_str dumping. | Benjamin Kramer | 2011-09-15 | 4 | -17/+25 | |
| | | | | llvm-svn: 139799 | |||||
* | DWARF: Make DIE printing more bulletproof. | Benjamin Kramer | 2011-09-15 | 1 | -5/+18 | |
| | | | | llvm-svn: 139786 | |||||
* | DWARF: Print the number for unknown abbrev fields. | Benjamin Kramer | 2011-09-15 | 1 | -5/+18 | |
| | | | | | | Thanks Nick! llvm-svn: 139778 | |||||
* | DWARF: Fail gracefully when encountering unknown values in an abbrev. | Benjamin Kramer | 2011-09-15 | 1 | -4/+9 | |
| | | | | llvm-svn: 139777 | |||||
* | Give structs with virtual methods a virtual destructor. | Nick Lewycky | 2011-09-15 | 2 | -0/+6 | |
| | | | | llvm-svn: 139776 | |||||
* | DWARF: Silence GCC -Wsign-compare warning. | Benjamin Kramer | 2011-09-15 | 1 | -1/+1 | |
| | | | | llvm-svn: 139775 | |||||
* | DWARF: Fix indentation. | Benjamin Kramer | 2011-09-15 | 2 | -82/+81 | |
| | | | | llvm-svn: 139774 | |||||
* | DWARF: Include <algorithm> explicitly. | Benjamin Kramer | 2011-09-15 | 1 | -0/+1 | |
| | | | | llvm-svn: 139773 | |||||
* | DWARF: Add basic support for line tables. | Benjamin Kramer | 2011-09-15 | 5 | -0/+707 | |
| | | | | | | The llvm-dwarfdump output isn't very verbose yet. llvm-svn: 139771 | |||||
* | DWARF: Generate the address lookup table from the DIE tree if .debug_aranges ↵ | Benjamin Kramer | 2011-09-14 | 7 | -1/+87 | |
| | | | | | | | | is not available. Ported from LLDB. llvm-svn: 139732 | |||||
* | DWARF: Reorder fields to reduce padding. | Benjamin Kramer | 2011-09-14 | 1 | -2/+2 | |
| | | | | llvm-svn: 139712 | |||||
* | DWARF: Improve indentation of DIE dumping so it's easier to see the structure. | Benjamin Kramer | 2011-09-14 | 1 | -8/+8 | |
| | | | | llvm-svn: 139705 | |||||
* | llvm-dwarfdump: Make the "is debug info section" heuristic stricter so it ↵ | Benjamin Kramer | 2011-09-14 | 1 | -0/+7 | |
| | | | | | | | | | | doesn't accidentaly picks up the wrong section. Also add some validation code to the aranges section parser. Fixes PR10926. llvm-svn: 139701 | |||||
* | Don't rely in <algorithm> being pulled in transitively. | Benjamin Kramer | 2011-09-14 | 1 | -0/+1 | |
| | | | | llvm-svn: 139684 | |||||
* | DWARF: Port support for parsing .debug_aranges section from LLDB and wire it ↵ | Benjamin Kramer | 2011-09-14 | 7 | -2/+551 | |
| | | | | | | | | | 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 | |||||
* | DebugInfo: Don't print DIEs multiple times. | Benjamin Kramer | 2011-09-14 | 3 | -5/+5 | |
| | | | | llvm-svn: 139671 | |||||
* | Style & indentation tweaks. | Benjamin Kramer | 2011-09-13 | 7 | -211/+201 | |
| | | | | llvm-svn: 139646 | |||||
* | I know copy&paste! | Benjamin Kramer | 2011-09-13 | 1 | -1/+1 | |
| | | | | llvm-svn: 139628 | |||||
* | Sketch out a DWARF parser. | Benjamin Kramer | 2011-09-13 | 16 | -0/+1882 | |
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 |