-
Notifications
You must be signed in to change notification settings - Fork 993
ci: add support for aarch64-pc-windows-gnullvm target #4523
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
base: main
Are you sure you want to change the base?
Conversation
|
Looks like we are blocked by the upstream in a few places; I can take it from there in terms of contacting them. Thanks :) PS: It'd be nice if |
|
@djc So the current situation in terms of the download support of this new target is:
Could it be alright, say, for certain builds to use |
Last I remember you didn't want to go there just yet?
That would probably be useful.
Yeah, I guess we're going to need that workaround for a while given the lack of support from aws-lc-rs for a bunch of these targets. |
@djc Yes, but the thing is we can totally merge this in the next release cycle. As I understand it the need for this target is useful but not essential; current ARM64 Windows users can use the MSVC build of Given that, it is not necessary for us to address the |
bb28581 to
2c9b4a0
Compare
|
What is the reason for preferring gnullvm builds? Does it really matter if rustup is built using msvc, gnu or gnullvm? |
@ChrisDenton The past convention is that targets with at least tier 2 with host tools are expected to have a respective rustup build. For Windows I understand that this is a bit pointless since the user would usually download the MSVC build... But we already have a x64 GNU ABI build anyway. My POV in this is not that we really want to start distributing for this platform and how much ROI we can get from that, but rather anyone who wishes to develop this tool using that host target is supposed to get a perfectly normal build. |
This reverts commit 4c1876c.
2c9b4a0 to
c7605f4
Compare
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.
Pull request overview
This PR adds support for the aarch64-pc-windows-gnullvm Rust target, which uses LLVM's libc instead of the GNU toolchain for Windows ARM64 builds.
- Adds automatic target detection in rustup-init.sh to use gnullvm for Windows aarch64
- Configures CI pipelines to build and test the new target
- Includes a workaround for aws-lc-sys bindings generation
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| rustup-init.sh | Adds logic to automatically detect and set pc-windows-gnullvm as the OS type for aarch64 CPUs on Windows |
| ci/cloudfront-invalidation.txt | Adds CloudFront invalidation paths for the new aarch64-pc-windows-gnullvm distribution artifacts |
| ci/actions-templates/windows-builds-template.yaml | Adds the new target to the build matrix with appropriate configuration and AWS_LC_SYS workaround |
| .github/workflows/ci.yaml | Generated workflow file with the new target added to all three job variants (PR, main, stable) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
aarch64-pc-windows-gnullvm#3297