[llvm] [llvm-dwp] Fix infinite loop on DWARFv5 DW_FORM_implicit_const (PR #205567)

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 29 10:49:53 PDT 2026


================
@@ -113,12 +132,9 @@ getCUIdentifiers(InfoSectionUnitHeader &Header, StringRef Abbrev,
     return make_error<DWPError>("top level DIE is not a compile unit");
   // DW_CHILDREN
   AbbrevData.getU8(&AbbrevOffset);
-  uint32_t Name;
+  uint64_t Name;
   dwarf::Form Form;
-  while ((Name = AbbrevData.getULEB128(&AbbrevOffset)) |
-             (Form = static_cast<dwarf::Form>(
-                  AbbrevData.getULEB128(&AbbrevOffset))) &&
-         (Name != 0 || Form != 0)) {
+  while (readAbbrevAttribute(AbbrevData, &AbbrevOffset, Name, Form)) {
----------------
dwblaikie wrote:

No strong feels - here or in another patch, either's fine.

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


More information about the llvm-commits mailing list