From 209565db2d3827f577154ee123660312e15068d5 Mon Sep 17 00:00:00 2001 From: "Michael J. Spencer" Date: Sun, 6 Jan 2013 03:56:49 +0000 Subject: [objdump] Add --private-headers, -p. This currently prints the ELF program headers. llvm-svn: 171649 --- llvm/tools/llvm-objdump/llvm-objdump.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp') diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index 24dc9c91a3b..9958dad3d33 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -28,6 +28,7 @@ #include "llvm/MC/MCSubtargetInfo.h" #include "llvm/Object/Archive.h" #include "llvm/Object/COFF.h" +#include "llvm/Object/ELF.h" #include "llvm/Object/MachO.h" #include "llvm/Object/ObjectFile.h" #include "llvm/Support/Casting.h" @@ -112,6 +113,14 @@ static cl::alias UnwindInfoShort("u", cl::desc("Alias for --unwind-info"), cl::aliasopt(UnwindInfo)); +static cl::opt +PrivateHeaders("private-headers", + cl::desc("Display format specific file headers")); + +static cl::alias +PrivateHeadersShort("p", cl::desc("Alias for --private-headers"), + cl::aliasopt(PrivateHeaders)); + static StringRef ToolName; bool llvm::error(error_code ec) { @@ -627,6 +636,8 @@ static void DumpObject(const ObjectFile *o) { PrintSymbolTable(o); if (UnwindInfo) PrintUnwindInfo(o); + if (PrivateHeaders && o->isELF()) + printELFFileHeader(o); } /// @brief Dump each object file in \a a; @@ -706,7 +717,8 @@ int main(int argc, char **argv) { && !SectionHeaders && !SectionContents && !SymbolTable - && !UnwindInfo) { + && !UnwindInfo + && !PrivateHeaders) { cl::PrintHelpMessage(); return 2; } -- cgit v1.2.3