Skip to content

Commit

Permalink
Merge pull request #356 from ehuss/update-tiers
Browse files Browse the repository at this point in the history
Update platform tiers.
  • Loading branch information
Mark-Simulacrum authored May 15, 2020
2 parents 1af755b + c1ae62f commit 5248efb
Showing 1 changed file with 25 additions and 18 deletions.
43 changes: 25 additions & 18 deletions src/release/platform-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ target | std | rustc | cargo | notes
`aarch64-pc-windows-msvc` | ✓ | | | ARM64 Windows MSVC
`aarch64-unknown-linux-gnu` | ✓ | ✓ | ✓ | ARM64 Linux
`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
Expand All @@ -61,7 +63,9 @@ 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-gnueabihf` | ✓ | ✓ | ✓ | ARMv7 Linux
`armv7-unknown-linux-gnueabi` | ✓ | | | ARMv7 Linux, glibc
`armv7-unknown-linux-gnueabihf` | ✓ | ✓ | ✓ | ARMv7 Linux, hardfloat
`armv7-unknown-linux-musleabi` | ✓ | | | ARMv7 Linux, MUSL
`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
Expand All @@ -73,14 +77,19 @@ target | std | rustc | cargo | notes
`mips-unknown-linux-gnu` | ✓ | ✓ | ✓ | MIPS Linux
`mips-unknown-linux-musl` | ✓ | | | MIPS Linux with MUSL
`mips64-unknown-linux-gnuabi64` | ✓ | ✓ | ✓ | MIPS64 Linux, n64 ABI
`mips64-unknown-linux-muslabi64` | ✓ | | | MIPS64 Linux, n64 ABI, MUSL
`mips64el-unknown-linux-gnuabi64` | ✓ | ✓ | ✓ | MIPS64 (LE) Linux, n64 ABI
`mips64el-unknown-linux-muslabi64` | ✓ | | | MIPS64 (LE) Linux, n64 ABI, MUSL
`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
`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-none-elf` | * | | | Bare RISC-V (RV64IMAFDC ISA)
`riscv64imac-unknown-none-elf` | * | | | Bare RISC-V (RV64IMAC ISA)
`s390x-unknown-linux-gnu` | ✓ | ✓ | ✓ | S390x Linux
Expand All @@ -92,6 +101,9 @@ target | std | rustc | cargo | notes
`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
`thumbv8m.base-none-eabi` | * | | | ARMv8-M Baseline
`thumbv8m.main-none-eabi` | * | | | ARMv8-M Mainline
`thumbv8m.main-none-eabihf` | * | | | ARMv8-M Baseline, hardfloat
`wasm32-unknown-emscripten` | ✓ | | | WebAssembly via Emscripten
`wasm32-unknown-unknown` | ✓ | | | WebAssembly
`wasm32-wasi` | ✓ | | | WebAssembly with WASI
Expand Down Expand Up @@ -139,10 +151,10 @@ not available.

target | std | rustc | cargo | notes
-------|-----|-------|-------|-------
`aarch64-apple-tvos` | ** | | | ARM64 tvOS
`aarch64-unknown-freebsd` | ✓ | ✓ | ✓ | ARM64 FreeBSD
`aarch64-unknown-hermit` | ? | | |
`aarch64-unknown-netbsd` | ? | | |
`aarch64-unknown-none` | ? | | |
`aarch64-unknown-openbsd` | ✓ | ✓ | ✓ | ARM64 OpenBSD
`aarch64-unknown-redox` | ? | | |
`aarch64-uwp-windows-msvc` | ? | | |
Expand All @@ -154,27 +166,26 @@ target | std | rustc | cargo | notes
`armv7-unknown-freebsd` | ✓ | ✓ | ✓ | ARMv7 FreeBSD
`armv7-unknown-netbsd-eabihf` | ? | | |
`armv7-wrs-vxworks-eabihf` | ? | | |
`armv7a-none-eabihf` | * | | | ARM Cortex-A, hardfloat
`armv7s-apple-ios` | ✓ | | |
`hexagon-unknown-linux-musl` | ? | | |
`i386-apple-ios` | ✓ | | | 32-bit x86 iOS
`i686-apple-darwin` | ✓ | ✓ | ✓ | 32-bit OSX (10.7+, Lion+)
`i686-pc-windows-msvc` | ✓ | | | 32-bit Windows XP support
`i686-unknown-uefi` | ? | | | 32-bit UEFI
`i686-unknown-haiku` | ✓ | ✓ | ✓ | 32-bit Haiku
`i686-unknown-netbsd` | ✓ | | | NetBSD/i386 with SSE2
`i686-unknown-openbsd` | ✓ | ✓ | ✓ | 32-bit OpenBSD
`i686-uwp-windows-gnu` | ? | | |
`i686-uwp-windows-msvc` | ? | | |
`i686-wrs-vxworks` | ? | | |
`mips-unknown-linux-uclibc` | ✓ | | | MIPS Linux with uClibc
`mips64-unknown-linux-muslabi64` | ? | | |
`mips64el-unknown-linux-muslabi64` | ? | | |
`mipsel-unknown-linux-uclibc` | ✓ | | | MIPS (LE) Linux with uClibc
`mipsisa32r6-unknown-linux-gnu` | ? | | |
`mipsisa32r6el-unknown-linux-gnu` | ? | | |
`mipsisa64r6-unknown-linux-gnuabi64` | ? | | |
`mipsisa64r6el-unknown-linux-gnuabi64` | ? | | |
`msp430-none-elf` | * | | | 16-bit MSP430 microcontrollers
`nvptx64-nvidia-cuda` | ** | | | --emit=asm generates PTX code that [runs on NVIDIA GPUs]
`powerpc-unknown-linux-musl` | ? | | |
`powerpc-unknown-netbsd` | ? | | |
`powerpc-wrs-vxworks` | ? | | |
Expand All @@ -183,36 +194,31 @@ target | std | rustc | cargo | notes
`powerpc64-unknown-linux-musl` | ? | | |
`powerpc64-wrs-vxworks` | ? | | |
`powerpc64le-unknown-linux-musl` | ? | | |
`riscv32i-unknown-none-elf` | ? | | |
`riscv64gc-unknown-linux-gnu` | ✓ | ✓ | ✓ |
`sparc64-unknown-netbsd` | ✓ | ✓ | | NetBSD/sparc64
`sparc64-unknown-openbsd` | ? | | |
`thumbv7a-pc-windows-msvc` | ? | | |
`thumbv8m.base-none-eabi` | ? | | |
`thumbv8m.main-none-eabi` | ? | | |
`thumbv8m.main-none-eabihf` | ? | | |
`wasm32-experimental-emscripten` | ? | | |
`thumbv7neon-unknown-linux-musleabihf` | ? | | | Thumb2-mode ARMv7a Linux with NEON, MUSL
`x86_64-apple-ios-macabi` | | | | Apple Catalyst
`x86_64-apple-tvos` | ** | | | x86 64-bit tvOS
`x86_64-linux-kernel` | ? | | | Linux kernel modules
`x86_64-pc-solaris` | ? | | |
`x86_64-pc-windows-msvc` | ✓ | | | 64-bit Windows XP support
`x86_64-unknown-bitrig` | ✓ | ✓ | | 64-bit Bitrig
`x86_64-unknown-dragonfly` | ✓ | ✓ | ✓ | 64-bit DragonFlyBSD
`x86_64-unknown-haiku` | ✓ | ✓ | ✓ | 64-bit Haiku
`x86_64-unknown-hermit` | ? | | |
`x86_64-unknown-hermit-kernel` | ? | | | HermitCore kernel
`x86_64-unknown-illumos` | ✓ | | | illumos
`x86_64-unknown-l4re-uclibc` | ? | | |
`x86_64-unknown-openbsd` | ✓ | ✓ | ✓ | 64-bit OpenBSD
`x86_64-unknown-uefi` | ? | | |
`x86_64-uwp-windows-gnu` | ✓ | | |
`x86_64-uwp-windows-msvc` | ✓ | | |
`x86_64-wrs-vxworks` | ? | | |

[runs on NVIDIA GPUs]: https://github.com/japaric-archived/nvptx#targets

\* These are bare-metal microcontroller targets that only have access to the
core library, not std.
\* These targets only support `core`, not `alloc` or `std`.

\*\* There’s backend support for these targets but no target built into rustc
(yet). You’ll have to write your own target specification file (see the
links in the table). These targets only support the core library.
\*\* These targets only support `core` or `alloc`, not `std`.

? These are targets that haven't yet been documented here. If you can shed some
light on these platforms support, please create an issue or PR on the [Rust
Expand All @@ -224,4 +230,5 @@ to the core library, Rust can also target additional "bare metal" platforms in
the x86, ARM, MIPS, and PowerPC families, though it may require defining custom
target specifications to do so.

[runs on NVIDIA GPUs]: https://github.com/japaric-archived/nvptx#targets
[Rust Forge repo]: https://github.com/rust-lang/rust-forge

0 comments on commit 5248efb

Please sign in to comment.