summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/ObjDumper.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-readobj/ObjDumper.h')
-rw-r--r--llvm/tools/llvm-readobj/ObjDumper.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/llvm/tools/llvm-readobj/ObjDumper.h b/llvm/tools/llvm-readobj/ObjDumper.h
index 17cc8bb552d..6d57f4c1cb3 100644
--- a/llvm/tools/llvm-readobj/ObjDumper.h
+++ b/llvm/tools/llvm-readobj/ObjDumper.h
@@ -14,6 +14,7 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/Object/ObjectFile.h"
+#include "llvm/Support/CommandLine.h"
namespace llvm {
namespace object {
@@ -40,13 +41,20 @@ public:
if (PrintDynamicSymbols)
printDynamicSymbols();
}
+ virtual void printProgramHeaders(bool PrintProgramHeaders,
+ cl::boolOrDefault PrintSectionMapping) {
+ if (PrintProgramHeaders)
+ printProgramHeaders();
+ if (PrintSectionMapping == cl::BOU_TRUE)
+ printSectionMapping();
+ }
+
virtual void printUnwindInfo() = 0;
// Only implemented for ELF at this time.
virtual void printDynamicRelocations() { }
virtual void printDynamicTable() { }
virtual void printNeededLibraries() { }
- virtual void printProgramHeaders() { }
virtual void printSectionAsHex(StringRef SectionName) {}
virtual void printHashTable() { }
virtual void printGnuHashTable() { }
@@ -99,8 +107,10 @@ protected:
ScopedPrinter &W;
private:
- virtual void printSymbols() {};
- virtual void printDynamicSymbols() {};
+ virtual void printSymbols() {}
+ virtual void printDynamicSymbols() {}
+ virtual void printProgramHeaders() {}
+ virtual void printSectionMapping() {}
};
std::error_code createCOFFDumper(const object::ObjectFile *Obj,
OpenPOWER on IntegriCloud