-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Promote x86_64-unknown-none
to Tier 2
#499
Comments
This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed. cc @rust-lang/compiler @rust-lang/compiler-contributors |
Clarifying here: the exception you're referring to is "unless they cannot possibly be supported on the target"? (Not having an OS is not "lower baseline expectations for the OS". :) ) (I agree that you're meeting this requirement.) |
@rustbot second |
@apiraino Now that the FCP is over and there have been no objections, can this be merged? |
@rustbot label -final-comment-period +major-change-accepted |
Promote x86_64-unknown-none target to Tier 2 and distribute build artifacts This implements rust-lang/compiler-team#499 , in which the compiler team accepted the x86_64-unknown-none target for promotion to a Tier 2 platform.
Promote x86_64-unknown-none target to Tier 2 and distribute build artifacts This implements rust-lang/compiler-team#499 , in which the compiler team accepted the x86_64-unknown-none target for promotion to a Tier 2 platform.
Proposal
Promote the
x86_64-unknown-none
target to Tier 2.This target was originally proposed for Tier 3 in #462 and implemented in rust-lang/rust#89062 .
Tier 2 Target Requirements
This target is useful to anyone doing bare-metal development on x86-64, including kernels and firmware.
This target is maintained by @haraldh and @mikeleany .
Other than lacking an OS, this target is standard x86-64. This target deliberately does not support libstd, so it imposes no additional library burden.
Documentation is provided for building and testing.
Documentation is provided for platform requirements.
There are two similar Tier 3 targets:
x86_64-unknown-none-hermitkernel
andx86_64-unknown-none-linuxkernel
. The maintainers of the former are amenable to replacing their target withx86_64-unknown-none
: rust-lang/rust#90404. The maintainer of the latter also appears amenable to using a standardized target: rust-lang/rust#64051 (comment) . We envision thatx86_64-unknown-none
will supplant these two targets.This target qualifies for the listed exception. While libstd cannot be supported, there is no difficulty in supporting libcore.
I hope the compiler team will confirm, but as far as I am aware there is no deficiency in LLVM's ability to generate stack probes etc. for this target.
This target supports
extern "C"
via the System V calling convention (without red zones).We have not yet tried to build in CI, but I see no reason to suspect this will not be satisfied.
None of the other
unknown-none
targets appear to run any tests as part of CI.This is not anticipated.
This target does not provide host tools, so it exclusively supports cross-compiling.
Distributing this target does not involve distributing any new third-party code.
This target runs no tests.
Same as the previous.
Mentors or Reviewers
@joshtriplett
Process
The main points of the Major Change Process are as follows:
@rustbot second
.-C flag
, then full team check-off is required.@rfcbot fcp merge
on either the MCP or the PR.You can read more about Major Change Proposals on forge.
Comments
This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.
The text was updated successfully, but these errors were encountered: