mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-03 14:21:30 +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:
@@ -48,7 +48,7 @@ public:
|
||||
/// assigned by the JIT engine, and optionally recorded by the memory manager
|
||||
/// to access a loaded section.
|
||||
virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment,
|
||||
unsigned SectionID) = 0;
|
||||
unsigned SectionID, bool IsReadOnly) = 0;
|
||||
|
||||
/// getPointerToNamedFunction - This method returns the address of the
|
||||
/// specified function. As such it is only useful for resolving library
|
||||
@@ -59,6 +59,15 @@ public:
|
||||
/// message to stderr and aborts.
|
||||
virtual void *getPointerToNamedFunction(const std::string &Name,
|
||||
bool AbortOnFailure = true) = 0;
|
||||
|
||||
/// applyPermissions - This method is called when object loading is
|
||||
/// complete and section page permissions can be applied. It is up to
|
||||
/// the memory manager implementation to decide whether or not to act
|
||||
/// on this method. The memory manager will typically allocate all
|
||||
/// sections as read-write and then apply specific permissions when
|
||||
/// this method is called. Returns true if an error occurred, false
|
||||
/// otherwise.
|
||||
virtual bool applyPermissions(std::string *ErrMsg = 0) = 0;
|
||||
};
|
||||
|
||||
class RuntimeDyld {
|
||||
|
||||
Reference in New Issue
Block a user