Skip to content

JSON target specs: remove 'x86-softfloat' compatibility alias#157151

Open
RalfJung wants to merge 2 commits into
rust-lang:mainfrom
RalfJung:x86-softfloat
Open

JSON target specs: remove 'x86-softfloat' compatibility alias#157151
RalfJung wants to merge 2 commits into
rust-lang:mainfrom
RalfJung:x86-softfloat

Conversation

@RalfJung
Copy link
Copy Markdown
Member

This got introduced in #151154 as a compatibility alias. It's been a few months, so seems fine to remove the compatibility alias now. JSON targets are anyway unstable.

Cc @Darksonn @ojeda as this may affect Linux

@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented May 30, 2026

These commits modify compiler targets.
(See the Target Tier Policy.)

The Miri subtree was changed

cc @rust-lang/miri

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels May 30, 2026
@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented May 30, 2026

r? @adwinwhite

rustbot has assigned @adwinwhite.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 73 candidates
  • Random selection from 17 candidates

@Darksonn
Copy link
Copy Markdown
Member

The relevant part of the RfL target is here.

if cfg.rustc_version_atleast(1, 86, 0) {
    ts.push("rustc-abi", "x86-softfloat");
}

It sounds like this should be updated to:

if cfg.rustc_version_atleast(1, 95, 0) {
    ts.push("rustc-abi", "softfloat");
} else if cfg.rustc_version_atleast(1, 86, 0) {
    ts.push("rustc-abi", "x86-softfloat");
}

@RalfJung
Copy link
Copy Markdown
Member Author

Yes, that looks right. And I guess we need a patch somewhere in the rustc tree to satisfy the RfL CI job. I'd appreciate help with preparing that patch. :)

@ojeda
Copy link
Copy Markdown
Contributor

ojeda commented May 30, 2026

Sounds good, I will prepare it.

ojeda added a commit to Rust-for-Linux/linux that referenced this pull request May 30, 2026
Starting with Rust 1.98.0 (expected 2026-08-20), the target spec will not
support `x86-softfloat` anymore [1]. Instead, `softfloat` should be used.

Thus conditionally use one or the other depending on the version.

The alias has been there since Rust 1.95.0 (released 2026-04-16).

Cc: Ralf Jung <post@ralfj.de>
Cc: Alice Ryhl <aliceryhl@google.com>
Link: rust-lang/rust#157151 [1]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
@ojeda
Copy link
Copy Markdown
Contributor

ojeda commented May 30, 2026

Please cherry-pick: ojeda@90f7e1c (not tested yet, though).

I used >= 1.98.0 since I would prefer to avoid changing how we build in existing compilers unless there is a reason not to (since we will need to backport it).

@rustbot label A-rust-for-linux

ojeda added a commit to ojeda/rust that referenced this pull request May 30, 2026
The compiler is removing the `x86-softfloat` [1], thus temporarily add
a patch.

As usual, the patch will eventually make it to the Linux kernel so that
both sides are good.

Cc: Ralf Jung <post@ralfj.de>
Cc: Alice Ryhl <aliceryhl@google.com>
Link: rust-lang#157151 [1]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
ojeda added a commit to ojeda/rust that referenced this pull request May 30, 2026
The compiler is removing `x86-softfloat` [1], thus temporarily add
a patch.

As usual, the patch will eventually make it to the Linux kernel so that
both sides are good.

Cc: Ralf Jung <post@ralfj.de>
Cc: Alice Ryhl <aliceryhl@google.com>
Link: rust-lang#157151 [1]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
@rustbot rustbot added the A-rust-for-linux Relevant for the Rust-for-Linux project label May 30, 2026
@RalfJung
Copy link
Copy Markdown
Member Author

I used >= 1.98.0 since I would prefer to avoid changing how we build in existing compilers unless there is a reason not to (since we will need to backport it).

Ether way seems entirely fine for me. This is mapped to the same constant in the compiler already while parsing the JSON so there's absolutely no difference between the two values for compilers that accept both.

The compiler is removing the `x86-softfloat` [1], thus temporarily add
a patch.

As usual, the patch will eventually make it to the Linux kernel so that
both sides are good.

Cc: Ralf Jung <post@ralfj.de>
Cc: Alice Ryhl <aliceryhl@google.com>
Link: rust-lang#157151 [1]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
@rustbot rustbot added A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels May 30, 2026
@ojeda
Copy link
Copy Markdown
Contributor

ojeda commented May 30, 2026

try-job: x86_64-rust-for-linux
@bors try

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request May 30, 2026
JSON target specs: remove 'x86-softfloat' compatibility alias
@RalfJung
Copy link
Copy Markdown
Member Author

RalfJung commented May 30, 2026

That won't work. You need to put the try-job: into the PR description or
@bors try job=x86_64-rust-for-linux

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request May 30, 2026
JSON target specs: remove 'x86-softfloat' compatibility alias


try-job: x86_64-rust-for-linux
@ojeda
Copy link
Copy Markdown
Contributor

ojeda commented May 30, 2026

Ah, I always try from a PR of my own, so I didn't know the try-job wouldn't be read from a comment by the bot, thanks!

Ok, I tested it locally, it works, so the CI here should also pass :)

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 30, 2026

☀️ Try build successful (CI)
Build commit: 6110fc5 (6110fc500e7c14a83bc0581d04e16b8c3b2556e5, parent: 6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-rust-for-linux Relevant for the Rust-for-Linux project A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants