diff options
Diffstat (limited to 'lld/ELF/Writer.cpp')
-rw-r--r-- | lld/ELF/Writer.cpp | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index d5761e79292..65ddb2010db 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -136,7 +136,6 @@ template <class ELFT> void elf::writeResult(SymbolTable<ELFT> *Symtab) { std::unique_ptr<StringTableSection<ELFT>> StrTab; std::unique_ptr<SymbolTableSection<ELFT>> SymTabSec; std::unique_ptr<OutputSection<ELFT>> MipsRldMap; - std::unique_ptr<VersionDefinitionSection<ELFT>> VerDef; if (Config->BuildId == BuildIdKind::Fnv1) BuildId.reset(new BuildIdFnv1<ELFT>); @@ -171,8 +170,6 @@ template <class ELFT> void elf::writeResult(SymbolTable<ELFT> *Symtab) { MipsRldMap->setSize(sizeof(uintX_t)); MipsRldMap->updateAlignment(sizeof(uintX_t)); } - if (!Config->SymbolVersions.empty()) - VerDef.reset(new VersionDefinitionSection<ELFT>()); Out<ELFT>::Bss = &Bss; Out<ELFT>::BuildId = BuildId.get(); @@ -192,7 +189,6 @@ template <class ELFT> void elf::writeResult(SymbolTable<ELFT> *Symtab) { Out<ELFT>::ShStrTab = &ShStrTab; Out<ELFT>::StrTab = StrTab.get(); Out<ELFT>::SymTab = SymTabSec.get(); - Out<ELFT>::VerDef = VerDef.get(); Out<ELFT>::VerSym = &VerSym; Out<ELFT>::VerNeed = &VerNeed; Out<ELFT>::MipsRldMap = MipsRldMap.get(); @@ -908,15 +904,10 @@ template <class ELFT> void Writer<ELFT>::addPredefinedSections() { Add(Out<ELFT>::StrTab); if (isOutputDynamic()) { Add(Out<ELFT>::DynSymTab); - - bool HasVerNeed = Out<ELFT>::VerNeed->getNeedNum() != 0; - if (Out<ELFT>::VerDef || HasVerNeed) + if (Out<ELFT>::VerNeed->getNeedNum() != 0) { Add(Out<ELFT>::VerSym); - if (Out<ELFT>::VerDef) - Add(Out<ELFT>::VerDef); - if (HasVerNeed) Add(Out<ELFT>::VerNeed); - + } Add(Out<ELFT>::GnuHashTab); Add(Out<ELFT>::HashTab); Add(Out<ELFT>::Dynamic); |