Demote i686-pc-windows-gnu to Tier 2
In accordance with RFC 3771. I also added a stub doc page for the target and renamed the windows-gnullvm page for consistency.
This commit is contained in:
parent
4f0de4c81d
commit
6a1f57d095
9 changed files with 46 additions and 43 deletions
|
@ -20,7 +20,7 @@ pub(crate) fn target() -> Target {
|
|||
llvm_target: "i686-pc-windows-gnu".into(),
|
||||
metadata: TargetMetadata {
|
||||
description: Some("32-bit MinGW (Windows 10+)".into()),
|
||||
tier: Some(1),
|
||||
tier: Some(2),
|
||||
host_tools: Some(true),
|
||||
std: Some(true),
|
||||
},
|
||||
|
|
|
@ -120,10 +120,6 @@ ci-msvc: ci-msvc-py ci-msvc-ps1
|
|||
# Set of tests that should represent half of the time of the test suite.
|
||||
# Used to split tests across multiple CI runners.
|
||||
# Test both x and bootstrap entrypoints.
|
||||
ci-mingw-x-1:
|
||||
$(Q)$(CFG_SRC_DIR)/x test --stage 2 $(SKIP_COMPILER) $(TEST_SET2)
|
||||
ci-mingw-x-2:
|
||||
$(Q)$(CFG_SRC_DIR)/x test --stage 2 $(SKIP_SRC) $(TEST_SET2)
|
||||
ci-mingw-x:
|
||||
$(Q)$(CFG_SRC_DIR)/x test --stage 2 $(TEST_SET1)
|
||||
ci-mingw-bootstrap:
|
||||
|
|
|
@ -47,7 +47,7 @@ COPY host-x86_64/mingw-check/validate-error-codes.sh /scripts/
|
|||
ENV SCRIPT \
|
||||
python3 ../x.py check --stage 0 --set build.optimized-compiler-builtins=false core alloc std --target=aarch64-unknown-linux-gnu,i686-pc-windows-msvc,i686-unknown-linux-gnu,x86_64-apple-darwin,x86_64-pc-windows-gnu,x86_64-pc-windows-msvc && \
|
||||
/scripts/check-default-config-profiles.sh && \
|
||||
python3 ../x.py check --target=i686-pc-windows-gnu --host=i686-pc-windows-gnu && \
|
||||
python3 ../x.py check --target=x86_64-pc-windows-gnu --host=x86_64-pc-windows-gnu && \
|
||||
python3 ../x.py clippy ci && \
|
||||
python3 ../x.py build --stage 0 src/tools/build-manifest && \
|
||||
python3 ../x.py test --stage 0 src/tools/compiletest && \
|
||||
|
|
|
@ -62,7 +62,6 @@ case $HOST_TARGET in
|
|||
# See <https://github.com/rust-lang/rust/issues/127883>
|
||||
# For now, these tests are moved to `x86_64-msvc-ext2` in `src/ci/github-actions/jobs.yml`.
|
||||
#python3 "$X_PY" test --stage 2 src/tools/miri --target aarch64-apple-darwin --test-args pass
|
||||
#python3 "$X_PY" test --stage 2 src/tools/miri --target i686-pc-windows-gnu --test-args pass
|
||||
;;
|
||||
*)
|
||||
echo "FATAL: unexpected host $HOST_TARGET"
|
||||
|
|
|
@ -501,7 +501,7 @@ auto:
|
|||
env:
|
||||
SCRIPT: >
|
||||
python x.py test --stage 2 src/tools/miri --target aarch64-apple-darwin --test-args pass &&
|
||||
python x.py test --stage 2 src/tools/miri --target i686-pc-windows-gnu --test-args pass &&
|
||||
python x.py test --stage 2 src/tools/miri --target x86_64-pc-windows-gnu --test-args pass &&
|
||||
python x.py miri --stage 2 library/core --test-args notest &&
|
||||
python x.py miri --stage 2 library/alloc --test-args notest &&
|
||||
python x.py miri --stage 2 library/std --test-args notest
|
||||
|
@ -533,31 +533,6 @@ auto:
|
|||
# came from the mingw-w64 SourceForge download site. Unfortunately
|
||||
# SourceForge is notoriously flaky, so we mirror it on our own infrastructure.
|
||||
|
||||
# i686-mingw is split into three jobs to run tests in parallel.
|
||||
- name: i686-mingw-1
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
|
||||
SCRIPT: make ci-mingw-x-1
|
||||
# There is no dist-i686-mingw-alt, so there is no prebuilt LLVM with assertions
|
||||
NO_DOWNLOAD_CI_LLVM: 1
|
||||
<<: *job-windows-25
|
||||
|
||||
- name: i686-mingw-2
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
|
||||
SCRIPT: make ci-mingw-x-2
|
||||
# There is no dist-i686-mingw-alt, so there is no prebuilt LLVM with assertions
|
||||
NO_DOWNLOAD_CI_LLVM: 1
|
||||
<<: *job-windows-25
|
||||
|
||||
- name: i686-mingw-3
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
|
||||
SCRIPT: make ci-mingw-bootstrap
|
||||
# There is no dist-i686-mingw-alt, so there is no prebuilt LLVM with assertions
|
||||
NO_DOWNLOAD_CI_LLVM: 1
|
||||
<<: *job-windows-25
|
||||
|
||||
# x86_64-mingw is split into two jobs to run tests in parallel.
|
||||
- name: x86_64-mingw-1
|
||||
env:
|
||||
|
|
|
@ -103,7 +103,6 @@
|
|||
- [s390x-unknown-linux-musl](platform-support/s390x-unknown-linux-musl.md)
|
||||
- [sparc-unknown-none-elf](./platform-support/sparc-unknown-none-elf.md)
|
||||
- [solaris](platform-support/solaris.md)
|
||||
- [\*-pc-windows-gnullvm](platform-support/pc-windows-gnullvm.md)
|
||||
- [\*-nto-qnx-\*](platform-support/nto-qnx.md)
|
||||
- [\*-unikraft-linux-musl](platform-support/unikraft-linux-musl.md)
|
||||
- [\*-unknown-hermit](platform-support/hermit.md)
|
||||
|
@ -122,6 +121,8 @@
|
|||
- [wasm32-unknown-unknown](platform-support/wasm32-unknown-unknown.md)
|
||||
- [wasm32v1-none](platform-support/wasm32v1-none.md)
|
||||
- [wasm64-unknown-unknown](platform-support/wasm64-unknown-unknown.md)
|
||||
- [windows-gnu](platform-support/windows-gnu.md)
|
||||
- [windows-gnullvm](platform-support/windows-gnullvm.md)
|
||||
- [\*-win7-windows-gnu](platform-support/win7-windows-gnu.md)
|
||||
- [\*-win7-windows-msvc](platform-support/win7-windows-msvc.md)
|
||||
- [x86_64-fortanix-unknown-sgx](platform-support/x86_64-fortanix-unknown-sgx.md)
|
||||
|
|
|
@ -34,11 +34,10 @@ target | notes
|
|||
-------|-------
|
||||
[`aarch64-apple-darwin`](platform-support/apple-darwin.md) | ARM64 macOS (11.0+, Big Sur+)
|
||||
`aarch64-unknown-linux-gnu` | ARM64 Linux (kernel 4.1, glibc 2.17+)
|
||||
`i686-pc-windows-gnu` | 32-bit MinGW (Windows 10+, Windows Server 2016+, Pentium 4) [^x86_32-floats-return-ABI]
|
||||
`i686-pc-windows-msvc` | 32-bit MSVC (Windows 10+, Windows Server 2016+, Pentium 4) [^x86_32-floats-return-ABI]
|
||||
`i686-unknown-linux-gnu` | 32-bit Linux (kernel 3.2+, glibc 2.17+, Pentium 4) [^x86_32-floats-return-ABI]
|
||||
[`x86_64-apple-darwin`](platform-support/apple-darwin.md) | 64-bit macOS (10.12+, Sierra+)
|
||||
`x86_64-pc-windows-gnu` | 64-bit MinGW (Windows 10+, Windows Server 2016+)
|
||||
[`x86_64-pc-windows-gnu`](platform-support/windows-gnu.md) | 64-bit MinGW (Windows 10+, Windows Server 2016+)
|
||||
`x86_64-pc-windows-msvc` | 64-bit MSVC (Windows 10+, Windows Server 2016+)
|
||||
`x86_64-unknown-linux-gnu` | 64-bit Linux (kernel 3.2+, glibc 2.17+)
|
||||
|
||||
|
@ -96,6 +95,7 @@ target | notes
|
|||
[`armv7-unknown-linux-ohos`](platform-support/openharmony.md) | Armv7-A OpenHarmony
|
||||
[`loongarch64-unknown-linux-gnu`](platform-support/loongarch-linux.md) | LoongArch64 Linux, LP64D ABI (kernel 5.19, glibc 2.36)
|
||||
[`loongarch64-unknown-linux-musl`](platform-support/loongarch-linux.md) | LoongArch64 Linux, LP64D ABI (kernel 5.19, musl 1.2.5)
|
||||
[`i686-pc-windows-gnu`](platform-support/windows-gnu.md) | 32-bit MinGW (Windows 10+, Windows Server 2016+, Pentium 4) [^x86_32-floats-return-ABI]
|
||||
`powerpc-unknown-linux-gnu` | PowerPC Linux (kernel 3.2, glibc 2.17)
|
||||
`powerpc64-unknown-linux-gnu` | PPC64 Linux (kernel 3.2, glibc 2.17)
|
||||
[`powerpc64le-unknown-linux-gnu`](platform-support/powerpc64le-unknown-linux-gnu.md) | PPC64LE Linux (kernel 3.10, glibc 2.17)
|
||||
|
@ -143,7 +143,7 @@ target | std | notes
|
|||
[`aarch64-apple-ios-macabi`](platform-support/apple-ios-macabi.md) | ✓ | Mac Catalyst on ARM64
|
||||
[`aarch64-apple-ios-sim`](platform-support/apple-ios.md) | ✓ | Apple iOS Simulator on ARM64
|
||||
[`aarch64-linux-android`](platform-support/android.md) | ✓ | ARM64 Android
|
||||
[`aarch64-pc-windows-gnullvm`](platform-support/pc-windows-gnullvm.md) | ✓ | ARM64 MinGW (Windows 10+), LLVM ABI
|
||||
[`aarch64-pc-windows-gnullvm`](platform-support/windows-gnullvm.md) | ✓ | ARM64 MinGW (Windows 10+), LLVM ABI
|
||||
[`aarch64-unknown-fuchsia`](platform-support/fuchsia.md) | ✓ | ARM64 Fuchsia
|
||||
`aarch64-unknown-none` | * | Bare ARM64, hardfloat
|
||||
`aarch64-unknown-none-softfloat` | * | Bare ARM64, softfloat
|
||||
|
@ -166,7 +166,7 @@ target | std | notes
|
|||
`i586-unknown-linux-gnu` | ✓ | 32-bit Linux (kernel 3.2, glibc 2.17, original Pentium) [^x86_32-floats-x87]
|
||||
`i586-unknown-linux-musl` | ✓ | 32-bit Linux (musl 1.2.3, original Pentium) [^x86_32-floats-x87]
|
||||
[`i686-linux-android`](platform-support/android.md) | ✓ | 32-bit x86 Android ([Pentium 4 plus various extensions](https://developer.android.com/ndk/guides/abis.html#x86)) [^x86_32-floats-return-ABI]
|
||||
[`i686-pc-windows-gnullvm`](platform-support/pc-windows-gnullvm.md) | ✓ | 32-bit x86 MinGW (Windows 10+, Pentium 4), LLVM ABI [^x86_32-floats-return-ABI]
|
||||
[`i686-pc-windows-gnullvm`](platform-support/windows-gnullvm.md) | ✓ | 32-bit x86 MinGW (Windows 10+, Pentium 4), LLVM ABI [^x86_32-floats-return-ABI]
|
||||
[`i686-unknown-freebsd`](platform-support/freebsd.md) | ✓ | 32-bit x86 FreeBSD (Pentium 4) [^x86_32-floats-return-ABI]
|
||||
`i686-unknown-linux-musl` | ✓ | 32-bit Linux with musl 1.2.3 (Pentium 4) [^x86_32-floats-return-ABI]
|
||||
[`i686-unknown-uefi`](platform-support/unknown-uefi.md) | ? | 32-bit UEFI (Pentium 4, softfloat)
|
||||
|
@ -202,7 +202,7 @@ target | std | notes
|
|||
[`x86_64-fortanix-unknown-sgx`](platform-support/x86_64-fortanix-unknown-sgx.md) | ✓ | [Fortanix ABI] for 64-bit Intel SGX
|
||||
[`x86_64-linux-android`](platform-support/android.md) | ✓ | 64-bit x86 Android
|
||||
[`x86_64-pc-solaris`](platform-support/solaris.md) | ✓ | 64-bit x86 Solaris 11.4
|
||||
[`x86_64-pc-windows-gnullvm`](platform-support/pc-windows-gnullvm.md) | ✓ | 64-bit x86 MinGW (Windows 10+), LLVM ABI
|
||||
[`x86_64-pc-windows-gnullvm`](platform-support/windows-gnullvm.md) | ✓ | 64-bit x86 MinGW (Windows 10+), LLVM ABI
|
||||
[`x86_64-unknown-fuchsia`](platform-support/fuchsia.md) | ✓ | 64-bit x86 Fuchsia
|
||||
`x86_64-unknown-linux-gnux32` | ✓ | 64-bit Linux (x32 ABI) (kernel 4.15, glibc 2.27)
|
||||
[`x86_64-unknown-none`](platform-support/x86_64-unknown-none.md) | * | Freestanding/bare-metal x86_64, softfloat
|
||||
|
|
32
src/doc/rustc/src/platform-support/windows-gnu.md
Normal file
32
src/doc/rustc/src/platform-support/windows-gnu.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
# \*-windows-gnu
|
||||
|
||||
**⚠️ This documentation page is a stub, you can help improving it by sending a PR. ⚠️**
|
||||
|
||||
**Tier: 1/2 (with host tools)**
|
||||
|
||||
Target triples available:
|
||||
- `i686-pc-windows-gnu`: Tier 2
|
||||
- `x86_64-pc-windows-gnu`: Tier 1
|
||||
|
||||
## Target maintainers
|
||||
|
||||
**⚠️ These targets do not have any maintainers and are not properly maintained. ⚠️**
|
||||
|
||||
If you are using this target, consider signing up to become a target maintainer.
|
||||
See the target tier policy for details.
|
||||
Without maintainers, these targets may be demoted in the future.
|
||||
|
||||
## Requirements
|
||||
|
||||
These targets support std and host tools.
|
||||
|
||||
Unlike their MSVC counterparts, windows-gnu targets support cross-compilation and are free of all MSVC licensing implications.
|
||||
|
||||
They follow Windows calling convention for `extern "C"`.
|
||||
|
||||
Like with any other Windows target, created binaries are in PE format.
|
||||
|
||||
## Building Rust programs
|
||||
|
||||
Rust does ship a pre-compiled std library for those targets.
|
||||
That means one can easily compile and cross-compile for those targets from other hosts if C proper toolchain is installed.
|
|
@ -1,8 +1,8 @@
|
|||
# \*-pc-windows-gnullvm
|
||||
# \*-windows-gnullvm
|
||||
|
||||
**Tier: 2 (without host tools)**
|
||||
|
||||
Windows targets similar to `*-pc-windows-gnu` but using UCRT as the runtime and various LLVM tools/libraries instead of GCC/Binutils.
|
||||
Windows targets similar to `*-windows-gnu` but using UCRT as the runtime and various LLVM tools/libraries instead of GCC/Binutils.
|
||||
|
||||
Target triples available so far:
|
||||
- `aarch64-pc-windows-gnullvm`
|
||||
|
@ -17,9 +17,9 @@ Target triples available so far:
|
|||
## Requirements
|
||||
|
||||
The easiest way to obtain these targets is cross-compilation, but native build from `x86_64-pc-windows-gnu` is possible with few hacks which I don't recommend.
|
||||
Std support is expected to be on par with `*-pc-windows-gnu`.
|
||||
Std support is expected to be on par with `*-windows-gnu`.
|
||||
|
||||
Binaries for this target should be at least on par with `*-pc-windows-gnu` in terms of requirements and functionality.
|
||||
Binaries for this target should be at least on par with `*-windows-gnu` in terms of requirements and functionality.
|
||||
|
||||
Those targets follow Windows calling convention for `extern "C"`.
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue