diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile | 3 | ||||
-rw-r--r-- | src/lj_alloc.c | 2 | ||||
-rw-r--r-- | src/lj_arch.h | 31 | ||||
-rw-r--r-- | src/lj_gdbjit.c | 2 | ||||
-rw-r--r-- | src/ps4build.bat | 4 | ||||
-rw-r--r-- | src/vm_x64.dasc | 2 | ||||
-rw-r--r-- | src/vm_x86.dasc | 2 | ||||
-rw-r--r-- | src/xb1build.bat | 2 |
8 files changed, 31 insertions, 17 deletions
diff --git a/src/Makefile b/src/Makefile index a96c1997..667fff56 100644 --- a/src/Makefile +++ b/src/Makefile | |||
@@ -212,7 +212,7 @@ TARGET_CC= $(STATIC_CC) | |||
212 | TARGET_STCC= $(STATIC_CC) | 212 | TARGET_STCC= $(STATIC_CC) |
213 | TARGET_DYNCC= $(DYNAMIC_CC) | 213 | TARGET_DYNCC= $(DYNAMIC_CC) |
214 | TARGET_LD= $(CROSS)$(CC) | 214 | TARGET_LD= $(CROSS)$(CC) |
215 | TARGET_AR= $(CROSS)ar rcus | 215 | TARGET_AR= $(CROSS)ar rcus 2>/dev/null |
216 | TARGET_STRIP= $(CROSS)strip | 216 | TARGET_STRIP= $(CROSS)strip |
217 | 217 | ||
218 | TARGET_LIBPATH= $(or $(PREFIX),/usr/local)/$(or $(MULTILIB),lib) | 218 | TARGET_LIBPATH= $(or $(PREFIX),/usr/local)/$(or $(MULTILIB),lib) |
@@ -312,7 +312,6 @@ ifeq (Windows,$(TARGET_SYS)) | |||
312 | TARGET_XSHLDFLAGS= -shared -Wl,--out-implib,$(TARGET_DLLDOTANAME) | 312 | TARGET_XSHLDFLAGS= -shared -Wl,--out-implib,$(TARGET_DLLDOTANAME) |
313 | TARGET_DYNXLDOPTS= | 313 | TARGET_DYNXLDOPTS= |
314 | else | 314 | else |
315 | TARGET_AR+= 2>/dev/null | ||
316 | ifeq (,$(shell $(TARGET_CC) -o /dev/null -c -x c /dev/null -fno-stack-protector 2>/dev/null || echo 1)) | 315 | ifeq (,$(shell $(TARGET_CC) -o /dev/null -c -x c /dev/null -fno-stack-protector 2>/dev/null || echo 1)) |
317 | TARGET_XCFLAGS+= -fno-stack-protector | 316 | TARGET_XCFLAGS+= -fno-stack-protector |
318 | endif | 317 | endif |
diff --git a/src/lj_alloc.c b/src/lj_alloc.c index a12ec8b4..70ca1e3b 100644 --- a/src/lj_alloc.c +++ b/src/lj_alloc.c | |||
@@ -302,7 +302,7 @@ static void *mmap_probe(size_t size) | |||
302 | 302 | ||
303 | #if LJ_ALLOC_MMAP32 | 303 | #if LJ_ALLOC_MMAP32 |
304 | 304 | ||
305 | #if defined(__sun__) | 305 | #if LJ_TARGET_SOLARIS |
306 | #define LJ_ALLOC_MMAP32_START ((uintptr_t)0x1000) | 306 | #define LJ_ALLOC_MMAP32_START ((uintptr_t)0x1000) |
307 | #else | 307 | #else |
308 | #define LJ_ALLOC_MMAP32_START ((uintptr_t)0) | 308 | #define LJ_ALLOC_MMAP32_START ((uintptr_t)0) |
diff --git a/src/lj_arch.h b/src/lj_arch.h index d65bc551..3e3581c2 100644 --- a/src/lj_arch.h +++ b/src/lj_arch.h | |||
@@ -8,6 +8,8 @@ | |||
8 | 8 | ||
9 | #include "lua.h" | 9 | #include "lua.h" |
10 | 10 | ||
11 | /* -- Target definitions -------------------------------------------------- */ | ||
12 | |||
11 | /* Target endianess. */ | 13 | /* Target endianess. */ |
12 | #define LUAJIT_LE 0 | 14 | #define LUAJIT_LE 0 |
13 | #define LUAJIT_BE 1 | 15 | #define LUAJIT_BE 1 |
@@ -38,6 +40,14 @@ | |||
38 | #define LUAJIT_OS_BSD 4 | 40 | #define LUAJIT_OS_BSD 4 |
39 | #define LUAJIT_OS_POSIX 5 | 41 | #define LUAJIT_OS_POSIX 5 |
40 | 42 | ||
43 | /* Number mode. */ | ||
44 | #define LJ_NUMMODE_SINGLE 0 /* Single-number mode only. */ | ||
45 | #define LJ_NUMMODE_SINGLE_DUAL 1 /* Default to single-number mode. */ | ||
46 | #define LJ_NUMMODE_DUAL 2 /* Dual-number mode only. */ | ||
47 | #define LJ_NUMMODE_DUAL_SINGLE 3 /* Default to dual-number mode. */ | ||
48 | |||
49 | /* -- Target detection ---------------------------------------------------- */ | ||
50 | |||
41 | /* Select native target if no target defined. */ | 51 | /* Select native target if no target defined. */ |
42 | #ifndef LUAJIT_TARGET | 52 | #ifndef LUAJIT_TARGET |
43 | 53 | ||
@@ -74,7 +84,10 @@ | |||
74 | defined(__NetBSD__) || defined(__OpenBSD__) || \ | 84 | defined(__NetBSD__) || defined(__OpenBSD__) || \ |
75 | defined(__DragonFly__)) && !defined(__ORBIS__) | 85 | defined(__DragonFly__)) && !defined(__ORBIS__) |
76 | #define LUAJIT_OS LUAJIT_OS_BSD | 86 | #define LUAJIT_OS LUAJIT_OS_BSD |
77 | #elif (defined(__sun__) && defined(__svr4__)) || defined(__HAIKU__) | 87 | #elif (defined(__sun__) && defined(__svr4__)) |
88 | #define LJ_TARGET_SOLARIS 1 | ||
89 | #define LUAJIT_OS LUAJIT_OS_POSIX | ||
90 | #elif defined(__HAIKU__) | ||
78 | #define LUAJIT_OS LUAJIT_OS_POSIX | 91 | #define LUAJIT_OS LUAJIT_OS_POSIX |
79 | #elif defined(__CYGWIN__) | 92 | #elif defined(__CYGWIN__) |
80 | #define LJ_TARGET_CYGWIN 1 | 93 | #define LJ_TARGET_CYGWIN 1 |
@@ -103,6 +116,7 @@ | |||
103 | #define LJ_TARGET_WINDOWS (LUAJIT_OS == LUAJIT_OS_WINDOWS) | 116 | #define LJ_TARGET_WINDOWS (LUAJIT_OS == LUAJIT_OS_WINDOWS) |
104 | #define LJ_TARGET_LINUX (LUAJIT_OS == LUAJIT_OS_LINUX) | 117 | #define LJ_TARGET_LINUX (LUAJIT_OS == LUAJIT_OS_LINUX) |
105 | #define LJ_TARGET_OSX (LUAJIT_OS == LUAJIT_OS_OSX) | 118 | #define LJ_TARGET_OSX (LUAJIT_OS == LUAJIT_OS_OSX) |
119 | #define LJ_TARGET_BSD (LUAJIT_OS == LUAJIT_OS_BSD) | ||
106 | #define LJ_TARGET_IOS (LJ_TARGET_OSX && (LUAJIT_TARGET == LUAJIT_ARCH_ARM || LUAJIT_TARGET == LUAJIT_ARCH_ARM64)) | 120 | #define LJ_TARGET_IOS (LJ_TARGET_OSX && (LUAJIT_TARGET == LUAJIT_ARCH_ARM || LUAJIT_TARGET == LUAJIT_ARCH_ARM64)) |
107 | #define LJ_TARGET_POSIX (LUAJIT_OS > LUAJIT_OS_WINDOWS) | 121 | #define LJ_TARGET_POSIX (LUAJIT_OS > LUAJIT_OS_WINDOWS) |
108 | #define LJ_TARGET_DLOPEN LJ_TARGET_POSIX | 122 | #define LJ_TARGET_DLOPEN LJ_TARGET_POSIX |
@@ -142,10 +156,7 @@ | |||
142 | #endif | 156 | #endif |
143 | #endif | 157 | #endif |
144 | 158 | ||
145 | #define LJ_NUMMODE_SINGLE 0 /* Single-number mode only. */ | 159 | /* -- Arch-specific settings ---------------------------------------------- */ |
146 | #define LJ_NUMMODE_SINGLE_DUAL 1 /* Default to single-number mode. */ | ||
147 | #define LJ_NUMMODE_DUAL 2 /* Dual-number mode only. */ | ||
148 | #define LJ_NUMMODE_DUAL_SINGLE 3 /* Default to dual-number mode. */ | ||
149 | 160 | ||
150 | /* Set target architecture properties. */ | 161 | /* Set target architecture properties. */ |
151 | #if LUAJIT_TARGET == LUAJIT_ARCH_X86 | 162 | #if LUAJIT_TARGET == LUAJIT_ARCH_X86 |
@@ -407,9 +418,7 @@ | |||
407 | #error "No target architecture defined" | 418 | #error "No target architecture defined" |
408 | #endif | 419 | #endif |
409 | 420 | ||
410 | #ifndef LJ_PAGESIZE | 421 | /* -- Checks for requirements --------------------------------------------- */ |
411 | #define LJ_PAGESIZE 4096 | ||
412 | #endif | ||
413 | 422 | ||
414 | /* Check for minimum required compiler versions. */ | 423 | /* Check for minimum required compiler versions. */ |
415 | #if defined(__GNUC__) | 424 | #if defined(__GNUC__) |
@@ -485,6 +494,8 @@ | |||
485 | #endif | 494 | #endif |
486 | #endif | 495 | #endif |
487 | 496 | ||
497 | /* -- Derived defines ----------------------------------------------------- */ | ||
498 | |||
488 | /* Enable or disable the dual-number mode for the VM. */ | 499 | /* Enable or disable the dual-number mode for the VM. */ |
489 | #if (LJ_ARCH_NUMMODE == LJ_NUMMODE_SINGLE && LUAJIT_NUMMODE == 2) || \ | 500 | #if (LJ_ARCH_NUMMODE == LJ_NUMMODE_SINGLE && LUAJIT_NUMMODE == 2) || \ |
490 | (LJ_ARCH_NUMMODE == LJ_NUMMODE_DUAL && LUAJIT_NUMMODE == 1) | 501 | (LJ_ARCH_NUMMODE == LJ_NUMMODE_DUAL && LUAJIT_NUMMODE == 1) |
@@ -582,6 +593,10 @@ | |||
582 | #define LJ_TARGET_UNALIGNED 0 | 593 | #define LJ_TARGET_UNALIGNED 0 |
583 | #endif | 594 | #endif |
584 | 595 | ||
596 | #ifndef LJ_PAGESIZE | ||
597 | #define LJ_PAGESIZE 4096 | ||
598 | #endif | ||
599 | |||
585 | /* Various workarounds for embedded operating systems or weak C runtimes. */ | 600 | /* Various workarounds for embedded operating systems or weak C runtimes. */ |
586 | #if defined(__ANDROID__) || defined(__symbian__) || LJ_TARGET_XBOX360 || LJ_TARGET_WINDOWS | 601 | #if defined(__ANDROID__) || defined(__symbian__) || LJ_TARGET_XBOX360 || LJ_TARGET_WINDOWS |
587 | #define LUAJIT_NO_LOG2 | 602 | #define LUAJIT_NO_LOG2 |
diff --git a/src/lj_gdbjit.c b/src/lj_gdbjit.c index 69585e51..5b9fe0ad 100644 --- a/src/lj_gdbjit.c +++ b/src/lj_gdbjit.c | |||
@@ -363,7 +363,7 @@ static const ELFheader elfhdr_template = { | |||
363 | .eosabi = 12, | 363 | .eosabi = 12, |
364 | #elif defined(__DragonFly__) | 364 | #elif defined(__DragonFly__) |
365 | .eosabi = 0, | 365 | .eosabi = 0, |
366 | #elif (defined(__sun__) && defined(__svr4__)) | 366 | #elif LJ_TARGET_SOLARIS |
367 | .eosabi = 6, | 367 | .eosabi = 6, |
368 | #else | 368 | #else |
369 | .eosabi = 0, | 369 | .eosabi = 0, |
diff --git a/src/ps4build.bat b/src/ps4build.bat index e4a7defe..e83c674a 100644 --- a/src/ps4build.bat +++ b/src/ps4build.bat | |||
@@ -27,12 +27,12 @@ | |||
27 | @set DASMDIR=..\dynasm | 27 | @set DASMDIR=..\dynasm |
28 | @set DASM=%DASMDIR%\dynasm.lua | 28 | @set DASM=%DASMDIR%\dynasm.lua |
29 | @set ALL_LIB=lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c | 29 | @set ALL_LIB=lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c |
30 | @set GC64=-DLUAJIT_ENABLE_GC64 | 30 | @set GC64= |
31 | @set DASC=vm_x64.dasc | 31 | @set DASC=vm_x64.dasc |
32 | 32 | ||
33 | @if "%1" neq "gc32" goto :NOGC32 | 33 | @if "%1" neq "gc32" goto :NOGC32 |
34 | @shift | 34 | @shift |
35 | @set GC64= | 35 | @set GC64=-DLUAJIT_DISABLE_GC64 |
36 | @set DASC=vm_x86.dasc | 36 | @set DASC=vm_x86.dasc |
37 | :NOGC32 | 37 | :NOGC32 |
38 | 38 | ||
diff --git a/src/vm_x64.dasc b/src/vm_x64.dasc index c714f4c7..77a579d5 100644 --- a/src/vm_x64.dasc +++ b/src/vm_x64.dasc | |||
@@ -4734,7 +4734,7 @@ static void emit_asm_debug(BuildCtx *ctx) | |||
4734 | ".LEFDE1:\n\n", (int)ctx->codesz - fcofs); | 4734 | ".LEFDE1:\n\n", (int)ctx->codesz - fcofs); |
4735 | #endif | 4735 | #endif |
4736 | #if !LJ_NO_UNWIND | 4736 | #if !LJ_NO_UNWIND |
4737 | #if (defined(__sun__) && defined(__svr4__)) | 4737 | #if LJ_TARGET_SOLARIS |
4738 | fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@unwind\n"); | 4738 | fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@unwind\n"); |
4739 | #else | 4739 | #else |
4740 | fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@progbits\n"); | 4740 | fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@progbits\n"); |
diff --git a/src/vm_x86.dasc b/src/vm_x86.dasc index c3999e7c..57c8e4fc 100644 --- a/src/vm_x86.dasc +++ b/src/vm_x86.dasc | |||
@@ -5548,7 +5548,7 @@ static void emit_asm_debug(BuildCtx *ctx) | |||
5548 | ".LEFDE1:\n\n", (int)ctx->codesz - fcofs); | 5548 | ".LEFDE1:\n\n", (int)ctx->codesz - fcofs); |
5549 | #endif | 5549 | #endif |
5550 | #if !LJ_NO_UNWIND | 5550 | #if !LJ_NO_UNWIND |
5551 | #if (defined(__sun__) && defined(__svr4__)) | 5551 | #if LJ_TARGET_SOLARIS |
5552 | #if LJ_64 | 5552 | #if LJ_64 |
5553 | fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@unwind\n"); | 5553 | fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@unwind\n"); |
5554 | #else | 5554 | #else |
diff --git a/src/xb1build.bat b/src/xb1build.bat index 847e84a5..12c73dd6 100644 --- a/src/xb1build.bat +++ b/src/xb1build.bat | |||
@@ -9,7 +9,7 @@ | |||
9 | 9 | ||
10 | @setlocal | 10 | @setlocal |
11 | @echo ---- Host compiler ---- | 11 | @echo ---- Host compiler ---- |
12 | @set LJCOMPILE=cl /nologo /c /MD /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE /DLUAJIT_ENABLE_GC64 | 12 | @set LJCOMPILE=cl /nologo /c /MD /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE |
13 | @set LJLINK=link /nologo | 13 | @set LJLINK=link /nologo |
14 | @set LJMT=mt /nologo | 14 | @set LJMT=mt /nologo |
15 | @set DASMDIR=..\dynasm | 15 | @set DASMDIR=..\dynasm |