kit

kit
git clone https://git.ryansepassi.com/git/kit.git
Log | Files | Refs | README

commit 042da531c8520ad46630ba784365522a62347926
parent 51d3beb1b6239099fe5d1500fdaecaa2971e76ff
Author: Ryan Sepassi <rsepassi@gmail.com>
Date:   Fri, 29 May 2026 14:02:38 -0700

test: add opt-in test-link-x64 for x64 ELF reloc application

test-link defaults to aa64, so cfree's x64 ELF static-link relocation fixups
(R_X64_PLT32/GOTPCREL/GOTPCRELX/REX_GOTPCRELX/TPOFF/RELATIVE/JUMP_SLOT/
GLOB_DAT) were only ever exercised via a manual CFREE_TEST_ARCH=x64 override —
never by any make target, despite x64-Linux being in the OS support set.

Add test-link-x64 (CFREE_TEST_ARCH=x64, paths RE). Opt-in like the rv64 wide
and smoke targets, since the E path links and runs under podman/qemu-x86_64;
the R path (roundtrip + reloc layout) runs on any host (verified: 39 pass).

Diffstat:
Mtest/test.mk | 9+++++++++
1 file changed, 9 insertions(+), 0 deletions(-)

diff --git a/test/test.mk b/test/test.mk @@ -78,6 +78,7 @@ TEST_TARGETS = \ test-pp-ok \ test-rt-headers \ test-rt-runtime \ + test-link-x64 \ test-rv64-inline \ test-rv64-jit \ test-rv64-tls-link \ @@ -534,6 +535,14 @@ TEST_RT_DEP = $(_TEST_RT_$(CFREE_TEST_ARCH)) test-link: lib $(ROUNDTRIP_BIN) $(ROUNDTRIP_BIN_MACHO) $(LINK_EXE_RUNNER) $(JIT_RUNNER) bash test/link/run.sh +# x64 ELF link/reloc-application coverage. test-link defaults to aa64, so +# cfree's x64 static-link reloc fixups (R_X64_PLT32/GOTPCREL/TPOFF/...) were +# only ever run via a manual CFREE_TEST_ARCH=x64 override. Opt-in (not in the +# default set) because the E path links + runs under podman/qemu-x86_64; the R +# path (roundtrip + reloc layout) runs on any host. +test-link-x64: lib rt-x86_64-linux $(ROUNDTRIP_BIN) $(LINK_EXE_RUNNER) $(JIT_RUNNER) + @CFREE_TEST_ARCH=x64 CFREE_TEST_PATHS=RE bash test/link/run.sh + test-macho: lib $(TEST_RT_DEP) $(ROUNDTRIP_BIN_MACHO) $(LINK_EXE_RUNNER) $(JIT_RUNNER) CFREE_TEST_OBJ=macho \ CFREE_TEST_ARCH=$${CFREE_TEST_ARCH:-aa64} \