[ELF/Linkerscript] Define an absolute if we find an undefined.
Otherwhise undefined references to symbols defined in linker scripts
are never resolved.
Differential Revision: https://reviews.llvm.org/D22664
llvm-svn: 276536
diff --git a/lld/ELF/LinkerScript.cpp b/lld/ELF/LinkerScript.cpp
index 64a6849..b95287a 100644
--- a/lld/ELF/LinkerScript.cpp
+++ b/lld/ELF/LinkerScript.cpp
@@ -532,7 +532,8 @@
if (!Cmd || Cmd->Name == ".")
continue;
- if (Symtab<ELFT>::X->find(Cmd->Name) == nullptr)
+ SymbolBody *B = Symtab<ELFT>::X->find(Cmd->Name);
+ if (!B || B->isUndefined())
Symtab<ELFT>::X->addAbsolute(Cmd->Name,
Cmd->Hidden ? STV_HIDDEN : STV_DEFAULT);
else