summaryrefslogtreecommitdiff
path: root/tools/llvm-objdump
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2014-03-14 14:22:49 +0000
committerAlexey Samsonov <samsonov@google.com>2014-03-14 14:22:49 +0000
commit6f07b35b8f7cd4e7ad85d25a968db1daa86535ff (patch)
treedd0fd53ea0006b6cc14d241f7236ef28364c57c2 /tools/llvm-objdump
parent0eba2c94fd92952234cb2fabff9b1be868cd7f5b (diff)
downloadllvm-6f07b35b8f7cd4e7ad85d25a968db1daa86535ff.tar.gz
llvm-6f07b35b8f7cd4e7ad85d25a968db1daa86535ff.tar.bz2
llvm-6f07b35b8f7cd4e7ad85d25a968db1daa86535ff.tar.xz
[C++11] Introduce SectionRef::relocations() to use range-based loops
Reviewers: rafael Reviewed By: rafael CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D3077 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203927 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-objdump')
-rw-r--r--tools/llvm-objdump/COFFDump.cpp6
-rw-r--r--tools/llvm-objdump/MachODump.cpp10
-rw-r--r--tools/llvm-objdump/llvm-objdump.cpp31
3 files changed, 21 insertions, 26 deletions
diff --git a/tools/llvm-objdump/COFFDump.cpp b/tools/llvm-objdump/COFFDump.cpp
index 3df443149a..e2d65a4817 100644
--- a/tools/llvm-objdump/COFFDump.cpp
+++ b/tools/llvm-objdump/COFFDump.cpp
@@ -390,10 +390,8 @@ static bool getPDataSection(const COFFObjectFile *Obj,
continue;
const coff_section *Pdata = Obj->getCOFFSection(SI);
- for (relocation_iterator RI = SI->relocation_begin(),
- RE = SI->relocation_end();
- RI != RE; ++RI)
- Rels.push_back(*RI);
+ for (const RelocationRef &Reloc : SI->relocations())
+ Rels.push_back(Reloc);
// Sort relocations by address.
std::sort(Rels.begin(), Rels.end(), RelocAddressLess);
diff --git a/tools/llvm-objdump/MachODump.cpp b/tools/llvm-objdump/MachODump.cpp
index 087fb40628..e5247a64b0 100644
--- a/tools/llvm-objdump/MachODump.cpp
+++ b/tools/llvm-objdump/MachODump.cpp
@@ -325,16 +325,14 @@ static void DisassembleInputMachO2(StringRef Filename,
bool symbolTableWorked = false;
// Parse relocations.
- std::vector<std::pair<uint64_t, SymbolRef> > Relocs;
- for (relocation_iterator RI = Sections[SectIdx].relocation_begin(),
- RE = Sections[SectIdx].relocation_end();
- RI != RE; ++RI) {
+ std::vector<std::pair<uint64_t, SymbolRef>> Relocs;
+ for (const RelocationRef &Reloc : Sections[SectIdx].relocations()) {
uint64_t RelocOffset, SectionAddress;
- RI->getOffset(RelocOffset);
+ Reloc.getOffset(RelocOffset);
Sections[SectIdx].getAddress(SectionAddress);
RelocOffset -= SectionAddress;
- symbol_iterator RelocSym = RI->getSymbol();
+ symbol_iterator RelocSym = Reloc.getSymbol();
Relocs.push_back(std::make_pair(RelocOffset, *RelocSym));
}
diff --git a/tools/llvm-objdump/llvm-objdump.cpp b/tools/llvm-objdump/llvm-objdump.cpp
index 7fa01f7633..9f6ea35eaf 100644
--- a/tools/llvm-objdump/llvm-objdump.cpp
+++ b/tools/llvm-objdump/llvm-objdump.cpp
@@ -435,14 +435,10 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) {
// Make a list of all the relocations for this section.
std::vector<RelocationRef> Rels;
if (InlineRelocs) {
- SmallVectorImpl<SectionRef> *RelocSecs = &SectionRelocMap[Section];
- for (SmallVectorImpl<SectionRef>::iterator RelocSec = RelocSecs->begin(),
- E = RelocSecs->end();
- RelocSec != E; ++RelocSec) {
- for (relocation_iterator RI = RelocSec->relocation_begin(),
- RE = RelocSec->relocation_end();
- RI != RE; ++RI)
- Rels.push_back(*RI);
+ for (const SectionRef &RelocSec : SectionRelocMap[Section]) {
+ for (const RelocationRef &Reloc : RelocSec.relocations()) {
+ Rels.push_back(Reloc);
+ }
}
}
@@ -560,18 +556,21 @@ static void PrintRelocations(const ObjectFile *Obj) {
if (error(Section.getName(secname)))
continue;
outs() << "RELOCATION RECORDS FOR [" << secname << "]:\n";
- for (relocation_iterator ri = Section.relocation_begin(),
- re = Section.relocation_end();
- ri != re; ++ri) {
+ for (const RelocationRef &Reloc : Section.relocations()) {
bool hidden;
uint64_t address;
SmallString<32> relocname;
SmallString<32> valuestr;
- if (error(ri->getHidden(hidden))) continue;
- if (hidden) continue;
- if (error(ri->getTypeName(relocname))) continue;
- if (error(ri->getOffset(address))) continue;
- if (error(ri->getValueString(valuestr))) continue;
+ if (error(Reloc.getHidden(hidden)))
+ continue;
+ if (hidden)
+ continue;
+ if (error(Reloc.getTypeName(relocname)))
+ continue;
+ if (error(Reloc.getOffset(address)))
+ continue;
+ if (error(Reloc.getValueString(valuestr)))
+ continue;
outs() << address << " " << relocname << " " << valuestr << "\n";
}
outs() << "\n";