From de3d0cc8948312a34233f93429385bd027e014b2 Mon Sep 17 00:00:00 2001 From: Rui Ueyama Date: Sat, 30 Sep 2017 12:41:34 +0000 Subject: [PATCH] Make parameter lists of SymbolTable::add* functions more consistent. NFC. llvm-svn: 314591 --- lld/ELF/InputFiles.cpp | 7 ++++--- lld/ELF/SymbolTable.cpp | 21 ++++++++++----------- lld/ELF/SymbolTable.h | 8 +++++--- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp index 80ef567..00df8a4 100644 --- a/lld/ELF/InputFiles.cpp +++ b/lld/ELF/InputFiles.cpp @@ -616,7 +616,8 @@ ArchiveFile::ArchiveFile(std::unique_ptr &&File) template void ArchiveFile::parse() { Symbols.reserve(File->getNumberOfSymbols()); for (const Archive::Symbol &Sym : File->symbols()) - Symbols.push_back(Symtab->addLazyArchive(this, Sym)->body()); + Symbols.push_back( + Symtab->addLazyArchive(Sym.getName(), this, Sym)->body()); } // Returns a buffer pointing to a member file containing a given symbol. @@ -779,14 +780,14 @@ template void SharedFile::parseRest() { VersymIndex == VER_NDX_GLOBAL ? nullptr : Verdefs[VersymIndex]; if (!Hidden) - Symtab->addShared(this, Name, Sym, V); + Symtab->addShared(Name, this, Sym, V); // Also add the symbol with the versioned name to handle undefined symbols // with explicit versions. if (V) { StringRef VerName = this->StringTable.data() + V->getAux()->vda_name; Name = Saver.save(Name + "@" + VerName); - Symtab->addShared(this, Name, Sym, V); + Symtab->addShared(Name, this, Sym, V); } } } diff --git a/lld/ELF/SymbolTable.cpp b/lld/ELF/SymbolTable.cpp index b948007..6ba266a 100644 --- a/lld/ELF/SymbolTable.cpp +++ b/lld/ELF/SymbolTable.cpp @@ -472,7 +472,7 @@ Symbol *SymbolTable::addRegular(StringRef Name, uint8_t StOther, uint8_t Type, } template -void SymbolTable::addShared(SharedFile *File, StringRef Name, +void SymbolTable::addShared(StringRef Name, SharedFile *File, const typename ELFT::Sym &Sym, const typename ELFT::Verdef *Verdef) { // DSO symbols do not affect visibility in the output, so we pass STV_DEFAULT @@ -533,11 +533,10 @@ void SymbolTable::defsym(Symbol *Dst, Symbol *Src) { } template -Symbol *SymbolTable::addLazyArchive(ArchiveFile *F, +Symbol *SymbolTable::addLazyArchive(StringRef Name, ArchiveFile *F, const object::Archive::Symbol Sym) { Symbol *S; bool WasInserted; - StringRef Name = Sym.getName(); std::tie(S, WasInserted) = insert(Name); if (WasInserted) { replaceBody(S, F, Sym, SymbolBody::UnknownType); @@ -840,16 +839,16 @@ template DefinedRegular *SymbolTable::addIgnored(StringRef, uint8_t); template DefinedRegular *SymbolTable::addIgnored(StringRef, uint8_t); template Symbol * -SymbolTable::addLazyArchive(ArchiveFile *, +SymbolTable::addLazyArchive(StringRef, ArchiveFile *, const object::Archive::Symbol); template Symbol * -SymbolTable::addLazyArchive(ArchiveFile *, +SymbolTable::addLazyArchive(StringRef, ArchiveFile *, const object::Archive::Symbol); template Symbol * -SymbolTable::addLazyArchive(ArchiveFile *, +SymbolTable::addLazyArchive(StringRef, ArchiveFile *, const object::Archive::Symbol); template Symbol * -SymbolTable::addLazyArchive(ArchiveFile *, +SymbolTable::addLazyArchive(StringRef, ArchiveFile *, const object::Archive::Symbol); template void SymbolTable::addLazyObject(StringRef, LazyObjFile &); @@ -857,16 +856,16 @@ template void SymbolTable::addLazyObject(StringRef, LazyObjFile &); template void SymbolTable::addLazyObject(StringRef, LazyObjFile &); template void SymbolTable::addLazyObject(StringRef, LazyObjFile &); -template void SymbolTable::addShared(SharedFile *, StringRef, +template void SymbolTable::addShared(StringRef, SharedFile *, const typename ELF32LE::Sym &, const typename ELF32LE::Verdef *); -template void SymbolTable::addShared(SharedFile *, StringRef, +template void SymbolTable::addShared(StringRef, SharedFile *, const typename ELF32BE::Sym &, const typename ELF32BE::Verdef *); -template void SymbolTable::addShared(SharedFile *, StringRef, +template void SymbolTable::addShared(StringRef, SharedFile *, const typename ELF64LE::Sym &, const typename ELF64LE::Verdef *); -template void SymbolTable::addShared(SharedFile *, StringRef, +template void SymbolTable::addShared(StringRef, SharedFile *, const typename ELF64BE::Sym &, const typename ELF64BE::Verdef *); diff --git a/lld/ELF/SymbolTable.h b/lld/ELF/SymbolTable.h index 5f2ff66..eff0af7 100644 --- a/lld/ELF/SymbolTable.h +++ b/lld/ELF/SymbolTable.h @@ -62,18 +62,20 @@ public: SectionBase *Section, InputFile *File); template - void addShared(SharedFile *F, StringRef Name, + void addShared(StringRef Name, SharedFile *F, const typename ELFT::Sym &Sym, const typename ELFT::Verdef *Verdef); template - Symbol *addLazyArchive(ArchiveFile *F, const llvm::object::Archive::Symbol S); + Symbol *addLazyArchive(StringRef Name, ArchiveFile *F, + const llvm::object::Archive::Symbol S); + template void addLazyObject(StringRef Name, LazyObjFile &Obj); Symbol *addBitcode(StringRef Name, uint8_t Binding, uint8_t StOther, uint8_t Type, bool CanOmitFromDynSym, BitcodeFile *File); - Symbol *addCommon(StringRef N, uint64_t Size, uint32_t Alignment, + Symbol *addCommon(StringRef Name, uint64_t Size, uint32_t Alignment, uint8_t Binding, uint8_t StOther, uint8_t Type, InputFile *File); -- 2.7.4