Open
Description
Description
This issue is to track known issues in the early WASI-enabled runtime builds. These need to be resolved in order to have a proper supportable WASI-ready release.
- Add
wasi-wasm
RID - Build
System.Native
using WASI SDK instead of using the Emscripten-built binary.- MSbuild files for it and generate
wasm_m2n_invoke.g.h
- Enable p/invokes to all APIs exposed by
System.Native
. Currently there's a small hardcoded list. - [wasi] compile with libs.native #79046
- MSbuild files for it and generate
- Create nuget package for WASI-SDK (
dotnet/wasi-sdk
) - Add WASI runtime as XHarness target
- Enable GC finalizers. Currently the finalizer thread isn't started (see
mono_gc_finalize_notify
ingc.c
).- fix stack range WASI gc - fix stack range #80456
- Support .NET threads on threading-enabled wasm runtimes. This includes updating the
synthetic-pthread.c
code to support having separate pthread keys for each thread instead of a single global list. - [mono][wasi] Fix ALC support, See the WASI comment in
ves_icall_System_Reflection_Assembly_InternalLoad
. #95137 - create ICU transport package and use it
- Added wasi-sdk flow icu#307
- Add wasi-wasm in icu package icu#309
- Icu wasi package #81345
- make it work on wasmedge Get issue while running with Wasmedge dotnet-wasi-sdk#5 Wasm build hangs when using WasmEdge #85429
- make it work on wasmer How to run web app with wasmer dotnet-wasi-sdk#6
- create WASM module import from any
[DLLImport]
which doesn't match known static native symbols #86984 - maybe create WASM module export from
[UnmanagedCallersOnly]
#86985 - do we need vitual file system ? [wasi] do we need VFS #81418
- [mono][wasi] WASI size improvements #94803
- Mono AOT Support
- [WASI] sockets #106977
- [WASI] System.Net.NameResolution #107351
- [wasi] wasi:http + WasiHttpHandler #103752
- WASI TLS [WASI] Options for implementing wasi-tls proposal #109569
- WASI HTTP/2, gRPC see Additions to support gRPC WebAssembly/wasi-http#128
- WASI preview 3 async see Ship WASIp3
- WASI Crypto https://github.com/WebAssembly/wasi-crypto
Build
- Have a real CI build (including some test)
and a public distribution mechanism. - Produce binaries into experimental workload , in similar way as we do for multi-threading WASM ([wasi] Add
wasi-experimental
workload,wasiconsole
template, andWasi.Build.Tests
#81849) - wasi templates ([wasi] Add
wasi-experimental
workload,wasiconsole
template, andWasi.Build.Tests
#81849) - WasmAppHost support ([wasi] Add
wasi-experimental
workload,wasiconsole
template, andWasi.Build.Tests
#81849) - wasi.build.tests ([wasi] Add
wasi-experimental
workload,wasiconsole
template, andWasi.Build.Tests
#81849) - App builder, merged targets etc ([wasi] Add
wasi-experimental
workload,wasiconsole
template, andWasi.Build.Tests
#81849)