Use already available symbol tables. NFC.

llvm-svn: 244336
This commit is contained in:
Rafael Espindola 2015-08-07 17:16:28 +00:00
parent 7d6112b76f
commit 1a9344fa26
3 changed files with 4 additions and 3 deletions

View File

@ -55,7 +55,7 @@ template <class ELFT> void elf2::ObjectFile<ELFT>::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);

View File

@ -101,7 +101,7 @@ template <class ELFT> std::error_code DynamicFile<ELFT>::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()))

View File

@ -217,7 +217,8 @@ std::error_code ELFFile<ELFT>::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;