aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-readobj/llvm-readobj.cpp
diff options
context:
space:
mode:
authorzhijian <zhijian@ca.ibm.com>2022-09-19 10:55:48 -0400
committerzhijian <zhijian@ca.ibm.com>2022-09-19 10:55:48 -0400
commitdcd5abd4c482d6d5301990078091f1d26dc17872 (patch)
treea8995d9cd62114f0b7c3444f311a6ded201ee1af /llvm/tools/llvm-readobj/llvm-readobj.cpp
parent924974a3a13b03090d04860f209ce11b3d9d00a6 (diff)
downloadllvm-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.cpp8
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)