summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/ELF/InputFiles.cpp2
-rw-r--r--lld/lib/ReaderWriter/ELF/DynamicFile.cpp2
-rw-r--r--lld/lib/ReaderWriter/ELF/ELFFile.cpp3
3 files changed, 4 insertions, 3 deletions
diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp
index 8e7e2963435..a5f84320ca3 100644
--- a/lld/ELF/InputFiles.cpp
+++ b/lld/ELF/InputFiles.cpp
@@ -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);
diff --git a/lld/lib/ReaderWriter/ELF/DynamicFile.cpp b/lld/lib/ReaderWriter/ELF/DynamicFile.cpp
index 33044a23c29..78f0d66b886 100644
--- a/lld/lib/ReaderWriter/ELF/DynamicFile.cpp
+++ b/lld/lib/ReaderWriter/ELF/DynamicFile.cpp
@@ -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()))
diff --git a/lld/lib/ReaderWriter/ELF/ELFFile.cpp b/lld/lib/ReaderWriter/ELF/ELFFile.cpp
index 84bdf66f773..472e70b7e86 100644
--- a/lld/lib/ReaderWriter/ELF/ELFFile.cpp
+++ b/lld/lib/ReaderWriter/ELF/ELFFile.cpp
@@ -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;
OpenPOWER on IntegriCloud