Rafael Espindola
a40b3522c8
Change the begin and end methods in ObjectFile to match the style guide.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201108 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-10 20:24:04 +00:00
Rafael Espindola
efdbec8b0a
Simplify the handling of iterators in ObjectFile.
...
None of the object file formats reported error on iterator increment. In
retrospect, that is not too surprising: no object format stores symbols or
sections in a linked list or other structure that requires chasing pointers.
As a consequence, all error checking can be done on begin() and end().
This reduces the text segment of bin/llvm-readobj in my machine from 521233 to
518526 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200442 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-30 02:49:50 +00:00
Ed Maste
22939fa0a4
llvm-symbolizer: make mangled name heuristic apply to all symbols
...
PR: http://llvm.org/pr18431
Review: http://llvm-reviews.chandlerc.com/D2552
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199404 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-16 17:25:12 +00:00
Rafael Espindola
1fca78a9b1
Return an ErrorOr<Binary *> from createBinary.
...
I did write a version returning ErrorOr<OwningPtr<Binary> >, but it is too
cumbersome to use without std::move. I will keep the patch locally and submit
when we switch to c++11.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199326 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-15 19:37:43 +00:00
Rafael Espindola
27a41c1547
Check the error code and save a call to sys::fs::exists.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199293 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-15 04:49:50 +00:00
Chandler Carruth
9f20a4c6ce
Re-sort #include lines again, prior to moving headers around.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199080 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-13 08:04:33 +00:00
Alexey Samsonov
d9729ae8c5
llvm-symbolizer: don't always run demangler on global object names
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192781 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-16 09:54:49 +00:00
Alexey Samsonov
8228a8dd91
llvm-symbolizer: use real path when looking for debug binary location
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189250 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-26 18:12:03 +00:00
Alexey Samsonov
6889483ca4
llvm-symbolizer: add support for .gnu_debuglink section
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188386 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-14 17:09:30 +00:00
NAKAMURA Takumi
1e65bf2628
LLVMSymbolize.cpp: Fix build. Triple::ArchType is not a namespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186494 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-17 06:53:51 +00:00
Alexey Samsonov
df959c70c9
llvm-symbolizer: be more careful with colons in file names
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186493 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-17 06:45:36 +00:00
NAKAMURA Takumi
d212db0cac
llvm-symbolizer: Recognize a drive letter on win32. Then "REQUIRES: shell" can be removed.
...
FIXME: Could we use llvm::sys::Path here?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185322 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-01 09:51:42 +00:00
Alexey Samsonov
0ed872cdd1
llvm-symbolizer: don't leave dangling pointers after flushing LLVMSymbolizer. Add a destructor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185154 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-28 15:08:29 +00:00
Alexey Samsonov
8c6e3248e9
llvm-symbolizer: skip leading underscore in Mach-O symbol table entries
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185151 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-28 14:25:52 +00:00
Alexey Samsonov
c071f89a77
llvm-symbolizer: make name demangling a public static method of LLVMSymbolizer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185143 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-28 12:06:25 +00:00
Alexey Samsonov
8175bc3d3b
llvm-symbolizer: add support for Mach-O universal binaries
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185137 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-28 08:15:40 +00:00
Alexey Samsonov
b6564648a5
[llvm-symbolizer] rewrite r183213 in a more clear way
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183526 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 15:25:27 +00:00
Alexey Samsonov
888ca964a4
[llvm-symbolizer] Avoid calling slow getSymbolSize for Mach-O files. Assume that symbols with zero size are in fact large enough.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183213 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-04 07:57:38 +00:00
Alexey Samsonov
625b109916
Correct handling invalid filename in llvm-symbolizer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183102 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-03 14:12:39 +00:00
Rafael Espindola
fd7aa38e30
At Jim Grosbach's request detemplate Object/MachO.h.
...
We are still able to handle mixed endian objects by swapping one struct at a
time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179778 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-18 18:08:55 +00:00
Rafael Espindola
f6cfc15705
Convert MachOObjectFile to a template.
...
For now it is templated only on being 64 or 32 bits. I will add little/big
endian next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179097 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-09 14:49:08 +00:00
Alexey Samsonov
51283a1513
Fix for r177390: map values are pointers, use DeleteContainerSeconds() instead of .clear()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177409 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-19 15:33:18 +00:00
Dmitry Vyukov
e9e10d18df
llvm-symbolizer: flush internal caches functionality
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177390 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-19 10:24:42 +00:00
Alexey Samsonov
c4439c3508
clang-formatize llvm-symbolizer code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175255 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-15 08:54:47 +00:00
Dmitry Vyukov
b181919d86
llvm-symbolizer: speedup symbol lookup
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175158 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-14 13:06:18 +00:00
Alexey Samsonov
933b851485
Print error messages from MemoryBuffer::getFile() in llvm-symbolizer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174346 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-05 07:01:34 +00:00
Alexey Samsonov
638c63ccf7
Replace global std::string with const char[]
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174332 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-04 15:55:26 +00:00
Alexey Samsonov
c4c7ea3184
llvm-symbolizer: factor out bits of the tool into separate LLVMSymbolize.{h,cpp} files. No functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173159 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-22 14:21:19 +00:00