Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update platform tiers. #356

Merged
merged 4 commits into from
May 15, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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