From 4489d5e893a4c4dbf6158ec226a1332c2a7db808 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Mon, 20 Jul 2020 10:05:50 -0700 Subject: [PATCH 1/4] Update i686/x86_64 linux-gnu minimum requirements The versions were raised to kernel 2.6.32 and glibc 2.11 in . --- src/release/platform-support.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/release/platform-support.md b/src/release/platform-support.md index f03ea7683..71df575c1 100644 --- a/src/release/platform-support.md +++ b/src/release/platform-support.md @@ -22,11 +22,11 @@ target | std | rustc | cargo | notes -------|-----|-------|-------|------- `i686-pc-windows-gnu` | ✓ | ✓ | ✓ | 32-bit MinGW (Windows 7+) `i686-pc-windows-msvc` | ✓ | ✓ | ✓ | 32-bit MSVC (Windows 7+) -`i686-unknown-linux-gnu` | ✓ | ✓ | ✓ | 32-bit Linux (2.6.18+) +`i686-unknown-linux-gnu` | ✓ | ✓ | ✓ | 32-bit Linux (kernel 2.6.32+, glibc 2.11+) `x86_64-apple-darwin` | ✓ | ✓ | ✓ | 64-bit OSX (10.7+, Lion+) `x86_64-pc-windows-gnu` | ✓ | ✓ | ✓ | 64-bit MinGW (Windows 7+) `x86_64-pc-windows-msvc` | ✓ | ✓ | ✓ | 64-bit MSVC (Windows 7+) -`x86_64-unknown-linux-gnu` | ✓ | ✓ | ✓ | 64-bit Linux (2.6.18+) +`x86_64-unknown-linux-gnu` | ✓ | ✓ | ✓ | 64-bit Linux (kernel 2.6.32+, glibc 2.11+) ## Tier 2 Tier 2 platforms can be thought of as "guaranteed to build". Automated tests From 89dcd9b55013708f0d39644c6bd40a7dd1d04956 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Mon, 20 Jul 2020 10:22:37 -0700 Subject: [PATCH 2/4] Specify kernel/glibc support for more linux-gnu targets This reflects the status quo for targets that are built with manually controlled toolchains, e.g. using crosstool-ng. --- src/release/platform-support.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/release/platform-support.md b/src/release/platform-support.md index 71df575c1..d855d9371 100644 --- a/src/release/platform-support.md +++ b/src/release/platform-support.md @@ -46,13 +46,13 @@ target | std | rustc | cargo | notes `aarch64-fuchsia` | ✓ | | | ARM64 Fuchsia `aarch64-linux-android` | ✓ | | | ARM64 Android `aarch64-pc-windows-msvc` | ✓ | | | ARM64 Windows MSVC -`aarch64-unknown-linux-gnu` | ✓ | ✓ | ✓ | ARM64 Linux +`aarch64-unknown-linux-gnu` | ✓ | ✓ | ✓ | ARM64 Linux (kernel 4.2, glibc 2.17) `aarch64-unknown-linux-musl` | ✓ | | | ARM64 Linux with MUSL `aarch64-unknown-none` | * | | | Bare ARM64, hardfloat `aarch64-unknown-none-softfloat` | * | | | Bare ARM64, softfloat `arm-linux-androideabi` | ✓ | | | ARMv7 Android -`arm-unknown-linux-gnueabi` | ✓ | ✓ | ✓ | ARMv6 Linux -`arm-unknown-linux-gnueabihf` | ✓ | ✓ | ✓ | ARMv6 Linux, hardfloat +`arm-unknown-linux-gnueabi` | ✓ | ✓ | ✓ | ARMv6 Linux (kernel 3.2, glibc 2.17) +`arm-unknown-linux-gnueabihf` | ✓ | ✓ | ✓ | ARMv6 Linux, hardfloat (kernel 3.2, glibc 2.17) `arm-unknown-linux-musleabi` | ✓ | | | ARMv6 Linux with MUSL `arm-unknown-linux-musleabihf` | ✓ | | | ARMv6 Linux with MUSL, hardfloat `armebv7r-none-eabi` | * | | | Bare ARMv7-R, Big Endian @@ -64,7 +64,7 @@ target | std | rustc | cargo | notes `armv7r-none-eabi` | * | | | Bare ARMv7-R `armv7r-none-eabihf` | * | | | Bare ARMv7-R, hardfloat `armv7-unknown-linux-gnueabi` | ✓ | | | ARMv7 Linux, glibc -`armv7-unknown-linux-gnueabihf` | ✓ | ✓ | ✓ | ARMv7 Linux, hardfloat +`armv7-unknown-linux-gnueabihf` | ✓ | ✓ | ✓ | ARMv7 Linux, hardfloat (kernel 3.2, glibc 2.17) `armv7-unknown-linux-musleabi` | ✓ | | | ARMv7 Linux, MUSL `armv7-unknown-linux-musleabihf` | ✓ | | | ARMv7 Linux with MUSL `asmjs-unknown-emscripten` | ✓ | | | asm.js via Emscripten @@ -83,16 +83,16 @@ target | std | rustc | cargo | notes `mipsel-unknown-linux-gnu` | ✓ | ✓ | ✓ | MIPS (LE) Linux `mipsel-unknown-linux-musl` | ✓ | | | MIPS (LE) Linux with MUSL `nvptx64-nvidia-cuda` | ✓ | | | --emit=asm generates PTX code that [runs on NVIDIA GPUs] -`powerpc-unknown-linux-gnu` | ✓ | ✓ | ✓ | PowerPC Linux -`powerpc64-unknown-linux-gnu` | ✓ | ✓ | ✓ | PPC64 Linux -`powerpc64le-unknown-linux-gnu` | ✓ | ✓ | ✓ | PPC64LE Linux +`powerpc-unknown-linux-gnu` | ✓ | ✓ | ✓ | PowerPC Linux (kernel 2.6.32, glibc 2.12) +`powerpc64-unknown-linux-gnu` | ✓ | ✓ | ✓ | PPC64 Linux (kernel 2.6.32, glibc 2.12) +`powerpc64le-unknown-linux-gnu` | ✓ | ✓ | ✓ | PPC64LE Linux (kernel 3.10, glibc 2.17) `riscv32i-unknown-none-elf` | * | | | Bare RISC-V (RV32I ISA) `riscv32imac-unknown-none-elf` | * | | | Bare RISC-V (RV32IMAC ISA) `riscv32imc-unknown-none-elf` | * | | | Bare RISC-V (RV32IMC ISA) -`riscv64gc-unknown-linux-gnu` | ✓ | ✓ | ✓ | RISC-V Linux +`riscv64gc-unknown-linux-gnu` | ✓ | ✓ | ✓ | RISC-V Linux (kernel 4.20, glibc 2.29) `riscv64gc-unknown-none-elf` | * | | | Bare RISC-V (RV64IMAFDC ISA) `riscv64imac-unknown-none-elf` | * | | | Bare RISC-V (RV64IMAC ISA) -`s390x-unknown-linux-gnu` | ✓ | ✓ | ✓ | S390x Linux +`s390x-unknown-linux-gnu` | ✓ | ✓ | ✓ | S390x Linux (kernel 2.6.32, glibc 2.12) `sparc64-unknown-linux-gnu` | ✓ | | | SPARC Linux `sparcv9-sun-solaris` | ✓ | | | SPARC Solaris 10/11, illumos `thumbv6m-none-eabi` | * | | | Bare Cortex-M0, M0+, M1 From fa75cf6931b7b58fd7a5ff1e38e4ce2a1e9f7f41 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Mon, 20 Jul 2020 10:39:37 -0700 Subject: [PATCH 3/4] Specify kernel/glibc for linux-gnu targets built on Ubuntu 16.04 --- src/release/platform-support.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/release/platform-support.md b/src/release/platform-support.md index d855d9371..b9e6258fa 100644 --- a/src/release/platform-support.md +++ b/src/release/platform-support.md @@ -57,7 +57,7 @@ target | std | rustc | cargo | notes `arm-unknown-linux-musleabihf` | ✓ | | | ARMv6 Linux with MUSL, hardfloat `armebv7r-none-eabi` | * | | | Bare ARMv7-R, Big Endian `armebv7r-none-eabihf` | * | | | Bare ARMv7-R, Big Endian, hardfloat -`armv5te-unknown-linux-gnueabi` | ✓ | | | ARMv5TE Linux +`armv5te-unknown-linux-gnueabi` | ✓ | | | ARMv5TE Linux (kernel 4.4, glibc 2.23) `armv5te-unknown-linux-musleabi` | ✓ | | | ARMv5TE Linux with MUSL `armv7-linux-androideabi` | ✓ | | | ARMv7a Android `armv7a-none-eabi` | * | | | Bare ARMv7-A @@ -69,18 +69,18 @@ target | std | rustc | cargo | notes `armv7-unknown-linux-musleabihf` | ✓ | | | ARMv7 Linux with MUSL `asmjs-unknown-emscripten` | ✓ | | | asm.js via Emscripten `i586-pc-windows-msvc` | ✓ | | | 32-bit Windows w/o SSE -`i586-unknown-linux-gnu` | ✓ | | | 32-bit Linux w/o SSE +`i586-unknown-linux-gnu` | ✓ | | | 32-bit Linux w/o SSE (kernel 4.4, glibc 2.23) `i586-unknown-linux-musl` | ✓ | | | 32-bit Linux w/o SSE, MUSL `i686-linux-android` | ✓ | | | 32-bit x86 Android `i686-unknown-freebsd` | ✓ | ✓ | ✓ | 32-bit FreeBSD `i686-unknown-linux-musl` | ✓ | | | 32-bit Linux with MUSL -`mips-unknown-linux-gnu` | ✓ | ✓ | ✓ | MIPS Linux +`mips-unknown-linux-gnu` | ✓ | ✓ | ✓ | MIPS Linux (kernel 4.4, glibc 2.23) `mips-unknown-linux-musl` | ✓ | | | MIPS Linux with MUSL -`mips64-unknown-linux-gnuabi64` | ✓ | ✓ | ✓ | MIPS64 Linux, n64 ABI +`mips64-unknown-linux-gnuabi64` | ✓ | ✓ | ✓ | MIPS64 Linux, n64 ABI (kernel 4.4, glibc 2.23) `mips64-unknown-linux-muslabi64` | ✓ | | | MIPS64 Linux, n64 ABI, MUSL -`mips64el-unknown-linux-gnuabi64` | ✓ | ✓ | ✓ | MIPS64 (LE) Linux, n64 ABI +`mips64el-unknown-linux-gnuabi64` | ✓ | ✓ | ✓ | MIPS64 (LE) Linux, n64 ABI (kernel 4.4, glibc 2.23) `mips64el-unknown-linux-muslabi64` | ✓ | | | MIPS64 (LE) Linux, n64 ABI, MUSL -`mipsel-unknown-linux-gnu` | ✓ | ✓ | ✓ | MIPS (LE) Linux +`mipsel-unknown-linux-gnu` | ✓ | ✓ | ✓ | MIPS (LE) Linux (kernel 4.4, glibc 2.23) `mipsel-unknown-linux-musl` | ✓ | | | MIPS (LE) Linux with MUSL `nvptx64-nvidia-cuda` | ✓ | | | --emit=asm generates PTX code that [runs on NVIDIA GPUs] `powerpc-unknown-linux-gnu` | ✓ | ✓ | ✓ | PowerPC Linux (kernel 2.6.32, glibc 2.12) @@ -93,14 +93,14 @@ target | std | rustc | cargo | notes `riscv64gc-unknown-none-elf` | * | | | Bare RISC-V (RV64IMAFDC ISA) `riscv64imac-unknown-none-elf` | * | | | Bare RISC-V (RV64IMAC ISA) `s390x-unknown-linux-gnu` | ✓ | ✓ | ✓ | S390x Linux (kernel 2.6.32, glibc 2.12) -`sparc64-unknown-linux-gnu` | ✓ | | | SPARC Linux +`sparc64-unknown-linux-gnu` | ✓ | | | SPARC Linux (kernel 4.4, glibc 2.23) `sparcv9-sun-solaris` | ✓ | | | SPARC Solaris 10/11, illumos `thumbv6m-none-eabi` | * | | | Bare Cortex-M0, M0+, M1 `thumbv7em-none-eabi` | * | | | Bare Cortex-M4, M7 `thumbv7em-none-eabihf` | * | | | Bare Cortex-M4F, M7F, FPU, hardfloat `thumbv7m-none-eabi` | * | | | Bare Cortex-M3 `thumbv7neon-linux-androideabi` | ✓ | | | Thumb2-mode ARMv7a Android with NEON -`thumbv7neon-unknown-linux-gnueabihf` | ✓ | | | Thumb2-mode ARMv7a Linux with NEON +`thumbv7neon-unknown-linux-gnueabihf` | ✓ | | | Thumb2-mode ARMv7a Linux with NEON (kernel 4.4, glibc 2.23) `thumbv8m.base-none-eabi` | * | | | ARMv8-M Baseline `thumbv8m.main-none-eabi` | * | | | ARMv8-M Mainline `thumbv8m.main-none-eabihf` | * | | | ARMv8-M Baseline, hardfloat From 5921eead49bbb92b238515e6696d9b0c23b6fca4 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Mon, 20 Jul 2020 10:39:41 -0700 Subject: [PATCH 4/4] Specify kernel/glibc for linux-gnu targets built on Ubuntu 18.04 --- src/release/platform-support.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/release/platform-support.md b/src/release/platform-support.md index b9e6258fa..19435c275 100644 --- a/src/release/platform-support.md +++ b/src/release/platform-support.md @@ -63,7 +63,7 @@ target | std | rustc | cargo | notes `armv7a-none-eabi` | * | | | Bare ARMv7-A `armv7r-none-eabi` | * | | | Bare ARMv7-R `armv7r-none-eabihf` | * | | | Bare ARMv7-R, hardfloat -`armv7-unknown-linux-gnueabi` | ✓ | | | ARMv7 Linux, glibc +`armv7-unknown-linux-gnueabi` | ✓ | | | ARMv7 Linux (kernel 4.15, glibc 2.27) `armv7-unknown-linux-gnueabihf` | ✓ | ✓ | ✓ | ARMv7 Linux, hardfloat (kernel 3.2, glibc 2.17) `armv7-unknown-linux-musleabi` | ✓ | | | ARMv7 Linux, MUSL `armv7-unknown-linux-musleabihf` | ✓ | | | ARMv7 Linux with MUSL @@ -115,7 +115,7 @@ target | std | rustc | cargo | notes `x86_64-sun-solaris` | ✓ | | | 64-bit Solaris 10/11, illumos `x86_64-unknown-cloudabi` | ✓ | | | 64-bit CloudABI `x86_64-unknown-freebsd` | ✓ | ✓ | ✓ | 64-bit FreeBSD -`x86_64-unknown-linux-gnux32` | ✓ | | | 64-bit Linux (x32 ABI) +`x86_64-unknown-linux-gnux32` | ✓ | | | 64-bit Linux (x32 ABI) (kernel 4.15, glibc 2.27) `x86_64-unknown-linux-musl` | ✓ | ✓ | ✓ | 64-bit Linux with MUSL `x86_64-unknown-netbsd` | ✓ | ✓ | ✓ | NetBSD/amd64 `x86_64-unknown-redox` | ✓ | | | Redox OS