summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2016-11-03 19:07:15 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2016-11-03 19:07:15 +0000
commita625bffced27a7cb7e8bcf9d02e1c7494589ee7c (patch)
tree83447583028be8e5d60f2f59a91e028dc66122f8 /tools
parent1787ec76dd36ee278b2014af806a46513c047d4a (diff)
Remove the last use of report_fatal_error from ELF.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285955 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/llvm-readobj/ARMEHABIPrinter.h2
-rw-r--r--tools/llvm-readobj/ELFDumper.cpp12
-rw-r--r--tools/obj2yaml/elf2yaml.cpp10
3 files changed, 15 insertions, 9 deletions
diff --git a/tools/llvm-readobj/ARMEHABIPrinter.h b/tools/llvm-readobj/ARMEHABIPrinter.h
index 2e10d8a917f..78060e3abcd 100644
--- a/tools/llvm-readobj/ARMEHABIPrinter.h
+++ b/tools/llvm-readobj/ARMEHABIPrinter.h
@@ -387,7 +387,7 @@ PrinterContext<ET>::FindExceptionTable(unsigned IndexSectionIndex,
error(SymTabOrErr.getError());
const Elf_Shdr *SymTab = *SymTabOrErr;
- for (const Elf_Rel &R : ELF->rels(&Sec)) {
+ for (const Elf_Rel &R : unwrapOrError(ELF->rels(&Sec))) {
if (R.r_offset != static_cast<unsigned>(IndexTableOffset))
continue;
diff --git a/tools/llvm-readobj/ELFDumper.cpp b/tools/llvm-readobj/ELFDumper.cpp
index bde7a6ebbea..0fdf3919470 100644
--- a/tools/llvm-readobj/ELFDumper.cpp
+++ b/tools/llvm-readobj/ELFDumper.cpp
@@ -2067,7 +2067,7 @@ template <class ELFT> void MipsGOTParser<ELFT>::parsePLT() {
switch (PLTRelShdr->sh_type) {
case ELF::SHT_REL:
- for (const Elf_Rel &Rel : Obj->rels(PLTRelShdr)) {
+ for (const Elf_Rel &Rel : unwrapOrError(Obj->rels(PLTRelShdr))) {
const Elf_Sym *Sym =
unwrapOrError(Obj->getRelocationSymbol(&Rel, SymTable));
printPLTEntry(PLTShdr->sh_addr, PLTBegin, It, StrTable, Sym);
@@ -2076,7 +2076,7 @@ template <class ELFT> void MipsGOTParser<ELFT>::parsePLT() {
}
break;
case ELF::SHT_RELA:
- for (const Elf_Rela &Rel : Obj->relas(PLTRelShdr)) {
+ for (const Elf_Rela &Rel : unwrapOrError(Obj->relas(PLTRelShdr))) {
const Elf_Sym *Sym =
unwrapOrError(Obj->getRelocationSymbol(&Rel, SymTable));
printPLTEntry(PLTShdr->sh_addr, PLTBegin, It, StrTable, Sym);
@@ -2531,7 +2531,7 @@ template <class ELFT> void GNUStyle<ELFT>::printRelocations(const ELFO *Obj) {
printRelocHeader(OS, ELFT::Is64Bits, (Sec.sh_type == ELF::SHT_RELA));
const Elf_Shdr *SymTab = unwrapOrError(Obj->getSection(Sec.sh_link));
if (Sec.sh_type == ELF::SHT_REL) {
- for (const auto &R : Obj->rels(&Sec)) {
+ for (const auto &R : unwrapOrError(Obj->rels(&Sec))) {
Elf_Rela Rela;
Rela.r_offset = R.r_offset;
Rela.r_info = R.r_info;
@@ -2539,7 +2539,7 @@ template <class ELFT> void GNUStyle<ELFT>::printRelocations(const ELFO *Obj) {
printRelocation(Obj, SymTab, Rela, false);
}
} else {
- for (const auto &R : Obj->relas(&Sec))
+ for (const auto &R : unwrapOrError(Obj->relas(&Sec)))
printRelocation(Obj, SymTab, R, true);
}
}
@@ -3388,7 +3388,7 @@ void LLVMStyle<ELFT>::printRelocations(const Elf_Shdr *Sec, const ELFO *Obj) {
switch (Sec->sh_type) {
case ELF::SHT_REL:
- for (const Elf_Rel &R : Obj->rels(Sec)) {
+ for (const Elf_Rel &R : unwrapOrError(Obj->rels(Sec))) {
Elf_Rela Rela;
Rela.r_offset = R.r_offset;
Rela.r_info = R.r_info;
@@ -3397,7 +3397,7 @@ void LLVMStyle<ELFT>::printRelocations(const Elf_Shdr *Sec, const ELFO *Obj) {
}
break;
case ELF::SHT_RELA:
- for (const Elf_Rela &R : Obj->relas(Sec))
+ for (const Elf_Rela &R : unwrapOrError(Obj->relas(Sec)))
printRelocation(Obj, R, SymTab);
break;
}
diff --git a/tools/obj2yaml/elf2yaml.cpp b/tools/obj2yaml/elf2yaml.cpp
index dbb8c7d436b..ffcb2d0ece4 100644
--- a/tools/obj2yaml/elf2yaml.cpp
+++ b/tools/obj2yaml/elf2yaml.cpp
@@ -295,7 +295,10 @@ ELFDumper<ELFT>::dumpRelSection(const Elf_Shdr *Shdr) {
return EC;
const Elf_Shdr *SymTab = *SymTabOrErr;
- for (const Elf_Rel &Rel : Obj.rels(Shdr)) {
+ auto Rels = Obj.rels(Shdr);
+ if (std::error_code EC = Rels.getError())
+ return EC;
+ for (const Elf_Rel &Rel : *Rels) {
ELFYAML::Relocation R;
if (std::error_code EC = dumpRelocation(&Rel, SymTab, R))
return EC;
@@ -319,7 +322,10 @@ ELFDumper<ELFT>::dumpRelaSection(const Elf_Shdr *Shdr) {
return EC;
const Elf_Shdr *SymTab = *SymTabOrErr;
- for (const Elf_Rela &Rel : Obj.relas(Shdr)) {
+ auto Rels = Obj.relas(Shdr);
+ if (std::error_code EC = Rels.getError())
+ return EC;
+ for (const Elf_Rela &Rel : *Rels) {
ELFYAML::Relocation R;
if (std::error_code EC = dumpRelocation(&Rel, SymTab, R))
return EC;