summaryrefslogtreecommitdiff
path: root/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-06-03 19:37:34 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-06-03 19:37:34 +0000
commit15e5c46e49b5ab02fee6d1da53cb9c129cab5165 (patch)
tree2e37d00f4acd249beffd3e43c6bfc2078d7b3306 /lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
parentd1100b3325a84e28ed4b6fcc89eaeaf5b61b300a (diff)
downloadllvm-15e5c46e49b5ab02fee6d1da53cb9c129cab5165.tar.gz
llvm-15e5c46e49b5ab02fee6d1da53cb9c129cab5165.tar.bz2
llvm-15e5c46e49b5ab02fee6d1da53cb9c129cab5165.tar.xz
Update RuntimeDyldELF::findOPDEntrySection the new relocation iterators.
This was missing from r182908. I didn't noticed it at the time because the MCJIT tests were disabled when building with cmake on ppc64 (which I fixed in r183143). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183147 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp')
-rw-r--r--lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
index c5eed251f9..ee424db6af 100644
--- a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
+++ b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
@@ -529,9 +529,13 @@ void RuntimeDyldELF::findOPDEntrySection(ObjectImage &Obj,
error_code err;
for (section_iterator si = Obj.begin_sections(),
se = Obj.end_sections(); si != se; si.increment(err)) {
- StringRef SectionName;
- check(si->getName(SectionName));
- if (SectionName != ".opd")
+ section_iterator RelSecI = si->getRelocatedSection();
+ if (RelSecI == Obj.end_sections())
+ continue;
+
+ StringRef RelSectionName;
+ check(RelSecI->getName(RelSectionName));
+ if (RelSectionName != ".opd")
continue;
for (relocation_iterator i = si->begin_relocations(),