Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit a673f2e

Browse filesBrowse files
authored
Merge pull request #1523 from Noratrieb/demoting-i686-pc-windows-gnu
Add blog post about i686-pc-windows-gnu demotion
2 parents de97b4c + 52c05fa commit a673f2e
Copy full SHA for a673f2e

File tree

Expand file treeCollapse file tree

1 file changed

+46
-0
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+46
-0
lines changed
+46Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
+++
2+
path = "2025/05/26/demoting-i686-pc-windows-gnu"
3+
title = "Demoting i686-pc-windows-gnu to Tier 2"
4+
authors = ["Noratrieb"]
5+
aliases = []
6+
7+
[extra]
8+
team = "Compiler Team"
9+
team_url = "https://www.rust-lang.org/governance/teams/compiler"
10+
+++
11+
12+
In Rust 1.88.0, the Tier 1 target `i686-pc-windows-gnu` will be demoted to Tier 2.
13+
As a Tier 2 Target, builds will continue to be distributed for both the standard library and the compiler.
14+
15+
## Background
16+
17+
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.
18+
19+
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.
20+
21+
`x86_64-pc-windows-gnu` and `i686-pc-windows-gnu` are currently both Tier 1 with host tools.
22+
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.
23+
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).
24+
25+
The `*-windows-gnu` targets currently do not have any dedicated target maintainers.
26+
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.
27+
28+
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.
29+
30+
## What is changed?
31+
32+
After Rust 1.88.0, `i686-pc-windows-gnu` will now be Tier 2 with host tools.
33+
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.
34+
35+
This does mean that in the future, this target will likely accumulate bugs faster because of the reduced testing.
36+
37+
## Future
38+
39+
If no maintainers are found and the `*-windows-gnu` targets continue causing problems, they may be demoted further.
40+
No concrete plans about this have been made yet.
41+
42+
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.
43+
44+
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.
45+
46+
[Target Tier Policy]: https://doc.rust-lang.org/nightly/rustc/target-tier-policy.html

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.