diff options
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
-rw-r--r-- | llvm/tools/llvm-readobj/llvm-readobj.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp index e1ebbeb..06c6f7c 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -162,6 +162,7 @@ static bool COFFTLSDirectory; // XCOFF specific options. static bool XCOFFAuxiliaryHeader; +static bool XCOFFExceptionSection; OutputStyleTy Output = OutputStyleTy::LLVM; static std::vector<std::string> InputFilenames; @@ -302,6 +303,7 @@ static void parseOptions(const opt::InputArgList &Args) { // XCOFF specific options. opts::XCOFFAuxiliaryHeader = Args.hasArg(OPT_auxiliary_header); + opts::XCOFFExceptionSection = Args.hasArg(OPT_exception_section); opts::InputFilenames = Args.getAllArgValues(OPT_INPUT); } @@ -395,6 +397,8 @@ static void dumpObject(ObjectFile &Obj, ScopedPrinter &Writer, if (opts::FileHeaders) Dumper->printFileHeaders(); + // Auxiliary header in XOCFF is right after the file header, so print the data + // here. if (Obj.isXCOFF() && opts::XCOFFAuxiliaryHeader) Dumper->printAuxiliaryHeader(); @@ -502,6 +506,10 @@ static void dumpObject(ObjectFile &Obj, ScopedPrinter &Writer, if (opts::CGProfile) Dumper->printCGProfile(); } + + if (Obj.isXCOFF() && opts::XCOFFExceptionSection) + Dumper->printExceptionSection(); + if (opts::PrintStackMap) Dumper->printStackMap(); if (opts::PrintStackSizes) |