A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://doc.rust-lang.org/nightly/rustc/platform-support.html below:

Platform Support - The rustc book

Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Platform Support

Support for different platforms ("targets") are organized into three tiers, each with a different set of guarantees. For more information on the policies for targets at each tier, see the Target Tier Policy.

Targets are identified by their "target triple" which is the string to inform the compiler what kind of output should be produced.

Component availability is tracked here.

Tier 1 targets can be thought of as "guaranteed to work". The Rust project builds official binary releases for each tier 1 target, and automated testing ensures that each tier 1 target builds and passes tests after each change.

Tier 1 targets with host tools additionally support running tools like rustc and cargo natively on the target, and automated testing ensures that tests pass for the host tools as well. This allows the target to be used as a development platform, not just a compilation target. For the full requirements, see Tier 1 with Host Tools in the Target Tier Policy.

All tier 1 targets with host tools support the full standard library.

target notes aarch64-apple-darwin ARM64 macOS (11.0+, Big Sur+) aarch64-unknown-linux-gnu ARM64 Linux (kernel 4.1+, glibc 2.17+) i686-pc-windows-msvc 32-bit MSVC (Windows 10+, Windows Server 2016+, Pentium 4) 1 2 i686-unknown-linux-gnu 32-bit Linux (kernel 3.2+, glibc 2.17+, Pentium 4) 1 x86_64-apple-darwin 64-bit macOS (10.12+, Sierra+) x86_64-pc-windows-gnu 64-bit MinGW (Windows 10+, Windows Server 2016+) x86_64-pc-windows-msvc 64-bit MSVC (Windows 10+, Windows Server 2016+) x86_64-unknown-linux-gnu 64-bit Linux (kernel 3.2+, glibc 2.17+) Tier 1

Tier 1 targets can be thought of as "guaranteed to work". The Rust project builds official binary releases for each tier 1 target, and automated testing ensures that each tier 1 target builds and passes tests after each change. For the full requirements, see Tier 1 target policy in the Target Tier Policy.

At this time, all Tier 1 targets are Tier 1 with Host Tools.

Tier 2 targets can be thought of as "guaranteed to build". The Rust project builds official binary releases of the standard library (or, in some cases, only the core library) for each tier 2 target, and automated builds ensure that each tier 2 target can be used as build target after each change. Automated tests are not always run so it's not guaranteed to produce a working build, but tier 2 targets often work to quite a good degree and patches are always welcome!

Tier 2 target-specific code is not closely scrutinized by Rust team(s) when modifications are made. Bugs are possible in all code, but the level of quality control for these targets is likely to be lower. See library team policy for details on the review practices for standard library code.

Tier 2 targets with host tools additionally support running tools like rustc and cargo natively on the target, and automated builds ensure that the host tools build as well. This allows the target to be used as a development platform, not just a compilation target. For the full requirements, see Tier 2 with Host Tools in the Target Tier Policy.

All tier 2 targets with host tools support the full standard library.

NOTE: The rust-docs component is not usually built for tier 2 targets, so Rustup may install the documentation for a similar tier 1 target instead.

target notes aarch64-pc-windows-gnullvm ARM64 MinGW (Windows 10+), LLVM ABI aarch64-pc-windows-msvc ARM64 Windows MSVC aarch64-unknown-linux-musl ARM64 Linux with musl 1.2.3 aarch64-unknown-linux-ohos ARM64 OpenHarmony 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) armv7-unknown-linux-gnueabihf Armv7-A Linux, hardfloat (kernel 3.2+, glibc 2.17) armv7-unknown-linux-ohos Armv7-A OpenHarmony loongarch64-unknown-linux-gnu LoongArch64 Linux, LP64D ABI (kernel 5.19+, glibc 2.36) loongarch64-unknown-linux-musl LoongArch64 Linux, LP64D ABI (kernel 5.19+, musl 1.2.5) i686-pc-windows-gnu 32-bit MinGW (Windows 10+, Windows Server 2016+, Pentium 4) 1 2 powerpc-unknown-linux-gnu PowerPC Linux (kernel 3.2+, glibc 2.17) powerpc64-unknown-linux-gnu PPC64 Linux (kernel 3.2+, glibc 2.17) powerpc64le-unknown-linux-gnu PPC64LE Linux (kernel 3.10+, glibc 2.17) powerpc64le-unknown-linux-musl PPC64LE Linux (kernel 4.19+, musl 1.2.3) riscv64gc-unknown-linux-gnu RISC-V Linux (kernel 4.20+, glibc 2.29) riscv64gc-unknown-linux-musl RISC-V Linux (kernel 4.20+, musl 1.2.3) s390x-unknown-linux-gnu S390x Linux (kernel 3.2+, glibc 2.17) x86_64-pc-windows-gnullvm 64-bit x86 MinGW (Windows 10+), LLVM ABI x86_64-unknown-freebsd 64-bit x86 FreeBSD x86_64-unknown-illumos illumos x86_64-unknown-linux-musl 64-bit Linux with musl 1.2.3 x86_64-unknown-linux-ohos x86_64 OpenHarmony x86_64-unknown-netbsd NetBSD/amd64 x86_64-pc-solaris 64-bit x86 Solaris 11.4 sparcv9-sun-solaris SPARC V9 Solaris 11.4

Tier 2 targets can be thought of as "guaranteed to build". The Rust project builds official binary releases of the standard library (or, in some cases, only the core library) for each tier 2 target, and automated builds ensure that each tier 2 target can be used as build target after each change. Automated tests are not always run so it's not guaranteed to produce a working build, but tier 2 targets often work to quite a good degree and patches are always welcome! For the full requirements, see Tier 2 target policy in the Target Tier Policy.

The std column in the table below has the following meanings:

Tier 2 target-specific code is not closely scrutinized by Rust team(s) when modifications are made. Bugs are possible in all code, but the level of quality control for these targets is likely to be lower. See library team policy for details on the review practices for standard library code.

NOTE: The rust-docs component is not usually built for tier 2 targets, so Rustup may install the documentation for a similar tier 1 target instead.

target std notes aarch64-apple-ios ✓ ARM64 iOS aarch64-apple-ios-macabi ✓ Mac Catalyst on ARM64 aarch64-apple-ios-sim ✓ Apple iOS Simulator on ARM64 aarch64-linux-android ✓ ARM64 Android aarch64-unknown-fuchsia ✓ ARM64 Fuchsia aarch64-unknown-none * Bare ARM64, hardfloat aarch64-unknown-none-softfloat * Bare ARM64, softfloat aarch64-unknown-uefi ? ARM64 UEFI arm-linux-androideabi ✓ Armv6 Android arm-unknown-linux-musleabi ✓ Armv6 Linux with musl 1.2.3 arm-unknown-linux-musleabihf ✓ Armv6 Linux with musl 1.2.3, hardfloat arm64ec-pc-windows-msvc ✓ Arm64EC Windows MSVC 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 1.2.3 armv7-linux-androideabi ✓ Armv7-A Android armv7-unknown-linux-gnueabi ✓ Armv7-A Linux (kernel 4.15+, glibc 2.27) armv7-unknown-linux-musleabi ✓ Armv7-A Linux with musl 1.2.3 armv7-unknown-linux-musleabihf ✓ Armv7-A Linux with musl 1.2.3, hardfloat armv7a-none-eabi * Bare Armv7-A armv7r-none-eabi * Bare Armv7-R armv7r-none-eabihf * Bare Armv7-R, hardfloat i586-unknown-linux-gnu ✓ 32-bit Linux (kernel 3.2+, glibc 2.17, original Pentium) 3 i586-unknown-linux-musl ✓ 32-bit Linux (musl 1.2.3, original Pentium) 3 i686-linux-android ✓ 32-bit x86 Android (Pentium 4 plus various extensions) 1 i686-pc-windows-gnullvm ✓ 32-bit x86 MinGW (Windows 10+, Pentium 4), LLVM ABI 1 i686-unknown-freebsd ✓ 32-bit x86 FreeBSD (Pentium 4) 1 i686-unknown-linux-musl ✓ 32-bit Linux with musl 1.2.3 (Pentium 4) 1 i686-unknown-uefi ? 32-bit UEFI (Pentium 4, softfloat) 2 loongarch64-unknown-none * LoongArch64 Bare-metal (LP64D ABI) loongarch64-unknown-none-softfloat * LoongArch64 Bare-metal (LP64S ABI) nvptx64-nvidia-cuda * --emit=asm generates PTX code that runs on NVIDIA GPUs riscv32i-unknown-none-elf * Bare RISC-V (RV32I ISA) riscv32im-unknown-none-elf * Bare RISC-V (RV32IM ISA) riscv32imac-unknown-none-elf * Bare RISC-V (RV32IMAC ISA) riscv32imafc-unknown-none-elf * Bare RISC-V (RV32IMAFC ISA) riscv32imc-unknown-none-elf * Bare RISC-V (RV32IMC ISA) riscv64gc-unknown-none-elf * Bare RISC-V (RV64IMAFDC ISA) riscv64imac-unknown-none-elf * Bare RISC-V (RV64IMAC ISA) sparc64-unknown-linux-gnu ✓ SPARC Linux (kernel 4.4+, glibc 2.23) thumbv6m-none-eabi * Bare Armv6-M thumbv7em-none-eabi * Bare Armv7E-M thumbv7em-none-eabihf * Bare Armv7E-M, hardfloat thumbv7m-none-eabi * Bare Armv7-M thumbv7neon-linux-androideabi ✓ Thumb2-mode Armv7-A Android with NEON thumbv7neon-unknown-linux-gnueabihf ✓ Thumb2-mode Armv7-A Linux with NEON (kernel 4.4+, glibc 2.23) thumbv8m.base-none-eabi * Bare Armv8-M Baseline thumbv8m.main-none-eabi * Bare Armv8-M Mainline thumbv8m.main-none-eabihf * Bare Armv8-M Mainline, hardfloat wasm32-unknown-emscripten ✓ WebAssembly via Emscripten wasm32-unknown-unknown ✓ WebAssembly wasm32-wasip1 ✓ WebAssembly with WASIp1 wasm32-wasip1-threads ✓ WebAssembly with WASI Preview 1 and threads wasm32-wasip2 ✓ WebAssembly with WASIp2 wasm32v1-none * WebAssembly limited to 1.0 features and no imports x86_64-apple-ios ✓ 64-bit x86 iOS x86_64-apple-ios-macabi ✓ Mac Catalyst on x86_64 x86_64-fortanix-unknown-sgx ✓ Fortanix ABI for 64-bit Intel SGX x86_64-linux-android ✓ 64-bit x86 Android x86_64-unknown-fuchsia ✓ 64-bit x86 Fuchsia x86_64-unknown-linux-gnux32 ✓ 64-bit Linux (x32 ABI) (kernel 4.15+, glibc 2.27) x86_64-unknown-none * Freestanding/bare-metal x86_64, softfloat x86_64-unknown-redox ✓ Redox OS x86_64-unknown-uefi ? 64-bit UEFI Tier 3

Tier 3 targets are those which the Rust codebase has support for, but which the Rust project does not build or test automatically, so they may or may not work. Official builds are not available. For the full requirements, see Tier 3 target policy in the Target Tier Policy.

The std column in the table below has the following meanings:

Tier 3 target-specific code is not closely scrutinized by Rust team(s) when modifications are made. Bugs are possible in all code, but the level of quality control for these targets is likely to be lower. See library team policy for details on the review practices for standard library code.

The host column indicates whether the codebase includes support for building host tools.

target std host notes aarch64-apple-tvos ✓ ARM64 tvOS aarch64-apple-tvos-sim ✓ ARM64 tvOS Simulator aarch64-apple-visionos ✓ ARM64 Apple visionOS aarch64-apple-visionos-sim ✓ ARM64 Apple visionOS Simulator aarch64-apple-watchos ✓ ARM64 Apple WatchOS aarch64-apple-watchos-sim ✓ ARM64 Apple WatchOS Simulator aarch64-kmc-solid_asp3 ✓ ARM64 SOLID with TOPPERS/ASP3 aarch64-nintendo-switch-freestanding * ARM64 Nintendo Switch, Horizon aarch64-unknown-freebsd ✓ ✓ ARM64 FreeBSD aarch64-unknown-hermit ✓ ARM64 Hermit aarch64-unknown-illumos ✓ ✓ ARM64 illumos aarch64-unknown-linux-gnu_ilp32 ✓ ✓ ARM64 Linux (ILP32 ABI) aarch64-unknown-netbsd ✓ ✓ ARM64 NetBSD aarch64-unknown-nto-qnx700 ? ARM64 QNX Neutrino 7.0 RTOS aarch64-unknown-nto-qnx710 ✓ ARM64 QNX Neutrino 7.1 RTOS with default network stack (io-pkt) aarch64-unknown-nto-qnx710_iosock ✓ ARM64 QNX Neutrino 7.1 RTOS with new network stack (io-sock) aarch64-unknown-nto-qnx800 ✓ ARM64 QNX Neutrino 8.0 RTOS aarch64-unknown-nuttx ✓ ARM64 with NuttX aarch64-unknown-openbsd ✓ ✓ ARM64 OpenBSD aarch64-unknown-redox ✓ ARM64 Redox OS aarch64-unknown-teeos ? ARM64 TEEOS aarch64-unknown-trusty ✓ aarch64-uwp-windows-msvc ✓ aarch64-wrs-vxworks ✓ ARM64 VxWorks OS aarch64_be-unknown-linux-gnu ✓ ✓ ARM64 Linux (big-endian) aarch64_be-unknown-linux-gnu_ilp32 ✓ ✓ ARM64 Linux (big-endian, ILP32 ABI) aarch64_be-unknown-netbsd ✓ ✓ ARM64 NetBSD (big-endian) amdgcn-amd-amdhsa * -Ctarget-cpu=gfx... to specify the AMD GPU to compile for arm64_32-apple-watchos ✓ Arm Apple WatchOS 64-bit with 32-bit pointers arm64e-apple-darwin ✓ ✓ ARM64e Apple Darwin arm64e-apple-ios ✓ ARM64e Apple iOS arm64e-apple-tvos ✓ ARM64e Apple tvOS armeb-unknown-linux-gnueabi ✓ ? Arm BE8 the default Arm big-endian architecture since Armv6. armv4t-none-eabi * Bare Armv4T armv4t-unknown-linux-gnueabi ? Armv4T Linux armv5te-none-eabi * Bare Armv5TE armv5te-unknown-linux-uclibceabi ? Armv5TE Linux with uClibc armv6-unknown-freebsd ✓ ✓ Armv6 FreeBSD armv6-unknown-netbsd-eabihf ✓ ✓ Armv6 NetBSD w/hard-float armv6k-nintendo-3ds ? Armv6k Nintendo 3DS, Horizon (Requires devkitARM toolchain) armv7-rtems-eabihf ? RTEMS OS for ARM BSPs armv7-sony-vita-newlibeabihf ✓ Armv7-A Cortex-A9 Sony PlayStation Vita (requires VITASDK toolchain) armv7-unknown-freebsd ✓ ✓ Armv7-A FreeBSD armv7-unknown-linux-uclibceabi ✓ ✓ Armv7-A Linux with uClibc, softfloat armv7-unknown-linux-uclibceabihf ✓ ? Armv7-A Linux with uClibc, hardfloat armv7-unknown-netbsd-eabihf ✓ ✓ Armv7-A NetBSD w/hard-float armv7-unknown-trusty ✓ armv7-wrs-vxworks-eabihf ✓ Armv7-A for VxWorks armv7a-kmc-solid_asp3-eabi ✓ ARM SOLID with TOPPERS/ASP3 armv7a-kmc-solid_asp3-eabihf ✓ ARM SOLID with TOPPERS/ASP3, hardfloat armv7a-none-eabihf * Bare Armv7-A, hardfloat armv7k-apple-watchos ✓ Armv7-A Apple WatchOS armv7s-apple-ios ✓ Armv7-A Apple-A6 Apple iOS armv8r-none-eabihf * Bare Armv8-R, hardfloat armv7a-nuttx-eabi ✓ ARMv7-A with NuttX armv7a-nuttx-eabihf ✓ ARMv7-A with NuttX, hardfloat avr-none * AVR; requires -Zbuild-std=core and -Ctarget-cpu=... bpfeb-unknown-none * BPF (big endian) bpfel-unknown-none * BPF (little endian) csky-unknown-linux-gnuabiv2 ✓ C-SKY abiv2 Linux (little endian) csky-unknown-linux-gnuabiv2hf ✓ C-SKY abiv2 Linux, hardfloat (little endian) hexagon-unknown-linux-musl ✓ Hexagon Linux with musl 1.2.3 hexagon-unknown-none-elf * Bare Hexagon (v60+, HVX) i386-apple-ios ✓ 32-bit x86 iOS (Penryn) 1 i586-unknown-netbsd ✓ 32-bit x86 (original Pentium) 3 i586-unknown-redox ✓ 32-bit x86 Redox OS (PentiumPro) 3 i686-apple-darwin ✓ ✓ 32-bit macOS (10.12+, Sierra+, Penryn) 1 i686-pc-nto-qnx700 * 32-bit x86 QNX Neutrino 7.0 RTOS (Pentium 4) 1 i686-unknown-haiku ✓ ✓ 32-bit Haiku (Pentium 4) 1 i686-unknown-hurd-gnu ✓ ✓ 32-bit GNU/Hurd (Pentium 4) 1 i686-unknown-netbsd ✓ ✓ NetBSD/i386 (Pentium 4) 1 i686-unknown-openbsd ✓ ✓ 32-bit OpenBSD (Pentium 4) 1 i686-uwp-windows-gnu ✓ 1 i686-uwp-windows-msvc ✓ 1 2 i686-win7-windows-gnu ✓ 32-bit Windows 7 support 1 i686-win7-windows-msvc ✓ 32-bit Windows 7 support 1 2 i686-wrs-vxworks ✓ 1 loongarch64-unknown-linux-ohos ✓ LoongArch64 OpenHarmony loongarch32-unknown-none * LoongArch32 Bare-metal (ILP32D ABI) loongarch32-unknown-none-softfloat * LoongArch32 Bare-metal (ILP32S ABI) m68k-unknown-linux-gnu ? Motorola 680x0 Linux m68k-unknown-none-elf Motorola 680x0 mips-unknown-linux-gnu ✓ ✓ MIPS Linux (kernel 4.4, glibc 2.23) mips-unknown-linux-musl ✓ MIPS Linux with musl 1.2.3 mips-unknown-linux-uclibc ✓ MIPS Linux with uClibc mips64-openwrt-linux-musl ? MIPS64 for OpenWrt Linux musl 1.2.3 mips64-unknown-linux-gnuabi64 ✓ ✓ MIPS64 Linux, N64 ABI (kernel 4.4, glibc 2.23) mips64-unknown-linux-muslabi64 ✓ ✓ MIPS64 Linux, N64 ABI, musl 1.2.3 mips64el-unknown-linux-gnuabi64 ✓ ✓ MIPS64 (little endian) Linux, N64 ABI (kernel 4.4, glibc 2.23) mips64el-unknown-linux-muslabi64 ✓ MIPS64 (little endian) Linux, N64 ABI, musl 1.2.3 mipsel-sony-psp * MIPS (LE) Sony PlayStation Portable (PSP) mipsel-sony-psx * MIPS (LE) Sony PlayStation 1 (PSX) mipsel-unknown-linux-gnu ✓ ✓ MIPS (little endian) Linux (kernel 4.4, glibc 2.23) mipsel-unknown-linux-musl ✓ MIPS (little endian) Linux with musl 1.2.3 mipsel-unknown-linux-uclibc ✓ MIPS (LE) Linux with uClibc mipsel-unknown-netbsd ✓ ✓ 32-bit MIPS (LE), requires mips32 cpu support mipsel-unknown-none * Bare MIPS (LE) softfloat mips-mti-none-elf * Bare MIPS32r2 (BE) softfloat mipsel-mti-none-elf * Bare MIPS32r2 (LE) softfloat mipsisa32r6-unknown-linux-gnu ? 32-bit MIPS Release 6 Big Endian mipsisa32r6el-unknown-linux-gnu ? 32-bit MIPS Release 6 Little Endian mipsisa64r6-unknown-linux-gnuabi64 ? 64-bit MIPS Release 6 Big Endian mipsisa64r6el-unknown-linux-gnuabi64 ✓ ✓ 64-bit MIPS Release 6 Little Endian msp430-none-elf * 16-bit MSP430 microcontrollers powerpc-unknown-freebsd ? PowerPC FreeBSD powerpc-unknown-linux-gnuspe ✓ PowerPC SPE Linux powerpc-unknown-linux-musl ? PowerPC Linux with musl 1.2.3 powerpc-unknown-linux-muslspe ? PowerPC SPE Linux with musl 1.2.3 powerpc-unknown-netbsd ✓ ✓ NetBSD 32-bit powerpc systems powerpc-unknown-openbsd * powerpc-wrs-vxworks ✓ powerpc-wrs-vxworks-spe ✓ powerpc64-ibm-aix ? 64-bit AIX (7.2 and newer) powerpc64-unknown-freebsd ✓ ✓ PPC64 FreeBSD (ELFv2) powerpc64-unknown-linux-musl ✓ ✓ PPC64 Linux (kernel 4.19, musl 1.2.3) powerpc64-unknown-openbsd ✓ ✓ OpenBSD/powerpc64 powerpc64-wrs-vxworks ✓ powerpc64le-unknown-freebsd ✓ ✓ PPC64LE FreeBSD riscv32-wrs-vxworks ✓ riscv32e-unknown-none-elf * Bare RISC-V (RV32E ISA) riscv32em-unknown-none-elf * Bare RISC-V (RV32EM ISA) riscv32emc-unknown-none-elf * Bare RISC-V (RV32EMC ISA) riscv32gc-unknown-linux-gnu ✓ RISC-V Linux (kernel 5.4, glibc 2.33) riscv32gc-unknown-linux-musl ? RISC-V Linux (kernel 5.4, musl 1.2.3 + RISCV32 support patches) riscv32im-risc0-zkvm-elf ? RISC Zero's zero-knowledge Virtual Machine (RV32IM ISA) riscv32ima-unknown-none-elf * Bare RISC-V (RV32IMA ISA) riscv32imac-esp-espidf ✓ RISC-V ESP-IDF riscv32imac-unknown-nuttx-elf ✓ RISC-V 32bit with NuttX riscv32imac-unknown-xous-elf ? RISC-V Xous (RV32IMAC ISA) riscv32imafc-esp-espidf ✓ RISC-V ESP-IDF riscv32imafc-unknown-nuttx-elf ✓ RISC-V 32bit with NuttX riscv32imc-esp-espidf ✓ RISC-V ESP-IDF riscv32imc-unknown-nuttx-elf ✓ RISC-V 32bit with NuttX riscv64-linux-android ? RISC-V 64-bit Android riscv64-wrs-vxworks ✓ riscv64gc-unknown-freebsd ? RISC-V FreeBSD riscv64gc-unknown-fuchsia ? RISC-V Fuchsia riscv64gc-unknown-hermit ✓ RISC-V Hermit riscv64gc-unknown-netbsd ✓ ✓ RISC-V NetBSD riscv64gc-unknown-nuttx-elf ✓ RISC-V 64bit with NuttX riscv64gc-unknown-openbsd ✓ ✓ OpenBSD/riscv64 riscv64imac-unknown-nuttx-elf ✓ RISC-V 64bit with NuttX s390x-unknown-linux-musl ✓ S390x Linux (kernel 3.2, musl 1.2.3) sparc-unknown-linux-gnu ✓ 32-bit SPARC Linux sparc-unknown-none-elf * Bare 32-bit SPARC V7+ sparc64-unknown-netbsd ✓ ✓ NetBSD/sparc64 sparc64-unknown-openbsd ✓ ✓ OpenBSD/sparc64 thumbv4t-none-eabi * Thumb-mode Bare Armv4T thumbv5te-none-eabi * Thumb-mode Bare Armv5TE thumbv6m-nuttx-eabi ✓ ARMv6M with NuttX thumbv7a-pc-windows-msvc thumbv7a-uwp-windows-msvc thumbv7a-nuttx-eabi ✓ ARMv7-A with NuttX thumbv7a-nuttx-eabihf ✓ ARMv7-A with NuttX, hardfloat thumbv7em-nuttx-eabi ✓ ARMv7EM with NuttX thumbv7em-nuttx-eabihf ✓ ARMv7EM with NuttX, hardfloat thumbv7m-nuttx-eabi ✓ ARMv7M with NuttX thumbv7neon-unknown-linux-musleabihf ? Thumb2-mode Armv7-A Linux with NEON, musl 1.2.3 thumbv8m.base-nuttx-eabi ✓ ARMv8M Baseline with NuttX thumbv8m.main-nuttx-eabi ✓ ARMv8M Mainline with NuttX thumbv8m.main-nuttx-eabihf ✓ ARMv8M Mainline with NuttX, hardfloat wasm64-unknown-unknown ? WebAssembly wasm32-wali-linux-musl ? WebAssembly with WALI x86_64-apple-tvos ✓ x86 64-bit tvOS x86_64-apple-watchos-sim ✓ x86 64-bit Apple WatchOS simulator x86_64-lynx-lynxos178 x86_64 LynxOS-178 x86_64-pc-cygwin ✓ 64-bit x86 Cygwin x86_64-pc-nto-qnx710 ✓ x86 64-bit QNX Neutrino 7.1 RTOS with default network stack (io-pkt) x86_64-pc-nto-qnx710_iosock ✓ x86 64-bit QNX Neutrino 7.1 RTOS with new network stack (io-sock) x86_64-pc-nto-qnx800 ✓ x86 64-bit QNX Neutrino 8.0 RTOS x86_64-unikraft-linux-musl ✓ 64-bit Unikraft with musl 1.2.3 x86_64-unknown-dragonfly ✓ ✓ 64-bit DragonFlyBSD x86_64-unknown-haiku ✓ ✓ 64-bit Haiku x86_64-unknown-hermit ✓ x86_64 Hermit x86_64-unknown-hurd-gnu ✓ ✓ 64-bit GNU/Hurd x86_64-unknown-l4re-uclibc ? x86_64-unknown-linux-none * 64-bit Linux with no libc x86_64-unknown-openbsd ✓ ✓ 64-bit OpenBSD x86_64-unknown-trusty ✓ x86_64-uwp-windows-gnu ✓ x86_64-uwp-windows-msvc ✓ x86_64-win7-windows-gnu ✓ 64-bit Windows 7 support x86_64-win7-windows-msvc ✓ 64-bit Windows 7 support x86_64-wrs-vxworks ✓ x86_64h-apple-darwin ✓ ✓ macOS with late-gen Intel (at least Haswell) xtensa-esp32-espidf ✓ Xtensa ESP32 xtensa-esp32-none-elf * Xtensa ESP32 xtensa-esp32s2-espidf ✓ Xtensa ESP32-S2 xtensa-esp32s2-none-elf * Xtensa ESP32-S2 xtensa-esp32s3-espidf ✓ Xtensa ESP32-S3 xtensa-esp32s3-none-elf * Xtensa ESP32-S3
  1. Due to limitations of the C ABI, floating-point support on i686 targets is non-compliant: floating-point return values are passed via an x87 register, so NaN payload bits can be lost. Functions with the default Rust ABI are not affected. See issue #115567. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14 ↩15 ↩16 ↩17 ↩18 ↩19

  2. Due to non-standard behavior of MSVC, native C code on this target can cause types with an alignment of more than 4 bytes to be incorrectly aligned to only 4 bytes (this affects, e.g., u64 and i64). Rust applies some mitigations to reduce the impact of this issue, but this can still cause unsoundness due to unsafe code that (correctly) assumes that references are always properly aligned. See issue #112480. ↩ ↩2 ↩3 ↩4 ↩5

  3. Floating-point support on i586 targets is non-compliant: the x87 registers and instructions used for these targets do not provide IEEE-754-compliant behavior, in particular when it comes to rounding and NaN payload bits. See issue #114479. ↩ ↩2 ↩3 ↩4


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4