diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-06-03 19:37:34 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-06-03 19:37:34 +0000 |
commit | 15e5c46e49b5ab02fee6d1da53cb9c129cab5165 (patch) | |
tree | 2e37d00f4acd249beffd3e43c6bfc2078d7b3306 /lib/ExecutionEngine/RuntimeDyld | |
parent | d1100b3325a84e28ed4b6fcc89eaeaf5b61b300a (diff) | |
download | external_llvm-15e5c46e49b5ab02fee6d1da53cb9c129cab5165.zip external_llvm-15e5c46e49b5ab02fee6d1da53cb9c129cab5165.tar.gz external_llvm-15e5c46e49b5ab02fee6d1da53cb9c129cab5165.tar.bz2 |
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')
-rw-r--r-- | lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp index c5eed25..ee424db 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(), |