From fc2014469db2ffbb53427eb2f3ad06bc7fbce07b Mon Sep 17 00:00:00 2001 From: Noratrieb <48135649+Noratrieb@users.noreply.github.com> Date: Wed, 12 Mar 2025 20:40:38 +0100 Subject: [PATCH 1/3] Add blog post about i686-pc-windows-gnu demotion --- content/demoting-i686-pc-windows-gnu.md | 43 +++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 content/demoting-i686-pc-windows-gnu.md diff --git a/content/demoting-i686-pc-windows-gnu.md b/content/demoting-i686-pc-windows-gnu.md new file mode 100644 index 000000000..7c959d7dd --- /dev/null +++ b/content/demoting-i686-pc-windows-gnu.md @@ -0,0 +1,43 @@ ++++ +layout = "post" +date = 2025-03-12 +title = "Demoting i686-pc-windows-gnu" +author = "Noratrieb" +team = "Compiler Team " ++++ + +In Rust 1.87.0, the Tier 1 target `i686-pc-windows-gnu` will be demoted to Tier 2. +As a Tier 2 Target, builds will continue to be distributed for both the standard library and the compiler for now. + +## Background + +Rust has supported Windows for a long time, with two different flavors of Windows targets: MSVC-based and GNU-based. MSVC-based targets (for example the most popular Windows target `x86_64-pc-windows-msvc`) use Microsoft’s native linker and libraries, while GNU-based targets (like `i686-pc-windows-gnu`) are built entirely from free software components like `gcc`, `ld`, and MinGW. + +The major reason to use a GNU-based toolchain instead of the native MSVC-based one is cross-compilation and licensing. `link.exe` only runs on Windows (barring Wine hacks) and requires a license for commercial usage. + +`x86_64-pc-windows-gnu` and `i686-pc-windows-gnu` are currently both Tier 1 with host tools. +The [Target Tier Policy] contains more details on what this entails, but the most important part is that tests for these targets are being run on every merged PR. +This is the highest level of support we have, and is only used for the most high value targets (the most popular Linux, Windows, and Apple targets). + +The `*-windows-gnu` targets currently do not have any dedicated target maintainers. +We do not have a lot of expertise for this toolchain, and issues often aren't fixed and cause problems in CI that we have a hard time to debug. + +The 32-bit version of this target is especially problematic and has significantly less usage than `x86_64-pc-windows-gnu`, which is why it's being demoted to Tier 2. + +## What is changed? + +After Rust 1.87.0, `i686-pc-windows-gnu` will now be Tier 2 with host tools. +For users, nothing will change immediately. Builds of both the standard library and the compiler will still be distributed by the Rust Project for use via `rustup` or alterantive installation methods. + +This does mean that in the future, this target will likely accumulate bugs faster because of the reduced testing. + +## Future + +If no maintainers are found and the `*-windows-gnu` targets continue causing problems, they may be demoted further. +No concrete plans about this have been made yet. + +If you rely on the `*-windows-gnu` targets and have expertise in this area, we would be very happy to have you as a target maintainer. You can check the [Target Tier Policy] for what exactly that would entail. + +For more details on the motivation of the demotion, see [RFC 3771](https://rust-lang.github.io/rfcs/3771-demote-i686-pc-windows-gnu.html) which proposed this change. + +[Target Tier Policy]: https://doc.rust-lang.org/nightly/rustc/target-tier-policy.html From 7d26df078a027e4766cae2c19c268ede5ac31d64 Mon Sep 17 00:00:00 2001 From: Noratrieb <48135649+Noratrieb@users.noreply.github.com> Date: Mon, 24 Mar 2025 20:01:15 +0100 Subject: [PATCH 2/3] feedback --- content/demoting-i686-pc-windows-gnu.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/demoting-i686-pc-windows-gnu.md b/content/demoting-i686-pc-windows-gnu.md index 7c959d7dd..c65e7e4b3 100644 --- a/content/demoting-i686-pc-windows-gnu.md +++ b/content/demoting-i686-pc-windows-gnu.md @@ -1,17 +1,17 @@ +++ layout = "post" date = 2025-03-12 -title = "Demoting i686-pc-windows-gnu" +title = "Demoting i686-pc-windows-gnu to Tier 2" author = "Noratrieb" team = "Compiler Team " +++ In Rust 1.87.0, the Tier 1 target `i686-pc-windows-gnu` will be demoted to Tier 2. -As a Tier 2 Target, builds will continue to be distributed for both the standard library and the compiler for now. +As a Tier 2 Target, builds will continue to be distributed for both the standard library and the compiler. ## Background -Rust has supported Windows for a long time, with two different flavors of Windows targets: MSVC-based and GNU-based. MSVC-based targets (for example the most popular Windows target `x86_64-pc-windows-msvc`) use Microsoft’s native linker and libraries, while GNU-based targets (like `i686-pc-windows-gnu`) are built entirely from free software components like `gcc`, `ld`, and MinGW. +Rust has supported Windows for a long time, with two different flavors of Windows targets: MSVC-based and GNU-based. MSVC-based targets (for example the most popular Windows target `x86_64-pc-windows-msvc`) use Microsoft’s native linker and libraries, while GNU-based targets (like `i686-pc-windows-gnu`) are built entirely from free software components like `gcc`, `ld`, and mingw-w64. The major reason to use a GNU-based toolchain instead of the native MSVC-based one is cross-compilation and licensing. `link.exe` only runs on Windows (barring Wine hacks) and requires a license for commercial usage. @@ -22,12 +22,12 @@ This is the highest level of support we have, and is only used for the most high The `*-windows-gnu` targets currently do not have any dedicated target maintainers. We do not have a lot of expertise for this toolchain, and issues often aren't fixed and cause problems in CI that we have a hard time to debug. -The 32-bit version of this target is especially problematic and has significantly less usage than `x86_64-pc-windows-gnu`, which is why it's being demoted to Tier 2. +The 32-bit version of this target is especially problematic and has significantly less usage than `x86_64-pc-windows-gnu`, which is why `i686-pc-windows-gnu` is being demoted to Tier 2. ## What is changed? After Rust 1.87.0, `i686-pc-windows-gnu` will now be Tier 2 with host tools. -For users, nothing will change immediately. Builds of both the standard library and the compiler will still be distributed by the Rust Project for use via `rustup` or alterantive installation methods. +For users, nothing will change immediately. Builds of both the standard library and the compiler will still be distributed by the Rust Project for use via `rustup` or alternative installation methods. This does mean that in the future, this target will likely accumulate bugs faster because of the reduced testing. From 330598e01b49712e9bc252133bc19e6c2bd1d74c Mon Sep 17 00:00:00 2001 From: Noratrieb <48135649+Noratrieb@users.noreply.github.com> Date: Thu, 3 Apr 2025 19:59:01 +0200 Subject: [PATCH 3/3] train --- content/demoting-i686-pc-windows-gnu.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/demoting-i686-pc-windows-gnu.md b/content/demoting-i686-pc-windows-gnu.md index c65e7e4b3..c17b9c5ff 100644 --- a/content/demoting-i686-pc-windows-gnu.md +++ b/content/demoting-i686-pc-windows-gnu.md @@ -6,7 +6,7 @@ author = "Noratrieb" team = "Compiler Team " +++ -In Rust 1.87.0, the Tier 1 target `i686-pc-windows-gnu` will be demoted to Tier 2. +In Rust 1.88.0, the Tier 1 target `i686-pc-windows-gnu` will be demoted to Tier 2. As a Tier 2 Target, builds will continue to be distributed for both the standard library and the compiler. ## Background @@ -26,7 +26,7 @@ The 32-bit version of this target is especially problematic and has significantl ## What is changed? -After Rust 1.87.0, `i686-pc-windows-gnu` will now be Tier 2 with host tools. +After Rust 1.88.0, `i686-pc-windows-gnu` will now be Tier 2 with host tools. For users, nothing will change immediately. Builds of both the standard library and the compiler will still be distributed by the Rust Project for use via `rustup` or alternative installation methods. This does mean that in the future, this target will likely accumulate bugs faster because of the reduced testing.