test: port 989_ffivariadic_run to ww; retire the C carrier

This commit is contained in:
2026-08-08 15:49:14 +09:00
parent ee793a8407
commit e511cdd5a2
3 changed files with 135 additions and 263 deletions

View File

@@ -431,7 +431,7 @@ MISC_WW_TARGETS = $(MISC_WW_TESTS:%=wwtest/%)
TOOL_WW_TESTS = test/tool/rejects_test.ww test/tool/driver_test.ww \
test/tool/wwdump_test.ww test/tool/ffi_test.ww \
test/tool/attest_test.ww test/tool/wwirune_test.ww \
test/tool/c6soak_test.ww
test/tool/c6soak_test.ww test/tool/ffivariadic_test.ww
TOOL_WW_TARGETS = $(TOOL_WW_TESTS:%=wwtest/%)
BOOTSTRAP_WRAPPER_SOURCES = test/wcc/950_selfcheck.c \
test/wcc/991_w6a_ww.c \
@@ -464,18 +464,19 @@ $(BIN)/test_400_w6c: test/wcc/400_w6c.c \
$(BIN)/test_%: test/wcc/%.c test/wcc/wwtestpkg.h $(LIB)/libwcc.a | $(BIN)
$(CC) $(CFLAGS) $(INCS) -o $@ $< $(LIB)/libwcc.a
# 989_ffivariadic depends on a C callee archive the harness finds via
# $(BIN)/../ffivariadic. The fixture is built self-contained (zero
# relocs + undef syms) so w6l links it with no libc; flags are fixed,
# NOT $(CFLAGS), to keep that property. The rule was dropped in the
# test-graph rewrite (228a632a) and a stale out/ tree masked it.
# test/tool/ffivariadic_test.ww links a C callee archive it reaches
# via testenv.repo() + /out/ffivariadic. The fixture is built
# self-contained (zero relocs + undef syms) so w6l links it with no
# libc; flags are fixed, NOT $(CFLAGS), to keep that property. The
# rule was dropped in the test-graph rewrite (228a632a) and a stale
# out/ tree masked it.
$(OUT)/ffivariadic/libffifix.a: test/wcc/data/ffivariadic/fixture.c
@mkdir -p $(OUT)/ffivariadic
$(CC) -O1 -fno-stack-protector -fno-asynchronous-unwind-tables \
-fcf-protection=none -c -o $(OUT)/ffivariadic/fixture.o $<
$(AR) rcs $@ $(OUT)/ffivariadic/fixture.o
$(BIN)/test_989_ffivariadic_run: $(OUT)/ffivariadic/libffifix.a
wwtest/test/tool/ffivariadic_test.ww: $(OUT)/ffivariadic/libffifix.a
# Native library tests execute their source owner directly. The retired C
# launchers added no assertion beyond this exit status.