rustllvm: Fix RustWrapper.cpp

This commit is contained in:
Patrick Walton 2013-04-01 13:55:49 -07:00
parent f903ae9e72
commit af42d37547

View file

@ -15,6 +15,8 @@
//
//===----------------------------------------------------------------------===
#include "llvm/IR/InlineAsm.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/Linker.h"
#include "llvm/PassManager.h"
#include "llvm/IR/InlineAsm.h"
@ -152,7 +154,9 @@ public:
unsigned SectionID);
virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment,
unsigned SectionID);
unsigned SectionID, bool isReadOnly);
virtual bool applyPermissions(std::string *Str);
virtual void *getPointerToNamedFunction(const std::string &Name,
bool AbortOnFailure = true);
@ -240,8 +244,9 @@ bool RustMCJITMemoryManager::loadCrate(const char* file, std::string* err) {
}
uint8_t *RustMCJITMemoryManager::allocateDataSection(uintptr_t Size,
unsigned Alignment,
unsigned SectionID) {
unsigned Alignment,
unsigned SectionID,
bool isReadOnly) {
if (!Alignment)
Alignment = 16;
uint8_t *Addr = (uint8_t*)calloc((Size + Alignment - 1)/Alignment, Alignment);
@ -249,9 +254,14 @@ uint8_t *RustMCJITMemoryManager::allocateDataSection(uintptr_t Size,
return Addr;
}
bool RustMCJITMemoryManager::applyPermissions(std::string *Str) {
// Empty.
return true;
}
uint8_t *RustMCJITMemoryManager::allocateCodeSection(uintptr_t Size,
unsigned Alignment,
unsigned SectionID) {
unsigned Alignment,
unsigned SectionID) {
if (!Alignment)
Alignment = 16;
unsigned NeedAllocate = Alignment * ((Size + Alignment - 1)/Alignment + 1);
@ -485,13 +495,12 @@ LLVMRustWriteOutputFile(LLVMPassManagerRef PMR,
}
extern "C" LLVMModuleRef LLVMRustParseAssemblyFile(const char *Filename) {
SMDiagnostic d;
Module *m = ParseAssemblyFile(Filename, d, getGlobalContext());
if (m) {
return wrap(m);
} else {
LLVMRustError = d.getMessage().data();
LLVMRustError = d.getMessage().str().c_str();
return NULL;
}
}