diff options
author | Lang Hames <lhames@gmail.com> | 2017-08-09 20:19:27 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2017-08-09 20:19:27 +0000 |
commit | 14a22a442d8aa6bee8c828872b82b7dd722dc7b8 (patch) | |
tree | df3669f3e144a69fb5766c7eac17dfe07e8a2c0f /llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp | |
parent | 7d928cc596bdfe3c0f8b60e9a5c605d1b0f4cec2 (diff) | |
download | bcm5719-llvm-14a22a442d8aa6bee8c828872b82b7dd722dc7b8.tar.gz bcm5719-llvm-14a22a442d8aa6bee8c828872b82b7dd722dc7b8.zip |
[RuntimeDyld][ORC] Add support for Thumb mode to RuntimeDyldMachOARM.
This patch adds support for thumb relocations to RuntimeDyldMachOARM, and adds
a target-specific flags field to JITSymbolFlags (so that on ARM we can record
whether each symbol is Thumb-mode code).
RuntimeDyldImpl::emitSection is modified to ensure that stubs memory is
correctly aligned based on the size returned by getStubAlignment().
llvm-svn: 310517
Diffstat (limited to 'llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp index 8769dcf7374..87059ef2b88 100644 --- a/llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp +++ b/llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp @@ -39,3 +39,11 @@ llvm::JITSymbolFlags::fromObjectSymbol(const object::BasicSymbolRef &Symbol) { Flags |= JITSymbolFlags::Exported; return Flags; } + +ARMJITSymbolFlags llvm::ARMJITSymbolFlags::fromObjectSymbol( + const object::BasicSymbolRef &Symbol) { + ARMJITSymbolFlags Flags; + if (Symbol.getFlags() & object::BasicSymbolRef::SF_Thumb) + Flags |= ARMJITSymbolFlags::Thumb; + return Flags; +} |