From 1a9344fa2645a23b6825c5ad524f846783b06653 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Fri, 7 Aug 2015 17:16:28 +0000 Subject: [PATCH] Use already available symbol tables. NFC. llvm-svn: 244336 --- lld/ELF/InputFiles.cpp | 2 +- lld/lib/ReaderWriter/ELF/DynamicFile.cpp | 2 +- lld/lib/ReaderWriter/ELF/ELFFile.cpp | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp index 8e7e296..a5f8432 100644 --- a/lld/ELF/InputFiles.cpp +++ b/lld/ELF/InputFiles.cpp @@ -55,7 +55,7 @@ template void elf2::ObjectFile::initializeSymbols() { error(StringTableOrErr.getError()); StringRef StringTable = *StringTableOrErr; - Elf_Sym_Range Syms = ELFObj->symbols(); + Elf_Sym_Range Syms = ELFObj->symbols(Symtab); Syms = Elf_Sym_Range(Syms.begin() + 1, Syms.end()); auto NumSymbols = std::distance(Syms.begin(), Syms.end()); SymbolBodies.reserve(NumSymbols); diff --git a/lld/lib/ReaderWriter/ELF/DynamicFile.cpp b/lld/lib/ReaderWriter/ELF/DynamicFile.cpp index 33044a2..78f0d66 100644 --- a/lld/lib/ReaderWriter/ELF/DynamicFile.cpp +++ b/lld/lib/ReaderWriter/ELF/DynamicFile.cpp @@ -101,7 +101,7 @@ template std::error_code DynamicFile::doParse() { // Create a map from names to dynamic symbol table entries. // TODO: This should use the object file's build in hash table instead if // it exists. - for (auto i = obj.dynamic_symbol_begin(), e = obj.dynamic_symbol_end(); + for (auto i = obj.symbol_begin(dynSymSec), e = obj.symbol_end(dynSymSec); i != e; ++i) { auto name = i->getName(stringTable); if ((ec = name.getError())) diff --git a/lld/lib/ReaderWriter/ELF/ELFFile.cpp b/lld/lib/ReaderWriter/ELF/ELFFile.cpp index 84bdf66..472e70b 100644 --- a/lld/lib/ReaderWriter/ELF/ELFFile.cpp +++ b/lld/lib/ReaderWriter/ELF/ELFFile.cpp @@ -217,7 +217,8 @@ std::error_code ELFFile::createSymbolsFromAtomizableSections() { return ec; StringRef strTable = *strTableOrErr; - auto SymI = _objFile->symbol_begin(), SymE = _objFile->symbol_end(); + auto SymI = _objFile->symbol_begin(symtab), + SymE = _objFile->symbol_end(symtab); // Skip over dummy sym. ++SymI; -- 2.7.4