[objdump] Add --private-headers, -p.

This currently prints the ELF program headers.

llvm-svn: 171649
This commit is contained in:
Michael J. Spencer
2013-01-06 03:56:49 +00:00
parent 9ed47c76af
commit 209565db2d
6 changed files with 111 additions and 1 deletions

View File

@@ -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<bool>
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;
}