diff options
author | Paul Semel <semelpaul@gmail.com> | 2018-06-15 14:15:02 +0000 |
---|---|---|
committer | Paul Semel <semelpaul@gmail.com> | 2018-06-15 14:15:02 +0000 |
commit | fa5597b24da47d5ecec4560f3f76f4bb08b405bc (patch) | |
tree | feec39c6c27ceb1784d2542232db4669b6c7aab8 /llvm/tools/llvm-readobj/llvm-readobj.cpp | |
parent | 9ddf128f79b43d29d3c31e529087ac112a6a26be (diff) | |
download | bcm5719-llvm-fa5597b24da47d5ecec4560f3f76f4bb08b405bc.tar.gz bcm5719-llvm-fa5597b24da47d5ecec4560f3f76f4bb08b405bc.zip |
[llvm-readobj] Add -string-dump (-p) option
This option prints the section content as a string.
Differential Revision: https://reviews.llvm.org/D47989
llvm-svn: 334834
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
-rw-r--r-- | llvm/tools/llvm-readobj/llvm-readobj.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp index f871dc90950..22a8fcde391 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -146,6 +146,12 @@ namespace opts { cl::alias ProgramHeadersShort("l", cl::desc("Alias for --program-headers"), cl::aliasopt(ProgramHeaders)); + // -string-dump + cl::list<std::string> StringDump("string-dump", cl::desc("<number|name>"), + cl::ZeroOrMore); + cl::alias StringDumpShort("p", cl::desc("Alias for --string-dump"), + cl::aliasopt(StringDump)); + // -hash-table cl::opt<bool> HashTable("hash-table", cl::desc("Display ELF hash table")); @@ -417,6 +423,10 @@ static void dumpObject(const ObjectFile *Obj, ScopedPrinter &Writer) { Dumper->printNeededLibraries(); if (opts::ProgramHeaders) Dumper->printProgramHeaders(); + if (!opts::StringDump.empty()) + llvm::for_each(opts::StringDump, [&Dumper](StringRef SectionName) { + Dumper->printSectionAsString(SectionName); + }); if (opts::HashTable) Dumper->printHashTable(); if (opts::GnuHashTable) |