-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Fixes for 32-bit SPARC on Linux #126907
Fixes for 32-bit SPARC on Linux #126907
Conversation
While at it, order the list of architectures alphabetically.
While at it, order the list of architectures alphabetically.
These commits modify compiler targets. This PR changes how LLVM is built. Consider updating src/bootstrap/download-ci-llvm-stamp. |
This comment has been minimized.
This comment has been minimized.
While at it, order the list of architectures alphabetically.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
The previously -mv8plus parameter is supported by GCC only, so let's use something that the SPARC backend in LLVM supports as well.
Seems reasonable enough. Thank you! |
@bors r+ |
Fixes for 32-bit SPARC on Linux This PR fixes a number of issues which previously prevented `rustc` from being built successfully for 32-bit SPARC using the `sparc-unknown-linux-gnu` triplet. In particular, it adds linking against `libatomic` where necessary, uses portable `AtomicU64` for `rustc_data_structures` and rewrites the spec for `sparc_unknown_linux_gnu` to use `TargetOptions` and replaces the previously used `-mv8plus` with the more portable `-mcpu=v9 -m32`. To make `rustc` build successfully, support for 32-bit SPARC needs to be added to the `object` crate as well as the `nix` crate which I will be sending out later as well. r? nagisa
…mpiler-errors Rollup of 7 pull requests Successful merges: - rust-lang#126893 (Eliminate the distinction between PREC_POSTFIX and PREC_PAREN precedence level) - rust-lang#126907 (Fixes for 32-bit SPARC on Linux) - rust-lang#126932 (Tweak `FlatPat::new` to avoid a temporarily-invalid state) - rust-lang#126934 (fix broken build cache caused by rustdoc builds) - rust-lang#126943 (De-duplicate all consecutive native libs regardless of their options) - rust-lang#126946 (Add missing slash in `const_eval_select` doc comment) - rust-lang#126947 (Delegation: ast lowering refactor) r? `@ghost` `@rustbot` modify labels: rollup
☀️ Test successful - checks-actions |
Finished benchmarking commit (536235f): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (primary -2.0%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 696.052s -> 694.809s (-0.18%) |
This PR fixes a number of issues which previously prevented
rustc
from being builtsuccessfully for 32-bit SPARC using the
sparc-unknown-linux-gnu
triplet.In particular, it adds linking against
libatomic
where necessary, uses portableAtomicU64
for
rustc_data_structures
and rewrites the spec forsparc_unknown_linux_gnu
to useTargetOptions
and replaces the previously used-mv8plus
with the more portable-mcpu=v9 -m32
.To make
rustc
build successfully, support for 32-bit SPARC needs to be added to theobject
crate as well as the
nix
crate which I will be sending out later as well.r? nagisa