kit

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

commit c5166d0e42265a19c8f18223e0cb43bb35497e5b
parent 4931d48851d32a219a48d75854daf88be384e4e1
Author: Ryan Sepassi <rsepassi@gmail.com>
Date:   Wed,  3 Jun 2026 22:15:10 -0700

test/rv32: drop clang gate from bare-metal toy/parse lanes

The rv32 toy/parse exec lanes build the entire image with kit (kit cc /
kit as / kit ld) and the runtime archive via kit cc (RT_CC), then run
under qemu-system-riscv32. clang is never invoked on this path, yet
rv32_bare_setup refused to run unless the clang riscv32 target probe
passed. Gate on qemu-system-riscv32 alone and update the skip messages.

Diffstat:
Mtest/lib/exec_rv32_bare.sh | 8++++++--
Mtest/parse/run.sh | 2+-
Mtest/toy/run.sh | 2+-
3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/test/lib/exec_rv32_bare.sh b/test/lib/exec_rv32_bare.sh @@ -51,8 +51,12 @@ rv32_bare_setup() { local work="$1" RV32_BARE_OK=0 check_rv32_env >/dev/null 2>&1 - if [ "${RV32_HAVE_CLANG_TARGET:-0}" -ne 1 ] || - [ "${RV32_HAVE_QEMU_SYSTEM:-0}" -ne 1 ]; then + # The whole image (corpus, startup stub, wrapper, runtime archive, link) is + # built by kit — `kit cc` / `kit as` / `kit ld` — and run under + # qemu-system-riscv32, so the only external prerequisite is qemu. (clang is + # not invoked anywhere on this path; it remains a gate only for the smoke + # lane's ld.lld doctor in check_rv32_env.) + if [ "${RV32_HAVE_QEMU_SYSTEM:-0}" -ne 1 ]; then return 0 fi RV32_BARE_QEMU="${RV32_QEMU_SYSTEM_BIN:-qemu-system-riscv32}" diff --git a/test/parse/run.sh b/test/parse/run.sh @@ -366,7 +366,7 @@ kit_lane_E() { if [ "$TEST_ARCH" = "rv32" ]; then local exp_byte rc reason t0 dt run_rc if [ "${RV32_BARE_OK:-0}" -ne 1 ]; then - kit_skip "$KIT_NAME/E" "no rv32 runner (clang riscv32 + qemu-system-riscv32)" + kit_skip "$KIT_NAME/E" "no rv32 runner (qemu-system-riscv32)" return fi _parse_emit_obj || return diff --git a/test/toy/run.sh b/test/toy/run.sh @@ -322,7 +322,7 @@ cross_one_rv32() { local skip="${KIT_SRC%.toy}.rv32.skip" if [ -e "$skip" ]; then kit_skip "$label" "$(head -n1 "$skip")"; return; fi if [ "${RV32_BARE_OK:-0}" -ne 1 ]; then - kit_skip "$label" "no rv32 runner (clang riscv32 + qemu-system-riscv32)"; return; fi + kit_skip "$label" "no rv32 runner (qemu-system-riscv32)"; return; fi if grep -q 'asmnop' "$KIT_SRC" 2>/dev/null; then kit_skip "$label" "asmnop is target-specific before toy asm selectors"; return; fi obj="$KIT_WORK/$KIT_BASE.O$KIT_OPT.rv32.o"; cc_err="$KIT_WORK/rv32.cc.err"