On 2020-06-22, Apple announced that future computers will utilize Arm processors instead of x86_64 processors. This is the tracking issue for supporting that platform, commonly referred to as Apple Silicon.
⚠️ Don't rely on this thread to decide whether to purchase Apple Silicon hardware. ⚠️
The Rust project does not make any guarantee on the level of support the compiler has.
Current status summary (2022-07-05)
-
There is no timeline for any level of support.
-
aarch64-apple-darwin is a tier 2 target and is available for download via rustup. This compiler can be used to cross-compile from x86_64-apple-darwin as well as running natively on Arm.
-
Compiler tests are not being run at this point, as CI has no way of executing them. This is a blocker for Tier 1 support.
-
The x86_64 version of rustc works under Rosetta, producing x86_64 binaries that themselves run under Rosetta.
About tracking issues
Tracking issues are used to record the overall progress of implementation. They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is not meant for large scale discussion, questions, or bug reports about a feature. Instead, join the discussion and/or contribute in the #t-compiler/arm Zulip stream or open a new issue for bug reports. You are encouraged to comment here to link to related issues.
This tracking issue will be closely moderated in an attempt to maintain a high signal-to-noise ratio.
Steps
This is not yet intended to be an exhaustive or even accurate list of steps.
Resolved Questions
- The infra team does not want to maintain our own hardware / VMs. This means solutions like MacStadium, AWS, or "putting our own hardware under someone's desk" are non-starters.
Unresolved Questions
This is not yet intended to be an exhaustive or even accurate list of questions.
Implementation history
On 2020-06-22, Apple announced that future computers will utilize Arm processors instead of x86_64 processors. This is the tracking issue for supporting that platform, commonly referred to as Apple Silicon.
Current status summary (2022-07-05)
There is no timeline for any level of support.
aarch64-apple-darwinis a tier 2 target and is available for download via rustup. This compiler can be used to cross-compile fromx86_64-apple-darwinas well as running natively on Arm.Compiler tests are not being run at this point, as CI has no way of executing them. This is a blocker for Tier 1 support.
The x86_64 version of
rustcworks under Rosetta, producing x86_64 binaries that themselves run under Rosetta.About tracking issues
Tracking issues are used to record the overall progress of implementation. They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is not meant for large scale discussion, questions, or bug reports about a feature. Instead, join the discussion and/or contribute in the #t-compiler/arm Zulip stream or open a new issue for bug reports. You are encouraged to comment here to link to related issues.
This tracking issue will be closely moderated in an attempt to maintain a high signal-to-noise ratio.
Steps
This is not yet intended to be an exhaustive or even accurate list of steps.
Find out if there is anyone inside the compiler team with the time to drive the effort forward. This will allow us to efficiently allocate the Developer Transition Kits (DTK), if we end up receiving any. There are no members of the compiler team actively working on thisWait for proper support to be upstreamed into LLVM, and update the Rust compiler to pull the latest version of LLVM.$INODE64symbol names to x86 and x86_64 libc#1817 (in libc 0.2.73)aarch64-apple-darwin.Resolved Questions
Unresolved Questions
This is not yet intended to be an exhaustive or even accurate list of questions.
arm64e?Implementation history