summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-symbolizer/LLVMSymbolize.h
Commit message (Collapse)AuthorAgeFilesLines
* 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