This code is a real mess, but at least get the JIT *building* on platforms
(such as plan 9) without mmap. Of course it won't RUN... but that's another
step. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13839 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/ExecutionEngine/JIT/JITEmitter.cpp b/lib/ExecutionEngine/JIT/JITEmitter.cpp
index 4cf4c15..4a69ac7 100644
--- a/lib/ExecutionEngine/JIT/JITEmitter.cpp
+++ b/lib/ExecutionEngine/JIT/JITEmitter.cpp
@@ -60,6 +60,7 @@
static const long pageSize = sysconf(_SC_PAGESIZE);
unsigned NumPages = (NumBytes+pageSize-1)/pageSize;
+/* FIXME: This should use the proper autoconf flags */
#if defined(i386) || defined(__i386__) || defined(__x86__)
/* Linux and *BSD tend to have these flags named differently. */
#if defined(MAP_ANON) && !defined(MAP_ANONYMOUS)
@@ -70,8 +71,10 @@
#else
std::cerr << "This architecture is not supported by the JIT!\n";
abort();
+ return 0;
#endif
+#ifdef HAVE_MMAP
int fd = -1;
#if defined(__linux__)
fd = 0;
@@ -89,6 +92,11 @@
abort();
}
return pa;
+#else
+ std::cerr << "Do not know how to allocate mem for the JIT without mmap!\n";
+ abort();
+ return 0;
+#endif
}
JITMemoryManager::JITMemoryManager() {