wasi-sdk icon indicating copy to clipboard operation
wasi-sdk copied to clipboard

Is there any plan to support --target=wasm64-wasi ?

Open renxuqiang opened this issue 4 years ago • 10 comments

when --target=wasm64-wasi will be supported?

renxuqiang avatar Nov 30 '21 09:11 renxuqiang

Duplicate of https://github.com/WebAssembly/wasi-sdk/issues/185

vshymanskyy avatar Dec 21 '21 10:12 vshymanskyy

Yes, everything in LLVM's wasm support and wasi-libc was written with wasm64 in mind, so it's just a matter of hooking up the pieces and making sure things actually work.

sunfishcode avatar Dec 21 '21 16:12 sunfishcode

Nooby question: building a code which uses f64s to wasm32-wasi - Would that lead to errors/unexpected behaviour or is that fine?

AnatolyBuga avatar Oct 09 '22 20:10 AnatolyBuga

f64 is perfectly fine with wasm32-wasi. i64 is fine too.

sunfishcode avatar Oct 10 '22 00:10 sunfishcode

wasm64-wasi in wasi-sdk could use some help: if anyone is interested in working on this feel free to pick this up.

abrown avatar Aug 22 '23 22:08 abrown

The guidance from the WASI Subgroup is that wasm64-wasi should now target WASI 0.2, so the path forward here now looks like:

  • Support for 64-bit pointers and lengths in the Canonical ABI. I'm optimistic this will happen fairly soon.
  • Implement the 64-bit Canonical ABI in wit-bindgen.
  • Support for WASI 0.2 in wasi-libc, which is underway (https://github.com/WebAssembly/wasi-libc/pull/471 and others).
  • Once the above are done, add a wasm64-wasi target to wasi-libc.

sunfishcode avatar Feb 13 '24 18:02 sunfishcode

Support for 64-bit pointers and lengths in the Canonical ABI.

Could u share more about that? It seems there are no new comments in https://github.com/WebAssembly/component-model/issues/22 for monthes.

lum1n0us avatar Mar 05 '24 08:03 lum1n0us

The CanonicalABI change will be conceptually straightforward; things like the size function need to be aware that a list has a pointer and a length, and so on.

https://github.com/bytecodealliance/wit-bindgen/pull/870 gets wit-bindgen a step closer to memory64 support. Beyond this, its size/etc. functions also need to know that a list has a pointer and a length.

sunfishcode avatar Mar 05 '24 14:03 sunfishcode