RustSec: platforms crate

Latest Version Docs Build Status Apache 2/MIT licensed MSRV Project Chat

Rust platform registry: provides programmatic access to information about valid Rust platforms, sourced from the Rust compiler.

Documentation

About

This crate provides programmatic access to information about valid Rust platforms. This is useful for systems which document/inventory information relevant to Rust platforms.

It was created for the RustSec Advisory Database and is maintained by the Rust Secure Code Working Group.

It is not intended to be a tool for gating builds based on the current platform or as a replacement for Rust's existing conditional compilation features: please use those for build purposes.

Minimum Supported Rust Version

Rust 1.40 or higher.

Minimum supported Rust version may be changed in the future, but it will be accompanied by a minor version bump.

SemVer Policy

We reserve the right to add and remove platforms from the registry without bumping major versions. This doesn't change the API, but can break crates that expect platforms to be there if they are removed.

If we remove platforms, we will bump the minor version of this crate.

Registered Platforms

Tier 1

target tripletarget_archtarget_ostarget_env
aarch64-unknown-linux-gnuaarch64linuxgnu
i686-pc-windows-gnux86windowsgnu
i686-pc-windows-msvcx86windowsmsvc
i686-unknown-linux-gnux86linuxgnu
x86_64-apple-darwinx86_64macos
x86_64-pc-windows-gnux86_64windowsgnu
x86_64-pc-windows-msvcx86_64windowsmsvc
x86_64-unknown-linux-gnux86_64linuxgnu

Tier 2

target tripletarget_archtarget_ostarget_env
aarch64-apple-darwinaarch64macos
aarch64-apple-iosaarch64ios
aarch64-apple-ios-simaarch64ios
aarch64-fuchsiaaarch64fuchsia
aarch64-linux-androidaarch64android
aarch64-pc-windows-msvcaarch64windowsmsvc
aarch64-unknown-fuchsiaaarch64fuchsia
aarch64-unknown-linux-muslaarch64linuxmusl
aarch64-unknown-noneaarch64none
aarch64-unknown-none-softfloataarch64none
aarch64-unknown-uefiaarch64uefi
arm-linux-androideabiarmandroid
arm-unknown-linux-gnueabiarmlinuxgnu
arm-unknown-linux-gnueabihfarmlinuxgnu
arm-unknown-linux-musleabiarmlinuxmusl
arm-unknown-linux-musleabihfarmlinuxmusl
armebv7r-none-eabiarmnone
armebv7r-none-eabihfarmnone
armv5te-unknown-linux-gnueabiarmlinuxgnu
armv5te-unknown-linux-musleabiarmlinuxmusl
armv7-linux-androideabiarmandroid
armv7-unknown-linux-gnueabiarmlinuxgnu
armv7-unknown-linux-gnueabihfarmlinuxgnu
armv7-unknown-linux-musleabiarmlinuxmusl
armv7-unknown-linux-musleabihfarmlinuxmusl
armv7a-none-eabiarmnone
armv7r-none-eabiarmnone
armv7r-none-eabihfarmnone
asmjs-unknown-emscriptenwasm32emscripten
i586-pc-windows-msvcx86windowsmsvc
i586-unknown-linux-gnux86linuxgnu
i586-unknown-linux-muslx86linuxmusl
i686-linux-androidx86android
i686-unknown-freebsdx86freebsd
i686-unknown-linux-muslx86linuxmusl
i686-unknown-uefix86uefi
loongarch64-unknown-linux-gnuloongarch64linuxgnu
mips-unknown-linux-gnumipslinuxgnu
mips-unknown-linux-muslmipslinuxmusl
mips64-unknown-linux-gnuabi64mips64linuxgnu
mips64-unknown-linux-muslabi64mips64linuxmusl
mips64el-unknown-linux-gnuabi64mips64linuxgnu
mips64el-unknown-linux-muslabi64mips64linuxmusl
mipsel-unknown-linux-gnumipslinuxgnu
mipsel-unknown-linux-muslmipslinuxmusl
nvptx64-nvidia-cudanvptx64cuda
powerpc-unknown-linux-gnupowerpclinuxgnu
powerpc64-unknown-linux-gnupowerpc64linuxgnu
powerpc64le-unknown-linux-gnupowerpc64linuxgnu
riscv32i-unknown-none-elfriscv32none
riscv32imac-unknown-none-elfriscv32none
riscv32imc-unknown-none-elfriscv32none
riscv64gc-unknown-linux-gnuriscv64linuxgnu
riscv64gc-unknown-none-elfriscv64none
riscv64imac-unknown-none-elfriscv64none
s390x-unknown-linux-gnus390xlinuxgnu
sparc64-unknown-linux-gnusparc64linuxgnu
sparcv9-sun-solarissparc64solaris
thumbv6m-none-eabiarmnone
thumbv7em-none-eabiarmnone
thumbv7em-none-eabihfarmnone
thumbv7m-none-eabiarmnone
thumbv7neon-linux-androideabiarmandroid
thumbv7neon-unknown-linux-gnueabihfarmlinuxgnu
thumbv8m.base-none-eabiarmnone
thumbv8m.main-none-eabiarmnone
thumbv8m.main-none-eabihfarmnone
wasm32-unknown-emscriptenwasm32emscripten
wasm32-unknown-unknownwasm32unknown
wasm32-wasiwasm32wasi
x86_64-apple-iosx86_64ios
x86_64-fortanix-unknown-sgxx86_64unknownsgx
x86_64-fuchsiax86_64fuchsia
x86_64-linux-androidx86_64android
x86_64-pc-solarisx86_64solaris
x86_64-unknown-freebsdx86_64freebsd
x86_64-unknown-fuchsiax86_64fuchsia
x86_64-unknown-illumosx86_64illumos
x86_64-unknown-linux-gnux32x86_64linuxgnu
x86_64-unknown-linux-muslx86_64linuxmusl
x86_64-unknown-netbsdx86_64netbsd
x86_64-unknown-nonex86_64none
x86_64-unknown-redoxx86_64redoxrelibc
x86_64-unknown-uefix86_64uefi

Tier 3

target tripletarget_archtarget_ostarget_env
aarch64-apple-ios-macabiaarch64ios
aarch64-apple-tvosaarch64tvos
aarch64-apple-watchos-simaarch64watchos
aarch64-kmc-solid_asp3aarch64solid_asp3
aarch64-nintendo-switch-freestandingaarch64horizon
aarch64-pc-windows-gnullvmaarch64windowsgnu
aarch64-unknown-freebsdaarch64freebsd
aarch64-unknown-hermitaarch64hermit
aarch64-unknown-linux-gnu_ilp32aarch64linuxgnu
aarch64-unknown-linux-ohosaarch64linuxohos
aarch64-unknown-netbsdaarch64netbsd
aarch64-unknown-nto-qnx710aarch64ntonto71
aarch64-unknown-openbsdaarch64openbsd
aarch64-unknown-redoxaarch64redoxrelibc
aarch64-unknown-teeosaarch64teeos
aarch64-uwp-windows-msvcaarch64windowsmsvc
aarch64-wrs-vxworksaarch64vxworksgnu
aarch64_be-unknown-linux-gnuaarch64linuxgnu
aarch64_be-unknown-linux-gnu_ilp32aarch64linuxgnu
aarch64_be-unknown-netbsdaarch64netbsd
arm64_32-apple-watchosaarch64watchos
armeb-unknown-linux-gnueabiarmlinuxgnu
armv4t-none-eabiarmnone
armv4t-unknown-linux-gnueabiarmlinuxgnu
armv5te-none-eabiarmnone
armv5te-unknown-linux-uclibceabiarmlinuxuclibc
armv6-unknown-freebsdarmfreebsdgnueabihf
armv6-unknown-netbsd-eabihfarmnetbsdeabihf
armv6k-nintendo-3dsarmhorizonnewlib
armv7-apple-iosarmios
armv7-sony-vita-newlibeabihfarmvitanewlib
armv7-unknown-freebsdarmfreebsdgnueabihf
armv7-unknown-linux-ohosarmlinuxohos
armv7-unknown-linux-uclibceabiarmlinuxuclibc
armv7-unknown-linux-uclibceabihfarmlinuxuclibc
armv7-unknown-netbsd-eabihfarmnetbsdeabihf
armv7-wrs-vxworks-eabihfarmvxworksgnu
armv7a-kmc-solid_asp3-eabiarmsolid_asp3
armv7a-kmc-solid_asp3-eabihfarmsolid_asp3
armv7a-none-eabihfarmnone
armv7k-apple-watchosarmwatchos
armv7s-apple-iosarmios
avr-unknown-gnu-atmega328avrnone
bpfeb-unknown-nonebpfnone
bpfel-unknown-nonebpfnone
csky-unknown-linux-gnuabiv2cskylinuxgnu
hexagon-unknown-linux-muslhexagonlinuxmusl
i386-apple-iosx86ios
i586-pc-nto-qnx700x86ntonto70
i686-apple-darwinx86macos
i686-unknown-haikux86haiku
i686-unknown-netbsdx86netbsd
i686-unknown-openbsdx86openbsd
i686-uwp-windows-gnux86windowsgnu
i686-uwp-windows-msvcx86windowsmsvc
i686-wrs-vxworksx86vxworksgnu
loongarch64-unknown-noneloongarch64none
loongarch64-unknown-none-softfloatloongarch64none
m68k-unknown-linux-gnum68klinuxgnu
mips-unknown-linux-uclibcmipslinuxuclibc
mips64-openwrt-linux-muslmips64linuxmusl
mipsel-sony-pspmipspsp
mipsel-sony-psxmipsnonepsx
mipsel-unknown-linux-uclibcmipslinuxuclibc
mipsel-unknown-nonemipsnone
mipsisa32r6-unknown-linux-gnumips32r6linuxgnu
mipsisa32r6el-unknown-linux-gnumips32r6linuxgnu
mipsisa64r6-unknown-linux-gnuabi64mips64r6linuxgnu
mipsisa64r6el-unknown-linux-gnuabi64mips64r6linuxgnu
msp430-none-elfmsp430none
powerpc-unknown-freebsdpowerpcfreebsd
powerpc-unknown-linux-gnuspepowerpclinuxgnu
powerpc-unknown-linux-muslpowerpclinuxmusl
powerpc-unknown-netbsdpowerpcnetbsd
powerpc-unknown-openbsdpowerpcopenbsd
powerpc-wrs-vxworkspowerpcvxworksgnu
powerpc-wrs-vxworks-spepowerpcvxworksgnu
powerpc64-ibm-aixpowerpc64aix
powerpc64-unknown-freebsdpowerpc64freebsd
powerpc64-unknown-linux-muslpowerpc64linuxmusl
powerpc64-unknown-openbsdpowerpc64openbsd
powerpc64-wrs-vxworkspowerpc64vxworksgnu
powerpc64le-unknown-freebsdpowerpc64freebsd
powerpc64le-unknown-linux-muslpowerpc64linuxmusl
riscv32gc-unknown-linux-gnuriscv32linuxgnu
riscv32gc-unknown-linux-muslriscv32linuxmusl
riscv32im-unknown-none-elfriscv32none
riscv32imac-esp-espidfriscv32espidfnewlib
riscv32imac-unknown-xous-elfriscv32xous
riscv32imc-esp-espidfriscv32espidfnewlib
riscv64-linux-androidriscv64android
riscv64gc-unknown-freebsdriscv64freebsd
riscv64gc-unknown-fuchsiariscv64fuchsia
riscv64gc-unknown-hermitriscv64hermit
riscv64gc-unknown-linux-muslriscv64linuxmusl
riscv64gc-unknown-netbsdriscv64netbsd
riscv64gc-unknown-openbsdriscv64openbsd
s390x-unknown-linux-musls390xlinuxmusl
sparc-unknown-linux-gnusparclinuxgnu
sparc-unknown-none-elfsparcnone
sparc64-unknown-netbsdsparc64netbsd
sparc64-unknown-openbsdsparc64openbsd
thumbv4t-none-eabiarmnone
thumbv5te-none-eabiarmnone
thumbv7a-pc-windows-msvcarmwindowsmsvc
thumbv7a-uwp-windows-msvcarmwindowsmsvc
thumbv7neon-unknown-linux-musleabihfarmlinuxmusl
wasm32-wasi-preview1-threadswasm32wasi
wasm64-unknown-unknownwasm64unknown
x86_64-apple-ios-macabix86_64ios
x86_64-apple-tvosx86_64tvos
x86_64-apple-watchos-simx86_64watchos
x86_64-pc-nto-qnx710x86_64ntonto71
x86_64-pc-windows-gnullvmx86_64windowsgnu
x86_64-sun-solarisx86_64solaris
x86_64-unikraft-linux-muslx86_64linuxmusl
x86_64-unknown-dragonflyx86_64dragonfly
x86_64-unknown-haikux86_64haiku
x86_64-unknown-hermitx86_64hermit
x86_64-unknown-l4re-uclibcx86_64l4reuclibc
x86_64-unknown-linux-ohosx86_64linuxohos
x86_64-unknown-openbsdx86_64openbsd
x86_64-uwp-windows-gnux86_64windowsgnu
x86_64-uwp-windows-msvcx86_64windowsmsvc
x86_64-wrs-vxworksx86_64vxworksgnu
x86_64h-apple-darwinx86_64macos