]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Fix DragonFly build (unsupported).
authorMike Pall <mike>
Tue, 7 Oct 2014 14:17:29 +0000 (16:17 +0200)
committerMike Pall <mike>
Tue, 7 Oct 2014 14:17:29 +0000 (16:17 +0200)
Thanks to Robin Hahling, Alex Hornung and Joris Giovannangeli.

src/jit/bcsave.lua
src/lj_alloc.c
src/lj_arch.h
src/lj_gdbjit.c

index f55bda970be6ffb0bb47afe1a83b90c726be26d7..122bb24b200fcbed84bdec70360f267628ddd8cc 100644 (file)
@@ -69,7 +69,7 @@ local map_arch = {
 
 local map_os = {
   linux = true, windows = true, osx = true, freebsd = true, netbsd = true,
-  openbsd = true, solaris = true,
+  openbsd = true, dragonfly = true, solaris = true,
 }
 
 local function checkarg(str, map, err)
index facccee575aa34c13e39def66eecea97fe8b6390..7c7ec678726c11384afee9029010ab7a7f5207e3 100644 (file)
@@ -194,14 +194,14 @@ static LJ_AINLINE void *CALL_MMAP(size_t size)
   return ptr;
 }
 
-#elif LJ_TARGET_OSX || LJ_TARGET_PS4 || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__sun__)
+#elif LJ_TARGET_OSX || LJ_TARGET_PS4 || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__sun__)
 
 /* OSX and FreeBSD mmap() use a naive first-fit linear search.
 ** That's perfect for us. Except that -pagezero_size must be set for OSX,
 ** otherwise the lower 4GB are blocked. And the 32GB RLIMIT_DATA needs
 ** to be reduced to 250MB on FreeBSD.
 */
-#if LJ_TARGET_OSX
+#if LJ_TARGET_OSX || defined(__DragonFly__)
 #define MMAP_REGION_START      ((uintptr_t)0x10000)
 #elif LJ_TARGET_PS4
 #define MMAP_REGION_START      ((uintptr_t)0x4000)
@@ -238,7 +238,7 @@ static LJ_AINLINE void *CALL_MMAP(size_t size)
       return p;
     }
     if (p != CMFAIL) munmap(p, size);
-#ifdef __sun__
+#if defined(__sun__) || defined(__DragonFly__)
     alloc_hint += 0x1000000;  /* Need near-exhaustive linear scan. */
     if (alloc_hint + size < MMAP_REGION_END) continue;
 #endif
index f04da3bf9180ba7c6fbf5c43aaf0b3fd01522338..f1c6e5e0555582649dcd6e8050b60ed29c431ff3 100644 (file)
@@ -67,7 +67,8 @@
 #elif defined(__MACH__) && defined(__APPLE__)
 #define LUAJIT_OS      LUAJIT_OS_OSX
 #elif (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
-       defined(__NetBSD__) || defined(__OpenBSD__)) && !defined(__ORBIS__)
+       defined(__NetBSD__) || defined(__OpenBSD__) || \
+       defined(__DragonFly__)) && !defined(__ORBIS__)
 #define LUAJIT_OS      LUAJIT_OS_BSD
 #elif (defined(__sun__) && defined(__svr4__)) || defined(__CYGWIN__)
 #define LUAJIT_OS      LUAJIT_OS_POSIX
index 5e7fca1c16f0ea9129044fddff0a873156f6b219..d999986ec9f1473d01705f84099460a7301e1516 100644 (file)
@@ -356,6 +356,8 @@ static const ELFheader elfhdr_template = {
   .eosabi = 2,
 #elif defined(__OpenBSD__)
   .eosabi = 12,
+#elif defined(__DragonFly__)
+  .eosabi = 0,
 #elif (defined(__sun__) && defined(__svr4__))
   .eosabi = 6,
 #else