Rollup merge of #128592 - evelynharthbrooke:master, r=Mark-Simulacrum

Promote aarch64-apple-darwin to Tier 1

This promotes aarch64-apple-darwin to Tier 1 status as per rust-lang/rfcs#3671 and tracking issue #73908. Not sure what else is necessary for this to impement the aforementioned RFC, however I figured I'd try. I did read in previous issues and PRs that the necessary infrastructure was already in place for the aarch64-apple-darwin target, and the RFC mentions the same. So this should be all thats necessary in order for the target to be promoted.

This is a recreation of my previous PR because I accidentally did an incorrect git rebase which caused unnecessary changes to various commit SHAs. So this PR is a recreation of my previous PR without said stumble. My bad.
This commit is contained in:
Matthias Krüger 2024-08-11 07:51:51 +02:00 committed by GitHub
commit bd7075c69e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 4 additions and 8 deletions

View File

@ -17,7 +17,7 @@ pub fn target() -> Target {
llvm_target: macos_llvm_target(arch).into(), llvm_target: macos_llvm_target(arch).into(),
metadata: crate::spec::TargetMetadata { metadata: crate::spec::TargetMetadata {
description: Some("ARM64 macOS (11.0+, Big Sur+)".into()), description: Some("ARM64 macOS (11.0+, Big Sur+)".into()),
tier: Some(2), tier: Some(1),
host_tools: Some(true), host_tools: Some(true),
std: Some(true), std: Some(true),
}, },

View File

@ -194,6 +194,7 @@ pub(crate) fn is_ci_llvm_available(config: &Config, asserts: bool) -> bool {
let supported_platforms = [ let supported_platforms = [
// tier 1 // tier 1
("aarch64-unknown-linux-gnu", false), ("aarch64-unknown-linux-gnu", false),
("aarch64-apple-darwin", false),
("i686-pc-windows-gnu", false), ("i686-pc-windows-gnu", false),
("i686-pc-windows-msvc", false), ("i686-pc-windows-msvc", false),
("i686-unknown-linux-gnu", false), ("i686-unknown-linux-gnu", false),
@ -202,7 +203,6 @@ pub(crate) fn is_ci_llvm_available(config: &Config, asserts: bool) -> bool {
("x86_64-pc-windows-gnu", true), ("x86_64-pc-windows-gnu", true),
("x86_64-pc-windows-msvc", true), ("x86_64-pc-windows-msvc", true),
// tier 2 with host tools // tier 2 with host tools
("aarch64-apple-darwin", false),
("aarch64-pc-windows-msvc", false), ("aarch64-pc-windows-msvc", false),
("aarch64-unknown-linux-musl", false), ("aarch64-unknown-linux-musl", false),
("arm-unknown-linux-gnueabi", false), ("arm-unknown-linux-gnueabi", false),

View File

@ -33,6 +33,7 @@ All tier 1 targets with host tools support the full standard library.
target | notes target | notes
-------|------- -------|-------
`aarch64-unknown-linux-gnu` | ARM64 Linux (kernel 4.1, glibc 2.17+) `aarch64-unknown-linux-gnu` | ARM64 Linux (kernel 4.1, glibc 2.17+)
[`aarch64-apple-darwin`](platform-support/apple-darwin.md) | ARM64 macOS (11.0+, Big Sur+)
`i686-pc-windows-gnu` | 32-bit MinGW (Windows 10+, Windows Server 2016+) [^x86_32-floats-return-ABI] `i686-pc-windows-gnu` | 32-bit MinGW (Windows 10+, Windows Server 2016+) [^x86_32-floats-return-ABI]
`i686-pc-windows-msvc` | 32-bit MSVC (Windows 10+, Windows Server 2016+) [^x86_32-floats-return-ABI] `i686-pc-windows-msvc` | 32-bit MSVC (Windows 10+, Windows Server 2016+) [^x86_32-floats-return-ABI]
`i686-unknown-linux-gnu` | 32-bit Linux (kernel 3.2+, glibc 2.17+) [^x86_32-floats-return-ABI] `i686-unknown-linux-gnu` | 32-bit Linux (kernel 3.2+, glibc 2.17+) [^x86_32-floats-return-ABI]
@ -86,7 +87,6 @@ so Rustup may install the documentation for a similar tier 1 target instead.
target | notes target | notes
-------|------- -------|-------
[`aarch64-apple-darwin`](platform-support/apple-darwin.md) | ARM64 macOS (11.0+, Big Sur+)
`aarch64-pc-windows-msvc` | ARM64 Windows MSVC `aarch64-pc-windows-msvc` | ARM64 Windows MSVC
`aarch64-unknown-linux-musl` | ARM64 Linux with musl 1.2.3 `aarch64-unknown-linux-musl` | ARM64 Linux with musl 1.2.3
`arm-unknown-linux-gnueabi` | Armv6 Linux (kernel 3.2, glibc 2.17) `arm-unknown-linux-gnueabi` | Armv6 Linux (kernel 3.2, glibc 2.17)

View File

@ -5,9 +5,6 @@ Apple macOS targets.
**Tier: 1** **Tier: 1**
- `x86_64-apple-darwin`: macOS on 64-bit x86. - `x86_64-apple-darwin`: macOS on 64-bit x86.
**Tier: 2 (with Host Tools)**
- `aarch64-apple-darwin`: macOS on ARM64 (M1-family or later Apple Silicon CPUs). - `aarch64-apple-darwin`: macOS on ARM64 (M1-family or later Apple Silicon CPUs).
## Target maintainers ## Target maintainers

View File

@ -212,7 +212,6 @@ degree documented below):
- All Rust [Tier 1 targets](https://doc.rust-lang.org/rustc/platform-support.html) are supported by - All Rust [Tier 1 targets](https://doc.rust-lang.org/rustc/platform-support.html) are supported by
Miri. They are all checked on Miri's CI, and some (at least one per OS) are even checked on every Miri. They are all checked on Miri's CI, and some (at least one per OS) are even checked on every
Rust PR, so the shipped Miri should always work on these targets. Rust PR, so the shipped Miri should always work on these targets.
- `aarch64-apple-darwin` is supported.
- `s390x-unknown-linux-gnu` is supported as our "big-endian target of choice". - `s390x-unknown-linux-gnu` is supported as our "big-endian target of choice".
- For every other target with OS `linux`, `macos`, or `windows`, Miri should generally work, but we - For every other target with OS `linux`, `macos`, or `windows`, Miri should generally work, but we
make no promises and we don't run tests for such targets. make no promises and we don't run tests for such targets.

View File

@ -137,7 +137,7 @@ case $HOST_TARGET in
MANY_SEEDS=16 TEST_TARGET=x86_64-pc-windows-gnu run_tests MANY_SEEDS=16 TEST_TARGET=x86_64-pc-windows-gnu run_tests
;; ;;
aarch64-apple-darwin) aarch64-apple-darwin)
# Host (tier 2) # Host
GC_STRESS=1 MIR_OPT=1 MANY_SEEDS=64 TEST_BENCH=1 CARGO_MIRI_ENV=1 run_tests GC_STRESS=1 MIR_OPT=1 MANY_SEEDS=64 TEST_BENCH=1 CARGO_MIRI_ENV=1 run_tests
# Extra tier 1 # Extra tier 1
MANY_SEEDS=64 TEST_TARGET=i686-pc-windows-gnu run_tests MANY_SEEDS=64 TEST_TARGET=i686-pc-windows-gnu run_tests