Add aarch64-pc-windows-gnullvm target for Rust - #14488
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the Windows Rust installation script to ensure the aarch64-pc-windows-gnullvm Rust target is available on ARM64 runner images, improving compatibility with ecosystems (e.g., msys2) that use clang-based ARM64 toolchains on Windows.
Changes:
- Add
rustup target add aarch64-pc-windows-gnullvmwhen building ARM64 Windows images.
|
Thanks for getting to this first, @jeroen 👍 — this is exactly the right fix. I'd opened #14493 for the same target before I spotted yours, so I'm closing mine in favour of this one. One thing worth adding while we're here: a small assertion in In $rustTargetNames = if (Test-IsArm64) {
@("aarch64-pc-windows-msvc", "aarch64-pc-windows-gnullvm")
} else {
@("i686-pc-windows-msvc", "x86_64-pc-windows-gnu")
}
$rustTargets = $rustTargetNames | ForEach-Object { @{ Target = $_ } }and alongside the other It "<Target> rustup target is installed" -TestCases $rustTargets {
(rustup target list --installed) | Should -Contain $Target
}Either way — thanks again! 🙏 |
Open source ecosystems based on msys2 use clang-arm64 toolchains , which require the
aarch64-pc-windows-gnullvmtarget in rust. We also need this for the R project.This is basically the native target on arm64 for most oss projects, it is a bit surprising it is not installed.