Files
tubestation/build/build-clang/r313872.patch

20 lines
777 B
Diff

Index: tools/dsymutil/DwarfLinker.cpp
===================================================================
--- a/llvm/tools/dsymutil/DwarfLinker.cpp (revision 313871)
+++ b/llvm/tools/dsymutil/DwarfLinker.cpp (revision 313872)
@@ -1495,8 +1495,12 @@
uint64_t RefOffset = *RefValue.getAsReference();
if ((RefCU = getUnitForOffset(Units, RefOffset)))
- if (const auto RefDie = RefCU->getOrigUnit().getDIEForOffset(RefOffset))
- return RefDie;
+ if (const auto RefDie = RefCU->getOrigUnit().getDIEForOffset(RefOffset)) {
+ // In a file with broken references, an attribute might point to a NULL
+ // DIE.
+ if(!RefDie.isNULL())
+ return RefDie;
+ }
Linker.reportWarning("could not find referenced DIE", &DIE);
return DWARFDie();