[llvm] [llvm-objdump] print out xcoff file header and load section header for xcoff object file with option private-headers (PR #96350)

James Henderson via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 5 00:44:09 PDT 2024


================
@@ -30,10 +32,131 @@ using namespace llvm::support;
 
 namespace {
 class XCOFFDumper : public objdump::Dumper {
+  const XCOFFObjectFile &Obj;
+  unsigned Width;
+
 public:
-  XCOFFDumper(const object::XCOFFObjectFile &O) : Dumper(O) {}
-  void printPrivateHeaders() override {}
+  XCOFFDumper(const object::XCOFFObjectFile &O) : Dumper(O), Obj(O) {}
+
+private:
+  void printPrivateHeaders() override;
+  void printFileHeader();
+  void printAuxiliaryHeader() {};
+  void printLoaderSectionHeader();
+  FormattedString formatName(StringRef Name);
+  void printHex(StringRef Name, uint64_t Value);
+  void printNumber(StringRef Name, uint64_t Value);
+  void printStrHex(StringRef Name, StringRef Str, uint64_t Value);
+  void setWidth(unsigned W) { Width = W; };
 };
+
+void XCOFFDumper::printPrivateHeaders() {
+  printFileHeader();
----------------
jh7370 wrote:

Could we trim this to just `printFileHeader` in the first patch, and add each other part in separate patches? That would be a way to keep this PR down to a small size and make it harder to miss anything.

https://github.com/llvm/llvm-project/pull/96350


More information about the llvm-commits mailing list