summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/ARMEHABIPrinter.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-readobj/ARMEHABIPrinter.h')
-rw-r--r--llvm/tools/llvm-readobj/ARMEHABIPrinter.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/tools/llvm-readobj/ARMEHABIPrinter.h b/llvm/tools/llvm-readobj/ARMEHABIPrinter.h
index 85b2f2906ca..39bcdaae651 100644
--- a/llvm/tools/llvm-readobj/ARMEHABIPrinter.h
+++ b/llvm/tools/llvm-readobj/ARMEHABIPrinter.h
@@ -308,10 +308,12 @@ class PrinterContext {
typedef typename object::ELFFile<ET>::Elf_Sym Elf_Sym;
typedef typename object::ELFFile<ET>::Elf_Shdr Elf_Shdr;
typedef typename object::ELFFile<ET>::Elf_Rel Elf_Rel;
+ typedef typename object::ELFFile<ET>::Elf_Word Elf_Word;
StreamWriter &SW;
const object::ELFFile<ET> *ELF;
const Elf_Shdr *Symtab;
+ ArrayRef<Elf_Word> ShndxTable;
static const size_t IndexTableEntrySize;
@@ -385,7 +387,8 @@ PrinterContext<ET>::FindExceptionTable(unsigned IndexSectionIndex,
std::pair<const Elf_Shdr *, const Elf_Sym *> Symbol =
ELF->getRelocationSymbol(&Sec, &RelA);
- ErrorOr<const Elf_Shdr *> Ret = ELF->getSection(Symbol.second);
+ ErrorOr<const Elf_Shdr *> Ret =
+ ELF->getSection(Symbol.second, Symbol.first, ShndxTable);
if (std::error_code EC = Ret.getError())
report_fatal_error(EC.message());
return *Ret;
OpenPOWER on IntegriCloud