Index: tools/dsymutil/DwarfLinker.cpp =================================================================== --- tools/dsymutil/DwarfLinker.cpp +++ tools/dsymutil/DwarfLinker.cpp @@ -2556,7 +2556,8 @@ for (const auto &AttrSpec : Abbrev->attributes()) { DWARFFormValue Val(AttrSpec.Form); - if (!Val.isFormClass(DWARFFormValue::FC_Reference)) { + if (!Val.isFormClass(DWARFFormValue::FC_Reference) || + AttrSpec.Attr == dwarf::DW_AT_sibling) { DWARFFormValue::skipValue(AttrSpec.Form, Data, &Offset, Unit.getFormParams()); continue; @@ -2733,7 +2734,7 @@ RefUnit); // If the referenced DIE is not found, drop the attribute. - if (!RefDie) + if (!RefDie || AttrSpec.Attr == dwarf::DW_AT_sibling) return 0; unsigned Idx = RefUnit->getOrigUnit().getDIEIndex(RefDie);