lucet icon indicating copy to clipboard operation
lucet copied to clipboard

lucet-wasi support for newer WASI snapshots

Open acfoltzer opened this issue 4 years ago • 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.

acfoltzer avatar Feb 01 '20 01:02 acfoltzer

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.

tomzhang avatar May 08 '20 02:05 tomzhang