Add Windows GNU AArch64 target support
- Dominant language
- Rust
- Stars
- 53
- Forks
- 16
- Avg merge
- 4h 22m
- Merged PRs (30d)
- 46
Description
Companion to #385 for standard-library providers. This issue covers compiler, object, linker, and ABI support rather than the std API.
## Target contract
Support exact AArch64 MinGW triples, starting with `aarch64-w64-windows-gnu`. Add a `pc` alias only if the toolchain ecosystem uses and validates it.
## Scope
- Add the target registry entry and AArch64 LLVM feature coverage.
- Emit ARM64 COFF objects and select the correct LLD/MinGW linker flavor.
- Implement the Windows ARM64 C ABI classifier; do not assume the Darwin/Linux AAPCS64 classifier is sufficient.
- Discover or accept an explicit MinGW AArch64 sysroot.
- Add PE/COFF machine validation and a C interop fixture.
- Add compile/link CI when a maintained runner or cross toolchain is available.
## Completion criteria
- [ ] target-list/spec and dry-run output are correct.
- [ ] Generated objects report ARM64 COFF.
- [ ] Scalar, aggregate, return, and variadic C ABI cases are covered.
- [ ] Missing runtime pieces produce a structured sysroot/toolchain error.
- [ ] Existing x86_64 Windows GNU and #292 MSVC work remain distinct.
Contributor guide
Research direction
Start with the target-list/spec and dry-run output, then compare the existing x86_64 Windows GNU support with the distinct #292 MSVC work. Investigate the target registry, LLVM feature coverage, PE/COFF validation, linker selection, sysroot handling, and C interop fixture; done means all listed target, object, ABI, error, and CI criteria pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system, ci-cd, compilers, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100