[lld] 5188f55 - [ELF] Move ObjFile<ELFT>::{getLocalSymbols,getGlobalSymbols} to non-template ELFFileBase. NFC

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 30 00:50:25 PST 2021


Author: Fangrui Song
Date: 2021-11-30T00:50:19-08:00
New Revision: 5188f55d32a9cd95c3cb668ab2d762ca4e0c8d6b

URL: https://github.com/llvm/llvm-project/commit/5188f55d32a9cd95c3cb668ab2d762ca4e0c8d6b
DIFF: https://github.com/llvm/llvm-project/commit/5188f55d32a9cd95c3cb668ab2d762ca4e0c8d6b.diff

LOG: [ELF] Move ObjFile<ELFT>::{getLocalSymbols,getGlobalSymbols} to non-template ELFFileBase. NFC

Added: 
    

Modified: 
    lld/ELF/InputFiles.cpp
    lld/ELF/InputFiles.h

Removed: 
    


################################################################################
diff  --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp
index b00204183db7d..040f71478547c 100644
--- a/lld/ELF/InputFiles.cpp
+++ b/lld/ELF/InputFiles.cpp
@@ -395,16 +395,6 @@ uint32_t ObjFile<ELFT>::getSectionIndex(const Elf_Sym &sym) const {
       this);
 }
 
-template <class ELFT> ArrayRef<Symbol *> ObjFile<ELFT>::getLocalSymbols() {
-  if (this->symbols.empty())
-    return {};
-  return makeArrayRef(this->symbols).slice(1, this->firstGlobal - 1);
-}
-
-template <class ELFT> ArrayRef<Symbol *> ObjFile<ELFT>::getGlobalSymbols() {
-  return makeArrayRef(this->symbols).slice(this->firstGlobal);
-}
-
 template <class ELFT> void ObjFile<ELFT>::parse(bool ignoreComdats) {
   // Read a section table. justSymbols is usually false.
   if (this->justSymbols)

diff  --git a/lld/ELF/InputFiles.h b/lld/ELF/InputFiles.h
index f3a45385af2e3..5bbfb7656e472 100644
--- a/lld/ELF/InputFiles.h
+++ b/lld/ELF/InputFiles.h
@@ -168,6 +168,15 @@ class ELFFileBase : public InputFile {
 
   StringRef getStringTable() const { return stringTable; }
 
+  ArrayRef<Symbol *> getLocalSymbols() {
+    if (symbols.empty())
+      return {};
+    return llvm::makeArrayRef(symbols).slice(1, firstGlobal - 1);
+  }
+  ArrayRef<Symbol *> getGlobalSymbols() {
+    return llvm::makeArrayRef(symbols).slice(firstGlobal);
+  }
+
   template <typename ELFT> typename ELFT::SymRange getELFSyms() const {
     return typename ELFT::SymRange(
         reinterpret_cast<const typename ELFT::Sym *>(elfSyms), numELFSyms);
@@ -197,9 +206,6 @@ template <class ELFT> class ObjFile : public ELFFileBase {
     return this->ELFFileBase::getObj<ELFT>();
   }
 
-  ArrayRef<Symbol *> getLocalSymbols();
-  ArrayRef<Symbol *> getGlobalSymbols();
-
   ObjFile(MemoryBufferRef m, StringRef archiveName) : ELFFileBase(ObjKind, m) {
     this->archiveName = std::string(archiveName);
   }


        


More information about the llvm-commits mailing list