Skip to content
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

Replace i686-unknown-redox target with i586-unknown-redox #136698

Merged
merged 3 commits into from
Feb 12, 2025

Conversation

jackpot51
Copy link
Contributor

This change is related to #136495

@rustbot

This comment was marked as resolved.

@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 Feb 7, 2025
@rustbot
Copy link
Collaborator

rustbot commented Feb 7, 2025

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

Some changes occurred in src/doc/rustc/src/platform-support

cc @Noratrieb

@jieyouxu
Copy link
Member

jieyouxu commented Feb 7, 2025

cc @RalfJung
r? compiler

@rustbot rustbot assigned oli-obk and unassigned GuillaumeGomez Feb 7, 2025
@jieyouxu jieyouxu added the O-redox Operating system: Redox, https://www.redox-os.org/ label Feb 7, 2025
@RalfJung
Copy link
Member

RalfJung commented Feb 7, 2025

Thanks! That would resolve the naming concern.

Should we make any arrangements for a transition period, like keep the old target around for a bit? (Not sure if we have a way to mark a target as "deprecated".)

@jieyouxu
Copy link
Member

jieyouxu commented Feb 7, 2025

Should we make any arrangements for a transition period, like keep the old target around for a bit? (Not sure if we have a way to mark a target as "deprecated".)

No dedicated infrastructure (yet). The closest approach I know of is the wasm32-wasip1 naming transition rust-lang/compiler-team#695, but that required careful manual transition implementation (ship alias, warning, blog posts, etc.).

@Noratrieb
Copy link
Member

One reason to keep the old target for a bit would be so that people can use the same config for stable and nightly, but given that this is tier 3 I expect everyone to use nightly anyways so just doing it directly seems fine.
@jackpot51 you can decide if you want to keep the old target around a bit or just have the old one.

I wouldn't bother with any warnings for this.

@jackpot51
Copy link
Contributor Author

There's no fundamental reason to keep the old target around. Redox OS upstream builds use a pinned nightly version, so we simply won't update it until the necessary changes here have been adapted to.

@Noratrieb Noratrieb added the relnotes Marks issues that should be documented in the release notes of the next release. label Feb 7, 2025
@rustbot
Copy link
Collaborator

rustbot commented Feb 10, 2025

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

Some changes occurred in src/doc/rustc/src/platform-support

cc @Noratrieb

@jackpot51 jackpot51 requested a review from RalfJung February 11, 2025 17:22
@RalfJung
Copy link
Member

LGTM, and you are target maintainer so we have that approval as well. Thanks for preparing the PR!

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Feb 11, 2025

📌 Commit 54c15eb has been approved by RalfJung

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 11, 2025
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Feb 12, 2025
Replace i686-unknown-redox target with i586-unknown-redox

This change is related to rust-lang#136495
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 12, 2025
…llaumeGomez

Rollup of 8 pull requests

Successful merges:

 - rust-lang#134981 ( Explain that in paths generics can't be set on both the enum and the variant)
 - rust-lang#136698 (Replace i686-unknown-redox target with i586-unknown-redox)
 - rust-lang#136767 (improve host/cross target checking)
 - rust-lang#136829 ([rustdoc] Move line numbers into the `<code>` directly)
 - rust-lang#136875 (Rustc dev guide subtree update)
 - rust-lang#136900 (compiler: replace `ExternAbi::name` calls with formatters)
 - rust-lang#136913 (Put kobzol back on review rotation)
 - rust-lang#136915 (documentation fix: `f16` and `f128` are not double-precision)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit c43a59f into rust-lang:master Feb 12, 2025
6 checks passed
@rustbot rustbot added this to the 1.86.0 milestone Feb 12, 2025
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 12, 2025
Rollup merge of rust-lang#136698 - jackpot51:i586-redox, r=RalfJung

Replace i686-unknown-redox target with i586-unknown-redox

This change is related to rust-lang#136495
github-actions bot pushed a commit to tautschnig/verify-rust-std that referenced this pull request Mar 11, 2025
…llaumeGomez

Rollup of 8 pull requests

Successful merges:

 - rust-lang#134981 ( Explain that in paths generics can't be set on both the enum and the variant)
 - rust-lang#136698 (Replace i686-unknown-redox target with i586-unknown-redox)
 - rust-lang#136767 (improve host/cross target checking)
 - rust-lang#136829 ([rustdoc] Move line numbers into the `<code>` directly)
 - rust-lang#136875 (Rustc dev guide subtree update)
 - rust-lang#136900 (compiler: replace `ExternAbi::name` calls with formatters)
 - rust-lang#136913 (Put kobzol back on review rotation)
 - rust-lang#136915 (documentation fix: `f16` and `f128` are not double-precision)

r? `@ghost`
`@rustbot` modify labels: rollup
github-actions bot pushed a commit to tautschnig/verify-rust-std that referenced this pull request Mar 11, 2025
…llaumeGomez

Rollup of 8 pull requests

Successful merges:

 - rust-lang#134981 ( Explain that in paths generics can't be set on both the enum and the variant)
 - rust-lang#136698 (Replace i686-unknown-redox target with i586-unknown-redox)
 - rust-lang#136767 (improve host/cross target checking)
 - rust-lang#136829 ([rustdoc] Move line numbers into the `<code>` directly)
 - rust-lang#136875 (Rustc dev guide subtree update)
 - rust-lang#136900 (compiler: replace `ExternAbi::name` calls with formatters)
 - rust-lang#136913 (Put kobzol back on review rotation)
 - rust-lang#136915 (documentation fix: `f16` and `f128` are not double-precision)

r? `@ghost`
`@rustbot` modify labels: rollup
wip-sync pushed a commit to NetBSD/pkgsrc-wip that referenced this pull request Apr 9, 2025
Upstream changes relative to 1.85.1:

Version 1.86.0 (2025-04-03)
==========================

Language
--------
- [Stabilize upcasting trait objects to supertraits.]
  (rust-lang/rust#134367)
- [Allow safe functions to be marked with the `#[target_feature]` attribute.]
  (rust-lang/rust#134090)
- [The `missing_abi` lint now warns-by-default.]
  (rust-lang/rust#132397)
- Rust now lints about double negations, to catch cases that might
  have intended to be a prefix decrement operator (`--x`) as written
  in other languages. This was previously a clippy lint,
  `clippy::double_neg`, and is [now available directly in Rust as
  `double_negations`.]
  (rust-lang/rust#126604)
- [More pointers are now detected as definitely not-null based on
  their alignment in const eval.]
  (rust-lang/rust#133700)
- [Empty `repr()` attribute applied to invalid items are now
  correctly rejected.]
  (rust-lang/rust#133925)
- [Inner attributes `#![test]` and `#![rustfmt::skip]` are no longer
  accepted in more places than intended.]
  (rust-lang/rust#134276)

Compiler
--------
- [Debug-assert that raw pointers are non-null on access.]
  (rust-lang/rust#134424)
- [Change `-O` to mean `-C opt-level=3` instead of `-C opt-level=2`
  to match Cargo's defaults.]
  (rust-lang/rust#135439)
- [Fix emission of `overflowing_literals` under certain macro environments.]
  (rust-lang/rust#136393)

Platform Support
----------------
- [Replace `i686-unknown-redox` target with `i586-unknown-redox`.]
  (rust-lang/rust#136698)
- [Increase baseline CPU of `i686-unknown-hurd-gnu` to Pentium 4.]
  (rust-lang/rust#136700)
- New tier 3 targets:
  - [`{aarch64-unknown,x86_64-pc}-nto-qnx710_iosock`]
    (rust-lang/rust#133631).
    For supporting Neutrino QNX 7.1 with `io-socket` network stack.
  - [`{aarch64-unknown,x86_64-pc}-nto-qnx800`]
    (rust-lang/rust#133631).
    For supporting Neutrino QNX 8.0 (`no_std`-only).
  - [`{x86_64,i686}-win7-windows-gnu`]
    (rust-lang/rust#134609).
    Intended for backwards compatibility with Windows 7.
    `{x86_64,i686}-win7-windows-msvc` are the Windows MSVC counterparts
    that already exist as Tier 3 targets.
  - [`amdgcn-amd-amdhsa`](rust-lang/rust#134740).
  - [`x86_64-pc-cygwin`](rust-lang/rust#134999).
  - [`{mips,mipsel}-mti-none-elf`]
    (rust-lang/rust#135074).
    Initial bare-metal support.
  - [`m68k-unknown-none-elf`](rust-lang/rust#135085).
  - [`armv7a-nuttx-{eabi,eabihf}`, `aarch64-unknown-nuttx`, and
    `thumbv7a-nuttx-{eabi,eabihf}`]
    (rust-lang/rust#135757).

Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

Libraries
---------
- The type of `FromBytesWithNulError` in `CStr::from_bytes_with_nul(bytes:
  &[u8]) -> Result<&Self, FromBytesWithNulError>` was [changed from
  an opaque struct to an enum]
  (rust-lang/rust#134143), allowing users
  to examine why the conversion failed.
- [Remove `RustcDecodable` and `RustcEncodable`.]
  (rust-lang/rust#134272)
- [Deprecate libtest's `--logfile` option.]
  (rust-lang/rust#134283)
- [On recent versions of Windows, `std::fs::remove_file` will now
  remove read-only files.]
  (rust-lang/rust#134679)

Stabilized APIs
---------------

- [`{float}::next_down`]
  (https://doc.rust-lang.org/stable/std/primitive.f64.html#method.next_down)
- [`{float}::next_up`]
  (https://doc.rust-lang.org/stable/std/primitive.f64.html#method.next_up)
- [`<[_]>::get_disjoint_mut`]
  (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.get_disjoint_mut)
- [`<[_]>::get_disjoint_unchecked_mut`]
  (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.get_disjoint_unchecked_mut)
- [`slice::GetDisjointMutError`]
  (https://doc.rust-lang.org/stable/std/slice/enum.GetDisjointMutError.html)
- [`HashMap::get_disjoint_mut`]
  (https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_mut)
- [`HashMap::get_disjoint_unchecked_mut`]
  (https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_unchecked_mut)
- [`NonZero::count_ones`]
  (https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.count_ones)
- [`Vec::pop_if`]
  (https://doc.rust-lang.org/std/vec/struct.Vec.html#method.pop_if)
- [`sync::Once::wait`]
  (https://doc.rust-lang.org/stable/std/sync/struct.Once.html#method.wait)
- [`sync::Once::wait_force`]
  (https://doc.rust-lang.org/stable/std/sync/struct.Once.html#method.wait_force)
- [`sync::OnceLock::wait`]
  (https://doc.rust-lang.org/stable/std/sync/struct.OnceLock.html#method.wait)

These APIs are now stable in const contexts:

- [`hint::black_box`]
  (https://doc.rust-lang.org/stable/std/hint/fn.black_box.html)
- [`io::Cursor::get_mut`]
  (https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_mut)
- [`io::Cursor::set_position`]
  (https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.set_position)
- [`str::is_char_boundary`]
  (https://doc.rust-lang.org/stable/std/primitive.str.html#method.is_char_boundary)
- [`str::split_at`]
  (https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at)
- [`str::split_at_checked`]
  (https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_checked)
- [`str::split_at_mut`]
  (https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_mut)
- [`str::split_at_mut_checked`]
  (https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_mut_checked)

Cargo
-----
- [When merging, replace rather than combine configuration keys
  that refer to a program path and its arguments.]
  (rust-lang/cargo#15066)
- [Error if both `--package` and `--workspace` are passed but the
  requested package is missing.]
  (rust-lang/cargo#15071) This was previously
  silently ignored, which was considered a bug since missing packages
  should be reported.
- [Deprecate the token argument in `cargo login` to avoid shell history leaks.]
  (rust-lang/cargo#15057)
- [Simplify the implementation of `SourceID` comparisons.]
  (rust-lang/cargo#14980) This may
  potentially change behavior if the canonicalized URL compares
  differently in alternative registries.

Rustdoc
-----
- [Add a sans-serif font setting.]
  (rust-lang/rust#133636)

Compatibility Notes
-------------------
- [The `wasm_c_abi` future compatibility warning is now a hard error.]
  (rust-lang/rust#133951)
  Users of `wasm-bindgen` should upgrade to at least version 0.2.89,
  otherwise compilation will fail.
- [Remove long-deprecated no-op attributes `#![no_start]` and `#![crate_id]`.]
  (rust-lang/rust#134300)
- [The future incompatibility lint `cenum_impl_drop_cast` has been
  made into a hard error.]
  (rust-lang/rust#135964) This means it is
  now an error to cast a field-less enum to an integer if the enum
  implements `Drop`.
- [SSE2 is now required for "i686" 32-bit x86 hard-float targets;
  disabling it causes a warning that will become a hard error
  eventually.]
  (rust-lang/rust#137037) To compile for
  pre-SSE2 32-bit x86, use a "i586" target instead.

Internal Changes
----------------

These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.

- [Build the rustc on AArch64 Linux with ThinLTO + PGO.]
  (rust-lang/rust#133807)
  The ARM 64-bit compiler (AArch64) on Linux is now optimized with
  ThinLTO and PGO, similar to the optimizations we have already
  performed for the x86-64 compiler on Linux. This should make it
  up to 30% faster.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O-redox Operating system: Redox, https://www.redox-os.org/ relnotes Marks issues that should be documented in the release notes of the next release. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.