diff options
Diffstat (limited to 'lld/lib/ReaderWriter/ELF/OutputELFWriter.h')
-rw-r--r-- | lld/lib/ReaderWriter/ELF/OutputELFWriter.h | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/lld/lib/ReaderWriter/ELF/OutputELFWriter.h b/lld/lib/ReaderWriter/ELF/OutputELFWriter.h index 16943e32e5a..30b1e573a66 100644 --- a/lld/lib/ReaderWriter/ELF/OutputELFWriter.h +++ b/lld/lib/ReaderWriter/ELF/OutputELFWriter.h @@ -180,14 +180,11 @@ template <class ELFT> void OutputELFWriter<ELFT>::buildDynamicSymbolTable(const File &file) { ScopedTask task(getDefaultDomain(), "buildDynamicSymbolTable"); for (const auto &sla : file.sharedLibrary()) { - if (!isDynSymEntryRequired(sla)) - continue; - _dynamicSymbolTable->addSymbol(sla, ELF::SHN_UNDEF); + if (isDynSymEntryRequired(sla)) + _dynamicSymbolTable->addSymbol(sla, ELF::SHN_UNDEF); if (isNeededTagRequired(sla)) _soNeeded.insert(sla->loadName()); } - for (const auto &sla : _layout.getCopiedDynAtoms()) - _soNeeded.insert(sla->loadName()); // Never mark the dynamic linker as DT_NEEDED _soNeeded.erase(sys::path::filename(_context.getInterpreter())); for (const auto &loadName : _soNeeded) { |