mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-08 07:34:07 +00:00
Handle cross-compiles with FPU/no-FPU or hard-fp/soft-fp ABI mismatch.
This commit is contained in:
parent
b98c1582c9
commit
e84c2a9e9a
@ -379,9 +379,15 @@ ifneq (,$(findstring LJ_DUALNUM 1,$(TARGET_TESTARCH)))
|
|||||||
endif
|
endif
|
||||||
ifneq (,$(findstring LJ_ARCH_HASFPU 1,$(TARGET_TESTARCH)))
|
ifneq (,$(findstring LJ_ARCH_HASFPU 1,$(TARGET_TESTARCH)))
|
||||||
DASM_AFLAGS+= -D FPU
|
DASM_AFLAGS+= -D FPU
|
||||||
|
TARGET_ARCH+= -DLJ_ARCH_HASFPU=1
|
||||||
|
else
|
||||||
|
TARGET_ARCH+= -DLJ_ARCH_HASFPU=0
|
||||||
endif
|
endif
|
||||||
ifeq (,$(findstring LJ_ABI_SOFTFP 1,$(TARGET_TESTARCH)))
|
ifeq (,$(findstring LJ_ABI_SOFTFP 1,$(TARGET_TESTARCH)))
|
||||||
DASM_AFLAGS+= -D HF
|
DASM_AFLAGS+= -D HFABI
|
||||||
|
TARGET_ARCH+= -DLJ_ABI_SOFTFP=0
|
||||||
|
else
|
||||||
|
TARGET_ARCH+= -DLJ_ABI_SOFTFP=1
|
||||||
endif
|
endif
|
||||||
DASM_AFLAGS+= -D VER=$(subst LJ_ARCH_VERSION_,,$(filter LJ_ARCH_VERSION_%,$(subst LJ_ARCH_VERSION ,LJ_ARCH_VERSION_,$(TARGET_TESTARCH))))
|
DASM_AFLAGS+= -D VER=$(subst LJ_ARCH_VERSION_,,$(filter LJ_ARCH_VERSION_%,$(subst LJ_ARCH_VERSION ,LJ_ARCH_VERSION_,$(TARGET_TESTARCH))))
|
||||||
ifeq (Windows,$(TARGET_SYS))
|
ifeq (Windows,$(TARGET_SYS))
|
||||||
|
@ -121,7 +121,6 @@
|
|||||||
#define LJ_ARCH_NAME "x86"
|
#define LJ_ARCH_NAME "x86"
|
||||||
#define LJ_ARCH_BITS 32
|
#define LJ_ARCH_BITS 32
|
||||||
#define LJ_ARCH_ENDIAN LUAJIT_LE
|
#define LJ_ARCH_ENDIAN LUAJIT_LE
|
||||||
#define LJ_ARCH_HASFPU 1
|
|
||||||
#if LJ_TARGET_WINDOWS || __CYGWIN__
|
#if LJ_TARGET_WINDOWS || __CYGWIN__
|
||||||
#define LJ_ABI_WIN 1
|
#define LJ_ABI_WIN 1
|
||||||
#else
|
#else
|
||||||
@ -139,7 +138,6 @@
|
|||||||
#define LJ_ARCH_NAME "x64"
|
#define LJ_ARCH_NAME "x64"
|
||||||
#define LJ_ARCH_BITS 64
|
#define LJ_ARCH_BITS 64
|
||||||
#define LJ_ARCH_ENDIAN LUAJIT_LE
|
#define LJ_ARCH_ENDIAN LUAJIT_LE
|
||||||
#define LJ_ARCH_HASFPU 1
|
|
||||||
#define LJ_ABI_WIN LJ_TARGET_WINDOWS
|
#define LJ_ABI_WIN LJ_TARGET_WINDOWS
|
||||||
#define LJ_TARGET_X64 1
|
#define LJ_TARGET_X64 1
|
||||||
#define LJ_TARGET_X86ORX64 1
|
#define LJ_TARGET_X86ORX64 1
|
||||||
@ -154,8 +152,12 @@
|
|||||||
#define LJ_ARCH_NAME "arm"
|
#define LJ_ARCH_NAME "arm"
|
||||||
#define LJ_ARCH_BITS 32
|
#define LJ_ARCH_BITS 32
|
||||||
#define LJ_ARCH_ENDIAN LUAJIT_LE
|
#define LJ_ARCH_ENDIAN LUAJIT_LE
|
||||||
|
#ifndef LJ_ARCH_HASFPU
|
||||||
#define LJ_ARCH_HASFPU 0
|
#define LJ_ARCH_HASFPU 0
|
||||||
|
#endif
|
||||||
|
#ifndef LJ_ABI_SOFTFP
|
||||||
#define LJ_ABI_SOFTFP 1
|
#define LJ_ABI_SOFTFP 1
|
||||||
|
#endif
|
||||||
#define LJ_ABI_EABI 1
|
#define LJ_ABI_EABI 1
|
||||||
#define LJ_TARGET_ARM 1
|
#define LJ_TARGET_ARM 1
|
||||||
#define LJ_TARGET_EHRETREG 0
|
#define LJ_TARGET_EHRETREG 0
|
||||||
@ -184,7 +186,6 @@
|
|||||||
#define LJ_ARCH_BITS 32
|
#define LJ_ARCH_BITS 32
|
||||||
#endif
|
#endif
|
||||||
#define LJ_ARCH_ENDIAN LUAJIT_BE
|
#define LJ_ARCH_ENDIAN LUAJIT_BE
|
||||||
#define LJ_ARCH_HASFPU 1
|
|
||||||
#define LJ_TARGET_PPC 1
|
#define LJ_TARGET_PPC 1
|
||||||
#define LJ_TARGET_EHRETREG 3
|
#define LJ_TARGET_EHRETREG 3
|
||||||
#define LJ_TARGET_JUMPRANGE 25 /* +-2^25 = +-32MB */
|
#define LJ_TARGET_JUMPRANGE 25 /* +-2^25 = +-32MB */
|
||||||
@ -228,8 +229,9 @@
|
|||||||
#define LJ_ARCH_NAME "ppcspe"
|
#define LJ_ARCH_NAME "ppcspe"
|
||||||
#define LJ_ARCH_BITS 32
|
#define LJ_ARCH_BITS 32
|
||||||
#define LJ_ARCH_ENDIAN LUAJIT_BE
|
#define LJ_ARCH_ENDIAN LUAJIT_BE
|
||||||
#define LJ_ARCH_HASFPU 1
|
#ifndef LJ_ABI_SOFTFP
|
||||||
#define LJ_ABI_SOFTFP 1
|
#define LJ_ABI_SOFTFP 1
|
||||||
|
#endif
|
||||||
#define LJ_ABI_EABI 1
|
#define LJ_ABI_EABI 1
|
||||||
#define LJ_TARGET_PPCSPE 1
|
#define LJ_TARGET_PPCSPE 1
|
||||||
#define LJ_TARGET_EHRETREG 3
|
#define LJ_TARGET_EHRETREG 3
|
||||||
@ -251,7 +253,6 @@
|
|||||||
#define LJ_ARCH_ENDIAN LUAJIT_BE
|
#define LJ_ARCH_ENDIAN LUAJIT_BE
|
||||||
#endif
|
#endif
|
||||||
#define LJ_ARCH_BITS 32
|
#define LJ_ARCH_BITS 32
|
||||||
#define LJ_ARCH_HASFPU 1
|
|
||||||
#define LJ_TARGET_MIPS 1
|
#define LJ_TARGET_MIPS 1
|
||||||
#define LJ_TARGET_EHRETREG 4
|
#define LJ_TARGET_EHRETREG 4
|
||||||
#define LJ_TARGET_JUMPRANGE 27 /* 2*2^27 = 256MB-aligned region */
|
#define LJ_TARGET_JUMPRANGE 27 /* 2*2^27 = 256MB-aligned region */
|
||||||
@ -358,6 +359,9 @@
|
|||||||
#define LJ_HASFFI 1
|
#define LJ_HASFFI 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef LJ_ARCH_HASFPU
|
||||||
|
#define LJ_ARCH_HASFPU 1
|
||||||
|
#endif
|
||||||
#define LJ_SOFTFP (!LJ_ARCH_HASFPU)
|
#define LJ_SOFTFP (!LJ_ARCH_HASFPU)
|
||||||
|
|
||||||
#if LJ_ARCH_ENDIAN == LUAJIT_BE
|
#if LJ_ARCH_ENDIAN == LUAJIT_BE
|
||||||
|
Loading…
Reference in New Issue
Block a user