diff options
Diffstat (limited to 'lld/ELF/Writer.cpp')
-rw-r--r-- | lld/ELF/Writer.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index 58fc6fab7c9..dd2cae8e861 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -180,9 +180,9 @@ static Defined *addOptionalRegular(StringRef Name, SectionBase *Sec, if (!S || S->isDefined()) return nullptr; - return cast<Defined>(Symtab->addSymbol( - Defined{/*File=*/nullptr, Name, Binding, StOther, STT_NOTYPE, Val, - /*Size=*/0, Sec})); + S->resolve(Defined{/*File=*/nullptr, Name, Binding, StOther, STT_NOTYPE, Val, + /*Size=*/0, Sec}); + return cast<Defined>(S); } static Defined *addAbsolute(StringRef Name) { @@ -239,9 +239,8 @@ void elf::addReservedSymbols() { if (Config->EMachine == EM_PPC || Config->EMachine == EM_PPC64) GotOff = 0x8000; - Symtab->addSymbol(Defined{/*File=*/nullptr, GotSymName, STB_GLOBAL, - STV_HIDDEN, STT_NOTYPE, GotOff, /*Size=*/0, - Out::ElfHeader}); + S->resolve(Defined{/*File=*/nullptr, GotSymName, STB_GLOBAL, STV_HIDDEN, + STT_NOTYPE, GotOff, /*Size=*/0, Out::ElfHeader}); ElfSym::GlobalOffsetTable = cast<Defined>(S); } |