Stream: wasmtime

Topic: Wasmtime-fiber on RISCV32


view this post on Zulip Antoine Lavandier (Oct 22 2025 at 11:16):

Hi, I was trying to run wasmtime with async on an ESP32-C6 which has a 32 bits RISCV architecture. This failed because the stack switching from wasmtime-fiber is not implemented for riscv32. It is however for riscv64 so my question is two fold :

view this post on Zulip bjorn3 (Oct 22 2025 at 12:18):

To support Wasmtime on riscv32 you also need Cranelift support for this, which like any new architecture is non-trivial to add. There are currently no plans to add it that I'm aware of. External contributions may be accepted, but please check with one of the Cranelift maintainers to be sure. Also see #cranelift > Creating a new instruction set for a toy architecture @ 💬

view this post on Zulip Antoine Lavandier (Oct 22 2025 at 12:24):

Isn't cranelift support kind of orthogonal ? I am using wasmtime with success on platforms not directly supported by cranelift, 32 bit ARM Cortex M (ARMv6-M and ARMv7-M), through the pullley32 "target"

view this post on Zulip bjorn3 (Oct 22 2025 at 12:27):

Right. Doesn't look like it would be too hard to port wasmtime-fiber.

view this post on Zulip Antoine Lavandier (Oct 22 2025 at 12:27):

And for the record, wasmtime does work on RISCV 32 bits, the stack switching from wasmtime-fiberdoesn't (and hence the async feature from wasmtime)

view this post on Zulip Alex Crichton (Oct 22 2025 at 14:37):

Current maintainers aren't experts/maintainers of riscv32, so we rely on contributions for support like this. It in theory wouldn't be too hard to add such support for someone knowledgable about riscv32 assembly, and PRs are always welcome!


Last updated: Dec 06 2025 at 06:05 UTC