diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2018-01-24 20:26:03 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2018-01-24 20:26:03 +0000 |
commit | a506d0d6a9a6c2745e058e35ad4c62d1ddc5f20e (patch) | |
tree | 1eabba27e7647f059f5df7d9ff1fe39e08acda74 /ELF/SymbolTable.cpp | |
parent | 97dd191f563d0b295e4abc86dc95a4f6276c6d8f (diff) |
Diffstat (limited to 'ELF/SymbolTable.cpp')
-rw-r--r-- | ELF/SymbolTable.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ELF/SymbolTable.cpp b/ELF/SymbolTable.cpp index b6bf219988632..c3a00bea4aaa7 100644 --- a/ELF/SymbolTable.cpp +++ b/ELF/SymbolTable.cpp @@ -491,12 +491,13 @@ void SymbolTable::addShared(StringRef Name, SharedFile<ELFT> &File, if (WasInserted || ((S->isUndefined() || S->isLazy()) && S->getVisibility() == STV_DEFAULT)) { uint8_t Binding = S->Binding; + bool WasUndefined = S->isUndefined(); replaceSymbol<SharedSymbol>(S, File, Name, Sym.getBinding(), Sym.st_other, Sym.getType(), Sym.st_value, Sym.st_size, Alignment, VerdefIndex); if (!WasInserted) { S->Binding = Binding; - if (!S->isWeak() && !Config->GcSections) + if (!S->isWeak() && !Config->GcSections && WasUndefined) File.IsNeeded = true; } } |