fix(wasm): boot real firmware past allocator and signature crashes

Drop EMULATE_FUNCTION_POINTER_CASTS (it broke the wasm32 TCG ffi_call_js
path with BigInt errors) and fix the underlying function-pointer signature
mismatches instead: object_class_cmp GCompareFunc, esp_sha hash-callback
wrappers, and an xts_aes NULL guard in the ESP32-C3 cache. Backport the
upstream Emscripten anonymous-RAM allocator fix. Firmware now boots and
initializes the X3 panel; a post-init boot stall remains.
This commit is contained in:
2026-07-20 08:03:59 -04:00
parent 0683c1b1c1
commit 9eceacea17
5 changed files with 178 additions and 11 deletions
+3 -2
View File
@@ -38,8 +38,9 @@ X4 SPI traffic confirmed the firmware selected its SSD1677 driver.
`make qemu-wasm` produces the Emscripten module, WASM binary, and pthread worker
under `dist/wasm/`; Node smoke checks confirm `xteink` is registered and its
browser framebuffer/input bridge initializes. `make web` serves a dependency-free
UI for firmware, canvas, and buttons. Real firmware execution remains blocked by
an Emscripten libffi/function-pointer signature error.
UI for firmware, canvas, and buttons. Real firmware now boots past the allocator
and function-pointer crashes and initializes the X3 panel, but still stalls
before painting a full home screen.
### Device selection (X3 vs X4)