runtime: support panic recovery on Xtensa

Use picolibc setjmp and longjmp to save and restore the complete
Xtensa register-window state at TinyGo panic checkpoints.

Provide the target configuration and window spill helper required by
picolibc. Increment its cache version because Xtensa archives now
include another source file.
This commit is contained in:
Jake Bailey
2026-09-04 09:46:55 -07:00
committed by Ron Evans
parent a96cc30257
commit b8b831cf5c
8 changed files with 102 additions and 22 deletions
@@ -0,0 +1,18 @@
#ifndef TINYGO_XTENSA_CONFIG_CORE_ISA_H
#define TINYGO_XTENSA_CONFIG_CORE_ISA_H
#ifdef __XTENSA_WINDOWED_ABI__
#define XCHAL_HAVE_WINDOWED 1
#else
#define XCHAL_HAVE_WINDOWED 0
#endif
#ifdef __XTENSA_EB__
#define XCHAL_HAVE_BE 1
#else
#define XCHAL_HAVE_BE 0
#endif
#define XCHAL_MAYHAVE_ERRATUM_XEA1KWIN 1
#endif