mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 16:25:38 +00:00
e0a1996b7e
Ideally, we'd backport it to the clang 4 toolchain too, but that results in silently(!) missing crash symbols for libxul. --HG-- extra : rebase_source : a3024abf720ea6e9dc0e3271a5aa2ebfae9bebee
18 lines
647 B
Diff
18 lines
647 B
Diff
--- a/llvm/tools/dsymutil/DwarfLinker.cpp
|
|
+++ b/llvm/tools/dsymutil/DwarfLinker.cpp
|
|
@@ -1489,8 +1489,12 @@
|
|
uint64_t RefOffset = *RefValue.getAsReference(&Unit);
|
|
|
|
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", &Unit, &DIE);
|
|
return nullptr;
|