[Tarantool-patches] [PATCH luajit 00/19] Prerequisites for improve assertions

Igor Munkin imun at tarantool.org
Thu Aug 31 18:17:49 MSK 2023


Sergey,

I've checked the patchset into all long-term branches in
tarantool/luajit and bumped a new version in master, release/2.11 and
release/2.10.

On 09.08.23, Sergey Kaplun wrote:
> This patch-set contains all commits are necessary to avoid conflicts
> during the backporting of 8ae5170c "Improve assertions" [1], that are
> caused by outdating from the upstream.
> 
> This patch-set:
> - includes several new ports (see patches 4-6, 8, 19) -- only
>   description is added for such patches.
> - fixes some MIPS misbehaviour (1, 3, 17) -- include tests (*), except
>   the first one, since it depends on memory mapping.
> - fixes non-Linux/macOS build (7)
> - backportes patches, that was excluded or partially stripped before (10,
>   14, 15)
> - includes refactoring (2, 9, 18)
> - fixes general bugs (16)
> - fixes gcc 7.1 -Wimplicit-fallthrough warnings (11 - 13)
> 
> Note: that only patches 3, 16, 17 adds some new tests.
> Other patches just provided description, and the patch 13 adds
> -Wimplicit-fallthrough for GCC (>= 7.1) builds.
> 
> Patches are backported in the free order as far as they are unrelated
> to each other.
> 
> (*) To run tests for mips64 in qemu:
> 
> Compile with the following command:
> 
> | make -j -f Makefile.original HOST_CC="gcc " \
> |         CROSS=mips64el-unknown-linux-gnu- \
> |         CCDEBUG=" -g -ggdb3" CFLAGS=" -O0" \
> |         XCFLAGS=" -DLUA_USE_APICHECK -DLUA_USE_ASSERT "
> 
> Be avare, that mips64el-unknown-linux-gnu-gcc should provide n64 abi by
> default.
> Side note: installed on Gentoo with the following command
> | crossdev -t mips64el --abis n64 --ex-gdb
> 
> And run the corresponding test (-g 7776 to use GDB server on 7776
> port):
> | LUA_PATH="src/?.lua;test/tarantool-tests/?.lua;test/tarantool-tests/?/init.lua;;" \
> | LD_LIBRARY_PATH="/usr/lib/gcc/mips64el-unknown-linux-gnu/13/" \
> |   qemu-mips64el  -g 7776 -L /usr/mips64el-unknown-linux-gnu/ \
> |     src/luajit -jdump=ta test/tarantool-tests/fix-mips64-spare-side-exit-patching.test.lua
> 
> If you want to connect to the running test from multiarch-gdb:
> | mips64el-unknown-linux-gnu-gdb src/luajit
> | (gdb) target remote 0.0.0.0:7776
> | ...
> | 0x000000400297fd00 in __start () from /usr/mips64el-unknown-linux-gnu/lib64/ld.so.1
> | (gdb) c
> 
> [1]: https://github.com/LuaJIT/LuaJIT/commit/8ae5170c
> 
> Branch: https://github.com/tarantool/luajit/tree/skaplun/gh-8825-mips-ppc-refactoring
> PR: https://github.com/tarantool/tarantool/pull/8969
> Related Issues:
> * https://github.com/tarantool/tarantool/issues/8825
> * https://github.com/LuaJIT/LuaJIT/pull/362
> * https://github.com/LuaJIT/LuaJIT/issues/812
> 
> Mike Pall (17):
>   MIPS: Use precise search for exit jump patching.
>   MIPS: Fix handling of spare long-range jump slots.
>   MIPS64: Add soft-float support to JIT compiler backend.
>   PPC: Add soft-float support to interpreter.
>   PPC: Add soft-float support to JIT compiler backend.
>   Windows: Add UWP support, part 1.
>   FFI: Eliminate hardcoded string hashes.
>   Cleanup math function compilation and fix inconsistencies.
>   Fix GCC 7 -Wimplicit-fallthrough warnings.
>   DynASM: Fix warning.
>   ARM: Fix GCC 7 -Wimplicit-fallthrough warnings.
>   Fix debug.getinfo() argument check.
>   Fix LJ_MAX_JSLOTS assertion in rec_check_slots().
>   Prevent integer overflow while parsing long strings.
>   MIPS64: Fix register allocation in assembly of HREF.
>   DynASM/MIPS: Fix shadowed variable.
>   MIPS: Add MIPS64 R6 port.
> 
> Sergey Kaplun (2):
>   test: introduce mcode generator for tests
>   build: fix non-Linux/macOS builds
> 

<snipped>

> 
> -- 
> 2.41.0
> 

-- 
Best regards,
IM


More information about the Tarantool-patches mailing list