Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package luajit for openSUSE:Factory checked 
in at 2023-09-10 13:09:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/luajit (Old)
 and      /work/SRC/openSUSE:Factory/.luajit.new.1766 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "luajit"

Sun Sep 10 13:09:28 2023 rev:10 rq:1109627 
version:5.1.2.1.0+git.1693350652.41fb94d

Changes:
--------
--- /work/SRC/openSUSE:Factory/luajit/luajit.changes    2023-08-22 
08:55:01.246430478 +0200
+++ /work/SRC/openSUSE:Factory/.luajit.new.1766/luajit.changes  2023-09-10 
13:09:47.073599018 +0200
@@ -1,0 +2,78 @@
+Wed Sep 06 21:51:55 UTC 2023 - [email protected]
+
+- Update to version 5.1.2.1.0+git.1693350652.41fb94d:
+  * Add randomized register allocation for fuzz testing.
+  * ARM64: Improve register allocation for integer IR_MUL/IR_MULOV.
+  * ARM64: Fix register allocation for IR_*LOAD.
+  * Update external MSDN URL in code.
+  * FFI/ARM64/OSX: Handle non-standard OSX C calling conventions.
+  * FFI: Unify stack setup for C calls in interpreter.
+  * ARM64: Prevent STP fusion for conditional code emitted by TBAR.
+  * ARM64: Fix LDP/STP fusing for unaligned accesses.
+  * Handle table unsinking in the presence of IRFL_TAB_NOMM.
+  * Use fallback name for install files without valid .git or .relver.
+  * Handle non-.git checkout with .relver in .bat-file builds.
+  * Fix external C call stack check when using LUAJIT_MODE_WRAPCFUNC.
+  * Fix predict_next() in parser (again).
+- Update luajit-lua-versioned.patch to work with the git checkout
+  created tarball. The point of the patch is to extend the
+  version number so that it is always bigger than 2.2.0 version
+  of moonjit, which is Obsoleted by this package.
+
+-------------------------------------------------------------------
+Wed Aug 23 14:18:06 UTC 2023 - [email protected]
+
+- Update to version 2.1.0~beta3+git.1692716794.03c3112:
+  * Fix typo.
+  * Handle the case when .git is not a directory.
+  * Add .gitattributes to dynamically resolve .relver.
+  * Add .gitattributes to dynamically resolve .relver.
+  * Fix for last commit: also remove symlink on uninstall.
+  * Switch to rolling releases: mark v2.1 as production.
+  * Fix Windows build scripts for rolling releases.
+  * Switch MSVC and console build scripts to rolling releases.
+  * Switch build system to rolling releases.
+  * Update documentation for switch to rolling releases.
+  * Bump copyright date.
+  * Remove work-in-progress notice in string buffer docs.
+  * MIPS: Fix "bad FP FLOAD" assertion.
+  * Ensure forward progress on trace exit to BC_ITERN.
+  * ARM64: Add support for ARM64e pointer authentication codes (PAC).
+  * DynASM/ARM64: Add instructions for ARM64e PAC.
+  * Fix maxslots when recording BC_VARG, part 3.
+  * Fix predict_next() in parser.
+  * MIPS32: Declare that the assembler part uses the FR=0 model.
+  * ARM64: Fix assembly of HREFK (again).
+  * Fix frame for more types of on-trace error messages.
+  * Add workaround for bytecode dump of builtins.
+  * DynASM: Fix regression due to warning fix.
+  * Fix base register coalescing in side trace.
+  * ARM64: Fix assembly of HREFK.
+  * Fix maxslots when recording BC_VARG, part 2.
+  * Fix maxslots when recording BC_TSETM.
+  * Fix maxslots when recording BC_VARG.
+  * Fix register mask for stack check in head of side trace.
+  * FFI: Fix ffi.metatype() for non-raw types.
+  * ARM64: Fix LDP code generation.
+  * MIPSr6: Add missing files to Makefile install target.
+  * DynASM: Fix warnings.
+  * Fix frame for on-trace out-of-memory error.
+  * Fix handling of instable types in TNEW/TDUP load forwarding.
+  * Fix compiler warning.
+  * Fix last commit.
+  * Print errors from __gc finalizers instead of rethrowing them.
+  * Fix TDUP load forwarding after table rehash.
+  * Fix canonicalization of +-0.0 keys for IR_NEWREF.
+  * Improve error reporting on stack overflow.
+  * Allow building sources with mixed LF/CRLF line-endings.
+  * Fix compiler warning.
+  * Don't fail for Clang builds, which pretend to be an ancient GCC.
+  * Avoid negation of signed integers in C that may hold INT*_MIN.
+  * Correct fix for stack check when recording BC_VARG.
+  * Disable FMA by default. Use -Ofma or jit.opt.start("+fma") to enable.
+  * FFI: Fix dangling reference to CType. Improve checks.
+  * ARM64: Fix code generation for IR_SLOAD with typecheck + conversion.
+  * PS4/PS5: Fix build scripts.
+  * Avoid assertion in case of stack overflow from stitched trace.
+
+-------------------------------------------------------------------

Old:
----
  luajit-2.1.0~beta3+git.1669107176.46aa45d.tar.xz

New:
----
  luajit-5.1.2.1.0+git.1693350652.41fb94d.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ luajit.spec ++++++
--- /var/tmp/diff_new_pack.c7fYXz/_old  2023-09-10 13:09:48.617654182 +0200
+++ /var/tmp/diff_new_pack.c7fYXz/_new  2023-09-10 13:09:48.617654182 +0200
@@ -19,16 +19,16 @@
 # 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 realver -2.1.0-beta3
-
 Name:           luajit
-Version:        2.1.0~beta3+git.1669107176.46aa45d
+Version:        5.1.2.1.0+git.1693350652.41fb94d
 Release:        0
 Summary:        JIT compiler for Lua language
 License:        MIT
 URL:            https://luajit.org/
 Source0:        %{name}-%{version}.tar.xz
 Source1:        baselibs.conf
+# PATCH-FIX-OPENSUSE luajit-lua-versioned.patch [email protected]
+# Because we obsolete moonjit with version number higher than %%{version} we 
have to emulate Epoch
 Patch0:         luajit-lua-versioned.patch
 # 
https://salsa.debian.org/lua-team/luajit/-/raw/master/debian/patches/0002-Enable-debugging-symbols-in-the-build.patch
 Patch2:         0002-Enable-debugging-symbols-in-the-build.patch
@@ -41,9 +41,12 @@
 # # Patch again out of sync, gh#LuaJIT/LuaJIT#140
 # Patch5:         
0004-Add-ppc64-support-based-on-koriakin-GitHub-patchset.patch
 # Patch6:         luajit-ppc64-replace-asserts.patch
+BuildRequires:  git
 BuildRequires:  pkgconfig
 Requires:       %{name}-%{lib_version}-%{so_version} = %{version}
+Provides:       lua51-luajit = %{version}-%{release}
 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
@@ -53,7 +56,7 @@
 
 %package -n libluajit-%{lib_version}-%{so_version}
 Summary:        Library for JIT Lua compiler
-Provides:       %{name}-%{lib_version}-%{so_version} = %{version}
+Provides:       %{name}-%{lib_version}-%{so_version} = %{version}-%{release}
 
 %description -n libluajit-%{lib_version}-%{so_version}
 Libraries to use JIT Lua compiler
@@ -62,23 +65,27 @@
 Summary:        Devel files for %{name}
 Requires:       %{name} = %{version}
 Requires:       luajit-%{lib_version}-%{so_version} = %{version}
+Provides:       moonjit-devel = %{version}-%{release}
 Obsoletes:      moonjit-devel <= 2.2.0
-Provides:       libluajit-devel = %{version}
+Provides:       libluajit-devel = %{version}-%{release}
 
 %description devel
 Devel files for luajit package
 
 %prep
-%setup -q
-%autopatch -p1
+%autosetup -p1
 
 # Fix variables
 sed -i "s,PREFIX= %{_prefix}/local,PREFIX= %{_prefix}," Makefile
 sed -i "s,%{_libexecdir},%{_libdir}," etc/luajit.pc
 
+# Unfortunately, tar_scm doesn't use git archive 
(gh#openSUSE/obs-service-tar_scm#144)
+%global realver 2.1.%(echo '%{version}' | cut -d. -f 6)
+echo '%{version}' | cut -d. -f 6 >.relver
+
 %build
 export CFLAGS="%{optflags}"
-make %{?_make_output_sync} %{?_smp_mflags} \
+%make_build %{?_make_output_sync} \
        Q= \
        DYNAMIC_CC="cc -fPIC" \
        LDCONFIG="true" \
@@ -88,7 +95,7 @@
 
 %install
 make DESTDIR=%{buildroot} install \
-       INSTALL_LIB="%{buildroot}/%{_libdir}" \
+       INSTALL_LIB="%{buildroot}%{_libdir}" \
        DYNAMIC_CC="cc -fPIC" \
        LDCONFIG="true" \
        TARGET_AR="ar rcus" \
@@ -96,10 +103,10 @@
        MULTILIB=%{_lib}
 
 # remove static lib, not needed
-rm %{buildroot}/%{_libdir}/*.a
+rm %{buildroot}%{_libdir}/*.a
 
 # Create runnable binary
-ln -sf %{_bindir}/luajit-%{lib_version}%{realver} %{buildroot}%{_bindir}/luajit
+ln -sf %{_bindir}/luajit-%{lib_version}-%{realver} 
%{buildroot}%{_bindir}/luajit
 
 %post -n libluajit-%{lib_version}-%{so_version} -p /sbin/ldconfig
 %postun -n libluajit-%{lib_version}-%{so_version} -p /sbin/ldconfig
@@ -107,10 +114,12 @@
 %files
 %license COPYRIGHT
 %doc README
+
 %{_bindir}/luajit
-%{_bindir}/luajit-%{lib_version}%{realver}
+%{_bindir}/luajit-%{lib_version}
+%{_bindir}/luajit-%{lib_version}-%{realver}
 %{_mandir}/man1/luajit-%{lib_version}.1%{?ext_man}
-%{_datadir}/luajit-%{lib_version}%{realver}
+%{_datadir}/luajit-%{lib_version}-2.1
 
 %files -n libluajit-%{lib_version}-%{so_version}
 %{_libdir}/libluajit-5.1.so.*

++++++ 0002-Enable-debugging-symbols-in-the-build.patch ++++++
--- /var/tmp/diff_new_pack.c7fYXz/_old  2023-09-10 13:09:48.633654754 +0200
+++ /var/tmp/diff_new_pack.c7fYXz/_new  2023-09-10 13:09:48.637654897 +0200
@@ -8,7 +8,7 @@
 
 --- a/src/Makefile
 +++ b/src/Makefile
-@@ -55,9 +55,9 @@ CCOPT_arm64=
+@@ -54,9 +54,9 @@ CCOPT_arm64=
  CCOPT_ppc=
  CCOPT_mips=
  #

++++++ 0003-Get-rid-of-LUAJIT_VERSION_SYM-that-changes-ABI-on-ev.patch ++++++
--- /var/tmp/diff_new_pack.c7fYXz/_old  2023-09-10 13:09:48.645655183 +0200
+++ /var/tmp/diff_new_pack.c7fYXz/_new  2023-09-10 13:09:48.649655326 +0200
@@ -3,9 +3,9 @@
 Subject: Get rid of LUAJIT_VERSION_SYM that changes ABI on every patch release
 
 ---
- src/lj_dispatch.c |    5 -----
- src/luajit.c      |    1 -
- src/luajit.h      |    3 ---
+ src/lj_dispatch.c    |    5 -----
+ src/luajit.c         |    1 -
+ src/luajit_rolling.h |    3 ---
  3 files changed, 9 deletions(-)
 
 --- a/src/lj_dispatch.c
@@ -32,8 +32,8 @@
  
    argn = collectargs(argv, &flags);
    if (argn < 0) {  /* Invalid args? */
---- a/src/luajit.h
-+++ b/src/luajit.h
+--- a/src/luajit_rolling.h
++++ b/src/luajit_rolling.h
 @@ -73,7 +73,4 @@ 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);

++++++ _service ++++++
--- /var/tmp/diff_new_pack.c7fYXz/_old  2023-09-10 13:09:48.669656040 +0200
+++ /var/tmp/diff_new_pack.c7fYXz/_new  2023-09-10 13:09:48.669656040 +0200
@@ -1,17 +1,17 @@
 <services>
-  <service name="tar_scm" mode="disabled">
+  <service name="tar_scm" mode="manual">
     <param name="scm">git</param>
     <param name="url">https://github.com/LuaJIT/LuaJIT.git</param>
-    <param name="versionprefix">2.1.0~beta3+git</param>
+    <param name="versionprefix">5.1.2.1.0+git</param>
     <param name="revision">v2.1</param>
     <param name="filename">luajit</param>
     <param name="changesgenerate">enable</param>
     <param name="changesauthor">[email protected]</param>
   </service>
-  <service name="recompress" mode="disabled">
+  <service name="recompress" mode="manual">
     <param name="file">*.tar</param>
     <param name="compression">xz</param>
   </service>
-  <service name="set_version" mode="disabled"/>
+  <service name="set_version" mode="manual"/>
 </services>
 

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.c7fYXz/_old  2023-09-10 13:09:48.689656755 +0200
+++ /var/tmp/diff_new_pack.c7fYXz/_new  2023-09-10 13:09:48.689656755 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/LuaJIT/LuaJIT.git</param>
-              <param 
name="changesrevision">46aa45dcbd9f3843503ddf3e00f8dda89eac6789</param></service></servicedata>
+              <param 
name="changesrevision">41fb94defa8f830ce69a8122b03f6ac3216d392a</param></service></servicedata>
 (No newline at EOF)
 

++++++ luajit-lua-versioned.patch ++++++
--- /var/tmp/diff_new_pack.c7fYXz/_old  2023-09-10 13:09:48.709657469 +0200
+++ /var/tmp/diff_new_pack.c7fYXz/_new  2023-09-10 13:09:48.713657612 +0200
@@ -1,47 +1,38 @@
 ---
- Makefile      |   15 ++++++++-------
+ Makefile      |    9 +++++----
  etc/luajit.pc |    2 +-
  src/Makefile  |    3 ++-
  src/luaconf.h |    2 +-
- 4 files changed, 12 insertions(+), 10 deletions(-)
+ 4 files changed, 9 insertions(+), 7 deletions(-)
 
 --- a/Makefile
 +++ b/Makefile
-@@ -19,6 +19,7 @@ RELVER=  0
- PREREL=  -beta3
- VERSION= $(MAJVER).$(MINVER).$(RELVER)$(PREREL)
+@@ -16,13 +16,14 @@
+ MAJVER=  2
+ MINVER=  1
  ABIVER=  5.1
 +SUFFIX= 5_1
  
+ # LuaJIT uses rolling releases. The release version is based on the time of
+ # the latest git commit. The 'git' command must be available during the build.
+ RELVER= $(shell cat src/luajit_relver.txt 2>/dev/null || : )
+ # Note: setting it with := doesn't work, since it will change during the 
build.
+ 
+-MMVERSION= $(MAJVER).$(MINVER)
++MMVERSION= $(SUFFIX)-$(MAJVER).$(MINVER)
+ VERSION= $(MMVERSION).$(RELVER)
+ 
  ##############################################################################
- #
-@@ -33,20 +34,20 @@ DPREFIX= $(DESTDIR)$(PREFIX)
- INSTALL_BIN=   $(DPREFIX)/bin
- INSTALL_LIB=   $(DPREFIX)/$(MULTILIB)
- INSTALL_SHARE= $(DPREFIX)/share
--INSTALL_DEFINC= $(DPREFIX)/include/luajit-$(MAJVER).$(MINVER)
-+INSTALL_DEFINC= $(DPREFIX)/include/luajit-$(SUFFIX)-$(MAJVER).$(MINVER)
- INSTALL_INC=   $(INSTALL_DEFINC)
- 
--INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(VERSION)
-+INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(SUFFIX)-$(VERSION)
- INSTALL_JITLIB= $(INSTALL_LJLIBD)/jit
- INSTALL_LMODD= $(INSTALL_SHARE)/lua
- INSTALL_LMOD= $(INSTALL_LMODD)/$(ABIVER)
- INSTALL_CMODD= $(INSTALL_LIB)/lua
- INSTALL_CMOD= $(INSTALL_CMODD)/$(ABIVER)
--INSTALL_MAN= $(INSTALL_SHARE)/man/man1
-+INSTALL_MAN= $(INSTALL_SHARE)/man/man1/
+@@ -51,7 +52,7 @@ INSTALL_MAN= $(INSTALL_SHARE)/man/man1
  INSTALL_PKGCONFIG= $(INSTALL_LIB)/pkgconfig
  
--INSTALL_TNAME= luajit-$(VERSION)
+ INSTALL_TNAME= luajit-$(VERSION)
 -INSTALL_TSYMNAME= luajit
-+INSTALL_TNAME= luajit-$(SUFFIX)-$(VERSION)
 +INSTALL_TSYMNAME= luajit-$(SUFFIX)
  INSTALL_ANAME= libluajit-$(ABIVER).a
  INSTALL_SOSHORT1= libluajit-$(ABIVER).so
  INSTALL_SOSHORT2= libluajit-$(ABIVER).so.$(MAJVER)
-@@ -83,7 +84,7 @@ ifneq ($(INSTALL_DEFINC),$(INSTALL_INC))
+@@ -89,7 +90,7 @@ ifneq ($(INSTALL_DEFINC),$(INSTALL_INC))
    SED_PC+= -e "s|^includedir=.*|includedir=$(INSTALL_INC)|"
  endif
  
@@ -50,7 +41,7 @@
  FILE_A= libluajit.a
  FILE_SO= libluajit.so
  FILE_MAN= luajit.1
-@@ -128,7 +129,7 @@ install: $(INSTALL_DEP)
+@@ -136,7 +137,7 @@ install: $(INSTALL_DEP)
          ( $(LDCONFIG) $(INSTALL_LIB) || : ) && \
          $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \
          $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || :
@@ -72,15 +63,15 @@
  INSTALL_CMOD=${prefix}/${multilib}/lua/${abiver}
 --- a/src/Makefile
 +++ b/src/Makefile
-@@ -15,6 +15,7 @@ MINVER=  1
- RELVER=  0
+@@ -14,6 +14,7 @@ MAJVER=  2
+ MINVER=  1
  ABIVER=  5.1
  NODOTABIVER= 51
 +SUFFIX= 5_1
  
  ##############################################################################
  #############################  COMPILER OPTIONS  #############################
-@@ -512,7 +513,7 @@ LIB_VMDEFP= $(LIB_VMDEF)
+@@ -520,7 +521,7 @@ LIB_VMDEFP= $(LIB_VMDEF)
  LUAJIT_O= luajit.o
  LUAJIT_A= libluajit.a
  LUAJIT_SO= libluajit.so
@@ -95,8 +86,8 @@
  #endif
  #define LUA_LROOT     "/usr/local"
  #define LUA_LUADIR    "/lua/5.1/"
--#define LUA_LJDIR     "/luajit-2.1.0-beta3/"
-+#define LUA_LJDIR     "/luajit-5_1-2.1.0-beta3/"
+-#define LUA_LJDIR     "/luajit-2.1/"
++#define LUA_LJDIR     "/luajit-5_1-2.1.0-rolling/"
  
  #ifdef LUA_ROOT
  #define LUA_JROOT     LUA_ROOT

++++++ luajit-s390x.patch ++++++
--- /var/tmp/diff_new_pack.c7fYXz/_old  2023-09-10 13:09:48.725658041 +0200
+++ /var/tmp/diff_new_pack.c7fYXz/_new  2023-09-10 13:09:48.729658184 +0200
@@ -2232,7 +2232,7 @@
 +------------------------------------------------------------------------------
 --- a/src/Makefile
 +++ b/src/Makefile
-@@ -245,6 +245,9 @@ else
+@@ -244,6 +244,9 @@ else
  ifneq (,$(findstring LJ_TARGET_ARM ,$(TARGET_TESTARCH)))
    TARGET_LJARCH= arm
  else
@@ -2242,7 +2242,7 @@
  ifneq (,$(findstring LJ_TARGET_ARM64 ,$(TARGET_TESTARCH)))
    ifneq (,$(findstring __AARCH64EB__ ,$(TARGET_TESTARCH)))
      TARGET_ARCH= -D__AARCH64EB__=1
-@@ -273,6 +276,7 @@ else
+@@ -272,6 +275,7 @@ else
  endif
  endif
  endif
@@ -2318,7 +2318,7 @@
  #else
  /* Emit words piecewise as assembler text. */
  static void emit_asm_words(BuildCtx *ctx, uint8_t *p, int n)
-@@ -299,6 +347,9 @@ void emit_asm(BuildCtx *ctx)
+@@ -302,6 +350,9 @@ void emit_asm(BuildCtx *ctx)
        emit_asm_reloc(ctx, r->type, ctx->relocsym[r->sym]);
        }
        ofs += n+4;
@@ -2328,7 +2328,7 @@
  #else
        emit_asm_wordreloc(ctx, ctx->code+ofs, n, ctx->relocsym[r->sym]);
        ofs += n;
-@@ -307,6 +358,8 @@ void emit_asm(BuildCtx *ctx)
+@@ -310,6 +361,8 @@ void emit_asm(BuildCtx *ctx)
      }
  #if LJ_TARGET_X86ORX64
      emit_asm_bytes(ctx, ctx->code+ofs, next-ofs);
@@ -2343,7 +2343,7 @@
 +-- Not yet implemented.
 --- a/src/lib_jit.c
 +++ b/src/lib_jit.c
-@@ -719,6 +719,8 @@ static uint32_t jit_cpudetect(void)
+@@ -720,6 +720,8 @@ static uint32_t jit_cpudetect(void)
    }
  #endif
  
@@ -2372,7 +2372,7 @@
  #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)
-@@ -435,6 +439,21 @@
+@@ -438,6 +442,21 @@
  #define LJ_ARCH_VERSION               10
  #endif
  
@@ -2396,7 +2396,7 @@
  #endif
 --- a/src/lj_asm.c
 +++ b/src/lj_asm.c
-@@ -1662,6 +1662,8 @@ static void asm_loop(ASMState *as)
+@@ -1704,6 +1704,8 @@ static void asm_loop(ASMState *as)
  #include "lj_asm_ppc.h"
  #elif LJ_TARGET_MIPS
  #include "lj_asm_mips.h"
@@ -2407,7 +2407,7 @@
  #endif
 --- a/src/lj_ccall.c
 +++ b/src/lj_ccall.c
-@@ -574,6 +574,40 @@
+@@ -575,6 +575,40 @@
      goto done; \
    }
  
@@ -2448,7 +2448,7 @@
  #else
  #error "Missing calling convention definitions for this architecture"
  #endif
-@@ -988,7 +1022,7 @@ static int ccall_set_args(lua_State *L,
+@@ -990,7 +1024,7 @@ static int ccall_set_args(lua_State *L,
      CTypeID did;
      CType *d;
      CTSize sz;
@@ -2457,15 +2457,15 @@
      void *dp, *rp = NULL;
  
      if (fid) {  /* Get argument type from field. */
-@@ -1028,6 +1062,7 @@ static int ccall_set_args(lua_State *L,
+@@ -1029,6 +1063,7 @@ static int ccall_set_args(lua_State *L,
      CCALL_HANDLE_REGARG  /* Handle register arguments. */
  
      /* Otherwise pass argument on stack. */
 +    onstack = 1;
-     if (CCALL_ALIGN_STACKARG && !rp && (d->info & CTF_ALIGN) > CTALIGN_PTR) {
-       MSize align = (1u << ctype_align(d->info-CTALIGN_PTR)) -1;
-       nsp = (nsp + align) & ~align;  /* Align argument on stack. */
-@@ -1069,6 +1104,16 @@ static int ccall_set_args(lua_State *L,
+     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,
        *(int64_t *)dp = (int64_t)*(int32_t *)dp;  /* Sign-extend to 64 bit. */
      }
  #endif
@@ -2484,7 +2484,7 @@
        if (nfpr == ngpr)
 --- a/src/lj_ccall.h
 +++ b/src/lj_ccall.h
-@@ -126,6 +126,21 @@ typedef union FPRArg {
+@@ -129,6 +129,21 @@ typedef union FPRArg {
    struct { LJ_ENDIAN_LOHI(float f; , float g;) };
  } FPRArg;
  
@@ -2561,7 +2561,7 @@
  #endif
 --- a/src/lj_target.h
 +++ b/src/lj_target.h
-@@ -144,6 +144,8 @@ typedef uint32_t RegCost;
+@@ -146,6 +146,8 @@ typedef uint32_t RegCost;
  #include "lj_target_ppc.h"
  #elif LJ_TARGET_MIPS
  #include "lj_target_mips.h"

Reply via email to