Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wasm features enabled by default with wasi-sdk clang #122

Closed
sbc100 opened this issue Apr 11, 2020 · 4 comments
Closed

wasm features enabled by default with wasi-sdk clang #122

sbc100 opened this issue Apr 11, 2020 · 4 comments

Comments

@sbc100
Copy link
Member

sbc100 commented Apr 11, 2020

I'm currently looking at adding a few features to the default CPU in llvm: https://reviews.llvm.org/D77908

I'm guessing that wasi-sdk users are mostly targeting wasmtime and wasmer which should not have a problem with any stage 5 features I guess? So its probably fine, but wanted to raise this issue in case anyone has any concerns.

If we want to be conservative we could have wasi-sdk clang default to the mvp CPU maybe?

@sunfishcode
Copy link
Member

I expect nontrapping-float-to-int and sign-extension-ops are fine to just enable.

For multi-value, let's talk through how we want to manage the transition first. The new C struct return ABI is behind a separate flag, though the LLVM struct return ABI does change with -mmulti-value. We'll want to transition to the new C struct return ABI by default, and we'll want to transition witx and WASI to using multi-value returns. There are enough moving pieces here that I'd prefer to have a plan before we make changes.

@kripken
Copy link
Member

kripken commented Apr 12, 2020

I expect nontrapping-float-to-int and sign-extension-ops are fine to just enable.

I hear about people running wasi-sdk code in wasm3, v8, WAMR, etc. v8 and wasm3 at least support those two, but I'm not sure about the others (and if they've enabled them by default).

(I guess in the worst case bugs will be filed...)

@vshymanskyy
Copy link

I think it should be safe to enable finished proposals by default: https://github.com/WebAssembly/proposals/blob/master/finished-proposals.md
With additional flags to disable them.

@sunfishcode
Copy link
Member

Let's continue the conversation in WebAssembly/tool-conventions#158.

wasi-sdk doesn't have any patches against upstream, so wasi-sdk will do whatever LLVM does, and that's now being discussed in WebAssembly/tool-conventions#158.

kildom pushed a commit to kildom/clang-wasi-port that referenced this issue Jul 14, 2021
`bind_textdomain_codeset` without the rest of libintl.h isn't useful
without the rest of gettext.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants