diff options
author | zhijian <zhijian@ca.ibm.com> | 2022-12-14 11:16:20 -0500 |
---|---|---|
committer | zhijian <zhijian@ca.ibm.com> | 2022-12-14 11:16:20 -0500 |
commit | a274d62fecfc3f49065f3fcdcb9577637778e0bc (patch) | |
tree | 1bf38489f7675ffcbc82c8f27831507de8c78134 /llvm/tools/llvm-readobj/llvm-readobj.cpp | |
parent | 07335f9460ffa3a2be7f06b33a9f013de379f6a9 (diff) | |
download | llvm-a274d62fecfc3f49065f3fcdcb9577637778e0bc.zip llvm-a274d62fecfc3f49065f3fcdcb9577637778e0bc.tar.gz llvm-a274d62fecfc3f49065f3fcdcb9577637778e0bc.tar.bz2 |
[XCOFF] Decode the relocation entries of loader section of xcoff for llvm-readobj
Summary:
support decoding the relocation entries of loader section of xcoff for llvm-readobj
https://www.ibm.com/docs/en/aix/7.2?topic=formats-xcoff-object-file-format#XCOFF__vra3i31ejbau
Reviewers: James Henderson, Esme Yi
Differential Revision: https://reviews.llvm.org/D136787
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
-rw-r--r-- | llvm/tools/llvm-readobj/llvm-readobj.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp index b618b4f..15a6c68 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -164,6 +164,7 @@ static bool COFFTLSDirectory; static bool XCOFFAuxiliaryHeader; static bool XCOFFLoaderSectionHeader; static bool XCOFFLoaderSectionSymbol; +static bool XCOFFLoaderSectionRelocation; static bool XCOFFExceptionSection; OutputStyleTy Output = OutputStyleTy::LLVM; @@ -307,6 +308,8 @@ static void parseOptions(const opt::InputArgList &Args) { opts::XCOFFAuxiliaryHeader = Args.hasArg(OPT_auxiliary_header); opts::XCOFFLoaderSectionHeader = Args.hasArg(OPT_loader_section_header); opts::XCOFFLoaderSectionSymbol = Args.hasArg(OPT_loader_section_symbols); + opts::XCOFFLoaderSectionRelocation = + Args.hasArg(OPT_loader_section_relocations); opts::XCOFFExceptionSection = Args.hasArg(OPT_exception_section); opts::InputFilenames = Args.getAllArgValues(OPT_INPUT); @@ -512,9 +515,11 @@ static void dumpObject(ObjectFile &Obj, ScopedPrinter &Writer, } if (Obj.isXCOFF()) { - if (opts::XCOFFLoaderSectionHeader || opts::XCOFFLoaderSectionSymbol) + if (opts::XCOFFLoaderSectionHeader || opts::XCOFFLoaderSectionSymbol || + opts::XCOFFLoaderSectionRelocation) Dumper->printLoaderSection(opts::XCOFFLoaderSectionHeader, - opts::XCOFFLoaderSectionSymbol); + opts::XCOFFLoaderSectionSymbol, + opts::XCOFFLoaderSectionRelocation); if (opts::XCOFFExceptionSection) Dumper->printExceptionSection(); |