diff options
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
-rw-r--r-- | llvm/tools/llvm-readobj/llvm-readobj.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp index 001dace..a598e2c 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -149,6 +149,9 @@ static bool COFFLoadConfig; static bool COFFResources; static bool COFFTLSDirectory; +// XCOFF specific options. +static bool XCOFFAuxiliaryHeader; + OutputStyleTy Output = OutputStyleTy::LLVM; static std::vector<std::string> InputFilenames; } // namespace opts @@ -268,6 +271,9 @@ static void parseOptions(const opt::InputArgList &Args) { opts::COFFResources = Args.hasArg(OPT_coff_resources); opts::COFFTLSDirectory = Args.hasArg(OPT_coff_tls_directory); + // XCOFF specific options. + opts::XCOFFAuxiliaryHeader = Args.hasArg(OPT_auxiliary_header); + opts::InputFilenames = Args.getAllArgValues(OPT_INPUT); } @@ -343,6 +349,9 @@ static void dumpObject(ObjectFile &Obj, ScopedPrinter &Writer, if (opts::FileHeaders) Dumper->printFileHeaders(); + if (Obj.isXCOFF() && opts::XCOFFAuxiliaryHeader) + Dumper->printAuxiliaryHeader(); + // This is only used for ELF currently. In some cases, when an object is // corrupt (e.g. truncated), we can't dump anything except the file header. if (!ContentErrString.empty()) @@ -577,6 +586,7 @@ int main(int argc, char *argv[]) { if (opts::All) { opts::FileHeaders = true; + opts::XCOFFAuxiliaryHeader = true; opts::ProgramHeaders = true; opts::SectionHeaders = true; opts::Symbols = true; @@ -595,6 +605,7 @@ int main(int argc, char *argv[]) { if (opts::Headers) { opts::FileHeaders = true; + opts::XCOFFAuxiliaryHeader = true; opts::ProgramHeaders = true; opts::SectionHeaders = true; } |