summaryrefslogtreecommitdiff
path: root/tools/llvm-readobj/ObjDumper.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvm-readobj/ObjDumper.h')
-rw-r--r--tools/llvm-readobj/ObjDumper.h24
1 files changed, 18 insertions, 6 deletions
diff --git a/tools/llvm-readobj/ObjDumper.h b/tools/llvm-readobj/ObjDumper.h
index db26d6983552d..a39fc260b5493 100644
--- a/tools/llvm-readobj/ObjDumper.h
+++ b/tools/llvm-readobj/ObjDumper.h
@@ -18,12 +18,15 @@ namespace object {
class COFFImportFile;
class ObjectFile;
}
+namespace codeview {
+class MemoryTypeTableBuilder;
+}
-class StreamWriter;
+class ScopedPrinter;
class ObjDumper {
public:
- ObjDumper(StreamWriter& Writer);
+ ObjDumper(ScopedPrinter &Writer);
virtual ~ObjDumper();
virtual void printFileHeaders() = 0;
@@ -42,6 +45,8 @@ public:
virtual void printGnuHashTable() { }
virtual void printLoadName() {}
virtual void printVersionInfo() {}
+ virtual void printGroupSections() {}
+ virtual void printHashHistogram() {}
// Only implemented for ARM ELF at this time.
virtual void printAttributes() { }
@@ -50,13 +55,17 @@ public:
virtual void printMipsPLTGOT() { }
virtual void printMipsABIFlags() { }
virtual void printMipsReginfo() { }
+ virtual void printMipsOptions() { }
// Only implemented for PE/COFF.
virtual void printCOFFImports() { }
virtual void printCOFFExports() { }
virtual void printCOFFDirectives() { }
virtual void printCOFFBaseReloc() { }
+ virtual void printCOFFDebugDirectory() { }
virtual void printCodeViewDebugInfo() { }
+ virtual void
+ mergeCodeViewTypes(llvm::codeview::MemoryTypeTableBuilder &CVTypes) {}
// Only implemented for MachO.
virtual void printMachODataInCode() { }
@@ -69,23 +78,26 @@ public:
virtual void printStackMap() const = 0;
protected:
- StreamWriter& W;
+ ScopedPrinter &W;
};
std::error_code createCOFFDumper(const object::ObjectFile *Obj,
- StreamWriter &Writer,
+ ScopedPrinter &Writer,
std::unique_ptr<ObjDumper> &Result);
std::error_code createELFDumper(const object::ObjectFile *Obj,
- StreamWriter &Writer,
+ ScopedPrinter &Writer,
std::unique_ptr<ObjDumper> &Result);
std::error_code createMachODumper(const object::ObjectFile *Obj,
- StreamWriter &Writer,
+ ScopedPrinter &Writer,
std::unique_ptr<ObjDumper> &Result);
void dumpCOFFImportFile(const object::COFFImportFile *File);
+void dumpCodeViewMergedTypes(ScopedPrinter &Writer,
+ llvm::codeview::MemoryTypeTableBuilder &CVTypes);
+
} // namespace llvm
#endif