This code is a real mess, but at least get the JIT *building* on platforms
authorChris Lattner <sabre@nondot.org>
Thu, 27 May 2004 18:03:56 +0000 (18:03 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 27 May 2004 18:03:56 +0000 (18:03 +0000)
(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

lib/ExecutionEngine/JIT/JITEmitter.cpp

index 4cf4c15d3f9e698fb3aa255117fac7035133ce40..4a69ac7fa81692846e3e481e0cb0e5e393119cce 100644 (file)
@@ -60,6 +60,7 @@ static void *getMemory(unsigned NumBytes) {
   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 @@ static void *getMemory(unsigned NumBytes) {
 #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 @@ static void *getMemory(unsigned NumBytes) {
     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() {