diff options
author | zhijian <zhijian@ca.ibm.com> | 2022-09-19 10:55:48 -0400 |
---|---|---|
committer | zhijian <zhijian@ca.ibm.com> | 2022-09-19 10:55:48 -0400 |
commit | dcd5abd4c482d6d5301990078091f1d26dc17872 (patch) | |
tree | a8995d9cd62114f0b7c3444f311a6ded201ee1af /llvm/tools/llvm-readobj/llvm-readobj.cpp | |
parent | 924974a3a13b03090d04860f209ce11b3d9d00a6 (diff) | |
download | llvm-dcd5abd4c482d6d5301990078091f1d26dc17872.zip llvm-dcd5abd4c482d6d5301990078091f1d26dc17872.tar.gz llvm-dcd5abd4c482d6d5301990078091f1d26dc17872.tar.bz2 |
[AIX] llvm-readobj support a new option --exception-section for xcoff object file.
Summary:
llvm-readobj support a new option --exception-section for xcoff object file.
https://www.ibm.com/docs/en/aix/7.2?topic=formats-xcoff-object-file-format#XCOFF__iua3i23ajbau
Reviewers: James Henderson,Paul Scoropan
Differential Revision: https://reviews.llvm.org/D133030
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) |