summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/tools/llvm-readobj/ELFDumper.cpp16
-rw-r--r--llvm/tools/obj2yaml/elf2yaml.cpp13
2 files changed, 15 insertions, 14 deletions
diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp
index 05c5ab34991..eb02371d284 100644
--- a/llvm/tools/llvm-readobj/ELFDumper.cpp
+++ b/llvm/tools/llvm-readobj/ELFDumper.cpp
@@ -2082,19 +2082,19 @@ template <class ELFT> void MipsGOTParser<ELFT>::parsePLT() {
switch (PLTRelShdr->sh_type) {
case ELF::SHT_REL:
- for (const Elf_Rel *RI = Obj->rel_begin(PLTRelShdr),
- *RE = Obj->rel_end(PLTRelShdr);
- RI != RE && It != PLTEnd; ++RI, ++It) {
- const Elf_Sym *Sym = Obj->getRelocationSymbol(&*RI, SymTable);
+ for (const Elf_Rel &Rel : Obj->rels(PLTRelShdr)) {
+ const Elf_Sym *Sym = Obj->getRelocationSymbol(&Rel, SymTable);
printPLTEntry(PLTShdr->sh_addr, PLTBegin, It, StrTable, Sym);
+ if (++It == PLTEnd)
+ break;
}
break;
case ELF::SHT_RELA:
- for (const Elf_Rela *RI = Obj->rela_begin(PLTRelShdr),
- *RE = Obj->rela_end(PLTRelShdr);
- RI != RE && It != PLTEnd; ++RI, ++It) {
- const Elf_Sym *Sym = Obj->getRelocationSymbol(&*RI, SymTable);
+ for (const Elf_Rela &Rel : Obj->relas(PLTRelShdr)) {
+ const Elf_Sym *Sym = Obj->getRelocationSymbol(&Rel, SymTable);
printPLTEntry(PLTShdr->sh_addr, PLTBegin, It, StrTable, Sym);
+ if (++It == PLTEnd)
+ break;
}
break;
}
diff --git a/llvm/tools/obj2yaml/elf2yaml.cpp b/llvm/tools/obj2yaml/elf2yaml.cpp
index 782832d5457..a079dc21a7f 100644
--- a/llvm/tools/obj2yaml/elf2yaml.cpp
+++ b/llvm/tools/obj2yaml/elf2yaml.cpp
@@ -24,6 +24,8 @@ class ELFDumper {
typedef object::Elf_Sym_Impl<ELFT> Elf_Sym;
typedef typename object::ELFFile<ELFT>::Elf_Shdr Elf_Shdr;
typedef typename object::ELFFile<ELFT>::Elf_Word Elf_Word;
+ typedef typename object::ELFFile<ELFT>::Elf_Rel Elf_Rel;
+ typedef typename object::ELFFile<ELFT>::Elf_Rela Elf_Rela;
const object::ELFFile<ELFT> &Obj;
ArrayRef<Elf_Word> ShndxTable;
@@ -284,9 +286,9 @@ ELFDumper<ELFT>::dumpRelSection(const Elf_Shdr *Shdr) {
return EC;
const Elf_Shdr *SymTab = *SymTabOrErr;
- for (auto RI = Obj.rel_begin(Shdr), RE = Obj.rel_end(Shdr); RI != RE; ++RI) {
+ for (const Elf_Rel &Rel : Obj.rels(Shdr)) {
ELFYAML::Relocation R;
- if (std::error_code EC = dumpRelocation(&*RI, SymTab, R))
+ if (std::error_code EC = dumpRelocation(&Rel, SymTab, R))
return EC;
S->Relocations.push_back(R);
}
@@ -308,12 +310,11 @@ ELFDumper<ELFT>::dumpRelaSection(const Elf_Shdr *Shdr) {
return EC;
const Elf_Shdr *SymTab = *SymTabOrErr;
- for (auto RI = Obj.rela_begin(Shdr), RE = Obj.rela_end(Shdr); RI != RE;
- ++RI) {
+ for (const Elf_Rela &Rel : Obj.relas(Shdr)) {
ELFYAML::Relocation R;
- if (std::error_code EC = dumpRelocation(&*RI, SymTab, R))
+ if (std::error_code EC = dumpRelocation(&Rel, SymTab, R))
return EC;
- R.Addend = RI->r_addend;
+ R.Addend = Rel.r_addend;
S->Relocations.push_back(R);
}
OpenPOWER on IntegriCloud