diff options
author | Lang Hames <lhames@gmail.com> | 2014-02-18 21:46:39 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2014-02-18 21:46:39 +0000 |
commit | 25818a6e26710e555dd8a32e8a6475ec20b60d65 (patch) | |
tree | 01656441e0e9e46da6f2c2890f72dfe0cfb145e4 /lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp | |
parent | a3de371b531a5667e2db3eb0cb1c8b9fc55941e4 (diff) | |
download | llvm-25818a6e26710e555dd8a32e8a6475ec20b60d65.tar.gz llvm-25818a6e26710e555dd8a32e8a6475ec20b60d65.tar.bz2 llvm-25818a6e26710e555dd8a32e8a6475ec20b60d65.tar.xz |
Consistently check 'IsCode' when allocating sections in RuntimeDyld (via
findOrEmitSection).
Vaidas Gasiunas's patch, r201259, fixed one instance where we were always
allocating sections as text. This patch fixes the remaining buggy call sites.
No test case: This isn't breaking anything that I know of, it's just
inconsistent.
<rdar://problem/15943542>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201605 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp')
-rw-r--r-- | lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp index 52f33ca11c..c3736691c2 100644 --- a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp +++ b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp @@ -709,7 +709,9 @@ void RuntimeDyldELF::findOPDEntrySection(ObjectImage &Obj, section_iterator tsi(Obj.end_sections()); check(TargetSymbol->getSection(tsi)); - Rel.SectionID = findOrEmitSection(Obj, (*tsi), true, LocalSections); + bool IsCode = false; + tsi->isText(IsCode); + Rel.SectionID = findOrEmitSection(Obj, (*tsi), IsCode, LocalSections); Rel.Addend = (intptr_t)Addend; return; } |