-
Notifications
You must be signed in to change notification settings - Fork 180
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
Fix nightly WASM target #5799
Fix nightly WASM target #5799
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Context, please?
Older nightlies, including the one we were using in CI when I last checked a few months ago, do not support the wasip1
target.
https://unicode-org.slack.com/archives/C06K24H8XHQ/p1731075306932339 CI passes on the PR |
@sffc Rustc has been working on renaming wasm-wasi to wasm-wasip1 for a while (there's a wasip2 target being introduced as well, hence the rename). Our build has warned on this for a while but we haven't noticed since it's in CI. |
Okay, I understand "wasip1" and why we want to use it; I just don't know "why now". The pinned nightly that we had been using for a long time, about a year old, did not support "wasip1" last I checked. I don't know how big the window was of nightlies that supported both "wasi" and "wasip1". I guess the latest nightly out last night dropped "wasi" backwards compatibility support? |
Yes. |
See rust-lang/rust#132562: wasip1 introduced in January, and wasi removed a few days ago. |
That seems like a fairly aggressive schedule, especially considering Currently our So this is a bit unfortunate of timing. But I guess if CI works, we can ignore it and hope things are okay |
@sffc I think it would be fine to mention the Xcode thing on that PR, people who care about LLVM versions have heavy overlap with people doing wasm stuff. I agree that the schedule feels aggressive, it felt aggressive to me as well. |
Surprised it didn't show up with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this PR might not break things in the short term because I believe our WASM LLVM size tests use wasm32-unknown-unknown
, not wasm32-wasi
. However, I did notice one bug in one of the changes, which should have been caught earlier.
@@ -30,7 +30,7 @@ wasm_obj/icu4c/%.o: $(ICU4C_SOURCE)/%.cpp | |||
wasm_obj/ucptrie_wrap.o: ucptrie_wrap.cpp | |||
mkdir -p wasm_obj | |||
$(CXX) --target=wasm32-unknown-wasi \ | |||
-I/usr/include/wasm32-wasi \ | |||
-I/usr/include/wasm32-wasip1 \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Issue: This is impacting the include path of clang++
, not Rust
Well we do link C++ together with Rust on a WASI target in the codepointtrie builder code. So it may be difficult to rebuild the codepointtrie builder WASM with this change. Hopefully we won't need to do that again soon. |
|
@sffc Target availability is explicitly excluded from the stability promises, due to it needing to match timing decisions of other organizations outside of Rust's control https://doc.rust-lang.org/rustc/target-tier-policy.html?highlight=hard%20stability%20guarantee#general |
No description provided.