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:
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"