diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-08-10 15:12:17 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-08-10 15:12:17 +0000 |
| commit | d8340dae0cd2de03bd4668050e8f6fdea8201091 (patch) | |
| tree | 8b779323c07aeac4e866dbecf51ca2d943f18c50 /lld/ELF/InputFiles.cpp | |
| parent | 1d3c9b54fb7876cba8637b20cbb07ca33a4956c0 (diff) | |
| download | bcm5719-llvm-d8340dae0cd2de03bd4668050e8f6fdea8201091.tar.gz bcm5719-llvm-d8340dae0cd2de03bd4668050e8f6fdea8201091.zip | |
Don't depend on getDotSymtabSec. It is going away.
llvm-svn: 244451
Diffstat (limited to 'lld/ELF/InputFiles.cpp')
| -rw-r--r-- | lld/ELF/InputFiles.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp index a5f84320ca3..ef4333ff9d8 100644 --- a/lld/ELF/InputFiles.cpp +++ b/lld/ELF/InputFiles.cpp @@ -41,6 +41,10 @@ template <class ELFT> void elf2::ObjectFile<ELFT>::initializeChunks() { uint64_t Size = ELFObj->getNumSections(); Chunks.reserve(Size); for (const Elf_Shdr &Sec : ELFObj->sections()) { + if (Sec.sh_type == SHT_SYMTAB) { + Symtab = &Sec; + continue; + } if (Sec.sh_flags & SHF_ALLOC) { auto *C = new (Alloc) SectionChunk<ELFT>(this->getObj(), &Sec); Chunks.push_back(C); @@ -49,7 +53,6 @@ template <class ELFT> void elf2::ObjectFile<ELFT>::initializeChunks() { } template <class ELFT> void elf2::ObjectFile<ELFT>::initializeSymbols() { - const Elf_Shdr *Symtab = ELFObj->getDotSymtabSec(); ErrorOr<StringRef> StringTableOrErr = ELFObj->getStringTableForSymtab(*Symtab); error(StringTableOrErr.getError()); |

