Store a Symbol for EntrySym.
This makes it impossible to forget to call repl on the SymbolBody.
llvm-svn: 266432
diff --git a/lld/ELF/MarkLive.cpp b/lld/ELF/MarkLive.cpp
index 4d0b08d..ade0dce 100644
--- a/lld/ELF/MarkLive.cpp
+++ b/lld/ELF/MarkLive.cpp
@@ -99,12 +99,13 @@
auto MarkSymbol = [&](SymbolBody *Sym) {
if (Sym)
- if (auto *D = dyn_cast<DefinedRegular<ELFT>>(&Sym->repl()))
+ if (auto *D = dyn_cast<DefinedRegular<ELFT>>(Sym))
Enqueue(D->Section);
};
// Add GC root symbols.
- MarkSymbol(Config->EntrySym);
+ if (Config->EntrySym)
+ MarkSymbol(Config->EntrySym->Body);
MarkSymbol(Symtab->find(Config->Init));
MarkSymbol(Symtab->find(Config->Fini));
for (StringRef S : Config->Undefined)