diff options
author | Kevin Enderby <enderby@apple.com> | 2015-04-30 20:30:42 +0000 |
---|---|---|
committer | Kevin Enderby <enderby@apple.com> | 2015-04-30 20:30:42 +0000 |
commit | 8972e48bc8431534ed9be2a72423740a624825e9 (patch) | |
tree | 0e7ef9d72fab1767babd2b92ce93e5501a864030 /llvm/tools/llvm-objdump/MachODump.cpp | |
parent | 07920d8457a43b789f1fe29e2de7810e734657ff (diff) | |
download | bcm5719-llvm-8972e48bc8431534ed9be2a72423740a624825e9.tar.gz bcm5719-llvm-8972e48bc8431534ed9be2a72423740a624825e9.zip |
For llvm-objdump, with the -archive-headers and -macho options, use the -non-verbose
option to print the archive headers using raw numeric values. Also add the -archive-member-offsets
for use with these to also trigger printing of the offset of the archive member from the start
of the archive.
llvm-svn: 236252
Diffstat (limited to 'llvm/tools/llvm-objdump/MachODump.cpp')
-rw-r--r-- | llvm/tools/llvm-objdump/MachODump.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp index 4fa6495f87f..b173ce92a0a 100644 --- a/llvm/tools/llvm-objdump/MachODump.cpp +++ b/llvm/tools/llvm-objdump/MachODump.cpp @@ -81,6 +81,12 @@ cl::opt<bool> "(requires -macho)")); cl::opt<bool> + ArchiveMemberOffsets("archive-member-offsets", + cl::desc("Print the offset to each archive member for " + "Mach-O archives (requires -macho and " + "-archive-headers)")); + +cl::opt<bool> llvm::IndirectSymbols("indirect-symbols", cl::desc("Print indirect symbol table for Mach-O " "objects (requires -macho)")); @@ -1559,7 +1565,7 @@ void llvm::ParseInputMachO(StringRef Filename) { if (Archive *A = dyn_cast<Archive>(&Bin)) { outs() << "Archive : " << Filename << "\n"; if (ArchiveHeaders) - printArchiveHeaders(A, true, false); + printArchiveHeaders(A, !NonVerbose, ArchiveMemberOffsets); for (Archive::child_iterator I = A->child_begin(), E = A->child_end(); I != E; ++I) { ErrorOr<std::unique_ptr<Binary>> ChildOrErr = I->getAsBinary(); @@ -1606,7 +1612,7 @@ void llvm::ParseInputMachO(StringRef Filename) { outs() << " (architecture " << ArchitectureName << ")"; outs() << "\n"; if (ArchiveHeaders) - printArchiveHeaders(A.get(), true, false); + printArchiveHeaders(A.get(), !NonVerbose, ArchiveMemberOffsets); for (Archive::child_iterator AI = A->child_begin(), AE = A->child_end(); AI != AE; ++AI) { @@ -1648,7 +1654,7 @@ void llvm::ParseInputMachO(StringRef Filename) { std::unique_ptr<Archive> &A = *AOrErr; outs() << "Archive : " << Filename << "\n"; if (ArchiveHeaders) - printArchiveHeaders(A.get(), true, false); + printArchiveHeaders(A.get(), !NonVerbose, ArchiveMemberOffsets); for (Archive::child_iterator AI = A->child_begin(), AE = A->child_end(); AI != AE; ++AI) { @@ -1685,7 +1691,7 @@ void llvm::ParseInputMachO(StringRef Filename) { outs() << " (architecture " << ArchitectureName << ")"; outs() << "\n"; if (ArchiveHeaders) - printArchiveHeaders(A.get(), true, false); + printArchiveHeaders(A.get(), !NonVerbose, ArchiveMemberOffsets); for (Archive::child_iterator AI = A->child_begin(), AE = A->child_end(); AI != AE; ++AI) { ErrorOr<std::unique_ptr<Binary>> ChildOrErr = AI->getAsBinary(); |