You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support for different platforms are organized into three tiers, each with a different set of guarantees.
Platforms are identified by their "target triple" which is the string to inform the compiler what kind of output should be produced. The columns in the tables below have the following meanings:
std:
✓ indicates the full standard library is available.
* indicates the target only supports no_std development.
? indicates the standard library support is unknown or a work-in-progress.
host: A ✓ indicates that rustc and cargo can run on the host platform.
Stack probes support is missing on aarch64-unknown-linux-gnu, but it's planned to be implemented in the near future. The implementation is tracked on issue #77071.
Tier 2 platforms can be thought of as "guaranteed to build". Automated tests are not run so it's not guaranteed to produce a working build, but platforms often work to quite a good degree and patches are always welcome! Specifically, these platforms are required to have each of the following:
Official binary releases are provided for the platform.
Automated building is set up, but may not be running tests.
Landing changes to the rust-lang/rust repository's master branch is gated on platforms building. For some platforms only the standard library is compiled, but for others rustc and cargo are too.
target
std
host
notes
aarch64-apple-darwin
✓
✓
ARM64 macOS (11.0+, Big Sur+)
aarch64-apple-ios
✓
ARM64 iOS
aarch64-fuchsia
✓
ARM64 Fuchsia
aarch64-linux-android
✓
ARM64 Android
aarch64-pc-windows-msvc
✓
✓
ARM64 Windows MSVC
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 (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
armebv7r-none-eabihf
*
Bare ARMv7-R, Big Endian, hardfloat
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
armv7r-none-eabi
*
Bare ARMv7-R
armv7r-none-eabihf
*
Bare ARMv7-R, hardfloat
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
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 (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 (kernel 4.4, glibc 2.23)
mips-unknown-linux-musl
✓
MIPS Linux with MUSL
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 (kernel 4.4, glibc 2.23)
Tier 3 platforms are those which the Rust codebase has support for, but which are not built or tested automatically, and may not work. Official builds are not available.
target
std
host
notes
aarch64-apple-ios-macabi
?
Apple Catalyst on ARM64
aarch64-apple-ios-sim
?
Apple iOS Simulator on ARM64
aarch64-apple-tvos
*
ARM64 tvOS
aarch64-unknown-freebsd
✓
✓
ARM64 FreeBSD
aarch64-unknown-hermit
?
aarch64-unknown-linux-gnu_ilp32
✓
✓
ARM64 Linux (ILP32 ABI)
aarch64-unknown-netbsd
✓
✓
aarch64-unknown-openbsd
✓
✓
ARM64 OpenBSD
aarch64-unknown-redox
?
ARM64 Redox OS
aarch64-uwp-windows-msvc
?
aarch64-wrs-vxworks
?
aarch64_be-unknown-linux-gnu
✓
✓
ARM64 Linux (big-endian)
aarch64_be-unknown-linux-gnu_ilp32
✓
✓
ARM64 Linux (big-endian, ILP32 ABI)
armv4t-unknown-linux-gnueabi
?
armv5te-unknown-linux-uclibceabi
?
ARMv5TE Linux with uClibc
armv6-unknown-freebsd
✓
✓
ARMv6 FreeBSD
armv6-unknown-netbsd-eabihf
?
armv7-apple-ios
✓
ARMv7 iOS, Cortex-a8
armv7-unknown-freebsd
✓
✓
ARMv7 FreeBSD
armv7-unknown-netbsd-eabihf
✓
✓
armv7-wrs-vxworks-eabihf
?
armv7a-none-eabihf
*
ARM Cortex-A, hardfloat
armv7s-apple-ios
✓
avr-unknown-gnu-atmega328
✗
AVR. Requires -Z build-std=core
hexagon-unknown-linux-musl
?
i386-apple-ios
✓
32-bit x86 iOS
i686-apple-darwin
✓
✓
32-bit macOS (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
mipsel-unknown-linux-uclibc
✓
MIPS (LE) Linux with uClibc
mipsel-unknown-none
*
Bare MIPS (LE) softfloat
mipsel-sony-psp
*
MIPS (LE) Sony PlayStation Portable (PSP)
mipsisa32r6-unknown-linux-gnu
?
mipsisa32r6el-unknown-linux-gnu
?
mipsisa64r6-unknown-linux-gnuabi64
?
mipsisa64r6el-unknown-linux-gnuabi64
?
msp430-none-elf
*
16-bit MSP430 microcontrollers
powerpc-unknown-linux-gnuspe
✓
PowerPC SPE Linux
powerpc-unknown-linux-musl
?
powerpc-unknown-netbsd
✓
✓
powerpc-wrs-vxworks
?
powerpc-wrs-vxworks-spe
?
powerpc64-unknown-freebsd
✓
✓
PPC64 FreeBSD (ELFv1 and ELFv2)
powerpc64-unknown-linux-musl
?
powerpc64-wrs-vxworks
?
powerpc64le-unknown-linux-musl
?
riscv64gc-unknown-linux-musl
RISC-V Linux (kernel 4.20, musl 1.2.0)
riscv32gc-unknown-linux-gnu
RISC-V Linux (kernel 5.4, glibc 2.33)
riscv32gc-unknown-linux-musl
RISC-V Linux (kernel 5.4, musl + RISCV32 support patches)
Platform Support
td code {white-space: nowrap;}
Support for different platforms are organized into three tiers, each with a different set of guarantees.
Platforms are identified by their "target triple" which is the string to inform the compiler what kind of output should be produced. The columns in the tables below have the following meanings:
no_std
development.rustc
andcargo
can run on the host platform.Tier 1
Tier 1 platforms can be thought of as "guaranteed to work". Specifically they will each satisfy the following requirements:
rust-lang/rust
repository's master branch is gated on tests passing.aarch64-unknown-linux-gnu
i686-pc-windows-gnu
i686-pc-windows-msvc
i686-unknown-linux-gnu
x86_64-apple-darwin
x86_64-pc-windows-gnu
x86_64-pc-windows-msvc
x86_64-unknown-linux-gnu
1
Stack probes support is missing on
aarch64-unknown-linux-gnu
, but it's planned to be implemented in the near future. The implementation is tracked on issue #77071.Tier 2
Tier 2 platforms can be thought of as "guaranteed to build". Automated tests are not run so it's not guaranteed to produce a working build, but platforms often work to quite a good degree and patches are always welcome! Specifically, these platforms are required to have each of the following:
rust-lang/rust
repository's master branch is gated on platforms building. For some platforms only the standard library is compiled, but for othersrustc
andcargo
are too.aarch64-apple-darwin
aarch64-apple-ios
aarch64-fuchsia
aarch64-linux-android
aarch64-pc-windows-msvc
aarch64-unknown-linux-musl
aarch64-unknown-none
aarch64-unknown-none-softfloat
arm-linux-androideabi
arm-unknown-linux-gnueabi
arm-unknown-linux-gnueabihf
arm-unknown-linux-musleabi
arm-unknown-linux-musleabihf
armebv7r-none-eabi
armebv7r-none-eabihf
armv5te-unknown-linux-gnueabi
armv5te-unknown-linux-musleabi
armv7-linux-androideabi
armv7a-none-eabi
armv7r-none-eabi
armv7r-none-eabihf
armv7-unknown-linux-gnueabi
armv7-unknown-linux-gnueabihf
armv7-unknown-linux-musleabi
armv7-unknown-linux-musleabihf
asmjs-unknown-emscripten
i586-pc-windows-msvc
i586-unknown-linux-gnu
i586-unknown-linux-musl
i686-linux-android
i686-unknown-freebsd
i686-unknown-linux-musl
mips-unknown-linux-gnu
mips-unknown-linux-musl
mips64-unknown-linux-gnuabi64
mips64-unknown-linux-muslabi64
mips64el-unknown-linux-gnuabi64
mips64el-unknown-linux-muslabi64
mipsel-unknown-linux-gnu
mipsel-unknown-linux-musl
nvptx64-nvidia-cuda
powerpc-unknown-linux-gnu
powerpc64-unknown-linux-gnu
powerpc64le-unknown-linux-gnu
riscv32i-unknown-none-elf
riscv32imac-unknown-none-elf
riscv32imc-unknown-none-elf
riscv64gc-unknown-linux-gnu
riscv64gc-unknown-none-elf
riscv64imac-unknown-none-elf
s390x-unknown-linux-gnu
sparc64-unknown-linux-gnu
sparcv9-sun-solaris
thumbv6m-none-eabi
thumbv7em-none-eabi
thumbv7em-none-eabihf
thumbv7m-none-eabi
thumbv7neon-linux-androideabi
thumbv7neon-unknown-linux-gnueabihf
thumbv8m.base-none-eabi
thumbv8m.main-none-eabi
thumbv8m.main-none-eabihf
wasm32-unknown-emscripten
wasm32-unknown-unknown
wasm32-wasi
x86_64-apple-ios
x86_64-fortanix-unknown-sgx
x86_64-fuchsia
x86_64-linux-android
x86_64-rumprun-netbsd
x86_64-sun-solaris
x86_64-unknown-freebsd
x86_64-unknown-illumos
x86_64-unknown-linux-gnux32
x86_64-unknown-linux-musl
x86_64-unknown-netbsd
x86_64-unknown-redox
Tier 3
Tier 3 platforms are those which the Rust codebase has support for, but which are not built or tested automatically, and may not work. Official builds are not available.
aarch64-apple-ios-macabi
aarch64-apple-ios-sim
aarch64-apple-tvos
aarch64-unknown-freebsd
aarch64-unknown-hermit
aarch64-unknown-linux-gnu_ilp32
aarch64-unknown-netbsd
aarch64-unknown-openbsd
aarch64-unknown-redox
aarch64-uwp-windows-msvc
aarch64-wrs-vxworks
aarch64_be-unknown-linux-gnu
aarch64_be-unknown-linux-gnu_ilp32
armv4t-unknown-linux-gnueabi
armv5te-unknown-linux-uclibceabi
armv6-unknown-freebsd
armv6-unknown-netbsd-eabihf
armv7-apple-ios
armv7-unknown-freebsd
armv7-unknown-netbsd-eabihf
armv7-wrs-vxworks-eabihf
armv7a-none-eabihf
armv7s-apple-ios
avr-unknown-gnu-atmega328
-Z build-std=core
hexagon-unknown-linux-musl
i386-apple-ios
i686-apple-darwin
i686-pc-windows-msvc
i686-unknown-uefi
i686-unknown-haiku
i686-unknown-netbsd
i686-unknown-openbsd
i686-uwp-windows-gnu
i686-uwp-windows-msvc
i686-wrs-vxworks
mips-unknown-linux-uclibc
mipsel-unknown-linux-uclibc
mipsel-unknown-none
mipsel-sony-psp
mipsisa32r6-unknown-linux-gnu
mipsisa32r6el-unknown-linux-gnu
mipsisa64r6-unknown-linux-gnuabi64
mipsisa64r6el-unknown-linux-gnuabi64
msp430-none-elf
powerpc-unknown-linux-gnuspe
powerpc-unknown-linux-musl
powerpc-unknown-netbsd
powerpc-wrs-vxworks
powerpc-wrs-vxworks-spe
powerpc64-unknown-freebsd
powerpc64-unknown-linux-musl
powerpc64-wrs-vxworks
powerpc64le-unknown-linux-musl
riscv64gc-unknown-linux-musl
riscv32gc-unknown-linux-gnu
riscv32gc-unknown-linux-musl
s390x-unknown-linux-musl
sparc-unknown-linux-gnu
sparc64-unknown-netbsd
sparc64-unknown-openbsd
thumbv7a-pc-windows-msvc
thumbv7a-uwp-windows-msvc
thumbv7neon-unknown-linux-musleabihf
thumbv4t-none-eabi
x86_64-apple-ios-macabi
x86_64-apple-tvos
x86_64-linux-kernel
x86_64-pc-solaris
x86_64-pc-windows-msvc
x86_64-unknown-dragonfly
x86_64-unknown-haiku
x86_64-unknown-hermit
x86_64-unknown-hermit-kernel
x86_64-unknown-l4re-uclibc
x86_64-unknown-openbsd
x86_64-unknown-uefi
x86_64-uwp-windows-gnu
x86_64-uwp-windows-msvc
x86_64-wrs-vxworks
https://doc.rust-lang.org/nightly/rustc/platform-support.html
The text was updated successfully, but these errors were encountered: