]> git.proxmox.com Git - rustc.git/blame - src/doc/rustc/src/platform-support.md
New upstream version 1.68.2+dfsg1
[rustc.git] / src / doc / rustc / src / platform-support.md
CommitLineData
3dfed10e
XL
1# Platform Support
2
3<style type="text/css">
4 td code {
5 white-space: nowrap;
6 }
7</style>
8
17df50a5
XL
9Support for different platforms ("targets") are organized into three tiers,
10each with a different set of guarantees. For more information on the policies
11for targets at each tier, see the [Target Tier Policy](target-tier-policy.md).
3dfed10e 12
17df50a5
XL
13Targets are identified by their "target triple" which is the string to inform
14the compiler what kind of output should be produced.
3dfed10e 15
17df50a5 16## Tier 1 with Host Tools
3dfed10e 17
17df50a5
XL
18Tier 1 targets can be thought of as "guaranteed to work". The Rust project
19builds official binary releases for each tier 1 target, and automated testing
20ensures that each tier 1 target builds and passes tests after each change.
3dfed10e 21
17df50a5
XL
22Tier 1 targets with host tools additionally support running tools like `rustc`
23and `cargo` natively on the target, and automated testing ensures that tests
24pass for the host tools as well. This allows the target to be used as a
25development platform, not just a compilation target. For the full requirements,
26see [Tier 1 with Host Tools](target-tier-policy.md#tier-1-with-host-tools) in
27the Target Tier Policy.
3dfed10e 28
17df50a5 29All tier 1 targets with host tools support the full standard library.
3dfed10e 30
17df50a5
XL
31target | notes
32-------|-------
064997fb 33`aarch64-unknown-linux-gnu` | ARM64 Linux (kernel 4.1, glibc 2.17+) [^missing-stack-probes]
04454e1e
FG
34`i686-pc-windows-gnu` | 32-bit MinGW (Windows 7+) [^windows-support]
35`i686-pc-windows-msvc` | 32-bit MSVC (Windows 7+) [^windows-support]
064997fb 36`i686-unknown-linux-gnu` | 32-bit Linux (kernel 3.2+, glibc 2.17+)
17df50a5 37`x86_64-apple-darwin` | 64-bit macOS (10.7+, Lion+)
04454e1e
FG
38`x86_64-pc-windows-gnu` | 64-bit MinGW (Windows 7+) [^windows-support]
39`x86_64-pc-windows-msvc` | 64-bit MSVC (Windows 7+) [^windows-support]
064997fb 40`x86_64-unknown-linux-gnu` | 64-bit Linux (kernel 3.2+, glibc 2.17+)
3dfed10e 41
29967ef6
XL
42[^missing-stack-probes]: Stack probes support is missing on
43 `aarch64-unknown-linux-gnu`, but it's planned to be implemented in the near
44 future. The implementation is tracked on [issue #77071][77071].
45
04454e1e
FG
46[^windows-support]: Only Windows 10 currently undergoes automated testing. Earlier versions of Windows rely on testing and support from the community.
47
29967ef6
XL
48[77071]: https://github.com/rust-lang/rust/issues/77071
49
17df50a5
XL
50## Tier 1
51
52Tier 1 targets can be thought of as "guaranteed to work". The Rust project
53builds official binary releases for each tier 1 target, and automated testing
54ensures that each tier 1 target builds and passes tests after each change. For
55the full requirements, see [Tier 1 target
56policy](target-tier-policy.md#tier-1-target-policy) in the Target Tier Policy.
57
58At this time, all Tier 1 targets are [Tier 1 with Host
59Tools](#tier-1-with-host-tools).
60
61## Tier 2 with Host Tools
62
63Tier 2 targets can be thought of as "guaranteed to build". The Rust project
64builds official binary releases for each tier 2 target, and automated builds
65ensure that each tier 2 target builds after each change. Automated tests are
66not always run so it's not guaranteed to produce a working build, but tier 2
67targets often work to quite a good degree and patches are always welcome!
68
69Tier 2 targets with host tools additionally support running tools like `rustc`
70and `cargo` natively on the target, and automated builds ensure that the host
71tools build as well. This allows the target to be used as a development
72platform, not just a compilation target. For the full requirements, see [Tier 2
73with Host Tools](target-tier-policy.md#tier-2-with-host-tools) in the Target
74Tier Policy.
75
76All tier 2 targets with host tools support the full standard library.
77
5e7ed085
FG
78**NOTE:** The `rust-docs` component is not usually built for tier 2 targets,
79so Rustup may install the documentation for a similar tier 1 target instead.
94222f64 80
17df50a5
XL
81target | notes
82-------|-------
83`aarch64-apple-darwin` | ARM64 macOS (11.0+, Big Sur+)
84`aarch64-pc-windows-msvc` | ARM64 Windows MSVC
85`aarch64-unknown-linux-musl` | ARM64 Linux with MUSL
86`arm-unknown-linux-gnueabi` | ARMv6 Linux (kernel 3.2, glibc 2.17)
87`arm-unknown-linux-gnueabihf` | ARMv6 Linux, hardfloat (kernel 3.2, glibc 2.17)
88`armv7-unknown-linux-gnueabihf` | ARMv7 Linux, hardfloat (kernel 3.2, glibc 2.17)
89`mips-unknown-linux-gnu` | MIPS Linux (kernel 4.4, glibc 2.23)
90`mips64-unknown-linux-gnuabi64` | MIPS64 Linux, n64 ABI (kernel 4.4, glibc 2.23)
91`mips64el-unknown-linux-gnuabi64` | MIPS64 (LE) Linux, n64 ABI (kernel 4.4, glibc 2.23)
92`mipsel-unknown-linux-gnu` | MIPS (LE) Linux (kernel 4.4, glibc 2.23)
064997fb
FG
93`powerpc-unknown-linux-gnu` | PowerPC Linux (kernel 3.2, glibc 2.17)
94`powerpc64-unknown-linux-gnu` | PPC64 Linux (kernel 3.2, glibc 2.17)
17df50a5
XL
95`powerpc64le-unknown-linux-gnu` | PPC64LE Linux (kernel 3.10, glibc 2.17)
96`riscv64gc-unknown-linux-gnu` | RISC-V Linux (kernel 4.20, glibc 2.29)
064997fb 97`s390x-unknown-linux-gnu` | S390x Linux (kernel 3.2, glibc 2.17)
17df50a5
XL
98`x86_64-unknown-freebsd` | 64-bit FreeBSD
99`x86_64-unknown-illumos` | illumos
100`x86_64-unknown-linux-musl` | 64-bit Linux with MUSL
101`x86_64-unknown-netbsd` | NetBSD/amd64
102
3dfed10e
XL
103## Tier 2
104
17df50a5
XL
105Tier 2 targets can be thought of as "guaranteed to build". The Rust project
106builds official binary releases for each tier 2 target, and automated builds
107ensure that each tier 2 target builds after each change. Automated tests are
108not always run so it's not guaranteed to produce a working build, but tier 2
109targets often work to quite a good degree and patches are always welcome! For
110the full requirements, see [Tier 2 target
111policy](target-tier-policy.md#tier-2-target-policy) in the Target Tier Policy.
3dfed10e 112
17df50a5 113The `std` column in the table below has the following meanings:
3dfed10e 114
17df50a5
XL
115* ✓ indicates the full standard library is available.
116* \* indicates the target only supports [`no_std`] development.
117
118[`no_std`]: https://rust-embedded.github.io/book/intro/no-std.html
119
5e7ed085
FG
120**NOTE:** The `rust-docs` component is not usually built for tier 2 targets,
121so Rustup may install the documentation for a similar tier 1 target instead.
94222f64 122
17df50a5
XL
123target | std | notes
124-------|:---:|-------
125`aarch64-apple-ios` | ✓ | ARM64 iOS
94222f64 126[`aarch64-apple-ios-sim`](platform-support/aarch64-apple-ios-sim.md) | ✓ | Apple iOS Simulator on ARM64
f25598a0
FG
127`aarch64-fuchsia` | ✓ | Alias for `aarch64-unknown-fuchsia`
128`aarch64-unknown-fuchsia` | ✓ | ARM64 Fuchsia
2b03887a 129[`aarch64-linux-android`](platform-support/android.md) | ✓ | ARM64 Android
17df50a5
XL
130`aarch64-unknown-none-softfloat` | * | Bare ARM64, softfloat
131`aarch64-unknown-none` | * | Bare ARM64, hardfloat
487cf647 132[`aarch64-unknown-uefi`](platform-support/unknown-uefi.md) | * | ARM64 UEFI
2b03887a 133[`arm-linux-androideabi`](platform-support/android.md) | ✓ | ARMv7 Android
17df50a5
XL
134`arm-unknown-linux-musleabi` | ✓ | ARMv6 Linux with MUSL
135`arm-unknown-linux-musleabihf` | ✓ | ARMv6 Linux with MUSL, hardfloat
136`armebv7r-none-eabi` | * | Bare ARMv7-R, Big Endian
137`armebv7r-none-eabihf` | * | Bare ARMv7-R, Big Endian, hardfloat
138`armv5te-unknown-linux-gnueabi` | ✓ | ARMv5TE Linux (kernel 4.4, glibc 2.23)
139`armv5te-unknown-linux-musleabi` | ✓ | ARMv5TE Linux with MUSL
2b03887a 140[`armv7-linux-androideabi`](platform-support/android.md) | ✓ | ARMv7a Android
17df50a5 141`armv7-unknown-linux-gnueabi` | ✓ |ARMv7 Linux (kernel 4.15, glibc 2.27)
c295e0f8
XL
142`armv7-unknown-linux-musleabi` | ✓ |ARMv7 Linux with MUSL
143`armv7-unknown-linux-musleabihf` | ✓ | ARMv7 Linux with MUSL, hardfloat
17df50a5
XL
144`armv7a-none-eabi` | * | Bare ARMv7-A
145`armv7r-none-eabi` | * | Bare ARMv7-R
146`armv7r-none-eabihf` | * | Bare ARMv7-R, hardfloat
147`asmjs-unknown-emscripten` | ✓ | asm.js via Emscripten
5e7ed085 148`i586-pc-windows-msvc` | * | 32-bit Windows w/o SSE
2b03887a 149`i586-unknown-linux-gnu` | ✓ | 32-bit Linux w/o SSE (kernel 3.2, glibc 2.17)
17df50a5 150`i586-unknown-linux-musl` | ✓ | 32-bit Linux w/o SSE, MUSL
2b03887a 151[`i686-linux-android`](platform-support/android.md) | ✓ | 32-bit x86 Android
17df50a5
XL
152`i686-unknown-freebsd` | ✓ | 32-bit FreeBSD
153`i686-unknown-linux-musl` | ✓ | 32-bit Linux with MUSL
487cf647 154[`i686-unknown-uefi`](platform-support/unknown-uefi.md) | * | 32-bit UEFI
17df50a5
XL
155`mips-unknown-linux-musl` | ✓ | MIPS Linux with MUSL
156`mips64-unknown-linux-muslabi64` | ✓ | MIPS64 Linux, n64 ABI, MUSL
157`mips64el-unknown-linux-muslabi64` | ✓ | MIPS64 (LE) Linux, n64 ABI, MUSL
158`mipsel-unknown-linux-musl` | ✓ | MIPS (LE) Linux with MUSL
159`nvptx64-nvidia-cuda` | * | --emit=asm generates PTX code that [runs on NVIDIA GPUs]
160`riscv32i-unknown-none-elf` | * | Bare RISC-V (RV32I ISA)
161`riscv32imac-unknown-none-elf` | * | Bare RISC-V (RV32IMAC ISA)
162`riscv32imc-unknown-none-elf` | * | Bare RISC-V (RV32IMC ISA)
163`riscv64gc-unknown-none-elf` | * | Bare RISC-V (RV64IMAFDC ISA)
164`riscv64imac-unknown-none-elf` | * | Bare RISC-V (RV64IMAC ISA)
165`sparc64-unknown-linux-gnu` | ✓ | SPARC Linux (kernel 4.4, glibc 2.23)
166`sparcv9-sun-solaris` | ✓ | SPARC Solaris 10/11, illumos
167`thumbv6m-none-eabi` | * | Bare Cortex-M0, M0+, M1
168`thumbv7em-none-eabi` | * | Bare Cortex-M4, M7
169`thumbv7em-none-eabihf` | * | Bare Cortex-M4F, M7F, FPU, hardfloat
170`thumbv7m-none-eabi` | * | Bare Cortex-M3
2b03887a 171[`thumbv7neon-linux-androideabi`](platform-support/android.md) | ✓ | Thumb2-mode ARMv7a Android with NEON
17df50a5
XL
172`thumbv7neon-unknown-linux-gnueabihf` | ✓ | Thumb2-mode ARMv7a Linux with NEON (kernel 4.4, glibc 2.23)
173`thumbv8m.base-none-eabi` | * | ARMv8-M Baseline
174`thumbv8m.main-none-eabi` | * | ARMv8-M Mainline
175`thumbv8m.main-none-eabihf` | * | ARMv8-M Mainline, hardfloat
176`wasm32-unknown-emscripten` | ✓ | WebAssembly via Emscripten
177`wasm32-unknown-unknown` | ✓ | WebAssembly
178`wasm32-wasi` | ✓ | WebAssembly with WASI
179`x86_64-apple-ios` | ✓ | 64-bit x86 iOS
2b03887a 180[`x86_64-fortanix-unknown-sgx`](platform-support/x86_64-fortanix-unknown-sgx.md) | ✓ | [Fortanix ABI] for 64-bit Intel SGX
f25598a0
FG
181`x86_64-fuchsia` | ✓ | Alias for `x86_64-unknown-fuchsia`
182`x86_64-unknown-fuchsia` | ✓ | 64-bit Fuchsia
2b03887a 183[`x86_64-linux-android`](platform-support/android.md) | ✓ | 64-bit x86 Android
17df50a5
XL
184`x86_64-pc-solaris` | ✓ | 64-bit Solaris 10/11, illumos
185`x86_64-unknown-linux-gnux32` | ✓ | 64-bit Linux (x32 ABI) (kernel 4.15, glibc 2.27)
04454e1e 186[`x86_64-unknown-none`](platform-support/x86_64-unknown-none.md) | * | Freestanding/bare-metal x86_64, softfloat
17df50a5 187`x86_64-unknown-redox` | ✓ | Redox OS
487cf647 188[`x86_64-unknown-uefi`](platform-support/unknown-uefi.md) | * | 64-bit UEFI
3dfed10e
XL
189
190[Fortanix ABI]: https://edp.fortanix.com/
191
192## Tier 3
193
17df50a5
XL
194Tier 3 targets are those which the Rust codebase has support for, but which the
195Rust project does not build or test automatically, so they may or may not work.
196Official builds are not available. For the full requirements, see [Tier 3
197target policy](target-tier-policy.md#tier-3-target-policy) in the Target Tier
198Policy.
199
200The `std` column in the table below has the following meanings:
201
202* ✓ indicates the full standard library is available.
203* \* indicates the target only supports [`no_std`] development.
204* ? indicates the standard library support is unknown or a work-in-progress.
205
206[`no_std`]: https://rust-embedded.github.io/book/intro/no-std.html
207
208The `host` column indicates whether the codebase includes support for building
209host tools.
3dfed10e
XL
210
211target | std | host | notes
17df50a5 212-------|:---:|:----:|-------
fc512014 213`aarch64-apple-ios-macabi` | ? | | Apple Catalyst on ARM64
1b1a35ee 214`aarch64-apple-tvos` | * | | ARM64 tvOS
923072b8 215[`aarch64-apple-watchos-sim`](platform-support/apple-watchos.md) | ✓ | | ARM64 Apple WatchOS Simulator
c295e0f8 216[`aarch64-kmc-solid_asp3`](platform-support/kmc-solid.md) | ✓ | | ARM64 SOLID with TOPPERS/ASP3
064997fb 217[`aarch64-nintendo-switch-freestanding`](platform-support/aarch64-nintendo-switch-freestanding.md) | * | | ARM64 Nintendo Switch, Horizon
04454e1e 218[`aarch64-pc-windows-gnullvm`](platform-support/pc-windows-gnullvm.md) | ✓ | ✓ |
487cf647 219[`aarch64-unknown-nto-qnx710`](platform-support/nto-qnx.md) | ? | | ARM64 QNX Neutrino 7.1 RTOS |
3dfed10e 220`aarch64-unknown-freebsd` | ✓ | ✓ | ARM64 FreeBSD
5099ac24 221`aarch64-unknown-hermit` | ✓ | | ARM64 HermitCore
5869c6ff 222`aarch64-unknown-linux-gnu_ilp32` | ✓ | ✓ | ARM64 Linux (ILP32 ABI)
fc512014 223`aarch64-unknown-netbsd` | ✓ | ✓ |
5099ac24 224[`aarch64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | ARM64 OpenBSD
3dfed10e
XL
225`aarch64-unknown-redox` | ? | | ARM64 Redox OS
226`aarch64-uwp-windows-msvc` | ? | |
227`aarch64-wrs-vxworks` | ? | |
5869c6ff 228`aarch64_be-unknown-linux-gnu_ilp32` | ✓ | ✓ | ARM64 Linux (big-endian, ILP32 ABI)
17df50a5 229`aarch64_be-unknown-linux-gnu` | ✓ | ✓ | ARM64 Linux (big-endian)
923072b8 230[`arm64_32-apple-watchos`](platform-support/apple-watchos.md) | ✓ | | ARM Apple WatchOS 64-bit with 32-bit pointers
f2b60f7d
FG
231[`armeb-unknown-linux-gnueabi`](platform-support/armeb-unknown-linux-gnueabi.md) | ✓ | ? | ARM BE8 the default ARM big-endian architecture since [ARMv6](https://developer.arm.com/documentation/101754/0616/armlink-Reference/armlink-Command-line-Options/--be8?lang=en).
232`armv4t-none-eabi` | * | | ARMv4T A32
3dfed10e 233`armv4t-unknown-linux-gnueabi` | ? | |
2b03887a 234[`armv5te-none-eabi`](platform-support/armv5te-none-eabi.md) | * | | ARMv5TE A32
fc512014 235`armv5te-unknown-linux-uclibceabi` | ? | | ARMv5TE Linux with uClibc
3dfed10e
XL
236`armv6-unknown-freebsd` | ✓ | ✓ | ARMv6 FreeBSD
237`armv6-unknown-netbsd-eabihf` | ? | |
923072b8 238[`armv6k-nintendo-3ds`](platform-support/armv6k-nintendo-3ds.md) | ? | | ARMv6K Nintendo 3DS, Horizon (Requires devkitARM toolchain)
1b1a35ee 239`armv7-apple-ios` | ✓ | | ARMv7 iOS, Cortex-a8
f25598a0 240[`armv7-sony-vita-newlibeabihf`](platform-support/armv7-sony-vita-newlibeabihf.md) | ? | | ARM Cortex-A9 Sony PlayStation Vita (requires VITASDK toolchain)
5099ac24
FG
241[`armv7-unknown-linux-uclibceabi`](platform-support/armv7-unknown-linux-uclibceabi.md) | ✓ | ✓ | ARMv7 Linux with uClibc, softfloat
242[`armv7-unknown-linux-uclibceabihf`](platform-support/armv7-unknown-linux-uclibceabihf.md) | ✓ | ? | ARMv7 Linux with uClibc, hardfloat
3dfed10e 243`armv7-unknown-freebsd` | ✓ | ✓ | ARMv7 FreeBSD
fc512014 244`armv7-unknown-netbsd-eabihf` | ✓ | ✓ |
3dfed10e 245`armv7-wrs-vxworks-eabihf` | ? | |
c295e0f8
XL
246[`armv7a-kmc-solid_asp3-eabi`](platform-support/kmc-solid.md) | ✓ | | ARM SOLID with TOPPERS/ASP3
247[`armv7a-kmc-solid_asp3-eabihf`](platform-support/kmc-solid.md) | ✓ | | ARM SOLID with TOPPERS/ASP3, hardfloat
3dfed10e 248`armv7a-none-eabihf` | * | | ARM Cortex-A, hardfloat
923072b8 249[`armv7k-apple-watchos`](platform-support/apple-watchos.md) | ✓ | | ARM Apple WatchOS
1b1a35ee 250`armv7s-apple-ios` | ✓ | |
17df50a5
XL
251`avr-unknown-gnu-atmega328` | * | | AVR. Requires `-Z build-std=core`
252`bpfeb-unknown-none` | * | | BPF (big endian)
253`bpfel-unknown-none` | * | | BPF (little endian)
3dfed10e 254`hexagon-unknown-linux-musl` | ? | |
1b1a35ee 255`i386-apple-ios` | ✓ | | 32-bit x86 iOS
29967ef6 256`i686-apple-darwin` | ✓ | ✓ | 32-bit macOS (10.7+, Lion+)
5e7ed085 257`i686-pc-windows-msvc` | * | | 32-bit Windows XP support
3dfed10e 258`i686-unknown-haiku` | ✓ | ✓ | 32-bit Haiku
fc512014 259`i686-unknown-netbsd` | ✓ | ✓ | NetBSD/i386 with SSE2
5099ac24 260[`i686-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | 32-bit OpenBSD
3dfed10e
XL
261`i686-uwp-windows-gnu` | ? | |
262`i686-uwp-windows-msvc` | ? | |
263`i686-wrs-vxworks` | ? | |
04454e1e 264[`m68k-unknown-linux-gnu`](platform-support/m68k-unknown-linux-gnu.md) | ? | | Motorola 680x0 Linux
3dfed10e 265`mips-unknown-linux-uclibc` | ✓ | | MIPS Linux with uClibc
04454e1e 266[`mips64-openwrt-linux-musl`](platform-support/mips64-openwrt-linux-musl.md) | ? | | MIPS64 for OpenWrt Linux MUSL
17df50a5 267`mipsel-sony-psp` | * | | MIPS (LE) Sony PlayStation Portable (PSP)
487cf647 268[`mipsel-sony-psx`](platform-support/mipsel-sony-psx.md) | * | | MIPS (LE) Sony PlayStation 1 (PSX)
3dfed10e 269`mipsel-unknown-linux-uclibc` | ✓ | | MIPS (LE) Linux with uClibc
29967ef6 270`mipsel-unknown-none` | * | | Bare MIPS (LE) softfloat
3dfed10e
XL
271`mipsisa32r6-unknown-linux-gnu` | ? | |
272`mipsisa32r6el-unknown-linux-gnu` | ? | |
273`mipsisa64r6-unknown-linux-gnuabi64` | ? | |
274`mipsisa64r6el-unknown-linux-gnuabi64` | ? | |
275`msp430-none-elf` | * | | 16-bit MSP430 microcontrollers
276`powerpc-unknown-linux-gnuspe` | ✓ | | PowerPC SPE Linux
277`powerpc-unknown-linux-musl` | ? | |
fc512014 278`powerpc-unknown-netbsd` | ✓ | ✓ |
6a06907d 279`powerpc-unknown-openbsd` | ? | |
3dfed10e 280`powerpc-wrs-vxworks-spe` | ? | |
17df50a5 281`powerpc-wrs-vxworks` | ? | |
3dfed10e 282`powerpc64-unknown-freebsd` | ✓ | ✓ | PPC64 FreeBSD (ELFv1 and ELFv2)
136023e0 283`powerpc64le-unknown-freebsd` | | | PPC64LE FreeBSD
94222f64 284`powerpc-unknown-freebsd` | | | PowerPC FreeBSD
3dfed10e
XL
285`powerpc64-unknown-linux-musl` | ? | |
286`powerpc64-wrs-vxworks` | ? | |
287`powerpc64le-unknown-linux-musl` | ? | |
f2b60f7d 288[`powerpc64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | OpenBSD/powerpc64
487cf647 289`powerpc64-ibm-aix` | ? | | 64-bit AIX (7.2 and newer)
1b1a35ee 290`riscv32gc-unknown-linux-gnu` | | | RISC-V Linux (kernel 5.4, glibc 2.33)
6a06907d 291`riscv32gc-unknown-linux-musl` | | | RISC-V Linux (kernel 5.4, musl + RISCV32 support patches)
5e7ed085 292`riscv32im-unknown-none-elf` | * | | Bare RISC-V (RV32IM ISA)
923072b8 293[`riscv32imac-unknown-xous-elf`](platform-support/riscv32imac-unknown-xous-elf.md) | ? | | RISC-V Xous (RV32IMAC ISA)
94222f64 294`riscv32imc-esp-espidf` | ✓ | | RISC-V ESP-IDF
a2a8927a 295`riscv64gc-unknown-freebsd` | | | RISC-V FreeBSD
17df50a5 296`riscv64gc-unknown-linux-musl` | | | RISC-V Linux (kernel 4.20, musl 1.2.0)
f2b60f7d 297[`riscv64gc-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | OpenBSD/riscv64
064997fb 298`s390x-unknown-linux-musl` | | | S390x Linux (kernel 3.2, MUSL)
3dfed10e
XL
299`sparc-unknown-linux-gnu` | ✓ | | 32-bit SPARC Linux
300`sparc64-unknown-netbsd` | ✓ | ✓ | NetBSD/sparc64
5099ac24 301[`sparc64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | OpenBSD/sparc64
17df50a5 302`thumbv4t-none-eabi` | * | | ARMv4T T32
2b03887a 303[`thumbv5te-none-eabi`](platform-support/armv5te-none-eabi.md) | * | | ARMv5TE T32
3dfed10e
XL
304`thumbv7a-pc-windows-msvc` | ? | |
305`thumbv7a-uwp-windows-msvc` | ✓ | |
306`thumbv7neon-unknown-linux-musleabihf` | ? | | Thumb2-mode ARMv7a Linux with NEON, MUSL
3c0e092e 307[`wasm64-unknown-unknown`](platform-support/wasm64-unknown-unknown.md) | ? | | WebAssembly
fc512014 308`x86_64-apple-ios-macabi` | ✓ | | Apple Catalyst on x86_64
1b1a35ee 309`x86_64-apple-tvos` | * | | x86 64-bit tvOS
923072b8 310[`x86_64-apple-watchos-sim`](platform-support/apple-watchos.md) | ✓ | | x86 64-bit Apple WatchOS simulator
487cf647 311[`x86_64-pc-nto-qnx710`](platform-support/nto-qnx.md) | ? | | x86 64-bit QNX Neutrino 7.1 RTOS |
04454e1e 312[`x86_64-pc-windows-gnullvm`](platform-support/pc-windows-gnullvm.md) | ✓ | ✓ |
5e7ed085 313`x86_64-pc-windows-msvc` | * | | 64-bit Windows XP support
17df50a5 314`x86_64-sun-solaris` | ? | | Deprecated target for 64-bit Solaris 10/11, illumos
3dfed10e
XL
315`x86_64-unknown-dragonfly` | ✓ | ✓ | 64-bit DragonFlyBSD
316`x86_64-unknown-haiku` | ✓ | ✓ | 64-bit Haiku
5099ac24 317`x86_64-unknown-hermit` | ✓ | | HermitCore
3dfed10e 318`x86_64-unknown-l4re-uclibc` | ? | |
5099ac24 319[`x86_64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | 64-bit OpenBSD
3dfed10e
XL
320`x86_64-uwp-windows-gnu` | ✓ | |
321`x86_64-uwp-windows-msvc` | ✓ | |
322`x86_64-wrs-vxworks` | ? | |
323
324[runs on NVIDIA GPUs]: https://github.com/japaric-archived/nvptx#targets