diff options
author | James Molloy <james.molloy@arm.com> | 2014-04-30 10:15:41 +0000 |
---|---|---|
committer | James Molloy <james.molloy@arm.com> | 2014-04-30 10:15:41 +0000 |
commit | bd2ffa0f6a71d68389cd5a4f9ea26ceaff1df13d (patch) | |
tree | 3fb4fe39a324aa42576896a52b963b8f76e98ffd /llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp | |
parent | 7c39df37b22b1614b6c69f504badd1a38fdff740 (diff) | |
download | bcm5719-llvm-bd2ffa0f6a71d68389cd5a4f9ea26ceaff1df13d.tar.gz bcm5719-llvm-bd2ffa0f6a71d68389cd5a4f9ea26ceaff1df13d.zip |
[ARM64] Try and make the ELF MCJIT *slightly* less broken for ARM64.
A bunch of switch cases were missing, not just for ARM64 but also for
AArch64_BE. I've fixed all those, but there's zero testing as
ExecutionEngine tests are disabled when crosscompiling and I don't
have a native platform available to test on.
llvm-svn: 207626
Diffstat (limited to 'llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp index 12b3e8d75d5..0956761187d 100644 --- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp +++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp @@ -516,7 +516,8 @@ void RuntimeDyldImpl::addRelocationForSymbol(const RelocationEntry &RE, } uint8_t *RuntimeDyldImpl::createStubFunction(uint8_t *Addr) { - if (Arch == Triple::aarch64 || Arch == Triple::aarch64_be) { + if (Arch == Triple::aarch64 || Arch == Triple::aarch64_be || + Arch == Triple::arm64 || Arch == Triple::arm64_be) { // This stub has to be able to access the full address space, // since symbol lookup won't necessarily find a handy, in-range, // PLT stub for functions which could be anywhere. |