summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2017-08-09 20:19:27 +0000
committerLang Hames <lhames@gmail.com>2017-08-09 20:19:27 +0000
commit14a22a442d8aa6bee8c828872b82b7dd722dc7b8 (patch)
treedf3669f3e144a69fb5766c7eac17dfe07e8a2c0f /llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp
parent7d928cc596bdfe3c0f8b60e9a5c605d1b0f4cec2 (diff)
downloadbcm5719-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.cpp8
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;
+}
OpenPOWER on IntegriCloud