summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-symbolizer/LLVMSymbolize.h
Commit message (Collapse)AuthorAgeFilesLines
* Move parts of llvm-symbolizer tool into LLVMSymbolize library.Alexey Samsonov2015-10-261-153/+0
| | | | | | | | | | | | Summary: See http://lists.llvm.org/pipermail/llvm-dev/2015-October/091624.html Reviewers: echristo Subscribers: llvm-commits, aizatsky Differential Revision: http://reviews.llvm.org/D13998 llvm-svn: 251316
* [llvm-symbolizer] Use the export table if no symbols are presentReid Kleckner2015-10-161-0/+1
| | | | | | | | This lets us make guesses about symbols in third party DLLs without debug info, like MSVCR120.dll or kernel32.dll. dbghelp does the same thing. llvm-svn: 250582
* [llvm-symbolizer] Make --relative-address work with DWARF contextsReid Kleckner2015-10-091-0/+4
| | | | | | | | | | | | | | | | Summary: Previously the relative address flag only affected PDB debug info. Now both DIContext implementations always expect to be passed virtual addresses. llvm-symbolizer is now responsible for adding ImageBase to module offsets when --relative-offset is passed. Reviewers: zturner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12883 llvm-svn: 249784
* [llvm-symbolizer] Remove underscores and other C mangling on WindowsReid Kleckner2015-08-101-2/+6
| | | | | | | | | | | | | | | Summary: This makes it so that reports symbolized after the fact with llvm-symbolizer are more similar to the ones we generate at runtime with in-process dbghelp. Reviewers: samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11785 llvm-svn: 244512
* Use computeSymbolSizes in llvm-symbolize.Rafael Espindola2015-06-251-1/+1
| | | | llvm-svn: 240646
* A few fixes for llvm-symbolizer on Windows.Zachary Turner2015-05-061-7/+8
| | | | | | | | | Specifically, this patch correctly respects the -demangle option, and additionally adds a hidden --relative-address option allows input addresses to be relative to the module load address instead of absolute addresses into the image. llvm-svn: 236653
* Move DIContext.h to common DebugInfo location.Zachary Turner2015-04-231-1/+1
| | | | | | | | | | This will enable us to create a PDBContext so as to expose some amount of debug info functionality through a common interace. Differential Revision: http://reviews.llvm.org/D9205 Reviewed by: Alexey Samsonov llvm-svn: 235612
* Move DebugInfo to DebugInfo/DWARF.Zachary Turner2015-01-301-1/+1
| | | | | | | | | | | | | In preparation for adding PDB support to LLVM, this moves the DWARF parsing code to its own subdirectory under DebugInfo, and renames LLVMDebugInfo to LLVMDebugInfoDWARF. This is purely a mechanical / build system change. Differential Revision: http://reviews.llvm.org/D7269 Reviewed by: Eric Christopher llvm-svn: 227586
* llvm-symbolizer: teach it about PowerPC64 ELF function descriptorsJay Foad2014-11-071-1/+6
| | | | | | | | | | | | | | | | | Summary: Teach llvm-symbolizer about PowerPC64 ELF function descriptors. Symbols in the .opd section point to function descriptors, the first word of which is a pointer to the real function. For the purposes of symbolizing we pretend that the symbol points directly to the function. This is enough to get decent function names in stack traces for unoptimized binaries, which fixes the sanitizer print-stack-trace test on PowerPC64 Linux. Reviewers: kcc, willschm, samsonov Reviewed By: samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6110 llvm-svn: 221514
* [Object] Modify OwningBinary's interface to separate inspection from ownership.Lang Hames2014-10-311-3/+6
| | | | | | | | The getBinary and getBuffer method now return ordinary pointers of appropriate const-ness. Ownership is transferred by calling takeBinary(), which returns a pair of the Binary and a MemoryBuffer. llvm-svn: 221003
* [llvm-symbolizer] Introduce the -dsym-hint option.Alexander Potapenko2014-10-171-7/+13
| | | | | | | llvm-symbolizer will consult one of the .dSYM paths passed via -dsym-hint if it fails to find the .dSYM bundle at the default location. llvm-svn: 220004
* [llvm-symbolizer] Minor typedef cleanup. NFC.Alexander Potapenko2014-10-141-10/+6
| | | | llvm-svn: 219682
* Don't own the buffer in object::Binary.Rafael Espindola2014-08-191-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | Owning the buffer is somewhat inflexible. Some Binaries have sub Binaries (like Archive) and we had to create dummy buffers just to handle that. It is also a bad fit for IRObjectFile where the Module wants to own the buffer too. Keeping this ownership would make supporting IR inside native objects particularly painful. This patch focuses in lib/Object. If something elsewhere used to own an Binary, now it also owns a MemoryBuffer. This patch introduces a few new types. * MemoryBufferRef. This is just a pair of StringRefs for the data and name. This is to MemoryBuffer as StringRef is to std::string. * OwningBinary. A combination of Binary and a MemoryBuffer. This is needed for convenience functions that take a filename and return both the buffer and the Binary using that buffer. The C api now uses OwningBinary to avoid any change in semantics. I will start a new thread to see if we want to change it and how. llvm-svn: 216002
* Canonicalize header guards into a common format.Benjamin Kramer2014-08-131-3/+3
| | | | | | | | | | Add header guards to files that were missing guards. Remove #endif comments as they don't seem common in LLVM (we can easily add them back if we decide they're useful) Changes made by clang-tidy with minor tweaks. llvm-svn: 215558
* [DWARF parser] Teach DIContext to fetch short (non-linkage) function names ↵Alexey Samsonov2014-05-171-4/+5
| | | | | | | | | | 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
* Use unique_ptr to manage ParsedBinariesAndObjects in LLVMSymbolizerDavid Blaikie2014-04-221-1/+2
| | | | llvm-svn: 206866
* [C++11] Introduce ObjectFile::symbols() to use range-based loops.Alexey Samsonov2014-03-171-1/+1
| | | | | | | | | | | | Reviewers: rafael Reviewed By: rafael CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D3081 llvm-svn: 204031
* Replace OwningPtr<T> with std::unique_ptr<T>.Ahmed Charles2014-03-061-2/+1
| | | | | | | | | | This compiles with no changes to clang/lld/lldb with MSVC and includes overloads to various functions which are used by those projects and llvm which have OwningPtr's as parameters. This should allow out of tree projects some time to move. There are also no changes to libs/Target, which should help out of tree targets have time to move, if necessary. llvm-svn: 203083
* llvm-symbolizer: use dynamic symbol table if the regular one is stripped.Alexey Samsonov2014-02-261-0/+1
| | | | llvm-svn: 202265
* llvm-symbolizer: make mangled name heuristic apply to all symbolsEd Maste2014-01-161-1/+0
| | | | | | PR: http://llvm.org/pr18431 Review: http://llvm-reviews.chandlerc.com/D2552 llvm-svn: 199404
* llvm-symbolizer: don't always run demangler on global object namesAlexey Samsonov2013-10-161-0/+1
| | | | llvm-svn: 192781
* llvm-symbolizer: don't leave dangling pointers after flushing ↵Alexey Samsonov2013-06-281-0/+3
| | | | | | LLVMSymbolizer. Add a destructor. llvm-svn: 185154
* llvm-symbolizer: make name demangling a public static method of LLVMSymbolizerAlexey Samsonov2013-06-281-1/+1
| | | | llvm-svn: 185143
* llvm-symbolizer: add support for Mach-O universal binariesAlexey Samsonov2013-06-281-3/+25
| | | | llvm-svn: 185137
* [llvm-symbolizer] rewrite r183213 in a more clear wayAlexey Samsonov2013-06-071-1/+3
| | | | llvm-svn: 183526
* [llvm-symbolizer] Avoid calling slow getSymbolSize for Mach-O files. Assume ↵Alexey Samsonov2013-06-041-1/+1
| | | | | | that symbols with zero size are in fact large enough. llvm-svn: 183213
* llvm-symbolizer: flush internal caches functionalityDmitry Vyukov2013-03-191-0/+1
| | | | llvm-svn: 177390
* clang-formatize llvm-symbolizer codeAlexey Samsonov2013-02-151-22/+21
| | | | llvm-svn: 175255
* llvm-symbolizer: speedup symbol lookupDmitry Vyukov2013-02-141-4/+14
| | | | llvm-svn: 175158
* Replace global std::string with const char[]Alexey Samsonov2013-02-041-1/+1
| | | | llvm-svn: 174332
* llvm-symbolizer: factor out bits of the tool into separate ↵Alexey Samsonov2013-01-221-0/+88
LLVMSymbolize.{h,cpp} files. No functionality change. llvm-svn: 173159
OpenPOWER on IntegriCloud