[llvm-branch-commits] [llvm] [llvm-readobj, ELF] Support reading binary with more than PN_XNUM segments. (PR #165278)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Tue Feb 24 09:16:37 PST 2026


================
@@ -3631,6 +3633,24 @@ static inline void printFields(formatted_raw_ostream &OS, StringRef Str1,
   OS.flush();
 }
 
+template <class ELFT>
+std::string ELFDumper<ELFT>::getProgramHeadersNumString() {
+  const ELFFile<ELFT> &Obj = this->Obj;
+  Expected<uint32_t> PhNumOrErr = Obj.getPhNum();
+  if (!PhNumOrErr) {
+    this->reportUniqueWarning(PhNumOrErr.takeError());
+    return "<?>";
+  }
+
+  uint32_t PhNum;
+  PhNum = *PhNumOrErr;
+  if (PhNum == ELF::PN_XNUM)
+    return "65535 (corrupt)";
----------------
aokblast wrote:

You are right. Thanks!

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


More information about the llvm-branch-commits mailing list