Update for llvm api change.
authorRafael Espindola <rafael.espindola@gmail.com>
Mon, 29 Jun 2015 14:39:30 +0000 (14:39 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Mon, 29 Jun 2015 14:39:30 +0000 (14:39 +0000)
llvm-svn: 240951

lld/lib/ReaderWriter/ELF/ELFFile.cpp

index c3ef50b..72ff9df 100644 (file)
@@ -486,7 +486,11 @@ std::error_code ELFFile<ELFT>::handleSectionGroup(
   }
   const Elf_Sym *symbol = _objFile->getSymbol(section->sh_info);
   const Elf_Shdr *symtab = _objFile->getSection(section->sh_link);
-  const Elf_Shdr *strtab = _objFile->getSection(symtab->sh_link);
+  const Elf_Shdr *strtab_sec = _objFile->getSection(symtab->sh_link);
+  ErrorOr<StringRef> strtab_or_err = _objFile->getStringTable(strtab_sec);
+  if (std::error_code ec = strtab_or_err.getError())
+    return ec;
+  StringRef strtab = *strtab_or_err;
   ErrorOr<StringRef> symbolName = _objFile->getSymbolName(strtab, symbol);
   if (std::error_code ec = symbolName.getError())
     return ec;