Skip to content

Conversation

@magic-akari
Copy link

@rami3l
Copy link
Member

rami3l commented Oct 10, 2025

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 rustup-init.sh can be modified to detect this new host target as well, similar to x86_64-pc-windows-gnu.

@rami3l rami3l self-assigned this Oct 11, 2025
@rami3l
Copy link
Member

rami3l commented Oct 11, 2025

@djc So the current situation in terms of the download support of this new target is:

  • libcurl is not buildable, but you are dropping it anyway?
  • aws-lc is not buildable, but I think I can ask the aws-lc people to look into it.

Could it be alright, say, for certain builds to use reqwest on native-tls exclusively?

@djc
Copy link
Contributor

djc commented Oct 13, 2025

@djc So the current situation in terms of the download support of this new target is:

  • libcurl is not buildable, but you are dropping it anyway?

Last I remember you didn't want to go there just yet?

  • aws-lc is not buildable, but I think I can ask the aws-lc people to look into it.

That would probably be useful.

Could it be alright, say, for certain builds to use reqwest on native-tls exclusively?

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.

@rami3l
Copy link
Member

rami3l commented Oct 14, 2025

  • libcurl is not buildable, but you are dropping it anyway?

Last I remember you didn't want to go there just yet?

@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 rustup as a workaround, except the installation experience might be a bit different.

Given that, it is not necessary for us to address the libcurl error here and now.

@ChrisDenton
Copy link
Member

What is the reason for preferring gnullvm builds? Does it really matter if rustup is built using msvc, gnu or gnullvm?

@rami3l
Copy link
Member

rami3l commented Nov 15, 2025

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.

Copilot AI review requested due to automatic review settings December 8, 2025 02:24
Copy link

Copilot AI left a 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.

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

Successfully merging this pull request may close these issues.

Support for aarch64-pc-windows-gnullvm

4 participants