← board

make test-esp-bare — the esp32s3 (xtensa) leg emits NO UART output

Symptom

esp32c3 bare-boot ok (UART output == x86-64 oracle)
--- /tmp/test_esp_bare.oracle
+++ /tmp/test_esp_bare.s3
@@ -1,3 +0,0 @@
-hello esp32 bare
-12345
--42
esp32s3 bare-boot MISMATCH

The esp32c3 leg (riscv32) passes. The esp32s3 leg (xtensa) produces an empty output file — not wrong output, no output. That shape (nothing at all, rather than a corrupted line) points at boot/UART bring-up or the harness, not at codegen of the three statements being printed.

NOT a b340 regression — verified

Reproduced with a compiler built from 51968776 (the commit before the 2026-07-14 session started), so it predates b338/b339/b340. The b340 xtensa change (the raise stub records its return address; IR_EXC_CLEAR zeroes the new slot) is not implicated: this test does not raise, and the failure is identical without it.

Not filed as a b340 blocker for that reason — but it means the xtensa leg of the cross gate has been giving no signal, which is worth more than the test itself.

Where to start

Gate

make test-esp-bare green on BOTH legs (esp32c3 + esp32s3).

Log