diff options
author | Matt Davis <Matthew.Davis@sony.com> | 2019-02-01 18:51:10 +0000 |
---|---|---|
committer | Matt Davis <Matthew.Davis@sony.com> | 2019-02-01 18:51:10 +0000 |
commit | 50ca8edb1a0d94e057a28ae792e3b756bd08d809 (patch) | |
tree | 999b6b97b1b82efc130184b881f94f2b4689eb8b /llvm/tools/llvm-readobj/llvm-readobj.cpp | |
parent | 25b4c4ceb6861c4564bcb5280fa81805cb9cca80 (diff) | |
download | bcm5719-llvm-50ca8edb1a0d94e057a28ae792e3b756bd08d809.tar.gz bcm5719-llvm-50ca8edb1a0d94e057a28ae792e3b756bd08d809.zip |
[llvm-readobj] Add a flag to dump just the section-to-segment mapping.
Summary:
The following patch introduces a new function `printSectionMapping` which is responsible for dumping just the section-to-segment mapping.
This patch also introduces a n option `-section-mapping` that outputs that mapping without the program headers.
Previously, this functionality was controlled by `printProgramHeaders`, and the output from `-program-headers` has not been changed. I am happy to change the option name, I copied the name that was displayed when outputting the mapping table.
Reviewers: khemant, jhenderson, grimar, rupprecht
Reviewed By: jhenderson, grimar, rupprecht
Subscribers: rupprecht, jhenderson, llvm-commits
Differential Revision: https://reviews.llvm.org/D57365
llvm-svn: 352896
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 206b67bbc78..74f21e30d72 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -106,6 +106,11 @@ namespace opts { cl::opt<bool> SectionData("section-data", cl::desc("Display section data for each section shown.")); + // -section-mapping + cl::opt<cl::boolOrDefault> + SectionMapping("section-mapping", + cl::desc("Display the section to segment mapping.")); + // -relocations, -relocs, -r cl::opt<bool> Relocations("relocations", cl::desc("Display the relocation entries in the file")); @@ -474,8 +479,8 @@ static void dumpObject(const ObjectFile *Obj, ScopedPrinter &Writer) { Dumper->printDynamicTable(); if (opts::NeededLibraries) Dumper->printNeededLibraries(); - if (opts::ProgramHeaders) - Dumper->printProgramHeaders(); + if (opts::ProgramHeaders || opts::SectionMapping == cl::BOU_TRUE) + Dumper->printProgramHeaders(opts::ProgramHeaders, opts::SectionMapping); if (!opts::StringDump.empty()) llvm::for_each(opts::StringDump, [&Dumper, Obj](StringRef SectionName) { Dumper->printSectionAsString(Obj, SectionName); |