lucet-wasi support for newer WASI snapshots
acfoltzer opened this issue · 1 comments
The WASI ecosystem is evolving quickly, for example with Rust 1.41.0 using wasi_snapshot_preview1
rather than wasi_unstable
. To keep up, we are going to either have to keep moving to the latest version of WASI, or else start supporting multiple versions. Sticking to the latest version will mean breaking backwards compatibility for older modules, but supporting multiple versions will be complex.
Further complicating this is the fact that some parts of the ecosystem are yielding Wasm binaries that import multiple WASI snapshots. For example, a Rust program compiled with 1.40.0 that uses wasi = "0.9.0"
as a dependency will include imports for both wasi_snapshot_preview1
and wasi_unstable
. This kind of scrambles my brain, because it's like compiling a native program against multiple libcs, but I believe @pchickey has some ideas for how we might cut through some of the complexity with witx
and wiggle
.
I do think support multi-version is necessary for the Backward compatibility reason. and version can be limit as 3 or 4 versions. with separated folders for easy compiling.