[llvm] [llvm-readobj][COFF] Implement --coff-pseudoreloc in llvm-readobj to dump runtime pseudo-relocation records (PR #151816)

James Henderson via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 7 01:54:04 PDT 2025


================
@@ -2002,51 +2002,94 @@ void COFFDumper::printCOFFBaseReloc() {
 }
 
 void COFFDumper::printCOFFPseudoReloc() {
+  if (!Obj->getDOSHeader()) {
+    W.startLine()
+        << "pseudo-relocation is only meaningful for a PE image file\n";
+    return;
+  }
+
   const StringRef RelocBeginName = Obj->getArch() == Triple::x86
                                        ? "___RUNTIME_PSEUDO_RELOC_LIST__"
                                        : "__RUNTIME_PSEUDO_RELOC_LIST__";
   const StringRef RelocEndName = Obj->getArch() == Triple::x86
                                      ? "___RUNTIME_PSEUDO_RELOC_LIST_END__"
                                      : "__RUNTIME_PSEUDO_RELOC_LIST_END__";
 
-  COFFSymbolRef RelocBegin, RelocEnd;
   auto Count = Obj->getNumberOfSymbols();
   if (Count == 0) {
-    W.startLine() << "The symbol table has been stripped\n";
+    W.startLine() << "the symbol table has been stripped\n";
----------------
jh7370 wrote:

This one might deserve to be a warning. I'm open to @mstorsjo's opinion though.

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


More information about the llvm-commits mailing list