Kevin Enderby
b019348f5d
Add code to llvm-objdump so the -section option with -macho will dump literal pointer sections
...
with the Mach-O S_LITERAL_POINTERS section type.
Also fix the printing of the leading addresses for literal sections to be consistent and
not print the 0x prefix. Updated test cases to match.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229548 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-17 21:35:48 +00:00
Kevin Enderby
4e96e52cbe
Add code to llvm-objdump so the -section option with -macho will dump literal
...
sections with the Mach-O S_{4,8,16}BYTE_LITERALS section types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228465 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-06 23:25:38 +00:00
Sylvestre Ledru
b859adadae
Identical code for different branches (CID 1254883)
...
Reviewers: kledzik, rafael
Reviewed By: rafael
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6303
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228313 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-05 17:00:23 +00:00
Sylvestre Ledru
586cbe8d49
revert 228308. The code has changed since the review
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228309 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-05 16:35:44 +00:00
Sylvestre Ledru
12819fc914
Identical code for different branches (CID 1254883)
...
Reviewers: kledzik, rafael
Reviewed By: rafael
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6303
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228308 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-05 16:30:25 +00:00
Kevin Enderby
3cc1e2deee
Add code to llvm-objdump so the -section option with -macho will dump ‘C’ string
...
sections with the Mach-O S_CSTRING_LITERALS section type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228198 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-04 21:38:42 +00:00
Kevin Enderby
1de0e80e97
Add code to llvm-objdump so the -section option with -macho will disassemble sections
...
that have attributes indicating they contain instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228101 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-04 01:01:38 +00:00
Kevin Enderby
0602444f70
Add the -section option to llvm-objdump used with -macho that takes the argument
...
segname,sectname to specify a Mach-O section to print. The printing is based on
the section type or section attributes.
The printing of the module initialization and termination section types is printed
with this change. Printing of other section types will be added next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227649 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-31 00:37:11 +00:00
Zachary Turner
50418a0ac4
Move DebugInfo to DebugInfo/DWARF.
...
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227586 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-30 18:07:45 +00:00
Kevin Enderby
a167fe1877
dd the option, -link-opt-hints to llvm-objdump used with -macho to print the
...
Mach-O AArch64 linker optimization hints for ADRP code optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227246 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-27 21:28:24 +00:00
Kevin Enderby
f9857eb016
Fix the problem with llvm-objdump and -archive-headers in printing the archive header size field.
...
This problem showed up with the clang-cmake-armv7-a15-full bot. Thanks to Renato Golin for his help.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226936 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-23 21:02:44 +00:00
Colin LeMahieu
88fa664c1b
[Objdump] Output information about common symbols in a way closer to GNU objdump.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226932 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-23 20:06:24 +00:00
Kevin Enderby
66e2ddc870
Add the option, -data-in-code, to llvm-objdump used with -macho to print the Mach-O data in code table.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226921 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-23 18:52:17 +00:00
Kevin Enderby
bcbb8690cb
Add the option, -indirect-symbols, used with -macho to print the Mach-O indirect symbol table to llvm-objdump.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226848 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-22 18:55:27 +00:00
Kevin Enderby
c97fb73e2f
For llvm-objdump, hook up existing options to work when using -macho (the Mach-O parser).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226612 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-20 21:47:46 +00:00
David Blaikie
5f16ba708b
unique_ptrify the RelInfo parameter to TargetRegistry::createMCSymbolizer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226416 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-18 20:45:48 +00:00
Kevin Enderby
57cc8ad672
Fix the Archive::Child::getRawSize() method used by llvm-objdump’s -archive-headers option
...
and tweak its use in llvm-objdump. Add back the test case for the -archive-headers option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226332 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-16 22:10:36 +00:00
Kevin Enderby
cdfe54f8a9
Add the option, -archive-headers, used with -macho to print the Mach-O archive headers to llvm-objdump.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226228 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-15 23:19:11 +00:00
Chandler Carruth
1b279144ec
[cleanup] Re-sort all the #include lines in LLVM using
...
utils/sort_includes.py.
I clearly haven't done this in a while, so more changed than usual. This
even uncovered a missing include from the InstrProf library that I've
added. No functionality changed here, just mechanical cleanup of the
include order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225974 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-14 11:23:27 +00:00
Kevin Enderby
2ca895612c
Fix an ASAN failure introduced with r225537 (adding the -universal-headers to llvm-obdump).
...
And a fly by fix to some formatting issues with the same commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225550 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-09 21:55:03 +00:00
Kevin Enderby
6248d1b153
Add the option, -universal-headers, used with -macho to print the Mach-O universal headers to llvm-objdump.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225537 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-09 19:22:37 +00:00
Kevin Enderby
a217f983d6
Run clang-format on tools/llvm-objdump/MachODump.cpp again as some of my
...
previous changes got in with incorrect formatting. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225417 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-08 00:25:24 +00:00
Kevin Enderby
60e9ca4c0f
Slightly refactor things for llvm-objdump and the -macho option so it can be used with
...
options other than just -disassemble so that universal files can be used with other
options combined with -arch options.
No functional change to existing options and use. One test case added for the
additional functionality with a universal file an a -arch option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225383 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-07 21:02:18 +00:00
Filipe Cabecinhas
d682839830
Don't loop endlessly for MachO files with 0 ncmds
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225271 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-06 17:08:26 +00:00
Kevin Enderby
0e6cb8a8d9
Another attempt to fix the LLVM Windows build bot lld-x86_64-win7, one last place to fix I think.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224794 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-24 00:16:51 +00:00
Kevin Enderby
4bc0635654
Attempt to fix the LLVM Windows build bot lld-x86_64-win7.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224793 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-23 23:43:59 +00:00
Kevin Enderby
9a516cdc3e
Add printing the LC_THREAD load commands with llvm-objdump’s -private-headers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224792 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-23 22:56:39 +00:00
David Majnemer
992d4bb278
strnlen isn't available on some platforms, use StringRef instead
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224679 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-20 08:24:43 +00:00
Kevin Enderby
5ebdee51db
Add printing the LC_ROUTINES load commands with llvm-objdump’s -private-headers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224627 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-19 22:25:22 +00:00
Kevin Enderby
728b8cfc76
Add printing the LC_SUB_CLIENT load command with llvm-objdump’s -private-headers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224616 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-19 21:06:24 +00:00
Kevin Enderby
2ef4e25dd1
Add printing the LC_SUB_LIBRARY load command with llvm-objdump’s -private-headers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224607 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-19 19:48:16 +00:00
Kevin Enderby
604a34e086
Add printing the LC_SUB_UMBRELLA load command with llvm-objdump’s -private-headers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224548 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-18 23:13:26 +00:00
Kevin Enderby
a42da31d2c
Add printing the LC_SUB_FRAMEWORK load command with llvm-objdump’s -private-headers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224534 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-18 19:24:35 +00:00
Kevin Enderby
1025e9e9d6
Add printing the LC_LINKER_OPTION load command with llvm-objdump’s -private-headers.
...
Also corrected the name of the load command to not end in an ’S’ as well as corrected
the name of the MachO::linker_option_command struct and other places that had the
word option as plural which did not match the Mac OS X headers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224485 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-18 00:53:40 +00:00
Rafael Espindola
5128bc1e74
Remove unused includes and out of date comment. NFC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224413 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-17 03:07:20 +00:00
Kevin Enderby
e479df2161
Add printing the LC_ENCRYPTION_INFO_64 load command with llvm-objdump’s -private-headers
...
and add tests for the two AArch64 binaries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224400 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-17 01:01:30 +00:00
Kevin Enderby
46a81fde99
Add printing the LC_ENCRYPTION_INFO load command with llvm-objdump’s -private-headers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224390 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-16 23:25:52 +00:00
Kevin Enderby
5b7369ddf5
Fix a bug in llvm-objdump’s -private-headers for the LC_VERSION_MIN_IPHONEOS
...
load command not getting printed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224376 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-16 21:48:27 +00:00
Kevin Enderby
85d57120aa
Fix another use of PRIx32 that should have been PRIx64.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224368 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-16 21:00:25 +00:00
Kevin Enderby
6e5ad1fc76
Fix the arm build bots for a test that was added. A printing routine was incorrectly using PRIx32
...
when it should have been using PRIx64 for the value that was passed as uint64_t .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224350 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-16 18:58:11 +00:00
Kevin Enderby
c981753745
Fix a bug in llvm-objdump’s -private-headers for 32-bit Mach-O files
...
printing the section header. And add some tests for this for 32-bit files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224302 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-16 01:14:45 +00:00
Rafael Espindola
b2a5bf25f9
Return ErrorOr<std::unique_ptr<Archive>> form getAsArchive.
...
This is the same return type of Archive::create.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223827 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-09 21:05:36 +00:00
Kevin Enderby
543abe4906
Re-add support to llvm-objdump for Mach-O universal files and archives with -macho
...
with fixes. Includes the move of tests for llvm-objdump for universal files to an X86
directory. And the fix where it was failing on linux Rafael tracked down with asan.
I had both Jim Grosbach and Adam Hemet look over the second fix since I could not
set up asan to reproduce with the old version but not with the fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223416 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-04 23:56:27 +00:00
Jean-Daniel Dupas
206b84f324
Add mach-o LC_RPATH support to llvm-objdump
...
Summary: Add rpath load command support in Mach-O object and update llvm-objdump to use it.
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6512
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223343 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-04 07:37:02 +00:00
Rafael Espindola
cc0061b299
This reverts commit r223306 and r223277.
...
The code is using uninitialized memory and failing on linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223315 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-03 23:29:34 +00:00
Kevin Enderby
5b9d42b68c
Add support to llvm-objdump for Mach-O universal files and archives with -macho.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223277 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-03 22:29:40 +00:00
Rui Ueyama
d2077b0631
Object/COFF: Fix off-by-one error for object having lots of relocations
...
llvm-objdump printed out an error message for this off-by-one error,
but because it always exits with 0 whether or not it found an error,
the test (llvm-objdump/coff-many-relocs.test) succeeded.
I made llvm-objdump exit with EXIT_FAILURE when an error is found.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222852 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-26 22:17:25 +00:00
Kevin Enderby
32f8e055f2
Fix Use-of-uninitialized-value for adrp_addr and adrp_inst in MachODump.cpp
...
Fixes PR21607
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222385 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-19 20:20:16 +00:00
David Majnemer
a18e46cbc9
Object, COFF: Tighten the object file parser
...
We were a little lax in a few areas:
- We pretended that import libraries were like any old COFF file, they
are not. In fact, they aren't really COFF files at all, we should
probably grow some specialized functionality to handle them smarter.
- Our symbol iterators were more than happy to attempt to go past the
end of the symbol table if you had a symbol with a bad list of
auxiliary symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222124 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-17 11:17:17 +00:00
Kevin Enderby
61ab3a1cc5
Add the code and test cases for 64-bit ARM to llvm-objdump’s Mach-O symbolizer.
...
FYI, removed the unused MCInstrAnalysis as it does not exist for 64-bit ARM and
was causing a “couldn't initialize disassembler for target” error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222045 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-14 21:52:18 +00:00