summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/ELFDumper.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-07-20 03:23:55 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-07-20 03:23:55 +0000
commitfb3acd62162b29bb736ddeed4f21e173cbc3b1f3 (patch)
tree61e4337d742d5b5ca45f87c39dfaff483ce8ca50 /llvm/tools/llvm-readobj/ELFDumper.cpp
parent724d4b43f4b5874bfef3ab8cf41cb011755af39d (diff)
downloadbcm5719-llvm-fb3acd62162b29bb736ddeed4f21e173cbc3b1f3.tar.gz
bcm5719-llvm-fb3acd62162b29bb736ddeed4f21e173cbc3b1f3.zip
llvm-readobj: call exit(1) on error.
llvm-readobj exists for testing llvm. We can safely stop the program the first time we know the input in corrupted. This is in preparation for making it handle a few more broken files. llvm-svn: 242656
Diffstat (limited to 'llvm/tools/llvm-readobj/ELFDumper.cpp')
-rw-r--r--llvm/tools/llvm-readobj/ELFDumper.cpp22
1 files changed, 10 insertions, 12 deletions
diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp
index 1cdf5529c08..3deeb8dfe5b 100644
--- a/llvm/tools/llvm-readobj/ELFDumper.cpp
+++ b/llvm/tools/llvm-readobj/ELFDumper.cpp
@@ -164,8 +164,8 @@ getSectionNameIndex(const ELFO &Obj, const typename ELFO::Elf_Sym *Symbol,
if (SectionIndex == SHN_XINDEX)
SectionIndex = Obj.getExtendedSymbolTableIndex(&*Symbol);
ErrorOr<const typename ELFO::Elf_Shdr *> Sec = Obj.getSection(SectionIndex);
- if (!error(Sec.getError()))
- SectionName = errorOrDefault(Obj.getSectionName(*Sec));
+ error(Sec.getError());
+ SectionName = errorOrDefault(Obj.getSectionName(*Sec));
}
}
@@ -752,19 +752,17 @@ void ELFDumper<ELFT>::printRelocation(const Elf_Shdr *Sec,
Obj->getRelocationSymbol(Sec, &Rel);
if (Sym.second && Sym.second->getType() == ELF::STT_SECTION) {
ErrorOr<const Elf_Shdr *> Sec = Obj->getSection(Sym.second);
- if (!error(Sec.getError())) {
- ErrorOr<StringRef> SecName = Obj->getSectionName(*Sec);
- if (SecName)
- TargetName = SecName.get();
- }
+ error(Sec.getError());
+ ErrorOr<StringRef> SecName = Obj->getSectionName(*Sec);
+ if (SecName)
+ TargetName = SecName.get();
} else if (Sym.first) {
const Elf_Shdr *SymTable = Sym.first;
ErrorOr<const Elf_Shdr *> StrTableSec = Obj->getSection(SymTable->sh_link);
- if (!error(StrTableSec.getError())) {
- ErrorOr<StringRef> StrTableOrErr = Obj->getStringTable(*StrTableSec);
- if (!error(StrTableOrErr.getError()))
- TargetName = errorOrDefault(Sym.second->getName(*StrTableOrErr));
- }
+ error(StrTableSec.getError());
+ ErrorOr<StringRef> StrTableOrErr = Obj->getStringTable(*StrTableSec);
+ error(StrTableOrErr.getError());
+ TargetName = errorOrDefault(Sym.second->getName(*StrTableOrErr));
}
if (opts::ExpandRelocs) {
OpenPOWER on IntegriCloud