diff options
| author | Christian Pirker <cpirker@a-bix.com> | 2014-03-28 14:35:30 +0000 |
|---|---|---|
| committer | Christian Pirker <cpirker@a-bix.com> | 2014-03-28 14:35:30 +0000 |
| commit | 2a111609561eacc50ecf8f6cb9212164b5ce2aac (patch) | |
| tree | 28d96eada44426b0323dbf56cdc159e4fbb205f5 /llvm/lib/ExecutionEngine | |
| parent | 6f3408259043edc3e1e8f88a9a593c2469bbe92f (diff) | |
| download | bcm5719-llvm-2a111609561eacc50ecf8f6cb9212164b5ce2aac.tar.gz bcm5719-llvm-2a111609561eacc50ecf8f6cb9212164b5ce2aac.zip | |
Add ARM big endian Target (armeb, thumbeb)
Reviewed at http://llvm-reviews.chandlerc.com/D3095
llvm-svn: 205007
Diffstat (limited to 'llvm/lib/ExecutionEngine')
| -rw-r--r-- | llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp | 2 | ||||
| -rw-r--r-- | llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp index 12cd81931ff..986d3a0a354 100644 --- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp +++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp @@ -508,7 +508,7 @@ uint8_t *RuntimeDyldImpl::createStubFunction(uint8_t *Addr) { *StubAddr = 0xd61f0200; // br ip0 return Addr; - } else if (Arch == Triple::arm) { + } else if (Arch == Triple::arm || Arch == Triple::armeb) { // TODO: There is only ARM far stub now. We should add the Thumb stub, // and stubs for branches Thumb - ARM and ARM - Thumb. uint32_t *StubAddr = (uint32_t *)Addr; diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp index 3b400690eb7..3204b81df2b 100644 --- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp +++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp @@ -848,7 +848,9 @@ void RuntimeDyldELF::resolveRelocation(const SectionEntry &Section, resolveAArch64Relocation(Section, Offset, Value, Type, Addend); break; case Triple::arm: // Fall through. + case Triple::armeb: case Triple::thumb: + case Triple::thumbeb: resolveARMRelocation(Section, Offset, (uint32_t)(Value & 0xffffffffL), Type, (uint32_t)(Addend & 0xffffffffL)); break; |

