mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-30 17:25:21 +00:00
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
This commit is contained in:
@@ -231,11 +231,13 @@ public:
|
||||
unsigned SectionID);
|
||||
|
||||
virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment,
|
||||
unsigned SectionID);
|
||||
unsigned SectionID, bool IsReadOnly);
|
||||
|
||||
virtual void *getPointerToNamedFunction(const std::string &Name,
|
||||
bool AbortOnFailure = true);
|
||||
|
||||
virtual bool applyPermissions(std::string *ErrMsg) { return false; }
|
||||
|
||||
// Invalidate instruction cache for code sections. Some platforms with
|
||||
// separate data cache and instruction cache require explicit cache flush,
|
||||
// otherwise JIT code manipulations (like resolved relocations) will get to
|
||||
@@ -301,7 +303,8 @@ public:
|
||||
|
||||
uint8_t *LLIMCJITMemoryManager::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.
|
||||
|
Reference in New Issue
Block a user