← board

ESP bare: try/except (raise currently terminates)

Problem

On --esp-profile=bare (both chips) the exception runtime is a stub: ExcSetJmp/ExcLongJmp/ExcRaise all point at EmitExit(1) — a raise parks the program instead of unwinding to a handler. Programs COMPILE cleanly, so the gap only shows at runtime. Hosted riscv32 got the real setjmp/longjmp frames on 2026-07-03; the bare profile can reuse the riscv32 machinery verbatim (nothing about it is hosted-specific — no syscalls except the unhandled message, which bare should route to UART or skip). xtensa needs its own stub set (windowed ABI needs care: register windows must be spilled before a longjmp-style sp rewind).

Acceptance

Log