summaryrefslogtreecommitdiffstats
path: root/llvm/test/DebugInfo/llvm-symbolizer.test
Commit message (Collapse)AuthorAgeFilesLines
* Allow DWARFDebugInfoEntryMinimal::getSubroutineName to resolve cross-unit ↵Frederic Riss2014-09-221-0/+8
| | | | | | | | | | | | | | references. Summary: getSubroutineName is currently only used by llvm-symbolizer, thus add a binary test containing a cross-cu inlining example. Reviewers: samsonov, dblaikie Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5394 llvm-svn: 218245
* Omit DW_TAG_subprograms for subprograms without inlined subroutines when ↵David Blaikie2014-09-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | producing -gmlt data To reduce the size of -gmlt data, skip the subprograms without any inlined subroutines. Since we've now got the ability to make these determinations in the backend (funnily enough - we added the flag so we wouldn't produce ranges under -gmlt, but with this change we use the flag, but go back to producing ranges under -gmlt). Instead, just produce CU ranges to inform the consumer which parts of the code are described by this CU's line table. Tools could inspect the line table directly to compute the range, but the CU ranges only seem to be about 0.5% of object/executable size, so I'm not too worried about teaching llvm-symbolizer that trick just yet - it's certainly a possible piece of future work. Update an llvm-symbolizer test just to demonstrate that this schema is acceptable there (if it wasn't, the compiler-rt tests would catch this, but good to have an in-llvm-tree test for llvm-symbolizer's behavior here) Building the clang binary with -gmlt with this patch reduces the total size of object files by 5.1% (5.56% without ranges) without compression and the executable by 4.37% (4.75% without ranges). llvm-svn: 218129
* [DWARF parser] Fix nasty memory corruption in .dwo files handling.Alexey Samsonov2014-09-051-0/+13
| | | | | | | Forge a test case where llvm-symbolizer has to use external .dwo file to produce the inlining information. llvm-svn: 217270
* [DWARF parser] Fix broken address ranges construction.Alexey Samsonov2014-06-121-0/+4
| | | | | | | | | | | | | | | | | Previous algorithm for constructing [Address ranges]->[Compile Units] mapping was wrong. It somewhat relied on the assumption that address ranges for different compile units may not overlap. It is not so. For example, two compile units may contain the definition of the same linkonce_odr function. These definitions will be merged at link-time, resulting in equivalent .debug_ranges entries for both these units Instead of sorting and merging original address ranges (from .debug_ranges and .debug_aranges), implement a different approach: save endpoints of all ranges, and then use a sweep-line approach to construct the desired mapping. If we find that certain address maps to several compilation units, we just pick any of them. llvm-svn: 210860
* [llvm-symbolizer] Fix parsing DW_AT_ranges in Fission skeleton compile unit ↵Alexey Samsonov2014-06-121-0/+4
| | | | | | | | | | | | | DIEs. Turns out that DW_AT_ranges_base attribute sets the offset for DW_AT_ranges values specified in the .dwo file, but not for DW_AT_ranges specified in the skeleton compile unit DIE in the main executable. This is extremely confusing, and would hopefully be fixed in DWARF-5 when it's finalized. For now this behavior makes sense, as otherwise Fission would break DWARF consumers who doesn't know anything about DW_AT_ranges_base. llvm-svn: 210809
* Kill symbolization functionality in llvm-dwarfdump. We have llvm-symbolizer ↵Alexey Samsonov2014-05-191-4/+42
| | | | | | for that. llvm-svn: 209152
* [DWARF parser] Teach DIContext to fetch short (non-linkage) function names ↵Alexey Samsonov2014-05-171-1/+7
| | | | | | | | | | for a given address. Change --functions option in llvm-symbolizer tool to accept values "none", "short" or "linkage". Update the tests and docs accordingly. llvm-svn: 209050
* [llvm-symbolizer] Print file/line for a PC even if there is no DIE ↵Alexey Samsonov2014-04-181-0/+4
| | | | | | | | | | | describing it. This is important for symbolizing executables with debug info in unavailable .dwo files. Even if all DIE entries are missing, we can still symbolize an address: function name can be fetched from symbol table, and file/line info can be fetched from line table. llvm-svn: 206665
* llvm-symbolizer: use dynamic symbol table if the regular one is stripped.Alexey Samsonov2014-02-261-0/+6
| | | | llvm-svn: 202265
* llvm-symbolizer: make mangled name heuristic apply to all symbolsEd Maste2014-01-161-0/+11
| | | | | | PR: http://llvm.org/pr18431 Review: http://llvm-reviews.chandlerc.com/D2552 llvm-svn: 199404
* llvm-symbolizer: add --obj flag to specify a single object file that should ↵Alexey Samsonov2013-12-241-0/+9
| | | | | | be symbolized. llvm-svn: 197988
* Add DebugInfo testcase for high_pc encoded as constant, fixed in r193555.Will Dietz2013-10-301-0/+10
| | | | llvm-svn: 193711
* llvm-symbolizer: add support for .gnu_debuglink sectionAlexey Samsonov2013-08-141-0/+4
| | | | llvm-svn: 188386
* llvm-symbolizer: Recognize a drive letter on win32. Then "REQUIRES: shell" ↵NAKAMURA Takumi2013-07-011-2/+0
| | | | | | | can be removed. FIXME: Could we use llvm::sys::Path here? llvm-svn: 185322
* llvm-symbolizer: skip leading underscore in Mach-O symbol table entriesAlexey Samsonov2013-06-281-3/+3
| | | | llvm-svn: 185151
* llvm-symbolizer: add support for Mach-O universal binariesAlexey Samsonov2013-06-281-2/+16
| | | | llvm-svn: 185137
* [llvm-symbolizer] Avoid calling slow getSymbolSize for Mach-O files. Assume ↵Alexey Samsonov2013-06-041-0/+5
| | | | | | that symbols with zero size are in fact large enough. llvm-svn: 183213
* Correct handling invalid filename in llvm-symbolizerAlexey Samsonov2013-06-031-0/+3
| | | | llvm-svn: 183102
* Simplify the quoting here. Our lit emulator doesn't deal well with theChandler Carruth2013-04-081-1/+1
| | | | | | nested quoting schemes, and they're not important here... llvm-svn: 179014
* llvm-symbolizer: correctly parse filenames given in quotesAlexey Samsonov2013-04-051-1/+5
| | | | llvm-svn: 178859
* Add a basic test for llvm-symbolizer toolAlexey Samsonov2013-04-051-0/+21
llvm-svn: 178858
OpenPOWER on IntegriCloud