diff options
| author | Mike Pall <mike> | 2020-06-15 11:23:04 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2020-06-15 11:23:04 +0200 |
| commit | 34e53736c6ed90dc56357aff22009e88b443ecfd (patch) | |
| tree | 31d888353e00e930fee7269cda18d98a4cd291a9 | |
| parent | d333b1a6febf35f891fcd6e121876c9c3efee1e0 (diff) | |
| download | luajit-34e53736c6ed90dc56357aff22009e88b443ecfd.tar.gz luajit-34e53736c6ed90dc56357aff22009e88b443ecfd.tar.bz2 luajit-34e53736c6ed90dc56357aff22009e88b443ecfd.zip | |
Cleanup some arch defines and fix builds.
| -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 |
