From 392f0b2b719e4aab73f608924d3b1df25be4ea9c Mon Sep 17 00:00:00 2001 From: Rui Ueyama Date: Wed, 19 Dec 2018 23:25:02 +0000 Subject: Simplify. NFC. Differential Revision: https://reviews.llvm.org/D55903 llvm-svn: 349697 --- lld/ELF/SymbolTable.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'lld/ELF/SymbolTable.cpp') diff --git a/lld/ELF/SymbolTable.cpp b/lld/ELF/SymbolTable.cpp index e372461ee3c..8f320a5778b 100644 --- a/lld/ELF/SymbolTable.cpp +++ b/lld/ELF/SymbolTable.cpp @@ -494,18 +494,23 @@ void SymbolTable::addShared(StringRef Name, SharedFile &File, // An undefined symbol with non default visibility must be satisfied // in the same DSO. - if (WasInserted || - ((S->isUndefined() || S->isLazy()) && S->Visibility == STV_DEFAULT)) { + if (WasInserted) { + replaceSymbol(S, File, Name, Sym.getBinding(), Sym.st_other, + Sym.getType(), Sym.st_value, Sym.st_size, + Alignment, VerdefIndex); + return; + } + + if ((S->isUndefined() || S->isLazy()) && S->Visibility == STV_DEFAULT) { uint8_t Binding = S->Binding; bool WasUndefined = S->isUndefined(); replaceSymbol(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 && WasUndefined) - File.IsNeeded = true; - } + + S->Binding = Binding; + if (!S->isWeak() && !Config->GcSections && WasUndefined) + File.IsNeeded = true; } } -- cgit v1.2.3