diff --git a/lld/MachO/UnwindInfoSection.cpp b/lld/MachO/UnwindInfoSection.cpp --- a/lld/MachO/UnwindInfoSection.cpp +++ b/lld/MachO/UnwindInfoSection.cpp @@ -194,8 +194,9 @@ // // (See discussions/alternatives already considered on D107533) if (!defined->isExternal()) - if (const Symbol *sym = symtab->find(defined->getName())) - r.referent = s = const_cast(sym); + if (Symbol *sym = symtab->find(defined->getName())) + if (sym->kind() != Symbol::LazyKind) + r.referent = s = sym; } if (auto *undefined = dyn_cast(s)) { treatUndefinedSymbol(*undefined);