diff options
author | Andrew Kaylor <andrew.kaylor@intel.com> | 2012-11-15 23:50:01 +0000 |
---|---|---|
committer | Andrew Kaylor <andrew.kaylor@intel.com> | 2012-11-15 23:50:01 +0000 |
commit | 53608a34ce3f0969e9fb01eaa983422761011e03 (patch) | |
tree | 4bddaa89d9ef88b9b2d77a2021e5e079969b3cc9 /unittests | |
parent | 085f982462257de466267edf036c75defd80fc41 (diff) | |
download | external_llvm-53608a34ce3f0969e9fb01eaa983422761011e03.zip external_llvm-53608a34ce3f0969e9fb01eaa983422761011e03.tar.gz external_llvm-53608a34ce3f0969e9fb01eaa983422761011e03.tar.bz2 |
Interface changes to allow RuntimeDyld memory managers to set memory permissions after an object has been loaded.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168114 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests')
-rw-r--r-- | unittests/ExecutionEngine/JIT/JITTest.cpp | 5 | ||||
-rw-r--r-- | unittests/ExecutionEngine/MCJIT/SectionMemoryManager.cpp | 3 | ||||
-rw-r--r-- | unittests/ExecutionEngine/MCJIT/SectionMemoryManager.h | 4 |
3 files changed, 8 insertions, 4 deletions
diff --git a/unittests/ExecutionEngine/JIT/JITTest.cpp b/unittests/ExecutionEngine/JIT/JITTest.cpp index 59604df..6e54449 100644 --- a/unittests/ExecutionEngine/JIT/JITTest.cpp +++ b/unittests/ExecutionEngine/JIT/JITTest.cpp @@ -118,13 +118,14 @@ public: Base->endFunctionBody(F, FunctionStart, FunctionEnd); } virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, - unsigned SectionID) { - return Base->allocateDataSection(Size, Alignment, SectionID); + unsigned SectionID, bool IsReadOnly) { + return Base->allocateDataSection(Size, Alignment, SectionID, IsReadOnly); } virtual uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID) { return Base->allocateCodeSection(Size, Alignment, SectionID); } + virtual bool applyPermissions(std::string *ErrMsg) { return false; } virtual uint8_t *allocateSpace(intptr_t Size, unsigned Alignment) { return Base->allocateSpace(Size, Alignment); } diff --git a/unittests/ExecutionEngine/MCJIT/SectionMemoryManager.cpp b/unittests/ExecutionEngine/MCJIT/SectionMemoryManager.cpp index d6baf3c..225106e 100644 --- a/unittests/ExecutionEngine/MCJIT/SectionMemoryManager.cpp +++ b/unittests/ExecutionEngine/MCJIT/SectionMemoryManager.cpp @@ -32,7 +32,8 @@ namespace llvm { uint8_t *SectionMemoryManager::allocateDataSection(uintptr_t Size, unsigned Alignment, - unsigned SectionID) { + unsigned SectionID, + bool IsReadOnly) { if (!Alignment) Alignment = 16; // Ensure that enough memory is requested to allow aligning. diff --git a/unittests/ExecutionEngine/MCJIT/SectionMemoryManager.h b/unittests/ExecutionEngine/MCJIT/SectionMemoryManager.h index e44217c..968ee63 100644 --- a/unittests/ExecutionEngine/MCJIT/SectionMemoryManager.h +++ b/unittests/ExecutionEngine/MCJIT/SectionMemoryManager.h @@ -34,7 +34,9 @@ public: unsigned SectionID); virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, - unsigned SectionID); + unsigned SectionID, bool IsReadOnly); + + virtual bool applyPermissions(std::string *ErrMsg) { return false; } virtual void *getPointerToNamedFunction(const std::string &Name, bool AbortOnFailure = true); |