Remove +outline-atomics from arm64 linux #643
Labels
major-change
A proposal to make a major change to rustc
T-compiler
Add this label so rfcbot knows to poll the compiler team
Proposal
Remove
-C target-feature=+outline-atomics
from the default target spec foraarch64-unknown-linux-gnu
. In particular, the following targets would be affected:See rust-lang/rust#109064 for a detailed writeup of why I want to do this; tl;dr it introduces a hard dependency on LLVM's compiler-rt, which means that the
compiler_builtins
crate is broken in dev builds of the compiler itself, as well as when usingcargo -Zbuild-std
. The only downside of this change I can see is that it makes atomics slightly slower on aarch64.Alternatives
outline-atomics
on aarch64.compiler_builtins
without libc. This looks tricky but not impossible;+outline-atomics
violates "core shall not depend on libc" rust#109064 (comment) has suggestions. Unfortunately it appears to not be possible on all targets, so this will also hurt portability:+outline-atomics
violates "core shall not depend on libc" rust#109064 (comment)compiler_builtins
, using the target libc. This will keep the dependency on libc for the target, but will solve most of the pain for build-std andx check --target aarch64-unknown-linux-gnu
.Mentors or Reviewers
@workingjubilee, possibly @thomcc
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: