diff --git a/0003-Get-rid-of-LUAJIT_VERSION_SYM-that-changes-ABI-on-ev.patch b/0003-Get-rid-of-LUAJIT_VERSION_SYM-that-changes-ABI-on-ev.patch index 1a293a7..c9a3d1d 100644 --- a/0003-Get-rid-of-LUAJIT_VERSION_SYM-that-changes-ABI-on-ev.patch +++ b/0003-Get-rid-of-LUAJIT_VERSION_SYM-that-changes-ABI-on-ev.patch @@ -34,11 +34,12 @@ Subject: Get rid of LUAJIT_VERSION_SYM that changes ABI on every patch release if (argn < 0) { /* Invalid args? */ --- a/src/luajit_rolling.h +++ b/src/luajit_rolling.h -@@ -73,7 +73,4 @@ LUA_API void luaJIT_profile_stop(lua_Sta +@@ -73,8 +73,5 @@ LUA_API void luaJIT_profile_stop(lua_Sta LUA_API const char *luaJIT_profile_dumpstack(lua_State *L, const char *fmt, int depth, size_t *len); -/* Enforce (dynamic) linker error for version mismatches. Call from main. */ -LUA_API void LUAJIT_VERSION_SYM(void); - + #error "DO NOT USE luajit_rolling.h -- only include build-generated luajit.h" #endif diff --git a/LuaJIT-5.1.2.1.0+git.1731601260.fe71d0f.obscpio b/LuaJIT-5.1.2.1.0+git.1731601260.fe71d0f.obscpio new file mode 100644 index 0000000..779990e --- /dev/null +++ b/LuaJIT-5.1.2.1.0+git.1731601260.fe71d0f.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:159ac574d7bac1273cde9cfbe0a970fffa353c480dce3fa50ca37ab899dc80f6 +size 4384780 diff --git a/LuaJIT.obsinfo b/LuaJIT.obsinfo new file mode 100644 index 0000000..c353963 --- /dev/null +++ b/LuaJIT.obsinfo @@ -0,0 +1,4 @@ +name: LuaJIT +version: 5.1.2.1.0+git.1731601260.fe71d0f +mtime: 1731601260 +commit: fe71d0fb54ceadfb5b5f3b6baf29e486d97f6059 diff --git a/_service b/_service index 8fd6083..e8fc76b 100644 --- a/_service +++ b/_service @@ -1,5 +1,5 @@ - + git https://github.com/LuaJIT/LuaJIT.git 5.1.2.1.0+git @@ -8,7 +8,9 @@ enable mcepl@cepl.eu - + + + *.tar xz diff --git a/_servicedata b/_servicedata index afeb3da..147939a 100644 --- a/_servicedata +++ b/_servicedata @@ -1,4 +1,4 @@ https://github.com/LuaJIT/LuaJIT.git - 41fb94defa8f830ce69a8122b03f6ac3216d392a \ No newline at end of file + fe71d0fb54ceadfb5b5f3b6baf29e486d97f6059 diff --git a/luajit-5.1.2.1.0+git.1693350652.41fb94d.tar.xz b/luajit-5.1.2.1.0+git.1693350652.41fb94d.tar.xz deleted file mode 100644 index dc16237..0000000 --- a/luajit-5.1.2.1.0+git.1693350652.41fb94d.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:873323dc4093a4a988e71e1ac5b13eeb5910cdda6c57987739addef2dded4c88 -size 731108 diff --git a/luajit-lua-versioned.patch b/luajit-lua-versioned.patch index f314176..c642ed0 100644 --- a/luajit-lua-versioned.patch +++ b/luajit-lua-versioned.patch @@ -23,7 +23,7 @@ VERSION= $(MMVERSION).$(RELVER) ############################################################################## -@@ -51,7 +52,7 @@ INSTALL_MAN= $(INSTALL_SHARE)/man/man1 +@@ -52,7 +53,7 @@ INSTALL_MAN= $(INSTALL_SHARE)/man/man1 INSTALL_PKGCONFIG= $(INSTALL_LIB)/pkgconfig INSTALL_TNAME= luajit-$(VERSION) @@ -32,7 +32,7 @@ INSTALL_ANAME= libluajit-$(ABIVER).a INSTALL_SOSHORT1= libluajit-$(ABIVER).so INSTALL_SOSHORT2= libluajit-$(ABIVER).so.$(MAJVER) -@@ -89,7 +90,7 @@ ifneq ($(INSTALL_DEFINC),$(INSTALL_INC)) +@@ -90,7 +91,7 @@ ifneq ($(INSTALL_DEFINC),$(INSTALL_INC)) SED_PC+= -e "s|^includedir=.*|includedir=$(INSTALL_INC)|" endif @@ -41,7 +41,7 @@ FILE_A= libluajit.a FILE_SO= libluajit.so FILE_MAN= luajit.1 -@@ -136,7 +137,7 @@ install: $(INSTALL_DEP) +@@ -138,7 +139,7 @@ install: $(INSTALL_DEP) ( $(LDCONFIG) $(INSTALL_LIB) || : ) && \ $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \ $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || : @@ -71,7 +71,7 @@ ############################################################################## ############################# COMPILER OPTIONS ############################# -@@ -520,7 +521,7 @@ LIB_VMDEFP= $(LIB_VMDEF) +@@ -527,7 +528,7 @@ LIB_VMDEFP= $(LIB_VMDEF) LUAJIT_O= luajit.o LUAJIT_A= libluajit.a LUAJIT_SO= libluajit.so @@ -82,12 +82,12 @@ ALL_HDRGEN= lj_bcdef.h lj_ffdef.h lj_libdef.h lj_recdef.h lj_folddef.h \ --- a/src/luaconf.h +++ b/src/luaconf.h -@@ -37,7 +37,7 @@ +@@ -51,7 +51,7 @@ #endif - #define LUA_LROOT "/usr/local" - #define LUA_LUADIR "/lua/5.1/" --#define LUA_LJDIR "/luajit-2.1/" -+#define LUA_LJDIR "/luajit-5_1-2.1/" - #ifdef LUA_ROOT - #define LUA_JROOT LUA_ROOT + #ifndef LUA_LJDIR +-#define LUA_LJDIR LUA_JROOT "/share/luajit-2.1" ++#define LUA_LJDIR "/luajit-5_1-2.1/" + #endif + + #define LUA_JPATH ";" LUA_LJDIR "/?.lua" diff --git a/luajit-s390x.patch b/luajit-s390x.patch index 606c126..aa30d1f 100644 --- a/luajit-s390x.patch +++ b/luajit-s390x.patch @@ -1,7 +1,7 @@ -From ad1d41ea8bd3454c066172c99e94cc6848e470ce Mon Sep 17 00:00:00 2001 +From dee73f516f0da49e930dcfa1dd61720dcb69b7dd Mon Sep 17 00:00:00 2001 From: Ilya Leoshkevich -Date: Fri, 11 Aug 2023 13:51:19 +0200 -Subject: [PATCH] Add s390x architecture support +Date: Thu, 31 Aug 2023 11:18:32 +0200 +Subject: [PATCH 1/2] Add s390x architecture support to DynASM s390x (IBM Z) is an architecture of server computers produced by IBM. It is supported by a number of open source code generators, such as @@ -11,12 +11,12 @@ missing pieces in the ecosystem support is LuaJIT. The s390x support for LuaJIT was initially developed by @ketank-new, @mundaym and @niravthakkar. It found its way into moonjit and luajit2 forks, as well as Fedora distro (as a patch). There were also smaller -contributions by @preetikhorjuvenkar, @Bisht13, @velemas and @iii-i. +contributions by @preetikhorjuvenkar, @Bisht13, @velemas, +@AlekseiNikiforovIBM, and @iii-i. -This is a cumulative patch of the work mentioned above. It contains -all the contributions squashed together, plus minor stylistic -cleanups. It passes all the tests from LuaJIT-test-cleanup, except -for contents.lua, which fails on x86_64 as well. +This is a cumulative patch of the DynASM changes from this work. It +contains all the contributions squashed together, plus minor stylistic +cleanups. Signed-off-by: Ilya Leoshkevich --- @@ -25,24 +25,22 @@ Signed-off-by: Ilya Leoshkevich src/Makefile | 4 src/host/buildvm.c | 2 src/host/buildvm_asm.c | 53 + src/jit/bcsave.lua | 1 src/jit/dis_s390x.lua | 1 src/lib_jit.c | 2 src/lj_arch.h | 19 src/lj_asm.c | 2 - src/lj_ccall.c | 47 + src/lj_ccall.c | 50 src/lj_ccall.h | 15 src/lj_ccallback.c | 9 src/lj_err.c | 3 src/lj_frame.h | 14 src/lj_target.h | 2 src/lj_target_s390x.h | 80 - src/vm_s390x.dasc | 4261 +++++++++++++++++++++++++++++++++++++++++++++++++ - 17 files changed, 6693 insertions(+), 1 deletion(-) + src/vm_s390x.dasc | 4269 +++++++++++++++++++++++++++++++++++++++++++++++++ + 18 files changed, 6706 insertions(+) create mode 100644 dynasm/dasm_s390x.h create mode 100644 dynasm/dasm_s390x.lua - create mode 100644 src/jit/dis_s390x.lua - create mode 100644 src/lj_target_s390x.h - create mode 100644 src/vm_s390x.dasc --- /dev/null +++ b/dynasm/dasm_s390x.h @@ -2337,13 +2335,23 @@ Signed-off-by: Ilya Leoshkevich #else emit_asm_words(ctx, ctx->code+ofs, next-ofs); #endif +--- a/src/jit/bcsave.lua ++++ b/src/jit/bcsave.lua +@@ -101,6 +101,7 @@ local map_arch = { + mips64el = { e = "le", b = 64, m = 8, f = 0x80000007, }, + mips64r6 = { e = "be", b = 64, m = 8, f = 0xa0000407, }, + mips64r6el = { e = "le", b = 64, m = 8, f = 0xa0000407, }, ++ s390x = { e = "be", b = 64, m = 22, }, + } + + local map_os = { --- /dev/null +++ b/src/jit/dis_s390x.lua @@ -0,0 +1 @@ +-- Not yet implemented. --- a/src/lib_jit.c +++ b/src/lib_jit.c -@@ -720,6 +720,8 @@ static uint32_t jit_cpudetect(void) +@@ -702,6 +702,8 @@ static uint32_t jit_cpudetect(void) } #endif @@ -2365,14 +2373,14 @@ Signed-off-by: Ilya Leoshkevich #define LUAJIT_OS_OTHER 0 @@ -59,6 +61,8 @@ #define LUAJIT_TARGET LUAJIT_ARCH_ARM - #elif defined(__aarch64__) + #elif defined(__aarch64__) || defined(_M_ARM64) #define LUAJIT_TARGET LUAJIT_ARCH_ARM64 +#elif defined(__s390x__) || defined(__s390x) +#define LUAJIT_TARGET LUAJIT_ARCH_S390X #elif defined(__ppc__) || defined(__ppc) || defined(__PPC__) || defined(__PPC) || defined(__powerpc__) || defined(__powerpc) || defined(__POWERPC__) || defined(__POWERPC) || defined(_M_PPC) #define LUAJIT_TARGET LUAJIT_ARCH_PPC #elif defined(__mips64__) || defined(__mips64) || defined(__MIPS64__) || defined(__MIPS64) -@@ -438,6 +442,21 @@ +@@ -439,6 +443,21 @@ #define LJ_ARCH_VERSION 10 #endif @@ -2396,7 +2404,7 @@ Signed-off-by: Ilya Leoshkevich #endif --- a/src/lj_asm.c +++ b/src/lj_asm.c -@@ -1704,6 +1704,8 @@ static void asm_loop(ASMState *as) +@@ -1708,6 +1708,8 @@ static void asm_loop(ASMState *as) #include "lj_asm_ppc.h" #elif LJ_TARGET_MIPS #include "lj_asm_mips.h" @@ -2448,24 +2456,27 @@ Signed-off-by: Ilya Leoshkevich #else #error "Missing calling convention definitions for this architecture" #endif -@@ -990,7 +1024,7 @@ static int ccall_set_args(lua_State *L, - CTypeID did; +@@ -999,6 +1033,9 @@ static int ccall_set_args(lua_State *L, CType *d; CTSize sz; -- MSize n, isfp = 0, isva = 0; -+ MSize n, isfp = 0, isva = 0, onstack = 0; + MSize n, isfp = 0, isva = 0; ++#if LJ_TARGET_S390X ++ MSize onstack = 0; ++#endif void *dp, *rp = NULL; if (fid) { /* Get argument type from field. */ -@@ -1029,6 +1063,7 @@ static int ccall_set_args(lua_State *L, +@@ -1037,6 +1074,9 @@ static int ccall_set_args(lua_State *L, CCALL_HANDLE_REGARG /* Handle register arguments. */ /* Otherwise pass argument on stack. */ ++#if LJ_TARGET_S390X + onstack = 1; ++#endif if (CCALL_ALIGN_STACKARG) { /* Align argument on stack. */ MSize align = (1u << ctype_align(d->info)) - 1; if (rp || (CCALL_PACK_STACKARG && isva && align < CTSIZE_PTR-1)) -@@ -1073,6 +1108,16 @@ static int ccall_set_args(lua_State *L, +@@ -1086,6 +1126,16 @@ static int ccall_set_args(lua_State *L, *(int64_t *)dp = (int64_t)*(int32_t *)dp; /* Sign-extend to 64 bit. */ } #endif @@ -2526,7 +2537,7 @@ Signed-off-by: Ilya Leoshkevich #endif --- a/src/lj_err.c +++ b/src/lj_err.c -@@ -419,6 +419,9 @@ LJ_FUNCA int lj_err_unwind_dwarf(int ver +@@ -442,6 +442,9 @@ LJ_FUNCA int lj_err_unwind_dwarf(int ver if (version != 1) return _URC_FATAL_PHASE1_ERROR; cf = (void *)_Unwind_GetCFA(ctx); @@ -2561,7 +2572,7 @@ Signed-off-by: Ilya Leoshkevich #endif --- a/src/lj_target.h +++ b/src/lj_target.h -@@ -146,6 +146,8 @@ typedef uint32_t RegCost; +@@ -143,6 +143,8 @@ typedef uint32_t RegCost; #include "lj_target_ppc.h" #elif LJ_TARGET_MIPS #include "lj_target_mips.h" @@ -2655,7 +2666,7 @@ Signed-off-by: Ilya Leoshkevich +#endif --- /dev/null +++ b/src/vm_s390x.dasc -@@ -0,0 +1,4261 @@ +@@ -0,0 +1,4269 @@ +|// Low-level VM code for IBM z/Architecture (s390x) CPUs in LJ_GC64 mode. +|// Bytecode interpreter, fast functions and helper functions. +|// Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h @@ -3967,6 +3978,10 @@ Signed-off-by: Ilya Leoshkevich + |//-- Base library: catch errors ---------------------------------------- + | + |.ffunc_1 pcall ++ | lg L:RB, SAVE_L ++ | sllg RA, NARGS:RD, 3 ++ | la RA, 0(RA, BASE) ++ | clg RA, L:RB->maxstack; jh ->fff_fallback + | la RA, 16(BASE) + | aghi NARGS:RD, -1 + | lghi PC, 16+FRAME_PCALL @@ -3986,6 +4001,10 @@ Signed-off-by: Ilya Leoshkevich + | j ->vm_call_dispatch + | + |.ffunc_2 xpcall ++ | lg L:RB, SAVE_L ++ | sllg RA, NARGS:RD, 3 ++ | la RA, 0(RA, BASE) ++ | clg RA, L:RB->maxstack; jh ->fff_fallback + | lg LFUNC:RA, 8(BASE) + | checktp_nc LFUNC:RA, LJ_TFUNC, ->fff_fallback + | lg LFUNC:RB, 0(BASE) // Swap function and traceback. diff --git a/luajit.changes b/luajit.changes index 8360fde..b7b4a70 100644 --- a/luajit.changes +++ b/luajit.changes @@ -1,3 +1,194 @@ +------------------------------------------------------------------- +Fri Dec 6 07:23:43 UTC 2024 - Adrian Schröter + +- No loongarch64 support yet +- turn around the logic to known supported architectures + +------------------------------------------------------------------- +Wed Nov 20 07:23:12 UTC 2024 - mcepl@cepl.eu + +- Update to version 5.1.2.1.0+git.1731601260.fe71d0f: + * Windows: Allow amalgamated static builds with msvcbuild.bat. + * Always close profiler output file. + * Fix override of INSTALL_LJLIBD in the presence of DESTDIR. + * Fix bit op coercion for shifts in DUALNUM builds. + +------------------------------------------------------------------- +Wed Nov 06 16:31:22 UTC 2024 - mcepl@cepl.eu + +- Update to version 5.1.2.1.0+git.1727870382.97813fb: + * macOS: Remove obsolete -single_module flag. + * macOS: Workaround for buggy XCode 15.0 - 15.2 linker. + * macOS: Fix macOS 15 / Clang 16 build. + * Fix bit op coercion in DUALNUM builds. + * Fix compiliation of getmetatable() for UDTYPE_IO_FILE. + * Remove ancient RtlUnwindEx workaround for MinGW64. + * Drop unused function wrapper. + +------------------------------------------------------------------- +Wed Nov 6 16:25:34 UTC 2024 - Matej Cepl + +- Update luajit-s390x.patch from + gh#openresty/luajit2!195 (following the advice on + gh#LuaJIT/LuaJIT!631#issuecomment-2459913131). + +------------------------------------------------------------------- +Mon Aug 26 18:41:09 UTC 2024 - mcepl@cepl.eu + +- Update to version 5.1.2.1.0+git.1724512491.f725e44: + * Fix limit check in narrow_conv_backprop(). + * Always use IRT_NIL for IR_TBAR. + * ARM64: Use ldr literal to load FP constants. + * FFI: Add missing coercion when recording 64-bit bit.*(). + * ARM64: Make tobit conversions match JIT backend behavior. + * ARM: Make hard-float tobit conversions match JIT backend behavior. + * FFI: Drop finalizer table rehash after GC cycle. + * Fix another potential file descriptor leak in luaL_loadfile*(). + * MIPS32: Fix little-endian IR_RETF. + * Correctly close VM state after early OOM during open. + * Fix potential file descriptor leak in luaL_loadfile*(). + * Reflect override of INSTALL_LJLIBD in package.path. + * ARM64: Use movi to materialize FP constants. + * Add more FOLD rules for integer conversions. + * Different fix for partial snapshot restore due to stack overflow. + * Fix IR_ABC hoisting. + * Limit CSE for IR_CARG to fix loop optimizations. + * Call math.randomseed() without arguments to seed from system entropy. + * Restore state when recording __concat metamethod throws an error. + * Add build flag LUAJIT_DISABLE_TAILCALL to disable tailcall generation. + * Clarify that lj_buf_shrink() does not keep any buffer data. + * OSX: Fix installed luajit.pc. + * FFI: Fix various issues in recff_cdata_arith. + * Fix predict_next() in parser (for real now). + * FFI: Fix __tostring metamethod access to enum cdata value. + * Fix typo. + * Handle partial snapshot restore due to stack overflow. + * Update Nintendo Switch build script. + * Prevent sanitizer warning in snap_restoredata(). + * Typo. + * Limit number of string format elements to compile. + * FFI: Clarify scalar boxing behavior. + * Fix internal link in docs. + * OSX/iOS: Fix SDK incompatibility. + * Windows/MSVC: Cleanup msvcbuild.bat and always generate PDB. + * Fix segment release check in internal memory allocator. + * Fix compiler warning. + * FFI: Turn FFI finalizer table into a proper GC root. + * OSX/iOS: Always generate 64 bit non-FAT Mach-O object files. + * Show name of NYI bytecode in -jv and -jdump. + * Use generic trace error for OOM during trace stitching. + * Fix serialization format docs. + * Handle all types of errors during trace stitching. + * Fix recording of __concat metamethod. + * Prevent down-recursion for side traces. + * Check frame size limit before returning to a lower frame. + * FFI: Treat cdata finalizer table as a GC root. + * Handle stack reallocation in debug.setmetatable() and lua_setmetatable(). +- Update patches: + - luajit-lua-versioned.patch + - luajit-s390x.patch (update to the latest base code) + +------------------------------------------------------------------- +Fri Mar 01 20:05:18 UTC 2024 - mcepl@cepl.eu + +- Update to version 5.1.2.1.0+git.1707061634.0d313b2: + * Rework stack overflow handling. + * Preserve keys with dynamic values in template tables when saving bytecode. + * Prevent include of luajit_rolling.h. + * Fix documentation bug about '\z' string escape. + * Fix zero stripping in %g number formatting. + * Fix unsinking of IR_FSTORE for NULL metatable. + * DynASM/x86: Add endbr instruction. + * MIPS64 R2/R6: Fix FP to integer conversions. + * Add cross-32/64 bit and deterministic bytecode generation. + * DynASM/x86: Allow [&expr] operand. + * Check for IR_HREF vs. IR_HREFK aliasing in non-nil store check. + * Respect jit.off() on pending trace exit. + * Simplify handling of instable types in TNEW/TDUP load forwarding. + * Only emit proper parent references in snapshot replay. + * Fix anchoring for string buffer set() method (again). + * ARM: Fix stack restore for FP slots. + * Document workaround for multilib vs. cross-compiler conflict. + * Fix anchoring for string buffer set() method. + * Fix runtime library flags for MSVC debug builds. + * Fix .debug_abbrev section in GDB JIT API. + * Optimize table.new() with constant args to (sinkable) IR_TNEW. + * Emit sunk IR_NEWREF only once per key on snapshot replay. + * Fix last commit. + * x86/x64: Don't fuse loads across IR_NEWREF. + * Improve last commit. + * x86/x64: Don't fuse loads across table.clear. + * x86/x64: Add more red zone checks to assembler backend. + * Add stack check to pcall/xpcall. + * Invalidate SCEV entry when returning to lower frame. + * FFI: Fix pragma push stack limit check and throw on overflow. + * ARM64: Fix disassembly of ldp/stp offsets. + * Check for upvalue state transition in IR_UREFO. + * x64: Properly fix __call metamethod return dispatch. + * Windows/x86: _BitScan*64 are only available on 64 bit archs. + * Add 'cc' file type for saving bytecode. + * FFI/Windows: Fix type declaration for int64_t and uint64_t. + * FFI: Fix dangling reference to CType in carith_checkarg(). + * DynASM/ARM64: Support ldp/stp of q registers. + * ARM64: Use ADR and ADRP to form constants. + * ARM64: Fix disassembly of U12 loads. + * ARM64: Unify constant register handling in interpreter. + * ARM: Fix register hint for FFI calls with FP results. + * ARM64: Fix register hint for FFI calls with FP results. + * ARM64: Restore fp before sp in C stack unwinders. + * FFI: Fix ffi.abi("pauth"). + * Maintain chain invariant in DCE. + * LJ_FR2: Fix stack checks in vararg calls. + * Follow-up fix for stack overflow handling cleanup. + * Handle OOM error on stack resize in coroutine.resume and lua_checkstack. + * Restore cur_L for specific Lua/C API use case. + * Consistently use 64 bit constants for 64 bit IR instructions. + * ARM64: Fix IR_HREF code generation for constant FP keys. + * ARM64: Fuse negative 32 bit constants into arithmetic ops again. + * Handle all stack layouts in (delayed) TRACE vmevent. + * Add missing coercion when recording select(string, ...) + * Cleanup stack overflow handling. + * Windows/ARM64: Add MSVC cross-build support for x64 to ARM64. + * IR_MIN/IR_MAX is non-commutative due to underlying FPU ops. + * ARM64: Set fixed interpreter registers before rethrow. + * Windows/ARM64: Update install docs. + * Windows: Call C++ destructors without compiling with /EHa. + * Windows: Pass scratch CONTEXT record to RtlUnwindEx. + * ARM64: External unwinder already restores non-volatile registers. + * Windows/ARM64: Fix exception unwinding (again). + * Windows/ARM64: Fix typo in exception unwinding. + * FFI: Fix 64 bit shift fold rules. + * Windows/ARM64: Support Windows calling conventions. + * Windows/ARM64: Fix exception unwinding. + * ARM64: Remove unneeded IRCALL_* defs for math intrinsics. + * Fix Cygwin build. + * Allow path overrides in genversion.lua with minilua, too. + * Windows/ARM64: Add initial support. + * Improve architecture detection error messages. + * ARM64: Fuse rotates into logical operands. + * ARM64: Don't fuse sign extensions into logical operands. + * ARM64: Disassemble rotates on logical operands. + * ARM: Fix stack check code generation. + * ARM64: Fix LDP/STP fusion (again). + * ARM64: Ensure branch is in range before emitting TBZ/TBNZ. + * Fix mcode limit check for non-x86 archs. + * ARM64: Improve BC_JLOOP. + * ARM64: Improve integer IR_MUL code generation. + * ARM64: Simplify code generation for IR_STRTO. + * ARM64: Use RID_TMP instead of scratch register in more places. + * ARM64: Improve IR_OBAR code generation. + * ARM64: Improve IR_UREF code generation. + * ARM64: Improve IR_HREF code generation. + * ARM64: Reload BASE via GL instead of spilling it. + * ARM64: Consolidate 32/64-bit constant handling in assembler. + * ARM64: Tune emit_lsptr. Avoid wrong load for asm_prof. + * ARM64: Inline only use of emit_loada. + * ARM64: Improve K13 constant rematerialization. + * Add NaN check to IR_NEWREF. + * Allow override of paths for genversion.lua. + * Fix native MinGW build. +- Also refresh luajit-s390x.patch from the rebased pull request. + ------------------------------------------------------------------- Mon Oct 9 20:09:43 UTC 2023 - Matej Cepl diff --git a/luajit.spec b/luajit.spec index 6c18a52..980f990 100644 --- a/luajit.spec +++ b/luajit.spec @@ -1,7 +1,7 @@ # # spec file for package luajit # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,13 +19,14 @@ # These numbers are from readelf -a /usr/lib*/lib*.so* |grep soname (dots replaced by underscores) %define lib_version 5_1 %define so_version 2 +%define upname LuaJIT Name: luajit -Version: 5.1.2.1.0+git.1693350652.41fb94d +Version: 5.1.2.1.0+git.1731601260.fe71d0f Release: 0 Summary: JIT compiler for Lua language License: MIT URL: https://luajit.org/ -Source0: %{name}-%{version}.tar.xz +Source0: %{upname}-%{version}.tar.xz Source1: baselibs.conf # PATCH-FIX-OPENSUSE luajit-lua-versioned.patch mcepl@suse.com # Because we obsolete moonjit with version number higher than %%{version} we have to emulate Epoch @@ -49,7 +50,7 @@ Obsoletes: lua51-luajit <= 2.2.0 Provides: moonjit = %{version}-%{release} Obsoletes: moonjit <= 2.2.0 # lj_arch.h:441:2: error: #error "No target architecture defined" -ExcludeArch: riscv64 ppc64 ppc64le +ExclusiveArch: x86_64 %ix86 aarch64 %arm ppc mips mips64 mips64el s390x %description A Just-In-Time Compiler for Lua language @@ -73,7 +74,7 @@ Provides: libluajit-devel = %{version}-%{release} Devel files for luajit package %prep -%autosetup -p1 +%autosetup -p1 -n %{upname}-%{version} # Fix variables sed -i "s,PREFIX= %{_prefix}/local,PREFIX= %{_prefix}," Makefile