-
Notifications
You must be signed in to change notification settings - Fork 71
Description
Proposal
Promote the aarch64-unknown-freebsd target to Tier 2 with host tools.
Based on my testing, the compiler support (rustc test suite coverage) is the same as x86_64-unknown-freebsd, and the two targets are very similar as far as anything Rust-specific goes. I do not see any technical reason why aarch64 should be Tier 3 while x86_64 should be Tier 2, nor would I expect there to be any maintenance burden added by upgrading the target.
I have already written and tested a patch to add CI support for cross-compiling host tools for this target, and I am happy to post it provided that this proposal is accepted and the infrastructure team agrees to add the target to the CI.
Tier 2 requirements
Copying from the tier 2 target policy (parts omitted for brevity):
A tier 2 target must have value to people other than its maintainers.
There is growing interest in and support for FreeBSD on aarch64. aarch64 is now a Tier 1 target for FreeBSD, and it is being actively developed. At the same time, there is growing interest in Rust on FreeBSD, with discussions being had about including it in the base system, proof of concept FreeBSD kernel modules being written in Rust and the like. Lacking better support for Rust on aarch64 could be an obstacle to wider adoption of Rust on FreeBSD in general.
A tier 2 target must have a designated team of developers. This team must have at least 2 developers.
The target already has two maintainers - @asomers and @MikaelUrankar.
The target must not place undue burden on Rust developers not specifically concerned with that target.
I do not expect this proposal to introduce any burdens outside of those already present through x86_64-unknown-freebsd.
The target must provide documentation for the Rust community explaining how to build for the target using cross-compilation, and explaining how to run tests for the target.
The FreeBSD documentation already covers all required information.
I believe all aarch64-specific aspects are already covered by aarch64-unknown-linux-gnu, while all FreeBSD-specific aspects are already covered by x86_64-unknown-freebsd. Between those two targets already being higher tier, this proposal effectively only adds a new combination of already supported platforms, rather than a brand new platform that requires additional considerations.
Process
The main points of the Major Change Process are as follows:
- File an issue describing the proposal.
- A compiler team member who is knowledgeable in the area can second by writing
@rustbot secondor kickoff a team FCP with@rfcbot fcp $RESOLUTION.- Refer to Proposals, Approvals and Stabilization docs for when a second is sufficient, or when a full team FCP is required.
- Once an MCP is seconded, the Final Comment Period begins.
- Final Comment Period lasts for 10 days after all outstanding concerns are solved.
- Outstanding concerns will block the Final Comment Period from finishing. Once all concerns are resolved, the 10 day countdown is restarted.
- If no concerns are raised after 10 days since the resolution of the last outstanding concern, the MCP is considered approved.
You can read more about Major Change Proposals on forge.