Interface changes to allow RuntimeDyld memory managers to set memory permissions...
[oota-llvm.git] / tools / lli / lli.cpp
index d41a595de857132b06781d7a084e87dfb5192348..fa4669dec63ed269249d8070e04f5480ff248c02 100644 (file)
@@ -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.