diff --git a/compiler/rustc_target/src/spec/aarch64_apple_darwin.rs b/compiler/rustc_target/src/spec/aarch64_apple_darwin.rs index 9ac732351411c..171b799966841 100644 --- a/compiler/rustc_target/src/spec/aarch64_apple_darwin.rs +++ b/compiler/rustc_target/src/spec/aarch64_apple_darwin.rs @@ -1,5 +1,7 @@ -use super::apple_base::{macos_llvm_target, opts, Arch}; -use crate::spec::{FramePointer, SanitizerSet, Target, TargetOptions}; +use crate::spec::{ + base::apple::{macos_llvm_target, opts, Arch}, + FramePointer, SanitizerSet, Target, TargetOptions, +}; pub fn target() -> Target { let arch = Arch::Arm64; diff --git a/compiler/rustc_target/src/spec/aarch64_apple_ios.rs b/compiler/rustc_target/src/spec/aarch64_apple_ios.rs index e9edfd2877b86..89f72b213a2fc 100644 --- a/compiler/rustc_target/src/spec/aarch64_apple_ios.rs +++ b/compiler/rustc_target/src/spec/aarch64_apple_ios.rs @@ -1,5 +1,7 @@ -use super::apple_base::{ios_llvm_target, opts, Arch}; -use crate::spec::{FramePointer, SanitizerSet, Target, TargetOptions}; +use crate::spec::{ + base::apple::{ios_llvm_target, opts, Arch}, + FramePointer, SanitizerSet, Target, TargetOptions, +}; pub fn target() -> Target { let arch = Arch::Arm64; diff --git a/compiler/rustc_target/src/spec/aarch64_apple_ios_macabi.rs b/compiler/rustc_target/src/spec/aarch64_apple_ios_macabi.rs index b29ab14e7f282..b05928dbc516c 100644 --- a/compiler/rustc_target/src/spec/aarch64_apple_ios_macabi.rs +++ b/compiler/rustc_target/src/spec/aarch64_apple_ios_macabi.rs @@ -1,5 +1,7 @@ -use super::apple_base::{opts, Arch}; -use crate::spec::{Cc, FramePointer, LinkerFlavor, Lld, SanitizerSet, Target, TargetOptions}; +use crate::spec::{ + base::apple::{opts, Arch}, + Cc, FramePointer, LinkerFlavor, Lld, SanitizerSet, Target, TargetOptions, +}; pub fn target() -> Target { let llvm_target = "arm64-apple-ios14.0-macabi"; diff --git a/compiler/rustc_target/src/spec/aarch64_apple_ios_sim.rs b/compiler/rustc_target/src/spec/aarch64_apple_ios_sim.rs index 6e2d62b6e0855..ed51428be95c9 100644 --- a/compiler/rustc_target/src/spec/aarch64_apple_ios_sim.rs +++ b/compiler/rustc_target/src/spec/aarch64_apple_ios_sim.rs @@ -1,5 +1,7 @@ -use super::apple_base::{ios_sim_llvm_target, opts, Arch}; -use crate::spec::{FramePointer, SanitizerSet, Target, TargetOptions}; +use crate::spec::{ + base::apple::{ios_sim_llvm_target, opts, Arch}, + FramePointer, SanitizerSet, Target, TargetOptions, +}; pub fn target() -> Target { let arch = Arch::Arm64_sim; diff --git a/compiler/rustc_target/src/spec/aarch64_apple_tvos.rs b/compiler/rustc_target/src/spec/aarch64_apple_tvos.rs index f7cdfa71c4b65..7902b8f2f58d2 100644 --- a/compiler/rustc_target/src/spec/aarch64_apple_tvos.rs +++ b/compiler/rustc_target/src/spec/aarch64_apple_tvos.rs @@ -1,5 +1,7 @@ -use super::apple_base::{opts, tvos_llvm_target, Arch}; -use crate::spec::{FramePointer, Target, TargetOptions}; +use crate::spec::{ + base::apple::{opts, tvos_llvm_target, Arch}, + FramePointer, Target, TargetOptions, +}; pub fn target() -> Target { let arch = Arch::Arm64; diff --git a/compiler/rustc_target/src/spec/aarch64_apple_watchos_sim.rs b/compiler/rustc_target/src/spec/aarch64_apple_watchos_sim.rs index e4af4127c2223..bb14122e9cb12 100644 --- a/compiler/rustc_target/src/spec/aarch64_apple_watchos_sim.rs +++ b/compiler/rustc_target/src/spec/aarch64_apple_watchos_sim.rs @@ -1,5 +1,7 @@ -use super::apple_base::{opts, watchos_sim_llvm_target, Arch}; -use crate::spec::{FramePointer, Target, TargetOptions}; +use crate::spec::{ + base::apple::{opts, watchos_sim_llvm_target, Arch}, + FramePointer, Target, TargetOptions, +}; pub fn target() -> Target { let arch = Arch::Arm64_sim; diff --git a/compiler/rustc_target/src/spec/aarch64_be_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/aarch64_be_unknown_linux_gnu.rs index b84783c0a407b..80833a1890d08 100644 --- a/compiler/rustc_target/src/spec/aarch64_be_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/aarch64_be_unknown_linux_gnu.rs @@ -1,5 +1,7 @@ -use crate::abi::Endian; -use crate::spec::{Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_gnu, Target, TargetOptions}, +}; pub fn target() -> Target { Target { @@ -12,7 +14,7 @@ pub fn target() -> Target { max_atomic_width: Some(128), mcount: "\u{1}_mcount".into(), endian: Endian::Big, - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/aarch64_be_unknown_linux_gnu_ilp32.rs b/compiler/rustc_target/src/spec/aarch64_be_unknown_linux_gnu_ilp32.rs index a24e0119f25e9..0efe15567d7b7 100644 --- a/compiler/rustc_target/src/spec/aarch64_be_unknown_linux_gnu_ilp32.rs +++ b/compiler/rustc_target/src/spec/aarch64_be_unknown_linux_gnu_ilp32.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_gnu, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::linux_gnu_base::opts(); + let mut base = linux_gnu::opts(); base.max_atomic_width = Some(128); Target { diff --git a/compiler/rustc_target/src/spec/aarch64_be_unknown_netbsd.rs b/compiler/rustc_target/src/spec/aarch64_be_unknown_netbsd.rs index 98ae05974aa84..aace835f4e6e6 100644 --- a/compiler/rustc_target/src/spec/aarch64_be_unknown_netbsd.rs +++ b/compiler/rustc_target/src/spec/aarch64_be_unknown_netbsd.rs @@ -1,5 +1,7 @@ -use crate::abi::Endian; -use crate::spec::{Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::netbsd, Target, TargetOptions}, +}; pub fn target() -> Target { Target { @@ -11,7 +13,7 @@ pub fn target() -> Target { mcount: "__mcount".into(), max_atomic_width: Some(128), endian: Endian::Big, - ..super::netbsd_base::opts() + ..netbsd::opts() }, } } diff --git a/compiler/rustc_target/src/spec/aarch64_kmc_solid_asp3.rs b/compiler/rustc_target/src/spec/aarch64_kmc_solid_asp3.rs index 437fd60158030..9fe9bf51ce156 100644 --- a/compiler/rustc_target/src/spec/aarch64_kmc_solid_asp3.rs +++ b/compiler/rustc_target/src/spec/aarch64_kmc_solid_asp3.rs @@ -1,7 +1,7 @@ -use super::{RelocModel, Target, TargetOptions}; +use crate::spec::{base::solid, RelocModel, Target, TargetOptions}; pub fn target() -> Target { - let base = super::solid_base::opts("asp3"); + let base = solid::opts("asp3"); Target { llvm_target: "aarch64-unknown-none".into(), pointer_width: 64, diff --git a/compiler/rustc_target/src/spec/aarch64_linux_android.rs b/compiler/rustc_target/src/spec/aarch64_linux_android.rs index 071b727b35c56..75d8bd0cf9e9c 100644 --- a/compiler/rustc_target/src/spec/aarch64_linux_android.rs +++ b/compiler/rustc_target/src/spec/aarch64_linux_android.rs @@ -1,4 +1,4 @@ -use crate::spec::{SanitizerSet, Target, TargetOptions}; +use crate::spec::{base::android, SanitizerSet, Target, TargetOptions}; // See https://developer.android.com/ndk/guides/abis.html#arm64-v8a // for target ABI requirements. @@ -20,7 +20,7 @@ pub fn target() -> Target { | SanitizerSet::SHADOWCALLSTACK | SanitizerSet::ADDRESS, supports_xray: true, - ..super::android_base::opts() + ..android::opts() }, } } diff --git a/compiler/rustc_target/src/spec/aarch64_pc_windows_gnullvm.rs b/compiler/rustc_target/src/spec/aarch64_pc_windows_gnullvm.rs index cf1d7ca1158d5..49464c5caf081 100644 --- a/compiler/rustc_target/src/spec/aarch64_pc_windows_gnullvm.rs +++ b/compiler/rustc_target/src/spec/aarch64_pc_windows_gnullvm.rs @@ -1,7 +1,7 @@ -use crate::spec::Target; +use crate::spec::{base::windows_gnullvm, Target}; pub fn target() -> Target { - let mut base = super::windows_gnullvm_base::opts(); + let mut base = windows_gnullvm::opts(); base.max_atomic_width = Some(128); base.features = "+v8a,+neon,+fp-armv8".into(); base.linker = Some("aarch64-w64-mingw32-clang".into()); diff --git a/compiler/rustc_target/src/spec/aarch64_pc_windows_msvc.rs b/compiler/rustc_target/src/spec/aarch64_pc_windows_msvc.rs index 56b76bc7ada9a..daf305309cabf 100644 --- a/compiler/rustc_target/src/spec/aarch64_pc_windows_msvc.rs +++ b/compiler/rustc_target/src/spec/aarch64_pc_windows_msvc.rs @@ -1,7 +1,7 @@ -use crate::spec::Target; +use crate::spec::{base::windows_msvc, Target}; pub fn target() -> Target { - let mut base = super::windows_msvc_base::opts(); + let mut base = windows_msvc::opts(); base.max_atomic_width = Some(128); base.features = "+v8a,+neon,+fp-armv8".into(); diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_freebsd.rs b/compiler/rustc_target/src/spec/aarch64_unknown_freebsd.rs index 84fa9814bbeab..86b8d7f2241e8 100644 --- a/compiler/rustc_target/src/spec/aarch64_unknown_freebsd.rs +++ b/compiler/rustc_target/src/spec/aarch64_unknown_freebsd.rs @@ -1,4 +1,4 @@ -use crate::spec::{SanitizerSet, Target, TargetOptions}; +use crate::spec::{base::freebsd, SanitizerSet, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -13,7 +13,7 @@ pub fn target() -> Target { | SanitizerSet::CFI | SanitizerSet::MEMORY | SanitizerSet::THREAD, - ..super::freebsd_base::opts() + ..freebsd::opts() }, } } diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_fuchsia.rs b/compiler/rustc_target/src/spec/aarch64_unknown_fuchsia.rs index a5683fa7348a7..94efabaa398d1 100644 --- a/compiler/rustc_target/src/spec/aarch64_unknown_fuchsia.rs +++ b/compiler/rustc_target/src/spec/aarch64_unknown_fuchsia.rs @@ -1,4 +1,4 @@ -use crate::spec::{SanitizerSet, Target, TargetOptions}; +use crate::spec::{base::fuchsia, SanitizerSet, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -12,7 +12,7 @@ pub fn target() -> Target { supported_sanitizers: SanitizerSet::ADDRESS | SanitizerSet::CFI | SanitizerSet::SHADOWCALLSTACK, - ..super::fuchsia_base::opts() + ..fuchsia::opts() }, } } diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_hermit.rs b/compiler/rustc_target/src/spec/aarch64_unknown_hermit.rs index 2414867be5526..a147333ce1a63 100644 --- a/compiler/rustc_target/src/spec/aarch64_unknown_hermit.rs +++ b/compiler/rustc_target/src/spec/aarch64_unknown_hermit.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::hermit, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -9,7 +9,7 @@ pub fn target() -> Target { options: TargetOptions { features: "+v8a,+strict-align,+neon,+fp-armv8".into(), max_atomic_width: Some(128), - ..super::hermit_base::opts() + ..hermit::opts() }, } } diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/aarch64_unknown_linux_gnu.rs index da246089440fc..181050972fe89 100644 --- a/compiler/rustc_target/src/spec/aarch64_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/aarch64_unknown_linux_gnu.rs @@ -1,4 +1,4 @@ -use crate::spec::{SanitizerSet, Target, TargetOptions}; +use crate::spec::{base::linux_gnu, SanitizerSet, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -18,7 +18,7 @@ pub fn target() -> Target { | SanitizerSet::THREAD | SanitizerSet::HWADDRESS, supports_xray: true, - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_linux_gnu_ilp32.rs b/compiler/rustc_target/src/spec/aarch64_unknown_linux_gnu_ilp32.rs index ad9df53c2b7fb..9a3ce5d681684 100644 --- a/compiler/rustc_target/src/spec/aarch64_unknown_linux_gnu_ilp32.rs +++ b/compiler/rustc_target/src/spec/aarch64_unknown_linux_gnu_ilp32.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_gnu, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -11,7 +11,7 @@ pub fn target() -> Target { features: "+v8a,+outline-atomics".into(), max_atomic_width: Some(128), mcount: "\u{1}_mcount".into(), - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/aarch64_unknown_linux_musl.rs index 523eb6bd2fe22..81ed7a8b58d3b 100644 --- a/compiler/rustc_target/src/spec/aarch64_unknown_linux_musl.rs +++ b/compiler/rustc_target/src/spec/aarch64_unknown_linux_musl.rs @@ -1,7 +1,7 @@ -use crate::spec::{SanitizerSet, Target, TargetOptions}; +use crate::spec::{base::linux_musl, SanitizerSet, Target, TargetOptions}; pub fn target() -> Target { - let mut base = super::linux_musl_base::opts(); + let mut base = linux_musl::opts(); base.max_atomic_width = Some(128); base.supports_xray = true; base.features = "+v8a".into(); diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_linux_ohos.rs b/compiler/rustc_target/src/spec/aarch64_unknown_linux_ohos.rs index c8f3db00e01bf..602f1689d01fe 100644 --- a/compiler/rustc_target/src/spec/aarch64_unknown_linux_ohos.rs +++ b/compiler/rustc_target/src/spec/aarch64_unknown_linux_ohos.rs @@ -1,9 +1,7 @@ -use crate::spec::{Target, TargetOptions}; - -use super::SanitizerSet; +use crate::spec::{base::linux_ohos, SanitizerSet, Target, TargetOptions}; pub fn target() -> Target { - let mut base = super::linux_ohos_base::opts(); + let mut base = linux_ohos::opts(); base.max_atomic_width = Some(128); Target { diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_netbsd.rs b/compiler/rustc_target/src/spec/aarch64_unknown_netbsd.rs index a58b64d3d03a8..04ced162685e6 100644 --- a/compiler/rustc_target/src/spec/aarch64_unknown_netbsd.rs +++ b/compiler/rustc_target/src/spec/aarch64_unknown_netbsd.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::netbsd, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -10,7 +10,7 @@ pub fn target() -> Target { features: "+v8a".into(), mcount: "__mcount".into(), max_atomic_width: Some(128), - ..super::netbsd_base::opts() + ..netbsd::opts() }, } } diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_none.rs b/compiler/rustc_target/src/spec/aarch64_unknown_none.rs index be27302f7f52c..88fa6d5a762f0 100644 --- a/compiler/rustc_target/src/spec/aarch64_unknown_none.rs +++ b/compiler/rustc_target/src/spec/aarch64_unknown_none.rs @@ -6,7 +6,7 @@ // // For example, `-C target-cpu=cortex-a53`. -use super::{ +use crate::spec::{ Cc, LinkerFlavor, Lld, PanicStrategy, RelocModel, SanitizerSet, Target, TargetOptions, }; diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_nto_qnx_710.rs b/compiler/rustc_target/src/spec/aarch64_unknown_nto_qnx710.rs similarity index 91% rename from compiler/rustc_target/src/spec/aarch64_unknown_nto_qnx_710.rs rename to compiler/rustc_target/src/spec/aarch64_unknown_nto_qnx710.rs index 630642dcd33a2..696b5875c27ed 100644 --- a/compiler/rustc_target/src/spec/aarch64_unknown_nto_qnx_710.rs +++ b/compiler/rustc_target/src/spec/aarch64_unknown_nto_qnx710.rs @@ -1,5 +1,4 @@ -use super::nto_qnx_base; -use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetOptions}; +use crate::spec::{base::nto_qnx, Cc, LinkerFlavor, Lld, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -24,7 +23,7 @@ pub fn target() -> Target { &["-Vgcc_ntoaarch64le_cxx"], ), env: "nto71".into(), - ..nto_qnx_base::opts() + ..nto_qnx::opts() }, } } diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_openbsd.rs b/compiler/rustc_target/src/spec/aarch64_unknown_openbsd.rs index 224e31af24f7d..92592939ab939 100644 --- a/compiler/rustc_target/src/spec/aarch64_unknown_openbsd.rs +++ b/compiler/rustc_target/src/spec/aarch64_unknown_openbsd.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::openbsd, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -9,7 +9,7 @@ pub fn target() -> Target { options: TargetOptions { features: "+v8a".into(), max_atomic_width: Some(128), - ..super::openbsd_base::opts() + ..openbsd::opts() }, } } diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_redox.rs b/compiler/rustc_target/src/spec/aarch64_unknown_redox.rs index 5650162cdbc99..1ef65d4921424 100644 --- a/compiler/rustc_target/src/spec/aarch64_unknown_redox.rs +++ b/compiler/rustc_target/src/spec/aarch64_unknown_redox.rs @@ -1,7 +1,7 @@ -use crate::spec::Target; +use crate::spec::{base::redox, Target}; pub fn target() -> Target { - let mut base = super::redox_base::opts(); + let mut base = redox::opts(); base.max_atomic_width = Some(128); base.features = "+v8a".into(); diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_teeos.rs b/compiler/rustc_target/src/spec/aarch64_unknown_teeos.rs index 64a7dc681c896..a07090d046ecf 100644 --- a/compiler/rustc_target/src/spec/aarch64_unknown_teeos.rs +++ b/compiler/rustc_target/src/spec/aarch64_unknown_teeos.rs @@ -1,7 +1,7 @@ -use crate::spec::Target; +use crate::spec::{base::teeos, Target}; pub fn target() -> Target { - let mut base = super::teeos_base::opts(); + let mut base = teeos::opts(); base.features = "+strict-align,+neon,+fp-armv8".into(); base.max_atomic_width = Some(128); base.linker = Some("aarch64-linux-gnu-ld".into()); diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_uefi.rs b/compiler/rustc_target/src/spec/aarch64_unknown_uefi.rs index 82fb015569d63..4ce455e27a79f 100644 --- a/compiler/rustc_target/src/spec/aarch64_unknown_uefi.rs +++ b/compiler/rustc_target/src/spec/aarch64_unknown_uefi.rs @@ -1,11 +1,10 @@ // This defines the aarch64 target for UEFI systems as described in the UEFI specification. See the // uefi-base module for generic UEFI options. -use super::uefi_msvc_base; -use crate::spec::{LinkerFlavor, Lld, Target}; +use crate::spec::{base::uefi_msvc, LinkerFlavor, Lld, Target}; pub fn target() -> Target { - let mut base = uefi_msvc_base::opts(); + let mut base = uefi_msvc::opts(); base.max_atomic_width = Some(128); base.add_pre_link_args(LinkerFlavor::Msvc(Lld::No), &["/machine:arm64"]); diff --git a/compiler/rustc_target/src/spec/aarch64_uwp_windows_msvc.rs b/compiler/rustc_target/src/spec/aarch64_uwp_windows_msvc.rs index d39442d917760..f485391c15e11 100644 --- a/compiler/rustc_target/src/spec/aarch64_uwp_windows_msvc.rs +++ b/compiler/rustc_target/src/spec/aarch64_uwp_windows_msvc.rs @@ -1,7 +1,7 @@ -use crate::spec::Target; +use crate::spec::{base::windows_uwp_msvc, Target}; pub fn target() -> Target { - let mut base = super::windows_uwp_msvc_base::opts(); + let mut base = windows_uwp_msvc::opts(); base.max_atomic_width = Some(128); base.features = "+v8a".into(); diff --git a/compiler/rustc_target/src/spec/aarch64_wrs_vxworks.rs b/compiler/rustc_target/src/spec/aarch64_wrs_vxworks.rs index 7e2af4c7a6a49..e1dc213eb4469 100644 --- a/compiler/rustc_target/src/spec/aarch64_wrs_vxworks.rs +++ b/compiler/rustc_target/src/spec/aarch64_wrs_vxworks.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::vxworks, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -9,7 +9,7 @@ pub fn target() -> Target { options: TargetOptions { features: "+v8a".into(), max_atomic_width: Some(128), - ..super::vxworks_base::opts() + ..vxworks::opts() }, } } diff --git a/compiler/rustc_target/src/spec/abi.rs b/compiler/rustc_target/src/spec/abi.rs index a99cccd42c4f3..12e4d8743af01 100644 --- a/compiler/rustc_target/src/spec/abi.rs +++ b/compiler/rustc_target/src/spec/abi.rs @@ -4,9 +4,6 @@ use rustc_macros::HashStable_Generic; use rustc_span::symbol::sym; use rustc_span::{Span, Symbol}; -#[cfg(test)] -mod tests; - #[derive(PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy, Debug)] #[derive(HashStable_Generic, Encodable, Decodable)] pub enum Abi { @@ -339,3 +336,7 @@ impl fmt::Display for Abi { write!(f, "\"{}\"", self.name()) } } + +#[cfg(test)] +#[path = "tests/abi_tests.rs"] +mod tests_api; diff --git a/compiler/rustc_target/src/spec/arm64_32_apple_watchos.rs b/compiler/rustc_target/src/spec/arm64_32_apple_watchos.rs index c757ed45e4725..151b80513c7c7 100644 --- a/compiler/rustc_target/src/spec/arm64_32_apple_watchos.rs +++ b/compiler/rustc_target/src/spec/arm64_32_apple_watchos.rs @@ -1,5 +1,7 @@ -use super::apple_base::{opts, Arch}; -use crate::spec::{Target, TargetOptions}; +use crate::spec::{ + base::apple::{opts, Arch}, + Target, TargetOptions, +}; pub fn target() -> Target { let base = opts("watchos", Arch::Arm64_32); diff --git a/compiler/rustc_target/src/spec/arm_linux_androideabi.rs b/compiler/rustc_target/src/spec/arm_linux_androideabi.rs index bbf1fa315ab4c..d4051d847ce21 100644 --- a/compiler/rustc_target/src/spec/arm_linux_androideabi.rs +++ b/compiler/rustc_target/src/spec/arm_linux_androideabi.rs @@ -1,4 +1,4 @@ -use crate::spec::{SanitizerSet, Target, TargetOptions}; +use crate::spec::{base::android, SanitizerSet, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -12,7 +12,7 @@ pub fn target() -> Target { features: "+strict-align,+v5te".into(), supported_sanitizers: SanitizerSet::ADDRESS, max_atomic_width: Some(32), - ..super::android_base::opts() + ..android::opts() }, } } diff --git a/compiler/rustc_target/src/spec/arm_unknown_linux_gnueabi.rs b/compiler/rustc_target/src/spec/arm_unknown_linux_gnueabi.rs index 400030ca0c60e..edf3bb21aa1a2 100644 --- a/compiler/rustc_target/src/spec/arm_unknown_linux_gnueabi.rs +++ b/compiler/rustc_target/src/spec/arm_unknown_linux_gnueabi.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_gnu, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -12,7 +12,7 @@ pub fn target() -> Target { max_atomic_width: Some(64), mcount: "\u{1}__gnu_mcount_nc".into(), llvm_mcount_intrinsic: Some("llvm.arm.gnu.eabi.mcount".into()), - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/arm_unknown_linux_gnueabihf.rs b/compiler/rustc_target/src/spec/arm_unknown_linux_gnueabihf.rs index 6228fb15a83fc..d989cff408efc 100644 --- a/compiler/rustc_target/src/spec/arm_unknown_linux_gnueabihf.rs +++ b/compiler/rustc_target/src/spec/arm_unknown_linux_gnueabihf.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_gnu, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -12,7 +12,7 @@ pub fn target() -> Target { max_atomic_width: Some(64), mcount: "\u{1}__gnu_mcount_nc".into(), llvm_mcount_intrinsic: Some("llvm.arm.gnu.eabi.mcount".into()), - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/arm_unknown_linux_musleabi.rs b/compiler/rustc_target/src/spec/arm_unknown_linux_musleabi.rs index 3ef441d6a6075..4aba87f147d0a 100644 --- a/compiler/rustc_target/src/spec/arm_unknown_linux_musleabi.rs +++ b/compiler/rustc_target/src/spec/arm_unknown_linux_musleabi.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_musl, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -16,7 +16,7 @@ pub fn target() -> Target { features: "+strict-align,+v6".into(), max_atomic_width: Some(64), mcount: "\u{1}mcount".into(), - ..super::linux_musl_base::opts() + ..linux_musl::opts() }, } } diff --git a/compiler/rustc_target/src/spec/arm_unknown_linux_musleabihf.rs b/compiler/rustc_target/src/spec/arm_unknown_linux_musleabihf.rs index eb6660d4c289b..6baeff90f6583 100644 --- a/compiler/rustc_target/src/spec/arm_unknown_linux_musleabihf.rs +++ b/compiler/rustc_target/src/spec/arm_unknown_linux_musleabihf.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_musl, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -16,7 +16,7 @@ pub fn target() -> Target { features: "+strict-align,+v6,+vfp2,-d32".into(), max_atomic_width: Some(64), mcount: "\u{1}mcount".into(), - ..super::linux_musl_base::opts() + ..linux_musl::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armeb_unknown_linux_gnueabi.rs b/compiler/rustc_target/src/spec/armeb_unknown_linux_gnueabi.rs index 1d66515a72e07..7207b164d690c 100644 --- a/compiler/rustc_target/src/spec/armeb_unknown_linux_gnueabi.rs +++ b/compiler/rustc_target/src/spec/armeb_unknown_linux_gnueabi.rs @@ -1,5 +1,7 @@ -use crate::abi::Endian; -use crate::spec::{Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_gnu, Target, TargetOptions}, +}; pub fn target() -> Target { Target { @@ -14,7 +16,7 @@ pub fn target() -> Target { max_atomic_width: Some(64), mcount: "\u{1}__gnu_mcount_nc".into(), llvm_mcount_intrinsic: Some("llvm.arm.gnu.eabi.mcount".into()), - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armebv7r_none_eabihf.rs b/compiler/rustc_target/src/spec/armebv7r_none_eabihf.rs index 0c9e99ff84bfd..5fcb16f253555 100644 --- a/compiler/rustc_target/src/spec/armebv7r_none_eabihf.rs +++ b/compiler/rustc_target/src/spec/armebv7r_none_eabihf.rs @@ -1,7 +1,9 @@ // Targets the Cortex-R4F/R5F processor (ARMv7-R) -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{Cc, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions}, +}; pub fn target() -> Target { Target { diff --git a/compiler/rustc_target/src/spec/armv4t_unknown_linux_gnueabi.rs b/compiler/rustc_target/src/spec/armv4t_unknown_linux_gnueabi.rs index cffebcc9581ca..18c638354a9ac 100644 --- a/compiler/rustc_target/src/spec/armv4t_unknown_linux_gnueabi.rs +++ b/compiler/rustc_target/src/spec/armv4t_unknown_linux_gnueabi.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_gnu, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -14,7 +14,7 @@ pub fn target() -> Target { mcount: "\u{1}__gnu_mcount_nc".into(), llvm_mcount_intrinsic: Some("llvm.arm.gnu.eabi.mcount".into()), has_thumb_interworking: true, - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armv5te_none_eabi.rs b/compiler/rustc_target/src/spec/armv5te_none_eabi.rs index dfd27b6547467..55f9f624e5ee6 100644 --- a/compiler/rustc_target/src/spec/armv5te_none_eabi.rs +++ b/compiler/rustc_target/src/spec/armv5te_none_eabi.rs @@ -1,6 +1,6 @@ //! Targets the ARMv5TE, with code as `a32` code by default. -use crate::spec::{cvs, FramePointer, Target, TargetOptions}; +use crate::spec::{base::thumb, cvs, FramePointer, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -35,7 +35,7 @@ pub fn target() -> Target { atomic_cas: false, has_thumb_interworking: true, - ..super::thumb_base::opts() + ..thumb::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armv5te_unknown_linux_gnueabi.rs b/compiler/rustc_target/src/spec/armv5te_unknown_linux_gnueabi.rs index b940563102b07..fb0a8cd760116 100644 --- a/compiler/rustc_target/src/spec/armv5te_unknown_linux_gnueabi.rs +++ b/compiler/rustc_target/src/spec/armv5te_unknown_linux_gnueabi.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_gnu, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -13,7 +13,7 @@ pub fn target() -> Target { max_atomic_width: Some(32), mcount: "\u{1}__gnu_mcount_nc".into(), has_thumb_interworking: true, - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armv5te_unknown_linux_musleabi.rs b/compiler/rustc_target/src/spec/armv5te_unknown_linux_musleabi.rs index 2530971b50217..e9de58d981dcc 100644 --- a/compiler/rustc_target/src/spec/armv5te_unknown_linux_musleabi.rs +++ b/compiler/rustc_target/src/spec/armv5te_unknown_linux_musleabi.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_musl, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -17,7 +17,7 @@ pub fn target() -> Target { max_atomic_width: Some(32), mcount: "\u{1}mcount".into(), has_thumb_interworking: true, - ..super::linux_musl_base::opts() + ..linux_musl::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armv5te_unknown_linux_uclibceabi.rs b/compiler/rustc_target/src/spec/armv5te_unknown_linux_uclibceabi.rs index a51be10a3d82a..58c67d587b6ea 100644 --- a/compiler/rustc_target/src/spec/armv5te_unknown_linux_uclibceabi.rs +++ b/compiler/rustc_target/src/spec/armv5te_unknown_linux_uclibceabi.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_uclibc, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -13,7 +13,7 @@ pub fn target() -> Target { max_atomic_width: Some(32), mcount: "\u{1}__gnu_mcount_nc".into(), has_thumb_interworking: true, - ..super::linux_uclibc_base::opts() + ..linux_uclibc::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armv6_unknown_freebsd.rs b/compiler/rustc_target/src/spec/armv6_unknown_freebsd.rs index 4a8aa31576fa5..58d98674c21e7 100644 --- a/compiler/rustc_target/src/spec/armv6_unknown_freebsd.rs +++ b/compiler/rustc_target/src/spec/armv6_unknown_freebsd.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::freebsd, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -14,7 +14,7 @@ pub fn target() -> Target { max_atomic_width: Some(64), mcount: "\u{1}__gnu_mcount_nc".into(), llvm_mcount_intrinsic: Some("llvm.arm.gnu.eabi.mcount".into()), - ..super::freebsd_base::opts() + ..freebsd::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armv6_unknown_netbsd_eabihf.rs b/compiler/rustc_target/src/spec/armv6_unknown_netbsd_eabihf.rs index 6e26f686fcb58..cc030d8d98d2f 100644 --- a/compiler/rustc_target/src/spec/armv6_unknown_netbsd_eabihf.rs +++ b/compiler/rustc_target/src/spec/armv6_unknown_netbsd_eabihf.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::netbsd, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -13,7 +13,7 @@ pub fn target() -> Target { features: "+v6,+vfp2,-d32".into(), max_atomic_width: Some(64), mcount: "__mcount".into(), - ..super::netbsd_base::opts() + ..netbsd::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armv7_apple_ios.rs b/compiler/rustc_target/src/spec/armv7_apple_ios.rs index 3259c854791ce..0850799fe006a 100644 --- a/compiler/rustc_target/src/spec/armv7_apple_ios.rs +++ b/compiler/rustc_target/src/spec/armv7_apple_ios.rs @@ -1,5 +1,7 @@ -use super::apple_base::{ios_llvm_target, opts, Arch}; -use crate::spec::{Target, TargetOptions}; +use crate::spec::{ + base::apple::{ios_llvm_target, opts, Arch}, + Target, TargetOptions, +}; pub fn target() -> Target { let arch = Arch::Armv7; diff --git a/compiler/rustc_target/src/spec/armv7_linux_androideabi.rs b/compiler/rustc_target/src/spec/armv7_linux_androideabi.rs index 402e0fd92363e..19bfcef47d65d 100644 --- a/compiler/rustc_target/src/spec/armv7_linux_androideabi.rs +++ b/compiler/rustc_target/src/spec/armv7_linux_androideabi.rs @@ -1,4 +1,4 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, SanitizerSet, Target, TargetOptions}; +use crate::spec::{base::android, Cc, LinkerFlavor, Lld, SanitizerSet, Target, TargetOptions}; // This target if is for the baseline of the Android v7a ABI // in thumb mode. It's named armv7-* instead of thumbv7-* @@ -9,7 +9,7 @@ use crate::spec::{Cc, LinkerFlavor, Lld, SanitizerSet, Target, TargetOptions}; // for target ABI requirements. pub fn target() -> Target { - let mut base = super::android_base::opts(); + let mut base = android::opts(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-march=armv7-a"]); Target { llvm_target: "armv7-none-linux-android".into(), diff --git a/compiler/rustc_target/src/spec/armv7_sony_vita_newlibeabihf.rs b/compiler/rustc_target/src/spec/armv7_sony_vita_newlibeabihf.rs index 62c93603621ab..2b31650dc52f7 100644 --- a/compiler/rustc_target/src/spec/armv7_sony_vita_newlibeabihf.rs +++ b/compiler/rustc_target/src/spec/armv7_sony_vita_newlibeabihf.rs @@ -1,5 +1,7 @@ -use crate::abi::Endian; -use crate::spec::{cvs, Cc, LinkerFlavor, Lld, RelocModel, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{cvs, Cc, LinkerFlavor, Lld, RelocModel, Target, TargetOptions}, +}; /// A base target for PlayStation Vita devices using the VITASDK toolchain (using newlib). /// diff --git a/compiler/rustc_target/src/spec/armv7_unknown_freebsd.rs b/compiler/rustc_target/src/spec/armv7_unknown_freebsd.rs index bc37b62de8e22..d255fb5c4dadc 100644 --- a/compiler/rustc_target/src/spec/armv7_unknown_freebsd.rs +++ b/compiler/rustc_target/src/spec/armv7_unknown_freebsd.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::freebsd, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -13,7 +13,7 @@ pub fn target() -> Target { features: "+v7,+vfp3,-d32,+thumb2,-neon".into(), max_atomic_width: Some(64), mcount: "\u{1}__gnu_mcount_nc".into(), - ..super::freebsd_base::opts() + ..freebsd::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armv7_unknown_linux_gnueabi.rs b/compiler/rustc_target/src/spec/armv7_unknown_linux_gnueabi.rs index 73ae212a7a6eb..1a6df77e1a7c1 100644 --- a/compiler/rustc_target/src/spec/armv7_unknown_linux_gnueabi.rs +++ b/compiler/rustc_target/src/spec/armv7_unknown_linux_gnueabi.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_gnu, Target, TargetOptions}; // This target is for glibc Linux on ARMv7 without thumb-mode, NEON or // hardfloat. @@ -15,7 +15,7 @@ pub fn target() -> Target { max_atomic_width: Some(64), mcount: "\u{1}__gnu_mcount_nc".into(), llvm_mcount_intrinsic: Some("llvm.arm.gnu.eabi.mcount".into()), - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armv7_unknown_linux_gnueabihf.rs b/compiler/rustc_target/src/spec/armv7_unknown_linux_gnueabihf.rs index e39ea49a0032b..b9ed97fe410bd 100644 --- a/compiler/rustc_target/src/spec/armv7_unknown_linux_gnueabihf.rs +++ b/compiler/rustc_target/src/spec/armv7_unknown_linux_gnueabihf.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_gnu, Target, TargetOptions}; // This target is for glibc Linux on ARMv7 without NEON or // thumb-mode. See the thumbv7neon variant for enabling both. @@ -15,7 +15,7 @@ pub fn target() -> Target { features: "+v7,+vfp3,-d32,+thumb2,-neon".into(), max_atomic_width: Some(64), mcount: "\u{1}__gnu_mcount_nc".into(), - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armv7_unknown_linux_musleabi.rs b/compiler/rustc_target/src/spec/armv7_unknown_linux_musleabi.rs index 7dae8577396e5..ba0cf973b11fc 100644 --- a/compiler/rustc_target/src/spec/armv7_unknown_linux_musleabi.rs +++ b/compiler/rustc_target/src/spec/armv7_unknown_linux_musleabi.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_musl, Target, TargetOptions}; // This target is for musl Linux on ARMv7 without thumb-mode, NEON or // hardfloat. @@ -20,7 +20,7 @@ pub fn target() -> Target { features: "+v7,+thumb2,+soft-float,-neon".into(), max_atomic_width: Some(64), mcount: "\u{1}mcount".into(), - ..super::linux_musl_base::opts() + ..linux_musl::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armv7_unknown_linux_musleabihf.rs b/compiler/rustc_target/src/spec/armv7_unknown_linux_musleabihf.rs index ba83964bf5851..eeab7f64664d8 100644 --- a/compiler/rustc_target/src/spec/armv7_unknown_linux_musleabihf.rs +++ b/compiler/rustc_target/src/spec/armv7_unknown_linux_musleabihf.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_musl, Target, TargetOptions}; // This target is for musl Linux on ARMv7 without thumb-mode or NEON. @@ -19,7 +19,7 @@ pub fn target() -> Target { features: "+v7,+vfp3,-d32,+thumb2,-neon".into(), max_atomic_width: Some(64), mcount: "\u{1}mcount".into(), - ..super::linux_musl_base::opts() + ..linux_musl::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armv7_unknown_linux_ohos.rs b/compiler/rustc_target/src/spec/armv7_unknown_linux_ohos.rs index e9b0bda68ef14..23b4e75d21df3 100644 --- a/compiler/rustc_target/src/spec/armv7_unknown_linux_ohos.rs +++ b/compiler/rustc_target/src/spec/armv7_unknown_linux_ohos.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_ohos, Target, TargetOptions}; // This target is for OpenHarmony on ARMv7 Linux with thumb-mode, but no NEON or // hardfloat. @@ -18,7 +18,7 @@ pub fn target() -> Target { features: "+v7,+thumb2,+soft-float,-neon".into(), max_atomic_width: Some(64), mcount: "\u{1}mcount".into(), - ..super::linux_ohos_base::opts() + ..linux_ohos::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armv7_unknown_linux_uclibceabi.rs b/compiler/rustc_target/src/spec/armv7_unknown_linux_uclibceabi.rs index 171f67070d549..fe200d6f4c3aa 100644 --- a/compiler/rustc_target/src/spec/armv7_unknown_linux_uclibceabi.rs +++ b/compiler/rustc_target/src/spec/armv7_unknown_linux_uclibceabi.rs @@ -1,10 +1,10 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_uclibc, Target, TargetOptions}; // This target is for uclibc Linux on ARMv7 without NEON, // thumb-mode or hardfloat. pub fn target() -> Target { - let base = super::linux_uclibc_base::opts(); + let base = linux_uclibc::opts(); Target { llvm_target: "armv7-unknown-linux-gnueabi".into(), pointer_width: 32, diff --git a/compiler/rustc_target/src/spec/armv7_unknown_linux_uclibceabihf.rs b/compiler/rustc_target/src/spec/armv7_unknown_linux_uclibceabihf.rs index d3e95a6573d82..ac07d50f5bf15 100644 --- a/compiler/rustc_target/src/spec/armv7_unknown_linux_uclibceabihf.rs +++ b/compiler/rustc_target/src/spec/armv7_unknown_linux_uclibceabihf.rs @@ -1,10 +1,10 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_uclibc, Target, TargetOptions}; // This target is for uclibc Linux on ARMv7 without NEON or // thumb-mode. See the thumbv7neon variant for enabling both. pub fn target() -> Target { - let base = super::linux_uclibc_base::opts(); + let base = linux_uclibc::opts(); Target { llvm_target: "armv7-unknown-linux-gnueabihf".into(), pointer_width: 32, diff --git a/compiler/rustc_target/src/spec/armv7_unknown_netbsd_eabihf.rs b/compiler/rustc_target/src/spec/armv7_unknown_netbsd_eabihf.rs index c89ae24839884..d78b9b36ea1da 100644 --- a/compiler/rustc_target/src/spec/armv7_unknown_netbsd_eabihf.rs +++ b/compiler/rustc_target/src/spec/armv7_unknown_netbsd_eabihf.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::netbsd, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -13,7 +13,7 @@ pub fn target() -> Target { features: "+v7,+vfp3,-d32,+thumb2,-neon".into(), max_atomic_width: Some(64), mcount: "__mcount".into(), - ..super::netbsd_base::opts() + ..netbsd::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armv7_wrs_vxworks_eabihf.rs b/compiler/rustc_target/src/spec/armv7_wrs_vxworks_eabihf.rs index c1ab90172e276..78c5c47f457b5 100644 --- a/compiler/rustc_target/src/spec/armv7_wrs_vxworks_eabihf.rs +++ b/compiler/rustc_target/src/spec/armv7_wrs_vxworks_eabihf.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::vxworks, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -11,7 +11,7 @@ pub fn target() -> Target { // Info about features at https://wiki.debian.org/ArmHardFloatPort features: "+v7,+vfp3,-d32,+thumb2,-neon".into(), max_atomic_width: Some(64), - ..super::vxworks_base::opts() + ..vxworks::opts() }, } } diff --git a/compiler/rustc_target/src/spec/armv7a_kmc_solid_asp3_eabi.rs b/compiler/rustc_target/src/spec/armv7a_kmc_solid_asp3_eabi.rs index b49dc650bd00f..73dc4aa4c7955 100644 --- a/compiler/rustc_target/src/spec/armv7a_kmc_solid_asp3_eabi.rs +++ b/compiler/rustc_target/src/spec/armv7a_kmc_solid_asp3_eabi.rs @@ -1,7 +1,7 @@ -use super::{RelocModel, Target, TargetOptions}; +use super::{base::solid, RelocModel, Target, TargetOptions}; pub fn target() -> Target { - let base = super::solid_base::opts("asp3"); + let base = solid::opts("asp3"); Target { llvm_target: "armv7a-none-eabi".into(), pointer_width: 32, diff --git a/compiler/rustc_target/src/spec/armv7a_kmc_solid_asp3_eabihf.rs b/compiler/rustc_target/src/spec/armv7a_kmc_solid_asp3_eabihf.rs index 7d30238e8ab29..5968bbfdc6afd 100644 --- a/compiler/rustc_target/src/spec/armv7a_kmc_solid_asp3_eabihf.rs +++ b/compiler/rustc_target/src/spec/armv7a_kmc_solid_asp3_eabihf.rs @@ -1,7 +1,7 @@ -use super::{RelocModel, Target, TargetOptions}; +use super::{base::solid, RelocModel, Target, TargetOptions}; pub fn target() -> Target { - let base = super::solid_base::opts("asp3"); + let base = solid::opts("asp3"); Target { llvm_target: "armv7a-none-eabihf".into(), pointer_width: 32, diff --git a/compiler/rustc_target/src/spec/armv7a_none_eabi.rs b/compiler/rustc_target/src/spec/armv7a_none_eabi.rs index d59de86a23012..c5b61427e6982 100644 --- a/compiler/rustc_target/src/spec/armv7a_none_eabi.rs +++ b/compiler/rustc_target/src/spec/armv7a_none_eabi.rs @@ -14,7 +14,7 @@ // - `relocation-model` set to `static`; also no PIE, no relro and no dynamic // linking. rationale: matches `thumb` targets -use super::{Cc, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions}; +use crate::spec::{Cc, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions}; pub fn target() -> Target { let opts = TargetOptions { diff --git a/compiler/rustc_target/src/spec/armv7k_apple_watchos.rs b/compiler/rustc_target/src/spec/armv7k_apple_watchos.rs index 6e1d00d1f6ca5..f662fe14593e3 100644 --- a/compiler/rustc_target/src/spec/armv7k_apple_watchos.rs +++ b/compiler/rustc_target/src/spec/armv7k_apple_watchos.rs @@ -1,5 +1,7 @@ -use super::apple_base::{opts, Arch}; -use crate::spec::{Target, TargetOptions}; +use crate::spec::{ + base::apple::{opts, Arch}, + Target, TargetOptions, +}; pub fn target() -> Target { let arch = Arch::Armv7k; diff --git a/compiler/rustc_target/src/spec/armv7s_apple_ios.rs b/compiler/rustc_target/src/spec/armv7s_apple_ios.rs index be4bc6758443e..8cf3bea81c91a 100644 --- a/compiler/rustc_target/src/spec/armv7s_apple_ios.rs +++ b/compiler/rustc_target/src/spec/armv7s_apple_ios.rs @@ -1,5 +1,7 @@ -use super::apple_base::{opts, Arch}; -use crate::spec::{Target, TargetOptions}; +use crate::spec::{ + base::apple::{opts, Arch}, + Target, TargetOptions, +}; pub fn target() -> Target { let arch = Arch::Armv7s; diff --git a/compiler/rustc_target/src/spec/asmjs_unknown_emscripten.rs b/compiler/rustc_target/src/spec/asmjs_unknown_emscripten.rs index f492c3451a418..aa68d1039554c 100644 --- a/compiler/rustc_target/src/spec/asmjs_unknown_emscripten.rs +++ b/compiler/rustc_target/src/spec/asmjs_unknown_emscripten.rs @@ -1,4 +1,4 @@ -use super::{wasm32_unknown_emscripten, LinkerFlavor, Target}; +use crate::spec::{wasm32_unknown_emscripten, LinkerFlavor, Target}; pub fn target() -> Target { let mut target = wasm32_unknown_emscripten::target(); diff --git a/compiler/rustc_target/src/spec/avr_unknown_gnu_atmega328.rs b/compiler/rustc_target/src/spec/avr_unknown_gnu_atmega328.rs index 6c16b03cc283d..5efeab2302fde 100644 --- a/compiler/rustc_target/src/spec/avr_unknown_gnu_atmega328.rs +++ b/compiler/rustc_target/src/spec/avr_unknown_gnu_atmega328.rs @@ -1,5 +1,5 @@ -use crate::spec::Target; +use crate::spec::{base::avr_gnu, Target}; pub fn target() -> Target { - super::avr_gnu_base::target("atmega328", "-mmcu=atmega328") + avr_gnu::target("atmega328", "-mmcu=atmega328") } diff --git a/compiler/rustc_target/src/spec/aix_base.rs b/compiler/rustc_target/src/spec/base/aix.rs similarity index 89% rename from compiler/rustc_target/src/spec/aix_base.rs rename to compiler/rustc_target/src/spec/base/aix.rs index c71c4ba2cc902..917a7802e48c5 100644 --- a/compiler/rustc_target/src/spec/aix_base.rs +++ b/compiler/rustc_target/src/spec/base/aix.rs @@ -1,5 +1,7 @@ -use crate::abi::Endian; -use crate::spec::{crt_objects, cvs, Cc, CodeModel, LinkOutputKind, LinkerFlavor, TargetOptions}; +use crate::{ + abi::Endian, + spec::{crt_objects, cvs, Cc, CodeModel, LinkOutputKind, LinkerFlavor, TargetOptions}, +}; pub fn opts() -> TargetOptions { TargetOptions { diff --git a/compiler/rustc_target/src/spec/android_base.rs b/compiler/rustc_target/src/spec/base/android.rs similarity index 92% rename from compiler/rustc_target/src/spec/android_base.rs rename to compiler/rustc_target/src/spec/base/android.rs index 9c1df1a06778e..dca698e47963b 100644 --- a/compiler/rustc_target/src/spec/android_base.rs +++ b/compiler/rustc_target/src/spec/base/android.rs @@ -1,7 +1,7 @@ use crate::spec::{SanitizerSet, TargetOptions}; pub fn opts() -> TargetOptions { - let mut base = super::linux_base::opts(); + let mut base = super::linux::opts(); base.os = "android".into(); base.is_like_android = true; base.default_dwarf_version = 2; diff --git a/compiler/rustc_target/src/spec/apple_base.rs b/compiler/rustc_target/src/spec/base/apple.rs similarity index 97% rename from compiler/rustc_target/src/spec/apple_base.rs rename to compiler/rustc_target/src/spec/base/apple.rs index f7dcec307ddd0..00869da0d619f 100644 --- a/compiler/rustc_target/src/spec/apple_base.rs +++ b/compiler/rustc_target/src/spec/base/apple.rs @@ -1,12 +1,9 @@ +use crate::spec::{ + add_link_args, add_link_args_iter, cvs, Cc, DebuginfoKind, FramePointer, LinkArgs, + LinkerFlavor, Lld, SplitDebuginfo, StaticCow, Target, TargetOptions, +}; use std::{borrow::Cow, env}; -use crate::spec::{cvs, Cc, DebuginfoKind, FramePointer, LinkArgs}; -use crate::spec::{LinkerFlavor, Lld, SplitDebuginfo, StaticCow, Target, TargetOptions}; - -#[cfg(test)] -#[path = "apple/tests.rs"] -mod tests; - use Arch::*; #[allow(non_camel_case_types)] #[derive(Copy, Clone)] @@ -102,13 +99,13 @@ fn pre_link_args(os: &'static str, arch: Arch, abi: &'static str) -> LinkArgs { LinkerFlavor::Darwin(Cc::No, Lld::No), &["-arch", arch, "-platform_version"], ); - super::add_link_args_iter( + add_link_args_iter( &mut args, LinkerFlavor::Darwin(Cc::No, Lld::No), [platform_name, platform_version.clone(), platform_version].into_iter(), ); if abi != "macabi" { - super::add_link_args(&mut args, LinkerFlavor::Darwin(Cc::Yes, Lld::No), &["-arch", arch]); + add_link_args(&mut args, LinkerFlavor::Darwin(Cc::Yes, Lld::No), &["-arch", arch]); } args diff --git a/compiler/rustc_target/src/spec/avr_gnu_base.rs b/compiler/rustc_target/src/spec/base/avr_gnu.rs similarity index 100% rename from compiler/rustc_target/src/spec/avr_gnu_base.rs rename to compiler/rustc_target/src/spec/base/avr_gnu.rs diff --git a/compiler/rustc_target/src/spec/bpf_base.rs b/compiler/rustc_target/src/spec/base/bpf.rs similarity index 90% rename from compiler/rustc_target/src/spec/bpf_base.rs rename to compiler/rustc_target/src/spec/base/bpf.rs index 4d03747d0165f..b663732636eca 100644 --- a/compiler/rustc_target/src/spec/bpf_base.rs +++ b/compiler/rustc_target/src/spec/base/bpf.rs @@ -1,5 +1,7 @@ -use crate::abi::Endian; -use crate::spec::{LinkerFlavor, MergeFunctions, PanicStrategy, TargetOptions}; +use crate::{ + abi::Endian, + spec::{LinkerFlavor, MergeFunctions, PanicStrategy, TargetOptions}, +}; pub fn opts(endian: Endian) -> TargetOptions { TargetOptions { diff --git a/compiler/rustc_target/src/spec/dragonfly_base.rs b/compiler/rustc_target/src/spec/base/dragonfly.rs similarity index 100% rename from compiler/rustc_target/src/spec/dragonfly_base.rs rename to compiler/rustc_target/src/spec/base/dragonfly.rs diff --git a/compiler/rustc_target/src/spec/freebsd_base.rs b/compiler/rustc_target/src/spec/base/freebsd.rs similarity index 100% rename from compiler/rustc_target/src/spec/freebsd_base.rs rename to compiler/rustc_target/src/spec/base/freebsd.rs diff --git a/compiler/rustc_target/src/spec/fuchsia_base.rs b/compiler/rustc_target/src/spec/base/fuchsia.rs similarity index 100% rename from compiler/rustc_target/src/spec/fuchsia_base.rs rename to compiler/rustc_target/src/spec/base/fuchsia.rs diff --git a/compiler/rustc_target/src/spec/haiku_base.rs b/compiler/rustc_target/src/spec/base/haiku.rs similarity index 100% rename from compiler/rustc_target/src/spec/haiku_base.rs rename to compiler/rustc_target/src/spec/base/haiku.rs diff --git a/compiler/rustc_target/src/spec/hermit_base.rs b/compiler/rustc_target/src/spec/base/hermit.rs similarity index 100% rename from compiler/rustc_target/src/spec/hermit_base.rs rename to compiler/rustc_target/src/spec/base/hermit.rs diff --git a/compiler/rustc_target/src/spec/illumos_base.rs b/compiler/rustc_target/src/spec/base/illumos.rs similarity index 100% rename from compiler/rustc_target/src/spec/illumos_base.rs rename to compiler/rustc_target/src/spec/base/illumos.rs diff --git a/compiler/rustc_target/src/spec/l4re_base.rs b/compiler/rustc_target/src/spec/base/l4re.rs similarity index 100% rename from compiler/rustc_target/src/spec/l4re_base.rs rename to compiler/rustc_target/src/spec/base/l4re.rs diff --git a/compiler/rustc_target/src/spec/linux_base.rs b/compiler/rustc_target/src/spec/base/linux.rs similarity index 100% rename from compiler/rustc_target/src/spec/linux_base.rs rename to compiler/rustc_target/src/spec/base/linux.rs diff --git a/compiler/rustc_target/src/spec/base/linux_gnu.rs b/compiler/rustc_target/src/spec/base/linux_gnu.rs new file mode 100644 index 0000000000000..9e4828dddb8fc --- /dev/null +++ b/compiler/rustc_target/src/spec/base/linux_gnu.rs @@ -0,0 +1,5 @@ +use crate::spec::TargetOptions; + +pub fn opts() -> TargetOptions { + TargetOptions { env: "gnu".into(), ..super::linux::opts() } +} diff --git a/compiler/rustc_target/src/spec/linux_musl_base.rs b/compiler/rustc_target/src/spec/base/linux_musl.rs similarity index 73% rename from compiler/rustc_target/src/spec/linux_musl_base.rs rename to compiler/rustc_target/src/spec/base/linux_musl.rs index 61553e71b4500..ea013034f081f 100644 --- a/compiler/rustc_target/src/spec/linux_musl_base.rs +++ b/compiler/rustc_target/src/spec/base/linux_musl.rs @@ -1,8 +1,10 @@ -use crate::spec::crt_objects::{self, LinkSelfContainedDefault}; -use crate::spec::TargetOptions; +use crate::spec::{ + crt_objects::{self, LinkSelfContainedDefault}, + TargetOptions, +}; pub fn opts() -> TargetOptions { - let mut base = super::linux_base::opts(); + let mut base = super::linux::opts(); base.env = "musl".into(); base.pre_link_objects_self_contained = crt_objects::pre_musl_self_contained(); diff --git a/compiler/rustc_target/src/spec/linux_ohos_base.rs b/compiler/rustc_target/src/spec/base/linux_ohos.rs similarity index 82% rename from compiler/rustc_target/src/spec/linux_ohos_base.rs rename to compiler/rustc_target/src/spec/base/linux_ohos.rs index 4ad4c837336f8..52da81f340514 100644 --- a/compiler/rustc_target/src/spec/linux_ohos_base.rs +++ b/compiler/rustc_target/src/spec/base/linux_ohos.rs @@ -1,7 +1,7 @@ use crate::spec::TargetOptions; pub fn opts() -> TargetOptions { - let mut base = super::linux_base::opts(); + let mut base = super::linux::opts(); base.env = "ohos".into(); base.crt_static_default = false; diff --git a/compiler/rustc_target/src/spec/base/linux_uclibc.rs b/compiler/rustc_target/src/spec/base/linux_uclibc.rs new file mode 100644 index 0000000000000..8f1c55ca92a32 --- /dev/null +++ b/compiler/rustc_target/src/spec/base/linux_uclibc.rs @@ -0,0 +1,5 @@ +use crate::spec::{base::linux, TargetOptions}; + +pub fn opts() -> TargetOptions { + TargetOptions { env: "uclibc".into(), ..linux::opts() } +} diff --git a/compiler/rustc_target/src/spec/base/mod.rs b/compiler/rustc_target/src/spec/base/mod.rs new file mode 100644 index 0000000000000..65d3057aaa00d --- /dev/null +++ b/compiler/rustc_target/src/spec/base/mod.rs @@ -0,0 +1,37 @@ +//! Partial target definitions on which full target definitions are based. + +pub(crate) mod aix; +pub(crate) mod android; +pub(crate) mod apple; +pub(crate) mod avr_gnu; +pub(crate) mod bpf; +pub(crate) mod dragonfly; +pub(crate) mod freebsd; +pub(crate) mod fuchsia; +pub(crate) mod haiku; +pub(crate) mod hermit; +pub(crate) mod illumos; +pub(crate) mod l4re; +pub(crate) mod linux; +pub(crate) mod linux_gnu; +pub(crate) mod linux_musl; +pub(crate) mod linux_ohos; +pub(crate) mod linux_uclibc; +pub(crate) mod msvc; +pub(crate) mod netbsd; +pub(crate) mod nto_qnx; +pub(crate) mod openbsd; +pub(crate) mod redox; +pub(crate) mod solaris; +pub(crate) mod solid; +pub(crate) mod teeos; +pub(crate) mod thumb; +pub(crate) mod uefi_msvc; +pub(crate) mod unikraft_linux_musl; +pub(crate) mod vxworks; +pub(crate) mod wasm; +pub(crate) mod windows_gnu; +pub(crate) mod windows_gnullvm; +pub(crate) mod windows_msvc; +pub(crate) mod windows_uwp_gnu; +pub(crate) mod windows_uwp_msvc; diff --git a/compiler/rustc_target/src/spec/msvc_base.rs b/compiler/rustc_target/src/spec/base/msvc.rs similarity index 100% rename from compiler/rustc_target/src/spec/msvc_base.rs rename to compiler/rustc_target/src/spec/base/msvc.rs diff --git a/compiler/rustc_target/src/spec/netbsd_base.rs b/compiler/rustc_target/src/spec/base/netbsd.rs similarity index 100% rename from compiler/rustc_target/src/spec/netbsd_base.rs rename to compiler/rustc_target/src/spec/base/netbsd.rs diff --git a/compiler/rustc_target/src/spec/nto_qnx_base.rs b/compiler/rustc_target/src/spec/base/nto_qnx.rs similarity index 100% rename from compiler/rustc_target/src/spec/nto_qnx_base.rs rename to compiler/rustc_target/src/spec/base/nto_qnx.rs diff --git a/compiler/rustc_target/src/spec/openbsd_base.rs b/compiler/rustc_target/src/spec/base/openbsd.rs similarity index 100% rename from compiler/rustc_target/src/spec/openbsd_base.rs rename to compiler/rustc_target/src/spec/base/openbsd.rs diff --git a/compiler/rustc_target/src/spec/redox_base.rs b/compiler/rustc_target/src/spec/base/redox.rs similarity index 100% rename from compiler/rustc_target/src/spec/redox_base.rs rename to compiler/rustc_target/src/spec/base/redox.rs diff --git a/compiler/rustc_target/src/spec/solaris_base.rs b/compiler/rustc_target/src/spec/base/solaris.rs similarity index 100% rename from compiler/rustc_target/src/spec/solaris_base.rs rename to compiler/rustc_target/src/spec/base/solaris.rs diff --git a/compiler/rustc_target/src/spec/solid_base.rs b/compiler/rustc_target/src/spec/base/solid.rs similarity index 83% rename from compiler/rustc_target/src/spec/solid_base.rs rename to compiler/rustc_target/src/spec/base/solid.rs index eaf72b7616c71..ce4a8869001bc 100644 --- a/compiler/rustc_target/src/spec/solid_base.rs +++ b/compiler/rustc_target/src/spec/base/solid.rs @@ -1,5 +1,4 @@ -use super::FramePointer; -use crate::spec::TargetOptions; +use crate::spec::{FramePointer, TargetOptions}; pub fn opts(kernel: &str) -> TargetOptions { TargetOptions { diff --git a/compiler/rustc_target/src/spec/teeos_base.rs b/compiler/rustc_target/src/spec/base/teeos.rs similarity index 84% rename from compiler/rustc_target/src/spec/teeos_base.rs rename to compiler/rustc_target/src/spec/base/teeos.rs index 1bc71bab01605..38d0a6d73140a 100644 --- a/compiler/rustc_target/src/spec/teeos_base.rs +++ b/compiler/rustc_target/src/spec/base/teeos.rs @@ -1,12 +1,11 @@ -use super::{Cc, LinkerFlavor, Lld, PanicStrategy}; -use crate::spec::{RelroLevel, TargetOptions}; +use crate::spec::{add_link_args, Cc, LinkerFlavor, Lld, PanicStrategy, RelroLevel, TargetOptions}; pub fn opts() -> TargetOptions { let lld_args = &["-zmax-page-size=4096", "-znow", "-ztext", "--execute-only"]; let cc_args = &["-Wl,-zmax-page-size=4096", "-Wl,-znow", "-Wl,-ztext", "-mexecute-only"]; let mut pre_link_args = TargetOptions::link_args(LinkerFlavor::Gnu(Cc::No, Lld::No), lld_args); - super::add_link_args(&mut pre_link_args, LinkerFlavor::Gnu(Cc::Yes, Lld::No), cc_args); + add_link_args(&mut pre_link_args, LinkerFlavor::Gnu(Cc::Yes, Lld::No), cc_args); TargetOptions { os: "teeos".into(), diff --git a/compiler/rustc_target/src/spec/thumb_base.rs b/compiler/rustc_target/src/spec/base/thumb.rs similarity index 100% rename from compiler/rustc_target/src/spec/thumb_base.rs rename to compiler/rustc_target/src/spec/base/thumb.rs diff --git a/compiler/rustc_target/src/spec/uefi_msvc_base.rs b/compiler/rustc_target/src/spec/base/uefi_msvc.rs similarity index 98% rename from compiler/rustc_target/src/spec/uefi_msvc_base.rs rename to compiler/rustc_target/src/spec/base/uefi_msvc.rs index 8968d3c8fc100..b6b2162bb57fa 100644 --- a/compiler/rustc_target/src/spec/uefi_msvc_base.rs +++ b/compiler/rustc_target/src/spec/base/uefi_msvc.rs @@ -12,7 +12,7 @@ use crate::spec::{LinkerFlavor, Lld, PanicStrategy, StackProbeType, TargetOptions}; pub fn opts() -> TargetOptions { - let mut base = super::msvc_base::opts(); + let mut base = super::msvc::opts(); base.add_pre_link_args( LinkerFlavor::Msvc(Lld::No), diff --git a/compiler/rustc_target/src/spec/unikraft_linux_musl_base.rs b/compiler/rustc_target/src/spec/base/unikraft_linux_musl.rs similarity index 100% rename from compiler/rustc_target/src/spec/unikraft_linux_musl_base.rs rename to compiler/rustc_target/src/spec/base/unikraft_linux_musl.rs diff --git a/compiler/rustc_target/src/spec/vxworks_base.rs b/compiler/rustc_target/src/spec/base/vxworks.rs similarity index 100% rename from compiler/rustc_target/src/spec/vxworks_base.rs rename to compiler/rustc_target/src/spec/base/vxworks.rs diff --git a/compiler/rustc_target/src/spec/wasm_base.rs b/compiler/rustc_target/src/spec/base/wasm.rs similarity index 96% rename from compiler/rustc_target/src/spec/wasm_base.rs rename to compiler/rustc_target/src/spec/base/wasm.rs index 341763aadbaf1..43b2b9aed931d 100644 --- a/compiler/rustc_target/src/spec/wasm_base.rs +++ b/compiler/rustc_target/src/spec/base/wasm.rs @@ -1,5 +1,7 @@ -use super::crt_objects::LinkSelfContainedDefault; -use super::{cvs, Cc, LinkerFlavor, PanicStrategy, RelocModel, TargetOptions, TlsModel}; +use crate::spec::{ + add_link_args, crt_objects::LinkSelfContainedDefault, cvs, Cc, LinkerFlavor, PanicStrategy, + RelocModel, TargetOptions, TlsModel, +}; pub fn options() -> TargetOptions { macro_rules! args { @@ -50,7 +52,7 @@ pub fn options() -> TargetOptions { } let mut pre_link_args = TargetOptions::link_args(LinkerFlavor::WasmLld(Cc::No), args!("")); - super::add_link_args(&mut pre_link_args, LinkerFlavor::WasmLld(Cc::Yes), args!("-Wl,")); + add_link_args(&mut pre_link_args, LinkerFlavor::WasmLld(Cc::Yes), args!("-Wl,")); TargetOptions { is_like_wasm: true, diff --git a/compiler/rustc_target/src/spec/windows_gnu_base.rs b/compiler/rustc_target/src/spec/base/windows_gnu.rs similarity index 92% rename from compiler/rustc_target/src/spec/windows_gnu_base.rs rename to compiler/rustc_target/src/spec/base/windows_gnu.rs index 2231983f07126..0c314cbf63d04 100644 --- a/compiler/rustc_target/src/spec/windows_gnu_base.rs +++ b/compiler/rustc_target/src/spec/base/windows_gnu.rs @@ -1,5 +1,8 @@ -use crate::spec::crt_objects::{self, LinkSelfContainedDefault}; -use crate::spec::{cvs, Cc, DebuginfoKind, LinkerFlavor, Lld, SplitDebuginfo, TargetOptions}; +use crate::spec::{ + add_link_args, + crt_objects::{self, LinkSelfContainedDefault}, + cvs, Cc, DebuginfoKind, LinkerFlavor, Lld, SplitDebuginfo, TargetOptions, +}; use std::borrow::Cow; pub fn opts() -> TargetOptions { @@ -12,7 +15,7 @@ pub fn opts() -> TargetOptions { "--disable-auto-image-base", ], ); - super::add_link_args( + add_link_args( &mut pre_link_args, LinkerFlavor::Gnu(Cc::Yes, Lld::No), &[ @@ -44,14 +47,14 @@ pub fn opts() -> TargetOptions { ]; let mut late_link_args = TargetOptions::link_args(LinkerFlavor::Gnu(Cc::No, Lld::No), mingw_libs); - super::add_link_args(&mut late_link_args, LinkerFlavor::Gnu(Cc::Yes, Lld::No), mingw_libs); + add_link_args(&mut late_link_args, LinkerFlavor::Gnu(Cc::Yes, Lld::No), mingw_libs); // If any of our crates are dynamically linked then we need to use // the shared libgcc_s-dw2-1.dll. This is required to support // unwinding across DLL boundaries. let dynamic_unwind_libs = &["-lgcc_s"]; let mut late_link_args_dynamic = TargetOptions::link_args(LinkerFlavor::Gnu(Cc::No, Lld::No), dynamic_unwind_libs); - super::add_link_args( + add_link_args( &mut late_link_args_dynamic, LinkerFlavor::Gnu(Cc::Yes, Lld::No), dynamic_unwind_libs, @@ -64,7 +67,7 @@ pub fn opts() -> TargetOptions { let static_unwind_libs = &["-lgcc_eh", "-l:libpthread.a"]; let mut late_link_args_static = TargetOptions::link_args(LinkerFlavor::Gnu(Cc::No, Lld::No), static_unwind_libs); - super::add_link_args( + add_link_args( &mut late_link_args_static, LinkerFlavor::Gnu(Cc::Yes, Lld::No), static_unwind_libs, diff --git a/compiler/rustc_target/src/spec/windows_gnullvm_base.rs b/compiler/rustc_target/src/spec/base/windows_gnullvm.rs similarity index 100% rename from compiler/rustc_target/src/spec/windows_gnullvm_base.rs rename to compiler/rustc_target/src/spec/base/windows_gnullvm.rs diff --git a/compiler/rustc_target/src/spec/windows_msvc_base.rs b/compiler/rustc_target/src/spec/base/windows_msvc.rs similarity index 93% rename from compiler/rustc_target/src/spec/windows_msvc_base.rs rename to compiler/rustc_target/src/spec/base/windows_msvc.rs index 21062c337d825..70a6cfb1232a1 100644 --- a/compiler/rustc_target/src/spec/windows_msvc_base.rs +++ b/compiler/rustc_target/src/spec/base/windows_msvc.rs @@ -1,7 +1,7 @@ -use crate::spec::{cvs, TargetOptions}; +use crate::spec::{base::msvc, cvs, TargetOptions}; pub fn opts() -> TargetOptions { - let base = super::msvc_base::opts(); + let base = msvc::opts(); TargetOptions { os: "windows".into(), diff --git a/compiler/rustc_target/src/spec/windows_uwp_gnu_base.rs b/compiler/rustc_target/src/spec/base/windows_uwp_gnu.rs similarity index 81% rename from compiler/rustc_target/src/spec/windows_uwp_gnu_base.rs rename to compiler/rustc_target/src/spec/base/windows_uwp_gnu.rs index f30c33d997e33..de5213635d4a8 100644 --- a/compiler/rustc_target/src/spec/windows_uwp_gnu_base.rs +++ b/compiler/rustc_target/src/spec/base/windows_uwp_gnu.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkArgs, LinkerFlavor, Lld, TargetOptions}; +use crate::spec::{add_link_args, Cc, LinkArgs, LinkerFlavor, Lld, TargetOptions}; pub fn opts() -> TargetOptions { - let base = super::windows_gnu_base::opts(); + let base = super::windows_gnu::opts(); // FIXME: This should be updated for the exception machinery changes from #67502 // and inherit from `windows_gnu_base`, at least partially. @@ -17,7 +17,7 @@ pub fn opts() -> TargetOptions { ]; let mut late_link_args = TargetOptions::link_args(LinkerFlavor::Gnu(Cc::No, Lld::No), mingw_libs); - super::add_link_args(&mut late_link_args, LinkerFlavor::Gnu(Cc::Yes, Lld::No), mingw_libs); + add_link_args(&mut late_link_args, LinkerFlavor::Gnu(Cc::Yes, Lld::No), mingw_libs); // Reset the flags back to empty until the FIXME above is addressed. let late_link_args_dynamic = LinkArgs::new(); let late_link_args_static = LinkArgs::new(); diff --git a/compiler/rustc_target/src/spec/windows_uwp_msvc_base.rs b/compiler/rustc_target/src/spec/base/windows_uwp_msvc.rs similarity index 63% rename from compiler/rustc_target/src/spec/windows_uwp_msvc_base.rs rename to compiler/rustc_target/src/spec/base/windows_uwp_msvc.rs index 8c942c59dd035..0fbf96c16d285 100644 --- a/compiler/rustc_target/src/spec/windows_uwp_msvc_base.rs +++ b/compiler/rustc_target/src/spec/base/windows_uwp_msvc.rs @@ -1,7 +1,7 @@ -use crate::spec::{LinkerFlavor, Lld, TargetOptions}; +use crate::spec::{base::windows_msvc, LinkerFlavor, Lld, TargetOptions}; pub fn opts() -> TargetOptions { - let mut opts = super::windows_msvc_base::opts(); + let mut opts = windows_msvc::opts(); opts.abi = "uwp".into(); opts.vendor = "uwp".into(); diff --git a/compiler/rustc_target/src/spec/bpfeb_unknown_none.rs b/compiler/rustc_target/src/spec/bpfeb_unknown_none.rs index 174ddfa50bfc9..65b8fb39e2cb8 100644 --- a/compiler/rustc_target/src/spec/bpfeb_unknown_none.rs +++ b/compiler/rustc_target/src/spec/bpfeb_unknown_none.rs @@ -1,5 +1,7 @@ -use crate::spec::Target; -use crate::{abi::Endian, spec::bpf_base}; +use crate::{ + abi::Endian, + spec::{base::bpf, Target}, +}; pub fn target() -> Target { Target { @@ -7,6 +9,6 @@ pub fn target() -> Target { data_layout: "E-m:e-p:64:64-i64:64-i128:128-n32:64-S128".into(), pointer_width: 64, arch: "bpf".into(), - options: bpf_base::opts(Endian::Big), + options: bpf::opts(Endian::Big), } } diff --git a/compiler/rustc_target/src/spec/bpfel_unknown_none.rs b/compiler/rustc_target/src/spec/bpfel_unknown_none.rs index 7625e7b0e48ea..7a405d566f6e6 100644 --- a/compiler/rustc_target/src/spec/bpfel_unknown_none.rs +++ b/compiler/rustc_target/src/spec/bpfel_unknown_none.rs @@ -1,5 +1,7 @@ -use crate::spec::Target; -use crate::{abi::Endian, spec::bpf_base}; +use crate::{ + abi::Endian, + spec::{base::bpf, Target}, +}; pub fn target() -> Target { Target { @@ -7,6 +9,6 @@ pub fn target() -> Target { data_layout: "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128".into(), pointer_width: 64, arch: "bpf".into(), - options: bpf_base::opts(Endian::Little), + options: bpf::opts(Endian::Little), } } diff --git a/compiler/rustc_target/src/spec/csky_unknown_linux_gnuabiv2.rs b/compiler/rustc_target/src/spec/csky_unknown_linux_gnuabiv2.rs index 7d03dd26f5ded..28561cbc03ca2 100644 --- a/compiler/rustc_target/src/spec/csky_unknown_linux_gnuabiv2.rs +++ b/compiler/rustc_target/src/spec/csky_unknown_linux_gnuabiv2.rs @@ -1,4 +1,4 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetOptions}; +use crate::spec::{base::linux_gnu, Cc, LinkerFlavor, Lld, Target, TargetOptions}; // This target is for glibc Linux on Csky @@ -14,7 +14,7 @@ pub fn target() -> Target { features: "+2e3,+3e7,+7e10,+cache,+dsp1e2,+dspe60,+e1,+e2,+edsp,+elrw,+hard-tp,+high-registers,+hwdiv,+mp,+mp1e2,+nvic,+trust".into(), late_link_args_static: TargetOptions::link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-l:libatomic.a"]), max_atomic_width: Some(32), - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/hexagon_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/hexagon_unknown_linux_musl.rs index 4c6ab5f5ae454..1265f035eb87e 100644 --- a/compiler/rustc_target/src/spec/hexagon_unknown_linux_musl.rs +++ b/compiler/rustc_target/src/spec/hexagon_unknown_linux_musl.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Target}; +use crate::spec::{base::linux_musl, Cc, LinkerFlavor, Target}; pub fn target() -> Target { - let mut base = super::linux_musl_base::opts(); + let mut base = linux_musl::opts(); base.cpu = "hexagonv60".into(); base.max_atomic_width = Some(32); // FIXME: HVX length defaults are per-CPU diff --git a/compiler/rustc_target/src/spec/i386_apple_ios.rs b/compiler/rustc_target/src/spec/i386_apple_ios.rs index 5819981612e84..f46e6f8e7fead 100644 --- a/compiler/rustc_target/src/spec/i386_apple_ios.rs +++ b/compiler/rustc_target/src/spec/i386_apple_ios.rs @@ -1,5 +1,7 @@ -use super::apple_base::{ios_sim_llvm_target, opts, Arch}; -use crate::spec::{StackProbeType, Target, TargetOptions}; +use crate::spec::{ + base::apple::{ios_sim_llvm_target, opts, Arch}, + StackProbeType, Target, TargetOptions, +}; pub fn target() -> Target { let arch = Arch::I386; diff --git a/compiler/rustc_target/src/spec/i586_pc_nto_qnx700.rs b/compiler/rustc_target/src/spec/i586_pc_nto_qnx700.rs index 68afa7fe40127..497a1baa2bc1b 100644 --- a/compiler/rustc_target/src/spec/i586_pc_nto_qnx700.rs +++ b/compiler/rustc_target/src/spec/i586_pc_nto_qnx700.rs @@ -1,5 +1,4 @@ -use super::nto_qnx_base; -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::spec::{base::nto_qnx, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -18,7 +17,7 @@ pub fn target() -> Target { ), env: "nto70".into(), stack_probes: StackProbeType::X86, - ..nto_qnx_base::opts() + ..nto_qnx::opts() }, } } diff --git a/compiler/rustc_target/src/spec/i686_apple_darwin.rs b/compiler/rustc_target/src/spec/i686_apple_darwin.rs index b5103d15db695..c92196000942c 100644 --- a/compiler/rustc_target/src/spec/i686_apple_darwin.rs +++ b/compiler/rustc_target/src/spec/i686_apple_darwin.rs @@ -1,5 +1,7 @@ -use super::apple_base::{macos_llvm_target, opts, Arch}; -use crate::spec::{Cc, FramePointer, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::spec::{ + base::apple::{macos_llvm_target, opts, Arch}, + Cc, FramePointer, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions, +}; pub fn target() -> Target { // ld64 only understands i386 and not i686 diff --git a/compiler/rustc_target/src/spec/i686_linux_android.rs b/compiler/rustc_target/src/spec/i686_linux_android.rs index c7c30c23901d3..0860d099cc178 100644 --- a/compiler/rustc_target/src/spec/i686_linux_android.rs +++ b/compiler/rustc_target/src/spec/i686_linux_android.rs @@ -1,10 +1,10 @@ -use crate::spec::{SanitizerSet, StackProbeType, Target, TargetOptions}; +use crate::spec::{base::android, SanitizerSet, StackProbeType, Target, TargetOptions}; // See https://developer.android.com/ndk/guides/abis.html#x86 // for target ABI requirements. pub fn target() -> Target { - let mut base = super::android_base::opts(); + let mut base = android::opts(); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/i686_pc_windows_gnu.rs b/compiler/rustc_target/src/spec/i686_pc_windows_gnu.rs index 7a11138754fa8..ad5b26f97c414 100644 --- a/compiler/rustc_target/src/spec/i686_pc_windows_gnu.rs +++ b/compiler/rustc_target/src/spec/i686_pc_windows_gnu.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, FramePointer, LinkerFlavor, Lld, Target}; +use crate::spec::{base::windows_gnu, Cc, FramePointer, LinkerFlavor, Lld, Target}; pub fn target() -> Target { - let mut base = super::windows_gnu_base::opts(); + let mut base = windows_gnu::opts(); base.cpu = "pentium4".into(); base.max_atomic_width = Some(64); base.frame_pointer = FramePointer::Always; // Required for backtraces diff --git a/compiler/rustc_target/src/spec/i686_pc_windows_gnullvm.rs b/compiler/rustc_target/src/spec/i686_pc_windows_gnullvm.rs index 3154b512a5202..96b4665260595 100644 --- a/compiler/rustc_target/src/spec/i686_pc_windows_gnullvm.rs +++ b/compiler/rustc_target/src/spec/i686_pc_windows_gnullvm.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, FramePointer, LinkerFlavor, Lld, Target}; +use crate::spec::{base::windows_gnullvm, Cc, FramePointer, LinkerFlavor, Lld, Target}; pub fn target() -> Target { - let mut base = super::windows_gnullvm_base::opts(); + let mut base = windows_gnullvm::opts(); base.cpu = "pentium4".into(); base.max_atomic_width = Some(64); base.frame_pointer = FramePointer::Always; // Required for backtraces diff --git a/compiler/rustc_target/src/spec/i686_pc_windows_msvc.rs b/compiler/rustc_target/src/spec/i686_pc_windows_msvc.rs index db4c00dc697d7..93155677290a9 100644 --- a/compiler/rustc_target/src/spec/i686_pc_windows_msvc.rs +++ b/compiler/rustc_target/src/spec/i686_pc_windows_msvc.rs @@ -1,7 +1,7 @@ -use crate::spec::{LinkerFlavor, Lld, Target}; +use crate::spec::{base::windows_msvc, LinkerFlavor, Lld, Target}; pub fn target() -> Target { - let mut base = super::windows_msvc_base::opts(); + let mut base = windows_msvc::opts(); base.cpu = "pentium4".into(); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/i686_unknown_freebsd.rs b/compiler/rustc_target/src/spec/i686_unknown_freebsd.rs index 35ca78034f170..b30fa71c7993d 100644 --- a/compiler/rustc_target/src/spec/i686_unknown_freebsd.rs +++ b/compiler/rustc_target/src/spec/i686_unknown_freebsd.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target}; +use crate::spec::{base::freebsd, Cc, LinkerFlavor, Lld, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::freebsd_base::opts(); + let mut base = freebsd::opts(); base.cpu = "pentium4".into(); base.max_atomic_width = Some(64); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32", "-Wl,-znotext"]); diff --git a/compiler/rustc_target/src/spec/i686_unknown_haiku.rs b/compiler/rustc_target/src/spec/i686_unknown_haiku.rs index e6b72336c5cf5..406508dd7f9ef 100644 --- a/compiler/rustc_target/src/spec/i686_unknown_haiku.rs +++ b/compiler/rustc_target/src/spec/i686_unknown_haiku.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target}; +use crate::spec::{base::haiku, Cc, LinkerFlavor, Lld, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::haiku_base::opts(); + let mut base = haiku::opts(); base.cpu = "pentium4".into(); base.max_atomic_width = Some(64); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32"]); diff --git a/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs index 73e536a7e4d93..6ca678354fde8 100644 --- a/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target}; +use crate::spec::{base::linux_gnu, Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::linux_gnu_base::opts(); + let mut base = linux_gnu::opts(); base.cpu = "pentium4".into(); base.max_atomic_width = Some(64); base.supported_sanitizers = SanitizerSet::ADDRESS; diff --git a/compiler/rustc_target/src/spec/i686_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/i686_unknown_linux_musl.rs index 3825082ba25e4..be2ea3e0ce293 100644 --- a/compiler/rustc_target/src/spec/i686_unknown_linux_musl.rs +++ b/compiler/rustc_target/src/spec/i686_unknown_linux_musl.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, FramePointer, LinkerFlavor, Lld, StackProbeType, Target}; +use crate::spec::{base::linux_musl, Cc, FramePointer, LinkerFlavor, Lld, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::linux_musl_base::opts(); + let mut base = linux_musl::opts(); base.cpu = "pentium4".into(); base.max_atomic_width = Some(64); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32", "-Wl,-melf_i386"]); diff --git a/compiler/rustc_target/src/spec/i686_unknown_netbsd.rs b/compiler/rustc_target/src/spec/i686_unknown_netbsd.rs index b191996c7de0d..a838d7f6e0c00 100644 --- a/compiler/rustc_target/src/spec/i686_unknown_netbsd.rs +++ b/compiler/rustc_target/src/spec/i686_unknown_netbsd.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::spec::{base::netbsd, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; pub fn target() -> Target { - let mut base = super::netbsd_base::opts(); + let mut base = netbsd::opts(); base.cpu = "pentium4".into(); base.max_atomic_width = Some(64); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32"]); diff --git a/compiler/rustc_target/src/spec/i686_unknown_openbsd.rs b/compiler/rustc_target/src/spec/i686_unknown_openbsd.rs index 8babe55971280..92aecfbdaec84 100644 --- a/compiler/rustc_target/src/spec/i686_unknown_openbsd.rs +++ b/compiler/rustc_target/src/spec/i686_unknown_openbsd.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target}; +use crate::spec::{base::openbsd, Cc, LinkerFlavor, Lld, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::openbsd_base::opts(); + let mut base = openbsd::opts(); base.cpu = "pentium4".into(); base.max_atomic_width = Some(64); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32", "-fuse-ld=lld"]); diff --git a/compiler/rustc_target/src/spec/i686_unknown_uefi.rs b/compiler/rustc_target/src/spec/i686_unknown_uefi.rs index a2e42c5e61d54..7acceb6871e77 100644 --- a/compiler/rustc_target/src/spec/i686_unknown_uefi.rs +++ b/compiler/rustc_target/src/spec/i686_unknown_uefi.rs @@ -5,10 +5,10 @@ // The cdecl ABI is used. It differs from the stdcall or fastcall ABI. // "i686-unknown-windows" is used to get the minimal subset of windows-specific features. -use crate::spec::Target; +use crate::spec::{base::uefi_msvc, Target}; pub fn target() -> Target { - let mut base = super::uefi_msvc_base::opts(); + let mut base = uefi_msvc::opts(); base.cpu = "pentium4".into(); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/i686_uwp_windows_gnu.rs b/compiler/rustc_target/src/spec/i686_uwp_windows_gnu.rs index a3e32569827fb..adbccf032e8d4 100644 --- a/compiler/rustc_target/src/spec/i686_uwp_windows_gnu.rs +++ b/compiler/rustc_target/src/spec/i686_uwp_windows_gnu.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, FramePointer, LinkerFlavor, Lld, Target}; +use crate::spec::{base::windows_uwp_gnu, Cc, FramePointer, LinkerFlavor, Lld, Target}; pub fn target() -> Target { - let mut base = super::windows_uwp_gnu_base::opts(); + let mut base = windows_uwp_gnu::opts(); base.cpu = "pentium4".into(); base.max_atomic_width = Some(64); base.frame_pointer = FramePointer::Always; // Required for backtraces diff --git a/compiler/rustc_target/src/spec/i686_uwp_windows_msvc.rs b/compiler/rustc_target/src/spec/i686_uwp_windows_msvc.rs index 4c657fe908ac4..4b3705c9955e5 100644 --- a/compiler/rustc_target/src/spec/i686_uwp_windows_msvc.rs +++ b/compiler/rustc_target/src/spec/i686_uwp_windows_msvc.rs @@ -1,7 +1,7 @@ -use crate::spec::Target; +use crate::spec::{base::windows_uwp_msvc, Target}; pub fn target() -> Target { - let mut base = super::windows_uwp_msvc_base::opts(); + let mut base = windows_uwp_msvc::opts(); base.cpu = "pentium4".into(); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/i686_wrs_vxworks.rs b/compiler/rustc_target/src/spec/i686_wrs_vxworks.rs index b5cfdfcebea90..c1a7c0e5e06fa 100644 --- a/compiler/rustc_target/src/spec/i686_wrs_vxworks.rs +++ b/compiler/rustc_target/src/spec/i686_wrs_vxworks.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target}; +use crate::spec::{base::vxworks, Cc, LinkerFlavor, Lld, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::vxworks_base::opts(); + let mut base = vxworks::opts(); base.cpu = "pentium4".into(); base.max_atomic_width = Some(64); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32"]); diff --git a/compiler/rustc_target/src/spec/linux_gnu_base.rs b/compiler/rustc_target/src/spec/linux_gnu_base.rs deleted file mode 100644 index 8d6b3f185122c..0000000000000 --- a/compiler/rustc_target/src/spec/linux_gnu_base.rs +++ /dev/null @@ -1,5 +0,0 @@ -use crate::spec::TargetOptions; - -pub fn opts() -> TargetOptions { - TargetOptions { env: "gnu".into(), ..super::linux_base::opts() } -} diff --git a/compiler/rustc_target/src/spec/linux_uclibc_base.rs b/compiler/rustc_target/src/spec/linux_uclibc_base.rs deleted file mode 100644 index 4ba480ffecffd..0000000000000 --- a/compiler/rustc_target/src/spec/linux_uclibc_base.rs +++ /dev/null @@ -1,5 +0,0 @@ -use crate::spec::TargetOptions; - -pub fn opts() -> TargetOptions { - TargetOptions { env: "uclibc".into(), ..super::linux_base::opts() } -} diff --git a/compiler/rustc_target/src/spec/loongarch64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/loongarch64_unknown_linux_gnu.rs index db8b9c70e6702..68c90bea7f347 100644 --- a/compiler/rustc_target/src/spec/loongarch64_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/loongarch64_unknown_linux_gnu.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_gnu, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -11,7 +11,7 @@ pub fn target() -> Target { features: "+f,+d".into(), llvm_abiname: "lp64d".into(), max_atomic_width: Some(64), - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/loongarch64_unknown_none.rs b/compiler/rustc_target/src/spec/loongarch64_unknown_none.rs index dbc96d68eae17..1ad429a8b9bf8 100644 --- a/compiler/rustc_target/src/spec/loongarch64_unknown_none.rs +++ b/compiler/rustc_target/src/spec/loongarch64_unknown_none.rs @@ -1,5 +1,4 @@ -use super::{Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy, RelocModel}; -use super::{Target, TargetOptions}; +use super::{Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions}; pub fn target() -> Target { Target { diff --git a/compiler/rustc_target/src/spec/loongarch64_unknown_none_softfloat.rs b/compiler/rustc_target/src/spec/loongarch64_unknown_none_softfloat.rs index c4d5c7bc44ccd..1499426909297 100644 --- a/compiler/rustc_target/src/spec/loongarch64_unknown_none_softfloat.rs +++ b/compiler/rustc_target/src/spec/loongarch64_unknown_none_softfloat.rs @@ -1,5 +1,6 @@ -use super::{Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy, RelocModel}; -use super::{Target, TargetOptions}; +use crate::spec::{ + Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions, +}; pub fn target() -> Target { Target { diff --git a/compiler/rustc_target/src/spec/m68k_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/m68k_unknown_linux_gnu.rs index 9bcd56bed0025..806ffb3572a80 100644 --- a/compiler/rustc_target/src/spec/m68k_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/m68k_unknown_linux_gnu.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_gnu, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::linux_gnu_base::opts(); + let mut base = linux_gnu::opts(); base.cpu = "M68020".into(); base.max_atomic_width = Some(32); diff --git a/compiler/rustc_target/src/spec/mips64_openwrt_linux_musl.rs b/compiler/rustc_target/src/spec/mips64_openwrt_linux_musl.rs index 3c6ef52c6cd70..1aa7cd19add93 100644 --- a/compiler/rustc_target/src/spec/mips64_openwrt_linux_musl.rs +++ b/compiler/rustc_target/src/spec/mips64_openwrt_linux_musl.rs @@ -1,10 +1,11 @@ /// A target tuple for OpenWrt MIPS64 targets -/// -use crate::abi::Endian; -use crate::spec::{Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_musl, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::linux_musl_base::opts(); + let mut base = linux_musl::opts(); base.cpu = "mips64r2".into(); base.features = "+mips64r2,+soft-float".into(); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs b/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs index b9df0046b12ba..0bc447d3bdd5f 100644 --- a/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs +++ b/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs @@ -1,5 +1,7 @@ -use crate::abi::Endian; -use crate::spec::{Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_gnu, Target, TargetOptions}, +}; pub fn target() -> Target { Target { @@ -16,7 +18,7 @@ pub fn target() -> Target { max_atomic_width: Some(64), mcount: "_mcount".into(), - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/mips64_unknown_linux_muslabi64.rs b/compiler/rustc_target/src/spec/mips64_unknown_linux_muslabi64.rs index 465e97a026c58..d0a60603a6016 100644 --- a/compiler/rustc_target/src/spec/mips64_unknown_linux_muslabi64.rs +++ b/compiler/rustc_target/src/spec/mips64_unknown_linux_muslabi64.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_musl, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::linux_musl_base::opts(); + let mut base = linux_musl::opts(); base.cpu = "mips64r2".into(); base.features = "+mips64r2".into(); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs b/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs index 57ad8c47399b3..cc0e735e159d9 100644 --- a/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs +++ b/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_gnu, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -13,8 +13,7 @@ pub fn target() -> Target { features: "+mips64r2,+xgot".into(), max_atomic_width: Some(64), mcount: "_mcount".into(), - - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/mips64el_unknown_linux_muslabi64.rs b/compiler/rustc_target/src/spec/mips64el_unknown_linux_muslabi64.rs index 75575eb7eebde..c0a3f77a50185 100644 --- a/compiler/rustc_target/src/spec/mips64el_unknown_linux_muslabi64.rs +++ b/compiler/rustc_target/src/spec/mips64el_unknown_linux_muslabi64.rs @@ -1,7 +1,7 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_musl, Target, TargetOptions}; pub fn target() -> Target { - let mut base = super::linux_musl_base::opts(); + let mut base = linux_musl::opts(); base.cpu = "mips64r2".into(); base.features = "+mips64r2".into(); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/mips_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/mips_unknown_linux_gnu.rs index 8df8b0b4c2c7a..e2b669810dfce 100644 --- a/compiler/rustc_target/src/spec/mips_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/mips_unknown_linux_gnu.rs @@ -1,5 +1,7 @@ -use crate::abi::Endian; -use crate::spec::{Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_gnu, Target, TargetOptions}, +}; pub fn target() -> Target { Target { @@ -14,7 +16,7 @@ pub fn target() -> Target { max_atomic_width: Some(32), mcount: "_mcount".into(), - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/mips_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/mips_unknown_linux_musl.rs index c2846313a9eb1..6d357600844c0 100644 --- a/compiler/rustc_target/src/spec/mips_unknown_linux_musl.rs +++ b/compiler/rustc_target/src/spec/mips_unknown_linux_musl.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_musl, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::linux_musl_base::opts(); + let mut base = linux_musl::opts(); base.cpu = "mips32r2".into(); base.features = "+mips32r2,+soft-float".into(); base.max_atomic_width = Some(32); diff --git a/compiler/rustc_target/src/spec/mips_unknown_linux_uclibc.rs b/compiler/rustc_target/src/spec/mips_unknown_linux_uclibc.rs index c59bb5fdd223d..89d0219dc0986 100644 --- a/compiler/rustc_target/src/spec/mips_unknown_linux_uclibc.rs +++ b/compiler/rustc_target/src/spec/mips_unknown_linux_uclibc.rs @@ -1,5 +1,7 @@ -use crate::abi::Endian; -use crate::spec::{Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_uclibc, Target, TargetOptions}, +}; pub fn target() -> Target { Target { @@ -14,7 +16,7 @@ pub fn target() -> Target { max_atomic_width: Some(32), mcount: "_mcount".into(), - ..super::linux_uclibc_base::opts() + ..linux_uclibc::opts() }, } } diff --git a/compiler/rustc_target/src/spec/mipsel_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/mipsel_unknown_linux_gnu.rs index 01346e71a92ff..4be7b9fc4289f 100644 --- a/compiler/rustc_target/src/spec/mipsel_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/mipsel_unknown_linux_gnu.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_gnu, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -13,7 +13,7 @@ pub fn target() -> Target { max_atomic_width: Some(32), mcount: "_mcount".into(), - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/mipsel_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/mipsel_unknown_linux_musl.rs index 0e8f1a2c8e0ea..a99cb90100363 100644 --- a/compiler/rustc_target/src/spec/mipsel_unknown_linux_musl.rs +++ b/compiler/rustc_target/src/spec/mipsel_unknown_linux_musl.rs @@ -1,7 +1,7 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_musl, Target, TargetOptions}; pub fn target() -> Target { - let mut base = super::linux_musl_base::opts(); + let mut base = linux_musl::opts(); base.cpu = "mips32r2".into(); base.features = "+mips32r2,+soft-float".into(); base.max_atomic_width = Some(32); diff --git a/compiler/rustc_target/src/spec/mipsel_unknown_linux_uclibc.rs b/compiler/rustc_target/src/spec/mipsel_unknown_linux_uclibc.rs index 8342074586bc7..81ce477c34ea1 100644 --- a/compiler/rustc_target/src/spec/mipsel_unknown_linux_uclibc.rs +++ b/compiler/rustc_target/src/spec/mipsel_unknown_linux_uclibc.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_uclibc, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -13,7 +13,7 @@ pub fn target() -> Target { max_atomic_width: Some(32), mcount: "_mcount".into(), - ..super::linux_uclibc_base::opts() + ..linux_uclibc::opts() }, } } diff --git a/compiler/rustc_target/src/spec/mipsisa32r6_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/mipsisa32r6_unknown_linux_gnu.rs index 983a449b006a9..bd5d44d791fe9 100644 --- a/compiler/rustc_target/src/spec/mipsisa32r6_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/mipsisa32r6_unknown_linux_gnu.rs @@ -1,5 +1,7 @@ -use crate::abi::Endian; -use crate::spec::{Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_gnu, Target, TargetOptions}, +}; pub fn target() -> Target { Target { @@ -13,8 +15,7 @@ pub fn target() -> Target { features: "+mips32r6".into(), max_atomic_width: Some(32), mcount: "_mcount".into(), - - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/mipsisa32r6el_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/mipsisa32r6el_unknown_linux_gnu.rs index ec0facdfb7bfe..4b60d6ccd617a 100644 --- a/compiler/rustc_target/src/spec/mipsisa32r6el_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/mipsisa32r6el_unknown_linux_gnu.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_gnu, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -12,8 +12,7 @@ pub fn target() -> Target { features: "+mips32r6".into(), max_atomic_width: Some(32), mcount: "_mcount".into(), - - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/mipsisa64r6_unknown_linux_gnuabi64.rs b/compiler/rustc_target/src/spec/mipsisa64r6_unknown_linux_gnuabi64.rs index 16dd1c416f4f2..908296f25cc35 100644 --- a/compiler/rustc_target/src/spec/mipsisa64r6_unknown_linux_gnuabi64.rs +++ b/compiler/rustc_target/src/spec/mipsisa64r6_unknown_linux_gnuabi64.rs @@ -1,5 +1,7 @@ -use crate::abi::Endian; -use crate::spec::{Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_gnu, Target, TargetOptions}, +}; pub fn target() -> Target { Target { @@ -15,8 +17,7 @@ pub fn target() -> Target { features: "+mips64r6".into(), max_atomic_width: Some(64), mcount: "_mcount".into(), - - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/mipsisa64r6el_unknown_linux_gnuabi64.rs b/compiler/rustc_target/src/spec/mipsisa64r6el_unknown_linux_gnuabi64.rs index 8d0a6aa8f5145..188a5a34fe258 100644 --- a/compiler/rustc_target/src/spec/mipsisa64r6el_unknown_linux_gnuabi64.rs +++ b/compiler/rustc_target/src/spec/mipsisa64r6el_unknown_linux_gnuabi64.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_gnu, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -14,7 +14,7 @@ pub fn target() -> Target { max_atomic_width: Some(64), mcount: "_mcount".into(), - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs index 8aa72797a0d25..1210cf26e7f4b 100644 --- a/compiler/rustc_target/src/spec/mod.rs +++ b/compiler/rustc_target/src/spec/mod.rs @@ -54,48 +54,15 @@ use std::{fmt, io}; use rustc_macros::HashStable_Generic; +mod base; + pub mod abi; pub mod crt_objects; -mod aix_base; -mod android_base; -mod apple_base; -pub use apple_base::deployment_target as current_apple_deployment_target; -pub use apple_base::platform as current_apple_platform; -pub use apple_base::sdk_version as current_apple_sdk_version; -mod avr_gnu_base; -pub use avr_gnu_base::ef_avr_arch; -mod bpf_base; -mod dragonfly_base; -mod freebsd_base; -mod fuchsia_base; -mod haiku_base; -mod hermit_base; -mod illumos_base; -mod l4re_base; -mod linux_base; -mod linux_gnu_base; -mod linux_musl_base; -mod linux_ohos_base; -mod linux_uclibc_base; -mod msvc_base; -mod netbsd_base; -mod nto_qnx_base; -mod openbsd_base; -mod redox_base; -mod solaris_base; -mod solid_base; -mod teeos_base; -mod thumb_base; -mod uefi_msvc_base; -mod unikraft_linux_musl_base; -mod vxworks_base; -mod wasm_base; -mod windows_gnu_base; -mod windows_gnullvm_base; -mod windows_msvc_base; -mod windows_uwp_gnu_base; -mod windows_uwp_msvc_base; +pub use base::apple::deployment_target as current_apple_deployment_target; +pub use base::apple::platform as current_apple_platform; +pub use base::apple::sdk_version as current_apple_sdk_version; +pub use base::avr_gnu::ef_avr_arch; /// Linker is called through a C/C++ compiler. #[derive(Clone, Copy, Debug, Eq, Ord, PartialEq, PartialOrd)] @@ -1256,6 +1223,7 @@ macro_rules! supported_targets { #[cfg(test)] mod tests { + #[path = "impl_tests.rs"] mod tests_impl; // Cannot put this into a separate file without duplication, make an exception. @@ -1274,6 +1242,8 @@ supported_targets! { ("x86_64-unknown-linux-gnux32", x86_64_unknown_linux_gnux32), ("i686-unknown-linux-gnu", i686_unknown_linux_gnu), ("i586-unknown-linux-gnu", i586_unknown_linux_gnu), + ("i486-unknown-linux-gnu", i486_unknown_linux_gnu), + ("i386-unknown-linux-gnu", i386_unknown_linux_gnu), ("loongarch64-unknown-linux-gnu", loongarch64_unknown_linux_gnu), ("m68k-unknown-linux-gnu", m68k_unknown_linux_gnu), ("csky-unknown-linux-gnuabiv2", csky_unknown_linux_gnuabiv2), @@ -1531,7 +1501,7 @@ supported_targets! { ("mips64-openwrt-linux-musl", mips64_openwrt_linux_musl), - ("aarch64-unknown-nto-qnx710", aarch64_unknown_nto_qnx_710), + ("aarch64-unknown-nto-qnx710", aarch64_unknown_nto_qnx710), ("x86_64-pc-nto-qnx710", x86_64_pc_nto_qnx710), ("i586-pc-nto-qnx700", i586_pc_nto_qnx700), @@ -3298,3 +3268,7 @@ impl fmt::Display for TargetTriple { write!(f, "{}", self.debug_triple()) } } + +#[cfg(test)] +#[path = "tests/apple_tests.rs"] +mod tests_apple {} diff --git a/compiler/rustc_target/src/spec/powerpc64_ibm_aix.rs b/compiler/rustc_target/src/spec/powerpc64_ibm_aix.rs index 4e105a03e2871..642154d6bebf9 100644 --- a/compiler/rustc_target/src/spec/powerpc64_ibm_aix.rs +++ b/compiler/rustc_target/src/spec/powerpc64_ibm_aix.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Target}; +use crate::spec::{base::aix, Cc, LinkerFlavor, Target}; pub fn target() -> Target { - let mut base = super::aix_base::opts(); + let mut base = aix::opts(); base.max_atomic_width = Some(64); base.add_pre_link_args( LinkerFlavor::Unix(Cc::No), diff --git a/compiler/rustc_target/src/spec/powerpc64_unknown_freebsd.rs b/compiler/rustc_target/src/spec/powerpc64_unknown_freebsd.rs index e8fe55a00db07..797a3c8cd20cf 100644 --- a/compiler/rustc_target/src/spec/powerpc64_unknown_freebsd.rs +++ b/compiler/rustc_target/src/spec/powerpc64_unknown_freebsd.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::freebsd, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::freebsd_base::opts(); + let mut base = freebsd::opts(); base.cpu = "ppc64".into(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs index 7a0cc539f1a81..75a354cd68516 100644 --- a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_gnu, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::linux_gnu_base::opts(); + let mut base = linux_gnu::opts(); base.cpu = "ppc64".into(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_musl.rs index f80b22828c1d9..a006f219c3164 100644 --- a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_musl.rs +++ b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_musl.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_musl, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::linux_musl_base::opts(); + let mut base = linux_musl::opts(); base.cpu = "ppc64".into(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/powerpc64_unknown_openbsd.rs b/compiler/rustc_target/src/spec/powerpc64_unknown_openbsd.rs index 3643f7b0c3746..4e278bbaea8f6 100644 --- a/compiler/rustc_target/src/spec/powerpc64_unknown_openbsd.rs +++ b/compiler/rustc_target/src/spec/powerpc64_unknown_openbsd.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::openbsd, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::openbsd_base::opts(); + let mut base = openbsd::opts(); base.cpu = "ppc64".into(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/powerpc64_wrs_vxworks.rs b/compiler/rustc_target/src/spec/powerpc64_wrs_vxworks.rs index b0472e64e134d..6c7446bdf27de 100644 --- a/compiler/rustc_target/src/spec/powerpc64_wrs_vxworks.rs +++ b/compiler/rustc_target/src/spec/powerpc64_wrs_vxworks.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::vxworks, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::vxworks_base::opts(); + let mut base = vxworks::opts(); base.cpu = "ppc64".into(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs b/compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs index 342b1cf4f4ca8..1fe3b0e20c810 100644 --- a/compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs +++ b/compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::spec::{base::freebsd, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; pub fn target() -> Target { - let mut base = super::freebsd_base::opts(); + let mut base = freebsd::opts(); base.cpu = "ppc64le".into(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_gnu.rs index 815e3d2781ca2..8b5bbfed2329a 100644 --- a/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_gnu.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::spec::{base::linux_gnu, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; pub fn target() -> Target { - let mut base = super::linux_gnu_base::opts(); + let mut base = linux_gnu::opts(); base.cpu = "ppc64le".into(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_musl.rs index 0b9b78bcec898..bb618d6dc9d82 100644 --- a/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_musl.rs +++ b/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_musl.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::spec::{base::linux_musl, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; pub fn target() -> Target { - let mut base = super::linux_musl_base::opts(); + let mut base = linux_musl::opts(); base.cpu = "ppc64le".into(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/powerpc_unknown_freebsd.rs b/compiler/rustc_target/src/spec/powerpc_unknown_freebsd.rs index e036f5bdbada7..dbec346af94c0 100644 --- a/compiler/rustc_target/src/spec/powerpc_unknown_freebsd.rs +++ b/compiler/rustc_target/src/spec/powerpc_unknown_freebsd.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::freebsd, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::freebsd_base::opts(); + let mut base = freebsd::opts(); // Extra hint to linker that we are generating secure-PLT code. base.add_pre_link_args( LinkerFlavor::Gnu(Cc::Yes, Lld::No), diff --git a/compiler/rustc_target/src/spec/powerpc_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/powerpc_unknown_linux_gnu.rs index c8d6f8b9c676c..72b2df83048de 100644 --- a/compiler/rustc_target/src/spec/powerpc_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/powerpc_unknown_linux_gnu.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_gnu, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::linux_gnu_base::opts(); + let mut base = linux_gnu::opts(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32"]); base.max_atomic_width = Some(32); base.stack_probes = StackProbeType::Inline; diff --git a/compiler/rustc_target/src/spec/powerpc_unknown_linux_gnuspe.rs b/compiler/rustc_target/src/spec/powerpc_unknown_linux_gnuspe.rs index fdaa9d366d92a..741839eb1a62d 100644 --- a/compiler/rustc_target/src/spec/powerpc_unknown_linux_gnuspe.rs +++ b/compiler/rustc_target/src/spec/powerpc_unknown_linux_gnuspe.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_gnu, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::linux_gnu_base::opts(); + let mut base = linux_gnu::opts(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-mspe"]); base.max_atomic_width = Some(32); base.stack_probes = StackProbeType::Inline; diff --git a/compiler/rustc_target/src/spec/powerpc_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc_unknown_linux_musl.rs index 7fe708cf5304a..0b702cbdbbe5a 100644 --- a/compiler/rustc_target/src/spec/powerpc_unknown_linux_musl.rs +++ b/compiler/rustc_target/src/spec/powerpc_unknown_linux_musl.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::linux_musl, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::linux_musl_base::opts(); + let mut base = linux_musl::opts(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32"]); base.max_atomic_width = Some(32); base.stack_probes = StackProbeType::Inline; diff --git a/compiler/rustc_target/src/spec/powerpc_unknown_netbsd.rs b/compiler/rustc_target/src/spec/powerpc_unknown_netbsd.rs index 6f8875ba7b402..76e2fbe3a9b4d 100644 --- a/compiler/rustc_target/src/spec/powerpc_unknown_netbsd.rs +++ b/compiler/rustc_target/src/spec/powerpc_unknown_netbsd.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::netbsd, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::netbsd_base::opts(); + let mut base = netbsd::opts(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32"]); base.max_atomic_width = Some(32); base.stack_probes = StackProbeType::Inline; diff --git a/compiler/rustc_target/src/spec/powerpc_unknown_openbsd.rs b/compiler/rustc_target/src/spec/powerpc_unknown_openbsd.rs index 280d36698b488..94b815af6d537 100644 --- a/compiler/rustc_target/src/spec/powerpc_unknown_openbsd.rs +++ b/compiler/rustc_target/src/spec/powerpc_unknown_openbsd.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{StackProbeType, Target}; +use crate::{ + abi::Endian, + spec::{base::openbsd, StackProbeType, Target}, +}; pub fn target() -> Target { - let mut base = super::openbsd_base::opts(); + let mut base = openbsd::opts(); base.endian = Endian::Big; base.max_atomic_width = Some(32); base.stack_probes = StackProbeType::Inline; diff --git a/compiler/rustc_target/src/spec/powerpc_wrs_vxworks.rs b/compiler/rustc_target/src/spec/powerpc_wrs_vxworks.rs index 6f245e6ab62a1..3bb2b907c8248 100644 --- a/compiler/rustc_target/src/spec/powerpc_wrs_vxworks.rs +++ b/compiler/rustc_target/src/spec/powerpc_wrs_vxworks.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::vxworks, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::vxworks_base::opts(); + let mut base = vxworks::opts(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32", "--secure-plt"]); base.max_atomic_width = Some(32); base.stack_probes = StackProbeType::Inline; diff --git a/compiler/rustc_target/src/spec/powerpc_wrs_vxworks_spe.rs b/compiler/rustc_target/src/spec/powerpc_wrs_vxworks_spe.rs index 1d5a5e5c6ac6c..afb54fdf1e9d9 100644 --- a/compiler/rustc_target/src/spec/powerpc_wrs_vxworks_spe.rs +++ b/compiler/rustc_target/src/spec/powerpc_wrs_vxworks_spe.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::vxworks, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::vxworks_base::opts(); + let mut base = vxworks::opts(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-mspe", "--secure-plt"]); base.max_atomic_width = Some(32); base.stack_probes = StackProbeType::Inline; diff --git a/compiler/rustc_target/src/spec/riscv32gc_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/riscv32gc_unknown_linux_gnu.rs index bffd377bc4a19..4aa309e98f8af 100644 --- a/compiler/rustc_target/src/spec/riscv32gc_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/riscv32gc_unknown_linux_gnu.rs @@ -1,4 +1,4 @@ -use crate::spec::{CodeModel, Target, TargetOptions}; +use crate::spec::{base::linux_gnu, CodeModel, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -12,7 +12,7 @@ pub fn target() -> Target { features: "+m,+a,+f,+d,+c".into(), llvm_abiname: "ilp32d".into(), max_atomic_width: Some(32), - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/riscv32gc_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/riscv32gc_unknown_linux_musl.rs index c9f3acffb77b1..69d48cfbe6ba9 100644 --- a/compiler/rustc_target/src/spec/riscv32gc_unknown_linux_musl.rs +++ b/compiler/rustc_target/src/spec/riscv32gc_unknown_linux_musl.rs @@ -1,4 +1,4 @@ -use crate::spec::{CodeModel, Target, TargetOptions}; +use crate::spec::{base::linux_musl, CodeModel, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -12,7 +12,7 @@ pub fn target() -> Target { features: "+m,+a,+f,+d,+c".into(), llvm_abiname: "ilp32d".into(), max_atomic_width: Some(32), - ..super::linux_musl_base::opts() + ..linux_musl::opts() }, } } diff --git a/compiler/rustc_target/src/spec/riscv64_linux_android.rs b/compiler/rustc_target/src/spec/riscv64_linux_android.rs index af0d685549414..8b78920171a45 100644 --- a/compiler/rustc_target/src/spec/riscv64_linux_android.rs +++ b/compiler/rustc_target/src/spec/riscv64_linux_android.rs @@ -1,4 +1,4 @@ -use crate::spec::{CodeModel, SanitizerSet, Target, TargetOptions}; +use crate::spec::{base::android, CodeModel, SanitizerSet, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -13,7 +13,7 @@ pub fn target() -> Target { llvm_abiname: "lp64d".into(), supported_sanitizers: SanitizerSet::ADDRESS, max_atomic_width: Some(64), - ..super::android_base::opts() + ..android::opts() }, } } diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs index 8281bac10f88f..796916293cd65 100644 --- a/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs +++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs @@ -1,4 +1,4 @@ -use crate::spec::{CodeModel, Target, TargetOptions}; +use crate::spec::{base::freebsd, CodeModel, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -12,7 +12,7 @@ pub fn target() -> Target { features: "+m,+a,+f,+d,+c".into(), llvm_abiname: "lp64d".into(), max_atomic_width: Some(64), - ..super::freebsd_base::opts() + ..freebsd::opts() }, } } diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs index 0585ed76fe815..e37269f3625b6 100644 --- a/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs +++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs @@ -1,4 +1,4 @@ -use crate::spec::{CodeModel, SanitizerSet, Target, TargetOptions}; +use crate::spec::{base::fuchsia, CodeModel, SanitizerSet, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -13,7 +13,7 @@ pub fn target() -> Target { llvm_abiname: "lp64d".into(), max_atomic_width: Some(64), supported_sanitizers: SanitizerSet::SHADOWCALLSTACK, - ..super::fuchsia_base::opts() + ..fuchsia::opts() }, } } diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_hermit.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_hermit.rs index 1f6a34c0cacc8..1ea26edb6d36e 100644 --- a/compiler/rustc_target/src/spec/riscv64gc_unknown_hermit.rs +++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_hermit.rs @@ -1,4 +1,4 @@ -use crate::spec::{CodeModel, RelocModel, Target, TargetOptions, TlsModel}; +use crate::spec::{base::hermit, CodeModel, RelocModel, Target, TargetOptions, TlsModel}; pub fn target() -> Target { Target { @@ -14,7 +14,7 @@ pub fn target() -> Target { tls_model: TlsModel::LocalExec, max_atomic_width: Some(64), llvm_abiname: "lp64d".into(), - ..super::hermit_base::opts() + ..hermit::opts() }, } } diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs index 90dccb28063dc..bf3db9f950fb3 100644 --- a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs @@ -1,4 +1,4 @@ -use crate::spec::{CodeModel, Target, TargetOptions}; +use crate::spec::{base::linux_gnu, CodeModel, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -12,7 +12,7 @@ pub fn target() -> Target { features: "+m,+a,+f,+d,+c".into(), llvm_abiname: "lp64d".into(), max_atomic_width: Some(64), - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs index 1a56c78e68524..bfe567a9e08ce 100644 --- a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs +++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs @@ -1,4 +1,4 @@ -use crate::spec::{CodeModel, Target, TargetOptions}; +use crate::spec::{base::linux_musl, CodeModel, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -12,7 +12,7 @@ pub fn target() -> Target { features: "+m,+a,+f,+d,+c".into(), llvm_abiname: "lp64d".into(), max_atomic_width: Some(64), - ..super::linux_musl_base::opts() + ..linux_musl::opts() }, } } diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_netbsd.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_netbsd.rs index a89bd363a47eb..6fba3b06f7a41 100644 --- a/compiler/rustc_target/src/spec/riscv64gc_unknown_netbsd.rs +++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_netbsd.rs @@ -1,4 +1,4 @@ -use crate::spec::{CodeModel, Target, TargetOptions}; +use crate::spec::{base::netbsd, CodeModel, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -13,7 +13,7 @@ pub fn target() -> Target { llvm_abiname: "lp64d".into(), max_atomic_width: Some(64), mcount: "__mcount".into(), - ..super::netbsd_base::opts() + ..netbsd::opts() }, } } diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs index ab3c14e3fe73d..a1265cdb7bf70 100644 --- a/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs +++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs @@ -1,5 +1,6 @@ -use crate::spec::{Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy}; -use crate::spec::{RelocModel, Target, TargetOptions}; +use crate::spec::{ + Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions, +}; use super::SanitizerSet; diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs index ade9d77624bdb..098409505185f 100644 --- a/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs +++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs @@ -1,4 +1,4 @@ -use crate::spec::{CodeModel, Target, TargetOptions}; +use crate::spec::{base::openbsd, CodeModel, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -12,7 +12,7 @@ pub fn target() -> Target { features: "+m,+a,+f,+d,+c".into(), llvm_abiname: "lp64d".into(), max_atomic_width: Some(64), - ..super::openbsd_base::opts() + ..openbsd::opts() }, } } diff --git a/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs b/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs index 0f1821c9985b0..977210e34fbbc 100644 --- a/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs +++ b/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs @@ -1,5 +1,7 @@ -use crate::spec::{Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy}; -use crate::spec::{RelocModel, SanitizerSet, Target, TargetOptions}; +use crate::spec::{ + Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy, RelocModel, SanitizerSet, Target, + TargetOptions, +}; pub fn target() -> Target { Target { diff --git a/compiler/rustc_target/src/spec/s390x_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/s390x_unknown_linux_gnu.rs index f2c722b9a89da..491f525077cec 100644 --- a/compiler/rustc_target/src/spec/s390x_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/s390x_unknown_linux_gnu.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{SanitizerSet, StackProbeType, Target}; +use crate::{ + abi::Endian, + spec::{base::linux_gnu, SanitizerSet, StackProbeType, Target}, +}; pub fn target() -> Target { - let mut base = super::linux_gnu_base::opts(); + let mut base = linux_gnu::opts(); base.endian = Endian::Big; // z10 is the oldest CPU supported by LLVM base.cpu = "z10".into(); diff --git a/compiler/rustc_target/src/spec/s390x_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/s390x_unknown_linux_musl.rs index 8fe9d023c527e..e54fe03e181f6 100644 --- a/compiler/rustc_target/src/spec/s390x_unknown_linux_musl.rs +++ b/compiler/rustc_target/src/spec/s390x_unknown_linux_musl.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{SanitizerSet, StackProbeType, Target}; +use crate::{ + abi::Endian, + spec::{base::linux_musl, SanitizerSet, StackProbeType, Target}, +}; pub fn target() -> Target { - let mut base = super::linux_musl_base::opts(); + let mut base = linux_musl::opts(); base.endian = Endian::Big; // z10 is the oldest CPU supported by LLVM base.cpu = "z10".into(); diff --git a/compiler/rustc_target/src/spec/sparc64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/sparc64_unknown_linux_gnu.rs index 39efd8f305cdd..0665a5a2fdf8a 100644 --- a/compiler/rustc_target/src/spec/sparc64_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/sparc64_unknown_linux_gnu.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::Target; +use crate::{ + abi::Endian, + spec::{base::linux_gnu, Target}, +}; pub fn target() -> Target { - let mut base = super::linux_gnu_base::opts(); + let mut base = linux_gnu::opts(); base.endian = Endian::Big; base.cpu = "v9".into(); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/sparc64_unknown_netbsd.rs b/compiler/rustc_target/src/spec/sparc64_unknown_netbsd.rs index 38ab066b0879f..d3c2b43edae13 100644 --- a/compiler/rustc_target/src/spec/sparc64_unknown_netbsd.rs +++ b/compiler/rustc_target/src/spec/sparc64_unknown_netbsd.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{base::netbsd, Cc, LinkerFlavor, Lld, Target, TargetOptions}, +}; pub fn target() -> Target { - let mut base = super::netbsd_base::opts(); + let mut base = netbsd::opts(); base.cpu = "v9".into(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/sparc64_unknown_openbsd.rs b/compiler/rustc_target/src/spec/sparc64_unknown_openbsd.rs index 06a5f782a6dfb..4dce0aa5f2b6b 100644 --- a/compiler/rustc_target/src/spec/sparc64_unknown_openbsd.rs +++ b/compiler/rustc_target/src/spec/sparc64_unknown_openbsd.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, Target}; +use crate::{ + abi::Endian, + spec::{base::openbsd, Cc, LinkerFlavor, Lld, Target}, +}; pub fn target() -> Target { - let mut base = super::openbsd_base::opts(); + let mut base = openbsd::opts(); base.endian = Endian::Big; base.cpu = "v9".into(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]); diff --git a/compiler/rustc_target/src/spec/sparc_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/sparc_unknown_linux_gnu.rs index b10e6264b73c3..dffe69e31a840 100644 --- a/compiler/rustc_target/src/spec/sparc_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/sparc_unknown_linux_gnu.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, Target}; +use crate::{ + abi::Endian, + spec::{base::linux_gnu, Cc, LinkerFlavor, Lld, Target}, +}; pub fn target() -> Target { - let mut base = super::linux_gnu_base::opts(); + let mut base = linux_gnu::opts(); base.endian = Endian::Big; base.cpu = "v9".into(); base.max_atomic_width = Some(32); diff --git a/compiler/rustc_target/src/spec/sparc_unknown_none_elf.rs b/compiler/rustc_target/src/spec/sparc_unknown_none_elf.rs index 7e908a0f36552..adbce9725a8ef 100644 --- a/compiler/rustc_target/src/spec/sparc_unknown_none_elf.rs +++ b/compiler/rustc_target/src/spec/sparc_unknown_none_elf.rs @@ -1,5 +1,7 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions}; +use crate::{ + abi::Endian, + spec::{Cc, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions}, +}; pub fn target() -> Target { let options = TargetOptions { diff --git a/compiler/rustc_target/src/spec/sparcv9_sun_solaris.rs b/compiler/rustc_target/src/spec/sparcv9_sun_solaris.rs index 4d2bc98ab7831..5c932e9c04d75 100644 --- a/compiler/rustc_target/src/spec/sparcv9_sun_solaris.rs +++ b/compiler/rustc_target/src/spec/sparcv9_sun_solaris.rs @@ -1,8 +1,10 @@ -use crate::abi::Endian; -use crate::spec::{Cc, LinkerFlavor, Target}; +use crate::{ + abi::Endian, + spec::{base::solaris, Cc, LinkerFlavor, Target}, +}; pub fn target() -> Target { - let mut base = super::solaris_base::opts(); + let mut base = solaris::opts(); base.endian = Endian::Big; base.add_pre_link_args(LinkerFlavor::Unix(Cc::Yes), &["-m64"]); // llvm calls this "v9" diff --git a/compiler/rustc_target/src/spec/abi/tests.rs b/compiler/rustc_target/src/spec/tests/abi_tests.rs similarity index 100% rename from compiler/rustc_target/src/spec/abi/tests.rs rename to compiler/rustc_target/src/spec/tests/abi_tests.rs diff --git a/compiler/rustc_target/src/spec/apple/tests.rs b/compiler/rustc_target/src/spec/tests/apple_tests.rs similarity index 54% rename from compiler/rustc_target/src/spec/apple/tests.rs rename to compiler/rustc_target/src/spec/tests/apple_tests.rs index 3b23ddadcc47c..4f66b8e856ff8 100644 --- a/compiler/rustc_target/src/spec/apple/tests.rs +++ b/compiler/rustc_target/src/spec/tests/apple_tests.rs @@ -1,17 +1,12 @@ -use crate::spec::{ - aarch64_apple_darwin, aarch64_apple_ios_sim, aarch64_apple_watchos_sim, i686_apple_darwin, - x86_64_apple_darwin, x86_64_apple_ios, x86_64_apple_tvos, x86_64_apple_watchos_sim, -}; - #[test] fn simulator_targets_set_abi() { let all_sim_targets = [ - x86_64_apple_ios::target(), - x86_64_apple_tvos::target(), - x86_64_apple_watchos_sim::target(), - aarch64_apple_ios_sim::target(), + super::x86_64_apple_ios::target(), + super::x86_64_apple_tvos::target(), + super::x86_64_apple_watchos_sim::target(), + super::aarch64_apple_ios_sim::target(), // Note: There is currently no ARM64 tvOS simulator target - aarch64_apple_watchos_sim::target(), + super::aarch64_apple_watchos_sim::target(), ]; for target in all_sim_targets { @@ -22,9 +17,9 @@ fn simulator_targets_set_abi() { #[test] fn macos_link_environment_unmodified() { let all_macos_targets = [ - aarch64_apple_darwin::target(), - i686_apple_darwin::target(), - x86_64_apple_darwin::target(), + super::aarch64_apple_darwin::target(), + super::i686_apple_darwin::target(), + super::x86_64_apple_darwin::target(), ]; for target in all_macos_targets { diff --git a/compiler/rustc_target/src/spec/tests/tests_impl.rs b/compiler/rustc_target/src/spec/tests/impl_tests.rs similarity index 100% rename from compiler/rustc_target/src/spec/tests/tests_impl.rs rename to compiler/rustc_target/src/spec/tests/impl_tests.rs diff --git a/compiler/rustc_target/src/spec/thumbv4t_none_eabi.rs b/compiler/rustc_target/src/spec/thumbv4t_none_eabi.rs index 88a76f49acd6c..198b145b7a384 100644 --- a/compiler/rustc_target/src/spec/thumbv4t_none_eabi.rs +++ b/compiler/rustc_target/src/spec/thumbv4t_none_eabi.rs @@ -9,8 +9,9 @@ //! The default link script is very likely wrong, so you should use //! `-Clink-arg=-Tmy_script.ld` to override that with a correct linker script. -use crate::spec::{cvs, FramePointer}; -use crate::spec::{PanicStrategy, RelocModel, Target, TargetOptions}; +use crate::spec::{ + base::thumb, cvs, FramePointer, PanicStrategy, RelocModel, Target, TargetOptions, +}; pub fn target() -> Target { Target { @@ -53,7 +54,7 @@ pub fn target() -> Target { atomic_cas: false, has_thumb_interworking: true, - ..super::thumb_base::opts() + ..thumb::opts() }, } } diff --git a/compiler/rustc_target/src/spec/thumbv5te_none_eabi.rs b/compiler/rustc_target/src/spec/thumbv5te_none_eabi.rs index 021b0e0eb6228..0edc6552b1c6c 100644 --- a/compiler/rustc_target/src/spec/thumbv5te_none_eabi.rs +++ b/compiler/rustc_target/src/spec/thumbv5te_none_eabi.rs @@ -1,6 +1,6 @@ //! Targets the ARMv5TE, with code as `t32` code by default. -use crate::spec::{cvs, FramePointer, Target, TargetOptions}; +use crate::spec::{base::thumb, cvs, FramePointer, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -35,7 +35,7 @@ pub fn target() -> Target { atomic_cas: false, has_thumb_interworking: true, - ..super::thumb_base::opts() + ..thumb::opts() }, } } diff --git a/compiler/rustc_target/src/spec/thumbv6m_none_eabi.rs b/compiler/rustc_target/src/spec/thumbv6m_none_eabi.rs index c9bb0112f0e3d..b0395e591bbc5 100644 --- a/compiler/rustc_target/src/spec/thumbv6m_none_eabi.rs +++ b/compiler/rustc_target/src/spec/thumbv6m_none_eabi.rs @@ -1,6 +1,6 @@ // Targets the Cortex-M0, Cortex-M0+ and Cortex-M1 processors (ARMv6-M architecture) -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::thumb, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -19,7 +19,7 @@ pub fn target() -> Target { // There are no atomic CAS instructions available in the instruction set of the ARMv6-M // architecture atomic_cas: false, - ..super::thumb_base::opts() + ..thumb::opts() }, } } diff --git a/compiler/rustc_target/src/spec/thumbv7a_pc_windows_msvc.rs b/compiler/rustc_target/src/spec/thumbv7a_pc_windows_msvc.rs index f1be274f067c2..ebf0455e6d19d 100644 --- a/compiler/rustc_target/src/spec/thumbv7a_pc_windows_msvc.rs +++ b/compiler/rustc_target/src/spec/thumbv7a_pc_windows_msvc.rs @@ -1,7 +1,7 @@ -use crate::spec::{LinkerFlavor, Lld, PanicStrategy, Target, TargetOptions}; +use crate::spec::{base::windows_msvc, LinkerFlavor, Lld, PanicStrategy, Target, TargetOptions}; pub fn target() -> Target { - let mut base = super::windows_msvc_base::opts(); + let mut base = windows_msvc::opts(); // Prevent error LNK2013: BRANCH24(T) fixup overflow // The LBR optimization tries to eliminate branch islands, // but if the displacement is larger than can fit diff --git a/compiler/rustc_target/src/spec/thumbv7a_uwp_windows_msvc.rs b/compiler/rustc_target/src/spec/thumbv7a_uwp_windows_msvc.rs index 65c2f5a704b76..4765fbc91796f 100644 --- a/compiler/rustc_target/src/spec/thumbv7a_uwp_windows_msvc.rs +++ b/compiler/rustc_target/src/spec/thumbv7a_uwp_windows_msvc.rs @@ -1,4 +1,4 @@ -use crate::spec::{PanicStrategy, Target, TargetOptions}; +use crate::spec::{base::windows_uwp_msvc, PanicStrategy, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -12,7 +12,7 @@ pub fn target() -> Target { // FIXME(jordanrh): use PanicStrategy::Unwind when SEH is // implemented for windows/arm in LLVM panic_strategy: PanicStrategy::Abort, - ..super::windows_uwp_msvc_base::opts() + ..windows_uwp_msvc::opts() }, } } diff --git a/compiler/rustc_target/src/spec/thumbv7em_none_eabi.rs b/compiler/rustc_target/src/spec/thumbv7em_none_eabi.rs index 000e5f2d3c6ba..d94fa4db292a4 100644 --- a/compiler/rustc_target/src/spec/thumbv7em_none_eabi.rs +++ b/compiler/rustc_target/src/spec/thumbv7em_none_eabi.rs @@ -9,7 +9,7 @@ // To opt-in to hardware accelerated floating point operations, you can use, for example, // `-C target-feature=+vfp4` or `-C target-cpu=cortex-m4`. -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::thumb, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -18,10 +18,6 @@ pub fn target() -> Target { data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(), arch: "arm".into(), - options: TargetOptions { - abi: "eabi".into(), - max_atomic_width: Some(32), - ..super::thumb_base::opts() - }, + options: TargetOptions { abi: "eabi".into(), max_atomic_width: Some(32), ..thumb::opts() }, } } diff --git a/compiler/rustc_target/src/spec/thumbv7em_none_eabihf.rs b/compiler/rustc_target/src/spec/thumbv7em_none_eabihf.rs index 39a72564e49a2..5b824fcad1576 100644 --- a/compiler/rustc_target/src/spec/thumbv7em_none_eabihf.rs +++ b/compiler/rustc_target/src/spec/thumbv7em_none_eabihf.rs @@ -8,7 +8,7 @@ // // To opt into double precision hardware support, use the `-C target-feature=+fp64` flag. -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::thumb, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -30,7 +30,7 @@ pub fn target() -> Target { // ARMv7-M Architecture Reference Manual - A2.5 The optional floating-point extension features: "+vfp4,-d32,-fp64".into(), max_atomic_width: Some(32), - ..super::thumb_base::opts() + ..thumb::opts() }, } } diff --git a/compiler/rustc_target/src/spec/thumbv7m_none_eabi.rs b/compiler/rustc_target/src/spec/thumbv7m_none_eabi.rs index ab25cde66c7c4..246caf931074e 100644 --- a/compiler/rustc_target/src/spec/thumbv7m_none_eabi.rs +++ b/compiler/rustc_target/src/spec/thumbv7m_none_eabi.rs @@ -1,6 +1,6 @@ // Targets the Cortex-M3 processor (ARMv7-M) -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::thumb, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -9,10 +9,6 @@ pub fn target() -> Target { data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(), arch: "arm".into(), - options: TargetOptions { - abi: "eabi".into(), - max_atomic_width: Some(32), - ..super::thumb_base::opts() - }, + options: TargetOptions { abi: "eabi".into(), max_atomic_width: Some(32), ..thumb::opts() }, } } diff --git a/compiler/rustc_target/src/spec/thumbv7neon_linux_androideabi.rs b/compiler/rustc_target/src/spec/thumbv7neon_linux_androideabi.rs index 8d80fcd5fe579..9540d78532cc4 100644 --- a/compiler/rustc_target/src/spec/thumbv7neon_linux_androideabi.rs +++ b/compiler/rustc_target/src/spec/thumbv7neon_linux_androideabi.rs @@ -1,4 +1,4 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetOptions}; +use crate::spec::{base::android, Cc, LinkerFlavor, Lld, Target, TargetOptions}; // This target if is for the Android v7a ABI in thumb mode with // NEON unconditionally enabled and, therefore, with 32 FPU registers @@ -9,7 +9,7 @@ use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetOptions}; // for target ABI requirements. pub fn target() -> Target { - let mut base = super::android_base::opts(); + let mut base = android::opts(); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-march=armv7-a"]); Target { llvm_target: "armv7-none-linux-android".into(), diff --git a/compiler/rustc_target/src/spec/thumbv7neon_unknown_linux_gnueabihf.rs b/compiler/rustc_target/src/spec/thumbv7neon_unknown_linux_gnueabihf.rs index 28c81340ad899..4747ab5c1b299 100644 --- a/compiler/rustc_target/src/spec/thumbv7neon_unknown_linux_gnueabihf.rs +++ b/compiler/rustc_target/src/spec/thumbv7neon_unknown_linux_gnueabihf.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_gnu, Target, TargetOptions}; // This target is for glibc Linux on ARMv7 with thumb mode enabled // (for consistency with Android and Debian-based distributions) @@ -17,7 +17,7 @@ pub fn target() -> Target { // Info about features at https://wiki.debian.org/ArmHardFloatPort features: "+v7,+thumb-mode,+thumb2,+vfp3,+neon".into(), max_atomic_width: Some(64), - ..super::linux_gnu_base::opts() + ..linux_gnu::opts() }, } } diff --git a/compiler/rustc_target/src/spec/thumbv7neon_unknown_linux_musleabihf.rs b/compiler/rustc_target/src/spec/thumbv7neon_unknown_linux_musleabihf.rs index 2c375ab22d795..a68c79a2c52d1 100644 --- a/compiler/rustc_target/src/spec/thumbv7neon_unknown_linux_musleabihf.rs +++ b/compiler/rustc_target/src/spec/thumbv7neon_unknown_linux_musleabihf.rs @@ -1,4 +1,4 @@ -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::linux_musl, Target, TargetOptions}; // This target is for musl Linux on ARMv7 with thumb mode enabled // (for consistency with Android and Debian-based distributions) @@ -23,7 +23,7 @@ pub fn target() -> Target { features: "+v7,+thumb-mode,+thumb2,+vfp3,+neon".into(), max_atomic_width: Some(64), mcount: "\u{1}mcount".into(), - ..super::linux_musl_base::opts() + ..linux_musl::opts() }, } } diff --git a/compiler/rustc_target/src/spec/thumbv8m_base_none_eabi.rs b/compiler/rustc_target/src/spec/thumbv8m_base_none_eabi.rs index 756b1834c827b..3fd0ba4dede11 100644 --- a/compiler/rustc_target/src/spec/thumbv8m_base_none_eabi.rs +++ b/compiler/rustc_target/src/spec/thumbv8m_base_none_eabi.rs @@ -1,6 +1,6 @@ // Targets the Cortex-M23 processor (Baseline ARMv8-M) -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::thumb, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -15,7 +15,7 @@ pub fn target() -> Target { // with +strict-align. features: "+strict-align".into(), max_atomic_width: Some(32), - ..super::thumb_base::opts() + ..thumb::opts() }, } } diff --git a/compiler/rustc_target/src/spec/thumbv8m_main_none_eabi.rs b/compiler/rustc_target/src/spec/thumbv8m_main_none_eabi.rs index 4b62685465497..f0235053e89de 100644 --- a/compiler/rustc_target/src/spec/thumbv8m_main_none_eabi.rs +++ b/compiler/rustc_target/src/spec/thumbv8m_main_none_eabi.rs @@ -1,7 +1,7 @@ // Targets the Cortex-M33 processor (Armv8-M Mainline architecture profile), // without the Floating Point extension. -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::thumb, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -10,10 +10,6 @@ pub fn target() -> Target { data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(), arch: "arm".into(), - options: TargetOptions { - abi: "eabi".into(), - max_atomic_width: Some(32), - ..super::thumb_base::opts() - }, + options: TargetOptions { abi: "eabi".into(), max_atomic_width: Some(32), ..thumb::opts() }, } } diff --git a/compiler/rustc_target/src/spec/thumbv8m_main_none_eabihf.rs b/compiler/rustc_target/src/spec/thumbv8m_main_none_eabihf.rs index 86c25f9e4b993..0eaa836892f31 100644 --- a/compiler/rustc_target/src/spec/thumbv8m_main_none_eabihf.rs +++ b/compiler/rustc_target/src/spec/thumbv8m_main_none_eabihf.rs @@ -1,7 +1,7 @@ // Targets the Cortex-M33 processor (Armv8-M Mainline architecture profile), // with the Floating Point extension. -use crate::spec::{Target, TargetOptions}; +use crate::spec::{base::thumb, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -19,7 +19,7 @@ pub fn target() -> Target { // These parameters map to the following LLVM features. features: "+fp-armv8,-fp64,-d32".into(), max_atomic_width: Some(32), - ..super::thumb_base::opts() + ..thumb::opts() }, } } diff --git a/compiler/rustc_target/src/spec/wasm32_unknown_emscripten.rs b/compiler/rustc_target/src/spec/wasm32_unknown_emscripten.rs index 6f77ef98c015d..f78c78c97fb2e 100644 --- a/compiler/rustc_target/src/spec/wasm32_unknown_emscripten.rs +++ b/compiler/rustc_target/src/spec/wasm32_unknown_emscripten.rs @@ -1,5 +1,6 @@ -use super::{cvs, wasm_base}; -use super::{LinkArgs, LinkerFlavor, PanicStrategy, RelocModel, Target, TargetOptions}; +use crate::spec::{ + base::wasm, cvs, LinkArgs, LinkerFlavor, PanicStrategy, RelocModel, Target, TargetOptions, +}; pub fn target() -> Target { // Reset flags for non-Em flavors back to empty to satisfy sanity checking tests. @@ -22,7 +23,7 @@ pub fn target() -> Target { panic_strategy: PanicStrategy::Unwind, no_default_libraries: false, families: cvs!["unix", "wasm"], - ..wasm_base::options() + ..wasm::options() }; Target { llvm_target: "wasm32-unknown-emscripten".into(), diff --git a/compiler/rustc_target/src/spec/wasm32_unknown_unknown.rs b/compiler/rustc_target/src/spec/wasm32_unknown_unknown.rs index 06529c2e4039d..4c54a51fb5040 100644 --- a/compiler/rustc_target/src/spec/wasm32_unknown_unknown.rs +++ b/compiler/rustc_target/src/spec/wasm32_unknown_unknown.rs @@ -10,11 +10,10 @@ //! This target is more or less managed by the Rust and WebAssembly Working //! Group nowadays at . -use super::{wasm_base, Cc, LinkerFlavor, Target}; -use crate::spec::abi::Abi; +use crate::spec::{abi::Abi, base::wasm, Cc, LinkerFlavor, Target}; pub fn target() -> Target { - let mut options = wasm_base::options(); + let mut options = wasm::options(); options.os = "unknown".into(); // This is a default for backwards-compatibility with the original diff --git a/compiler/rustc_target/src/spec/wasm32_wasi.rs b/compiler/rustc_target/src/spec/wasm32_wasi.rs index a0476d542e642..2fa61385fa747 100644 --- a/compiler/rustc_target/src/spec/wasm32_wasi.rs +++ b/compiler/rustc_target/src/spec/wasm32_wasi.rs @@ -73,10 +73,10 @@ //! you know what you're getting in to! use super::crt_objects::{self, LinkSelfContainedDefault}; -use super::{wasm_base, Cc, LinkerFlavor, Target}; +use super::{base::wasm, Cc, LinkerFlavor, Target}; pub fn target() -> Target { - let mut options = wasm_base::options(); + let mut options = wasm::options(); options.os = "wasi".into(); options.add_pre_link_args(LinkerFlavor::WasmLld(Cc::Yes), &["--target=wasm32-wasi"]); diff --git a/compiler/rustc_target/src/spec/wasm32_wasi_preview1_threads.rs b/compiler/rustc_target/src/spec/wasm32_wasi_preview1_threads.rs index c567155fee653..2e7e628032615 100644 --- a/compiler/rustc_target/src/spec/wasm32_wasi_preview1_threads.rs +++ b/compiler/rustc_target/src/spec/wasm32_wasi_preview1_threads.rs @@ -72,11 +72,14 @@ //! best we can with this target. Don't start relying on too much here unless //! you know what you're getting in to! -use super::crt_objects::{self, LinkSelfContainedDefault}; -use super::{wasm_base, Cc, LinkerFlavor, Target}; +use super::{ + base::wasm, + crt_objects::{self, LinkSelfContainedDefault}, + Cc, LinkerFlavor, Target, +}; pub fn target() -> Target { - let mut options = wasm_base::options(); + let mut options = wasm::options(); options.os = "wasi".into(); diff --git a/compiler/rustc_target/src/spec/wasm64_unknown_unknown.rs b/compiler/rustc_target/src/spec/wasm64_unknown_unknown.rs index 3fda398d24c85..8c7405934ef64 100644 --- a/compiler/rustc_target/src/spec/wasm64_unknown_unknown.rs +++ b/compiler/rustc_target/src/spec/wasm64_unknown_unknown.rs @@ -7,10 +7,10 @@ //! the standard library is available, most of it returns an error immediately //! (e.g. trying to create a TCP stream or something like that). -use super::{wasm_base, Cc, LinkerFlavor, Target}; +use super::{base::wasm, Cc, LinkerFlavor, Target}; pub fn target() -> Target { - let mut options = wasm_base::options(); + let mut options = wasm::options(); options.os = "unknown".into(); options.add_pre_link_args( diff --git a/compiler/rustc_target/src/spec/x86_64_apple_darwin.rs b/compiler/rustc_target/src/spec/x86_64_apple_darwin.rs index e90bda9c9a871..5ae2b53145608 100644 --- a/compiler/rustc_target/src/spec/x86_64_apple_darwin.rs +++ b/compiler/rustc_target/src/spec/x86_64_apple_darwin.rs @@ -1,6 +1,7 @@ -use super::apple_base::{macos_llvm_target, opts, Arch}; -use crate::spec::{Cc, FramePointer, LinkerFlavor, Lld, SanitizerSet}; -use crate::spec::{StackProbeType, Target, TargetOptions}; +use crate::spec::{ + base::apple::{macos_llvm_target, opts, Arch}, + Cc, FramePointer, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target, TargetOptions, +}; pub fn target() -> Target { let arch = Arch::X86_64; diff --git a/compiler/rustc_target/src/spec/x86_64_apple_ios.rs b/compiler/rustc_target/src/spec/x86_64_apple_ios.rs index 061b6a96fc888..4e04deaaac0e2 100644 --- a/compiler/rustc_target/src/spec/x86_64_apple_ios.rs +++ b/compiler/rustc_target/src/spec/x86_64_apple_ios.rs @@ -1,5 +1,7 @@ -use super::apple_base::{ios_sim_llvm_target, opts, Arch}; -use crate::spec::{SanitizerSet, StackProbeType, Target, TargetOptions}; +use crate::spec::{ + base::apple::{ios_sim_llvm_target, opts, Arch}, + SanitizerSet, StackProbeType, Target, TargetOptions, +}; pub fn target() -> Target { let arch = Arch::X86_64_sim; diff --git a/compiler/rustc_target/src/spec/x86_64_apple_ios_macabi.rs b/compiler/rustc_target/src/spec/x86_64_apple_ios_macabi.rs index fd1926f29456b..18eda042e8388 100644 --- a/compiler/rustc_target/src/spec/x86_64_apple_ios_macabi.rs +++ b/compiler/rustc_target/src/spec/x86_64_apple_ios_macabi.rs @@ -1,5 +1,7 @@ -use super::apple_base::{opts, Arch}; -use crate::spec::{Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target, TargetOptions}; +use crate::spec::{ + base::apple::{opts, Arch}, + Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target, TargetOptions, +}; pub fn target() -> Target { let llvm_target = "x86_64-apple-ios14.0-macabi"; diff --git a/compiler/rustc_target/src/spec/x86_64_apple_tvos.rs b/compiler/rustc_target/src/spec/x86_64_apple_tvos.rs index 2ec4d9569e3ea..7696ff655dc32 100644 --- a/compiler/rustc_target/src/spec/x86_64_apple_tvos.rs +++ b/compiler/rustc_target/src/spec/x86_64_apple_tvos.rs @@ -1,5 +1,7 @@ -use super::apple_base::{opts, tvos_sim_llvm_target, Arch}; -use crate::spec::{StackProbeType, Target, TargetOptions}; +use crate::spec::{ + base::apple::{opts, tvos_sim_llvm_target, Arch}, + StackProbeType, Target, TargetOptions, +}; pub fn target() -> Target { let arch = Arch::X86_64_sim; diff --git a/compiler/rustc_target/src/spec/x86_64_apple_watchos_sim.rs b/compiler/rustc_target/src/spec/x86_64_apple_watchos_sim.rs index 5fcc00a86ff95..c0eb928021e61 100644 --- a/compiler/rustc_target/src/spec/x86_64_apple_watchos_sim.rs +++ b/compiler/rustc_target/src/spec/x86_64_apple_watchos_sim.rs @@ -1,5 +1,7 @@ -use super::apple_base::{opts, watchos_sim_llvm_target, Arch}; -use crate::spec::{StackProbeType, Target, TargetOptions}; +use crate::spec::{ + base::apple::{opts, watchos_sim_llvm_target, Arch}, + StackProbeType, Target, TargetOptions, +}; pub fn target() -> Target { let arch = Arch::X86_64_sim; diff --git a/compiler/rustc_target/src/spec/x86_64_fortanix_unknown_sgx.rs b/compiler/rustc_target/src/spec/x86_64_fortanix_unknown_sgx.rs index a7ed74f47212f..de58ef3538793 100644 --- a/compiler/rustc_target/src/spec/x86_64_fortanix_unknown_sgx.rs +++ b/compiler/rustc_target/src/spec/x86_64_fortanix_unknown_sgx.rs @@ -1,7 +1,6 @@ +use crate::spec::{cvs, Cc, LinkerFlavor, Lld, Target, TargetOptions}; use std::borrow::Cow; -use super::{cvs, Cc, LinkerFlavor, Lld, Target, TargetOptions}; - pub fn target() -> Target { let pre_link_args = TargetOptions::link_args( LinkerFlavor::Gnu(Cc::No, Lld::No), diff --git a/compiler/rustc_target/src/spec/x86_64_linux_android.rs b/compiler/rustc_target/src/spec/x86_64_linux_android.rs index c110674fd870f..2d7726a031c20 100644 --- a/compiler/rustc_target/src/spec/x86_64_linux_android.rs +++ b/compiler/rustc_target/src/spec/x86_64_linux_android.rs @@ -1,7 +1,9 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target, TargetOptions}; +use crate::spec::{ + base::android, Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target, TargetOptions, +}; pub fn target() -> Target { - let mut base = super::android_base::opts(); + let mut base = android::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; // https://developer.android.com/ndk/guides/abis.html#86-64 diff --git a/compiler/rustc_target/src/spec/x86_64_pc_nto_qnx710.rs b/compiler/rustc_target/src/spec/x86_64_pc_nto_qnx710.rs index 8424757df076c..54ba673f43697 100644 --- a/compiler/rustc_target/src/spec/x86_64_pc_nto_qnx710.rs +++ b/compiler/rustc_target/src/spec/x86_64_pc_nto_qnx710.rs @@ -1,5 +1,4 @@ -use super::nto_qnx_base; -use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetOptions}; +use crate::spec::{base::nto_qnx, Cc, LinkerFlavor, Lld, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -17,7 +16,7 @@ pub fn target() -> Target { &["-Vgcc_ntox86_64_cxx"], ), env: "nto71".into(), - ..nto_qnx_base::opts() + ..nto_qnx::opts() }, } } diff --git a/compiler/rustc_target/src/spec/x86_64_pc_solaris.rs b/compiler/rustc_target/src/spec/x86_64_pc_solaris.rs index e2c59d2938e69..cc2ce04a4d890 100644 --- a/compiler/rustc_target/src/spec/x86_64_pc_solaris.rs +++ b/compiler/rustc_target/src/spec/x86_64_pc_solaris.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, SanitizerSet, StackProbeType, Target}; +use crate::spec::{base::solaris, Cc, LinkerFlavor, SanitizerSet, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::solaris_base::opts(); + let mut base = solaris::opts(); base.add_pre_link_args(LinkerFlavor::Unix(Cc::Yes), &["-m64"]); base.cpu = "x86-64".into(); base.plt_by_default = false; diff --git a/compiler/rustc_target/src/spec/x86_64_pc_windows_gnu.rs b/compiler/rustc_target/src/spec/x86_64_pc_windows_gnu.rs index 1b8885c34da78..47c9ea074152d 100644 --- a/compiler/rustc_target/src/spec/x86_64_pc_windows_gnu.rs +++ b/compiler/rustc_target/src/spec/x86_64_pc_windows_gnu.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, Target}; +use crate::spec::{base::windows_gnu, Cc, LinkerFlavor, Lld, Target}; pub fn target() -> Target { - let mut base = super::windows_gnu_base::opts(); + let mut base = windows_gnu::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; // Use high-entropy 64 bit address space for ASLR diff --git a/compiler/rustc_target/src/spec/x86_64_pc_windows_gnullvm.rs b/compiler/rustc_target/src/spec/x86_64_pc_windows_gnullvm.rs index 8f5e398a0be91..42b7bcaca2a6a 100644 --- a/compiler/rustc_target/src/spec/x86_64_pc_windows_gnullvm.rs +++ b/compiler/rustc_target/src/spec/x86_64_pc_windows_gnullvm.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, Target}; +use crate::spec::{base::windows_gnullvm, Cc, LinkerFlavor, Lld, Target}; pub fn target() -> Target { - let mut base = super::windows_gnullvm_base::opts(); + let mut base = windows_gnullvm::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]); diff --git a/compiler/rustc_target/src/spec/x86_64_pc_windows_msvc.rs b/compiler/rustc_target/src/spec/x86_64_pc_windows_msvc.rs index 6b897ca7070e3..2a29fceaff288 100644 --- a/compiler/rustc_target/src/spec/x86_64_pc_windows_msvc.rs +++ b/compiler/rustc_target/src/spec/x86_64_pc_windows_msvc.rs @@ -1,7 +1,7 @@ -use crate::spec::Target; +use crate::spec::{base::windows_msvc, Target}; pub fn target() -> Target { - let mut base = super::windows_msvc_base::opts(); + let mut base = windows_msvc::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/x86_64_sun_solaris.rs b/compiler/rustc_target/src/spec/x86_64_sun_solaris.rs index 650065f6330a0..3f1a5707227d5 100644 --- a/compiler/rustc_target/src/spec/x86_64_sun_solaris.rs +++ b/compiler/rustc_target/src/spec/x86_64_sun_solaris.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, StackProbeType, Target}; +use crate::spec::{base::solaris, Cc, LinkerFlavor, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::solaris_base::opts(); + let mut base = solaris::opts(); base.add_pre_link_args(LinkerFlavor::Unix(Cc::Yes), &["-m64"]); base.cpu = "x86-64".into(); base.plt_by_default = false; diff --git a/compiler/rustc_target/src/spec/x86_64_unikraft_linux_musl.rs b/compiler/rustc_target/src/spec/x86_64_unikraft_linux_musl.rs index 2aa093b131f5f..ce613cf28c0ea 100644 --- a/compiler/rustc_target/src/spec/x86_64_unikraft_linux_musl.rs +++ b/compiler/rustc_target/src/spec/x86_64_unikraft_linux_musl.rs @@ -1,4 +1,6 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; +use crate::spec::{ + base::unikraft_linux_musl, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions, +}; pub fn target() -> Target { Target { @@ -13,7 +15,7 @@ pub fn target() -> Target { pre_link_args: TargetOptions::link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]), max_atomic_width: Some(64), stack_probes: StackProbeType::X86, - ..super::unikraft_linux_musl_base::opts() + ..unikraft_linux_musl::opts() }, } } diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_dragonfly.rs b/compiler/rustc_target/src/spec/x86_64_unknown_dragonfly.rs index 3b8e75977b5ac..41ff5e537b656 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_dragonfly.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_dragonfly.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target}; +use crate::spec::{base::dragonfly, Cc, LinkerFlavor, Lld, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::dragonfly_base::opts(); + let mut base = dragonfly::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_freebsd.rs b/compiler/rustc_target/src/spec/x86_64_unknown_freebsd.rs index b2d91d09996ff..a75eda63de719 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_freebsd.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_freebsd.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target}; +use crate::spec::{base::freebsd, Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::freebsd_base::opts(); + let mut base = freebsd::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_fuchsia.rs b/compiler/rustc_target/src/spec/x86_64_unknown_fuchsia.rs index bee9354196028..93fe8ced07df3 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_fuchsia.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_fuchsia.rs @@ -1,7 +1,7 @@ -use crate::spec::{SanitizerSet, StackProbeType, Target}; +use crate::spec::{base::fuchsia, SanitizerSet, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::fuchsia_base::opts(); + let mut base = fuchsia::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_haiku.rs b/compiler/rustc_target/src/spec/x86_64_unknown_haiku.rs index 16ed3150e6e2e..b0d05f1653f06 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_haiku.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_haiku.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target}; +use crate::spec::{base::haiku, Cc, LinkerFlavor, Lld, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::haiku_base::opts(); + let mut base = haiku::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_hermit.rs b/compiler/rustc_target/src/spec/x86_64_unknown_hermit.rs index 1eb0693011176..772cd4188ae36 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_hermit.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_hermit.rs @@ -1,4 +1,4 @@ -use crate::spec::{StackProbeType, Target, TargetOptions}; +use crate::spec::{base::hermit, StackProbeType, Target, TargetOptions}; pub fn target() -> Target { Target { @@ -13,7 +13,7 @@ pub fn target() -> Target { plt_by_default: false, max_atomic_width: Some(64), stack_probes: StackProbeType::X86, - ..super::hermit_base::opts() + ..hermit::opts() }, } } diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_illumos.rs b/compiler/rustc_target/src/spec/x86_64_unknown_illumos.rs index 9259cfe5f0ed6..484dafbb62bf2 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_illumos.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_illumos.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, SanitizerSet, Target}; +use crate::spec::{base::illumos, Cc, LinkerFlavor, SanitizerSet, Target}; pub fn target() -> Target { - let mut base = super::illumos_base::opts(); + let mut base = illumos::opts(); base.add_pre_link_args(LinkerFlavor::Unix(Cc::Yes), &["-m64", "-std=c99"]); base.cpu = "x86-64".into(); base.plt_by_default = false; diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_l4re_uclibc.rs b/compiler/rustc_target/src/spec/x86_64_unknown_l4re_uclibc.rs index 912d289c47f9f..9229dccbc53bf 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_l4re_uclibc.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_l4re_uclibc.rs @@ -1,7 +1,7 @@ -use crate::spec::{PanicStrategy, Target}; +use crate::spec::{base::l4re, PanicStrategy, Target}; pub fn target() -> Target { - let mut base = super::l4re_base::opts(); + let mut base = l4re::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnu.rs index 2f970f87cc642..5fda49045a3f8 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnu.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target}; +use crate::spec::{base::linux_gnu, Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::linux_gnu_base::opts(); + let mut base = linux_gnu::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnux32.rs b/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnux32.rs index 5469d02c59239..84d3ed825f007 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnux32.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnux32.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target}; +use crate::spec::{base::linux_gnu, Cc, LinkerFlavor, Lld, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::linux_gnu_base::opts(); + let mut base = linux_gnu::opts(); base.cpu = "x86-64".into(); base.abi = "x32".into(); base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/x86_64_unknown_linux_musl.rs index 7154f5fa3068f..b12c088a401ad 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_linux_musl.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_linux_musl.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target}; +use crate::spec::{base::linux_musl, Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::linux_musl_base::opts(); + let mut base = linux_musl::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_linux_ohos.rs b/compiler/rustc_target/src/spec/x86_64_unknown_linux_ohos.rs index a96be8cd55466..d066c89282c9d 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_linux_ohos.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_linux_ohos.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target}; +use crate::spec::{base::linux_ohos, Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::linux_ohos_base::opts(); + let mut base = linux_ohos::opts(); base.cpu = "x86-64".into(); base.max_atomic_width = Some(64); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]); diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_netbsd.rs b/compiler/rustc_target/src/spec/x86_64_unknown_netbsd.rs index 2e7bf34f7d2f6..cccde844f6123 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_netbsd.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_netbsd.rs @@ -1,7 +1,9 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target, TargetOptions}; +use crate::spec::{ + base::netbsd, Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target, TargetOptions, +}; pub fn target() -> Target { - let mut base = super::netbsd_base::opts(); + let mut base = netbsd::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_none.rs b/compiler/rustc_target/src/spec/x86_64_unknown_none.rs index fe3b24f2d4afa..454017ec70a3e 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_none.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_none.rs @@ -4,8 +4,10 @@ // `target-cpu` compiler flags to opt-in more hardware-specific // features. -use super::{Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy}; -use super::{RelroLevel, SanitizerSet, StackProbeType, Target, TargetOptions}; +use crate::spec::{ + Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy, RelroLevel, SanitizerSet, StackProbeType, + Target, TargetOptions, +}; pub fn target() -> Target { let opts = TargetOptions { diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_openbsd.rs b/compiler/rustc_target/src/spec/x86_64_unknown_openbsd.rs index 86fa9bf7ed2a3..c8e6e71c18c08 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_openbsd.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_openbsd.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target}; +use crate::spec::{base::openbsd, Cc, LinkerFlavor, Lld, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::openbsd_base::opts(); + let mut base = openbsd::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_redox.rs b/compiler/rustc_target/src/spec/x86_64_unknown_redox.rs index decc973678227..d8b477a4d6012 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_redox.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_redox.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target}; +use crate::spec::{base::redox, Cc, LinkerFlavor, Lld, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::redox_base::opts(); + let mut base = redox::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_uefi.rs b/compiler/rustc_target/src/spec/x86_64_unknown_uefi.rs index 67664a74710a3..49066a4acc8e1 100644 --- a/compiler/rustc_target/src/spec/x86_64_unknown_uefi.rs +++ b/compiler/rustc_target/src/spec/x86_64_unknown_uefi.rs @@ -5,10 +5,10 @@ // The win64 ABI is used. It differs from the sysv64 ABI, so we must use a windows target with // LLVM. "x86_64-unknown-windows" is used to get the minimal subset of windows-specific features. -use crate::spec::Target; +use crate::spec::{base::uefi_msvc, Target}; pub fn target() -> Target { - let mut base = super::uefi_msvc_base::opts(); + let mut base = uefi_msvc::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/x86_64_uwp_windows_gnu.rs b/compiler/rustc_target/src/spec/x86_64_uwp_windows_gnu.rs index 1a9d2a57182d5..a55749caa9077 100644 --- a/compiler/rustc_target/src/spec/x86_64_uwp_windows_gnu.rs +++ b/compiler/rustc_target/src/spec/x86_64_uwp_windows_gnu.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, Target}; +use crate::spec::{base::windows_uwp_gnu, Cc, LinkerFlavor, Lld, Target}; pub fn target() -> Target { - let mut base = super::windows_uwp_gnu_base::opts(); + let mut base = windows_uwp_gnu::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; // Use high-entropy 64 bit address space for ASLR diff --git a/compiler/rustc_target/src/spec/x86_64_uwp_windows_msvc.rs b/compiler/rustc_target/src/spec/x86_64_uwp_windows_msvc.rs index 1ae403fa83f31..24cc44441baae 100644 --- a/compiler/rustc_target/src/spec/x86_64_uwp_windows_msvc.rs +++ b/compiler/rustc_target/src/spec/x86_64_uwp_windows_msvc.rs @@ -1,7 +1,7 @@ -use crate::spec::Target; +use crate::spec::{base::windows_uwp_msvc, Target}; pub fn target() -> Target { - let mut base = super::windows_uwp_msvc_base::opts(); + let mut base = windows_uwp_msvc::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/x86_64_wrs_vxworks.rs b/compiler/rustc_target/src/spec/x86_64_wrs_vxworks.rs index a7c4aaecf9109..a759f87816658 100644 --- a/compiler/rustc_target/src/spec/x86_64_wrs_vxworks.rs +++ b/compiler/rustc_target/src/spec/x86_64_wrs_vxworks.rs @@ -1,7 +1,7 @@ -use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target}; +use crate::spec::{base::vxworks, Cc, LinkerFlavor, Lld, StackProbeType, Target}; pub fn target() -> Target { - let mut base = super::vxworks_base::opts(); + let mut base = vxworks::opts(); base.cpu = "x86-64".into(); base.plt_by_default = false; base.max_atomic_width = Some(64); diff --git a/compiler/rustc_target/src/spec/x86_64h_apple_darwin.rs b/compiler/rustc_target/src/spec/x86_64h_apple_darwin.rs index 54f7490b2c052..158dc1df50640 100644 --- a/compiler/rustc_target/src/spec/x86_64h_apple_darwin.rs +++ b/compiler/rustc_target/src/spec/x86_64h_apple_darwin.rs @@ -1,6 +1,7 @@ -use super::apple_base::{macos_llvm_target, opts, Arch}; -use crate::spec::{Cc, FramePointer, LinkerFlavor, Lld, SanitizerSet}; -use crate::spec::{StackProbeType, Target, TargetOptions}; +use crate::spec::{ + base::apple::{macos_llvm_target, opts, Arch}, + Cc, FramePointer, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Target, TargetOptions, +}; pub fn target() -> Target { let arch = Arch::X86_64h; diff --git a/src/doc/rustc/src/SUMMARY.md b/src/doc/rustc/src/SUMMARY.md index 94605e2a21707..09b7e5717bb2a 100644 --- a/src/doc/rustc/src/SUMMARY.md +++ b/src/doc/rustc/src/SUMMARY.md @@ -15,45 +15,227 @@ - [Platform Support](platform-support.md) - [Target Tier Policy](target-tier-policy.md) - [Template for Target-specific Documentation](platform-support/TEMPLATE.md) - - [aarch64-apple-ios-sim](platform-support/aarch64-apple-ios-sim.md) - - [\*-apple-tvos](platform-support/apple-tvos.md) - - [\*-apple-watchos\*](platform-support/apple-watchos.md) - - [aarch64-nintendo-switch-freestanding](platform-support/aarch64-nintendo-switch-freestanding.md) - - [armeb-unknown-linux-gnueabi](platform-support/armeb-unknown-linux-gnueabi.md) - - [armv4t-none-eabi](platform-support/armv4t-none-eabi.md) - - [armv5te-none-eabi](platform-support/armv5te-none-eabi.md) - - [armv6k-nintendo-3ds](platform-support/armv6k-nintendo-3ds.md) - - [armv7-sony-vita-newlibeabihf](platform-support/armv7-sony-vita-newlibeabihf.md) - - [armv7-unknown-linux-uclibceabi](platform-support/armv7-unknown-linux-uclibceabi.md) - - [armv7-unknown-linux-uclibceabihf](platform-support/armv7-unknown-linux-uclibceabihf.md) - - [\*-android and \*-androideabi](platform-support/android.md) - - [\*-linux-ohos](platform-support/openharmony.md) - - [aarch64-unknown-teeos](platform-support/aarch64-unknown-teeos.md) - - [\*-esp-espidf](platform-support/esp-idf.md) - - [\*-unknown-fuchsia](platform-support/fuchsia.md) - - [\*-kmc-solid_\*](platform-support/kmc-solid.md) - - [csky-unknown-linux-gnuabiv2](platform-support/csky-unknown-linux-gnuabiv2.md) - - [loongarch\*-unknown-linux-\*](platform-support/loongarch-linux.md) - - [loongarch\*-unknown-none\*](platform-support/loongarch-none.md) - - [m68k-unknown-linux-gnu](platform-support/m68k-unknown-linux-gnu.md) - - [mips64-openwrt-linux-musl](platform-support/mips64-openwrt-linux-musl.md) - - [mipsel-sony-psx](platform-support/mipsel-sony-psx.md) - - [mipsisa\*r6\*-unknown-linux-gnu\*](platform-support/mips-release-6.md) - - [nvptx64-nvidia-cuda](platform-support/nvptx64-nvidia-cuda.md) - - [riscv32imac-unknown-xous-elf](platform-support/riscv32imac-unknown-xous-elf.md) - - [sparc-unknown-none-elf](./platform-support/sparc-unknown-none-elf.md) - - [*-pc-windows-gnullvm](platform-support/pc-windows-gnullvm.md) - - [\*-nto-qnx-\*](platform-support/nto-qnx.md) - - [*-unikraft-linux-musl](platform-support/unikraft-linux-musl.md) - - [*-unknown-hermit](platform-support/hermit.md) - - [\*-unknown-netbsd\*](platform-support/netbsd.md) - - [*-unknown-openbsd](platform-support/openbsd.md) - - [\*-unknown-uefi](platform-support/unknown-uefi.md) - - [wasm32-wasi-preview1-threads](platform-support/wasm32-wasi-preview1-threads.md) - - [wasm64-unknown-unknown](platform-support/wasm64-unknown-unknown.md) - - [x86_64-fortanix-unknown-sgx](platform-support/x86_64-fortanix-unknown-sgx.md) - - [x86_64-unknown-none](platform-support/x86_64-unknown-none.md) - - [x86_64h-apple-darwin](platform-support/x86_64h-apple-darwin.md) + - [aarch64-apple-darwin](platform-support/aarch64_apple_darwin.md) + - [aarch64-apple-ios](platform-support/aarch64_apple_ios.md) + - [aarch64-apple-ios-macabi](platform-support/aarch64_apple_ios_macabi.md) + - [aarch64-apple-ios-sim](platform-support/aarch64_apple_ios_sim.md) + - [aarch64-apple-tvos](platform-support/aarch64_apple_tvos.md) + - [aarch64-apple-watchos-sim](platform-support/aarch64_apple_watchos_sim.md) + - [aarch64_be-unknown-linux-gnu](platform-support/aarch64_be_unknown_linux_gnu.md) + - [aarch64_be-unknown-linux-gnu_ilp32](platform-support/aarch64_be_unknown_linux_gnu_ilp32.md) + - [aarch64_be-unknown-netbsd](platform-support/aarch64_be_unknown_netbsd.md) + - [aarch64-fuchsia](platform-support/aarch64_fuchsia.md) + - [aarch64-kmc-solid_asp3](platform-support/aarch64_kmc_solid_asp3.md) + - [aarch64-linux-android](platform-support/aarch64_linux_android.md) + - [aarch64-nintendo-switch-freestanding](platform-support/aarch64_nintendo_switch_freestanding.md) + - [aarch64-pc-windows-gnullvm](platform-support/aarch64_pc_windows_gnullvm.md) + - [aarch64-pc-windows-msvc](platform-support/aarch64_pc_windows_msvc.md) + - [aarch64-unknown-freebsd](platform-support/aarch64_unknown_freebsd.md) + - [aarch64-unknown-fuchsia](platform-support/aarch64_unknown_fuchsia.md) + - [aarch64-unknown-hermit](platform-support/aarch64_unknown_hermit.md) + - [aarch64-unknown-linux-gnu](platform-support/aarch64_unknown_linux_gnu.md) + - [aarch64-unknown-linux-gnu_ilp32](platform-support/aarch64_unknown_linux_gnu_ilp32.md) + - [aarch64-unknown-linux-musl](platform-support/aarch64_unknown_linux_musl.md) + - [aarch64-unknown-linux-ohos](platform-support/aarch64_unknown_linux_ohos.md) + - [aarch64-unknown-netbsd](platform-support/aarch64_unknown_netbsd.md) + - [aarch64-unknown-none](platform-support/aarch64_unknown_none.md) + - [aarch64-unknown-none-softfloat](platform-support/aarch64_unknown_none_softfloat.md) + - [aarch64-unknown-nto-qnx710](platform-support/aarch64_unknown_nto_qnx710.md) + - [aarch64-unknown-openbsd](platform-support/aarch64_unknown_openbsd.md) + - [aarch64-unknown-redox](platform-support/aarch64_unknown_redox.md) + - [aarch64-unknown-teeos](platform-support/aarch64_unknown_teeos.md) + - [aarch64-unknown-uefi](platform-support/aarch64_unknown_uefi.md) + - [aarch64-uwp-windows-msvc](platform-support/aarch64_uwp_windows_msvc.md) + - [aarch64-wrs-vxworks](platform-support/aarch64_wrs_vxworks.md) + - [arm64_32-apple-watchos](platform-support/arm64_32_apple_watchos.md) + - [arm-linux-androideabi](platform-support/arm_linux_androideabi.md) + - [arm-unknown-linux-gnueabi](platform-support/arm_unknown_linux_gnueabi.md) + - [arm-unknown-linux-gnueabihf](platform-support/arm_unknown_linux_gnueabihf.md) + - [arm-unknown-linux-musleabi](platform-support/arm_unknown_linux_musleabi.md) + - [arm-unknown-linux-musleabihf](platform-support/arm_unknown_linux_musleabihf.md) + - [armeb-unknown-linux-gnueabi](platform-support/armeb_unknown_linux_gnueabi.md) + - [armebv7r-none-eabi](platform-support/armebv7r_none_eabi.md) + - [armebv7r-none-eabihf](platform-support/armebv7r_none_eabihf.md) + - [armv4t-none-eabi](platform-support/armv4t_none_eabi.md) + - [armv4t-unknown-linux-gnueabi](platform-support/armv4t_unknown_linux_gnueabi.md) + - [armv5te-none-eabi](platform-support/armv5te_none_eabi.md) + - [armv5te-unknown-linux-gnueabi](platform-support/armv5te_unknown_linux_gnueabi.md) + - [armv5te-unknown-linux-musleabi](platform-support/armv5te_unknown_linux_musleabi.md) + - [armv5te-unknown-linux-uclibceabi](platform-support/armv5te_unknown_linux_uclibceabi.md) + - [armv6-unknown-freebsd](platform-support/armv6_unknown_freebsd.md) + - [armv6-unknown-netbsd-eabihf](platform-support/armv6_unknown_netbsd_eabihf.md) + - [armv6k-nintendo-3ds](platform-support/armv6k_nintendo_3ds.md) + - [armv7-apple-ios](platform-support/armv7_apple_ios.md) + - [armv7-linux-androideabi](platform-support/armv7_linux_androideabi.md) + - [armv7-sony-vita-newlibeabihf](platform-support/armv7_sony_vita_newlibeabihf.md) + - [armv7-unknown-freebsd](platform-support/armv7_unknown_freebsd.md) + - [armv7-unknown-linux-gnueabi](platform-support/armv7_unknown_linux_gnueabi.md) + - [armv7-unknown-linux-gnueabihf](platform-support/armv7_unknown_linux_gnueabihf.md) + - [armv7-unknown-linux-musleabi](platform-support/armv7_unknown_linux_musleabi.md) + - [armv7-unknown-linux-musleabihf](platform-support/armv7_unknown_linux_musleabihf.md) + - [armv7-unknown-linux-ohos](platform-support/armv7_unknown_linux_ohos.md) + - [armv7-unknown-linux-uclibceabi](platform-support/armv7_unknown_linux_uclibceabi.md) + - [armv7-unknown-linux-uclibceabihf](platform-support/armv7_unknown_linux_uclibceabihf.md) + - [armv7-unknown-netbsd-eabihf](platform-support/armv7_unknown_netbsd_eabihf.md) + - [armv7-wrs-vxworks-eabihf](platform-support/armv7_wrs_vxworks_eabihf.md) + - [armv7a-kmc-solid_asp3-eabi](platform-support/armv7a_kmc_solid_asp3_eabi.md) + - [armv7a-kmc-solid_asp3-eabihf](platform-support/armv7a_kmc_solid_asp3_eabihf.md) + - [armv7a-none-eabi](platform-support/armv7a_none_eabi.md) + - [armv7a-none-eabihf](platform-support/armv7a_none_eabihf.md) + - [armv7k-apple-watchos](platform-support/armv7k_apple_watchos.md) + - [armv7r-none-eabi](platform-support/armv7r_none_eabi.md) + - [armv7r-none-eabihf](platform-support/armv7r_none_eabihf.md) + - [armv7s-apple-ios](platform-support/armv7s_apple_ios.md) + - [asmjs-unknown-emscripten](platform-support/asmjs_unknown_emscripten.md) + - [avr-unknown-gnu-atmega328](platform-support/avr_unknown_gnu_atmega328.md) + - [bpfeb-unknown-none](platform-support/bpfeb_unknown_none.md) + - [bpfel-unknown-none](platform-support/bpfel_unknown_none.md) + - [csky-unknown-linux-gnuabiv2](platform-support/csky_unknown_linux_gnuabiv2.md) + - [hexagon-unknown-linux-musl](platform-support/hexagon_unknown_linux_musl.md) + - [i386-apple-ios](platform-support/i386_apple_ios.md) + - [i386-unknown-linux-gnu](platform-support/i386_unknown_linux_gnu.md) + - [i486-unknown-linux-gnu](platform-support/i486_unknown_linux_gnu.md) + - [i586-pc-nto-qnx700](platform-support/i586_pc_nto_qnx700.md) + - [i586-pc-windows-msvc](platform-support/i586_pc_windows_msvc.md) + - [i586-unknown-linux-gnu](platform-support/i586_unknown_linux_gnu.md) + - [i586-unknown-linux-musl](platform-support/i586_unknown_linux_musl.md) + - [i686-apple-darwin](platform-support/i686_apple_darwin.md) + - [i686-linux-android](platform-support/i686_linux_android.md) + - [i686-pc-windows-gnu](platform-support/i686_pc_windows_gnu.md) + - [i686-pc-windows-gnullvm](platform-support/i686_pc_windows_gnullvm.md) + - [i686-pc-windows-msvc](platform-support/i686_pc_windows_msvc.md) + - [i686-unknown-freebsd](platform-support/i686_unknown_freebsd.md) + - [i686-unknown-haiku](platform-support/i686_unknown_haiku.md) + - [i686-unknown-linux-gnu](platform-support/i686_unknown_linux_gnu.md) + - [i686-unknown-linux-musl](platform-support/i686_unknown_linux_musl.md) + - [i686-unknown-netbsd](platform-support/i686_unknown_netbsd.md) + - [i686-unknown-openbsd](platform-support/i686_unknown_openbsd.md) + - [i686-unknown-uefi](platform-support/i686_unknown_uefi.md) + - [i686-uwp-windows-gnu](platform-support/i686_uwp_windows_gnu.md) + - [i686-uwp-windows-msvc](platform-support/i686_uwp_windows_msvc.md) + - [i686-wrs-vxworks](platform-support/i686_wrs_vxworks.md) + - [loongarch64-unknown-linux-gnu](platform-support/loongarch64_unknown_linux_gnu.md) + - [loongarch64-unknown-none](platform-support/loongarch64_unknown_none.md) + - [loongarch64-unknown-none-softfloat](platform-support/loongarch64_unknown_none_softfloat.md) + - [m68k-unknown-linux-gnu](platform-support/m68k_unknown_linux_gnu.md) + - [mips64-openwrt-linux-musl](platform-support/mips64_openwrt_linux_musl.md) + - [mips64-unknown-linux-gnuabi64](platform-support/mips64_unknown_linux_gnuabi64.md) + - [mips64-unknown-linux-muslabi64](platform-support/mips64_unknown_linux_muslabi64.md) + - [mips64el-unknown-linux-gnuabi64](platform-support/mips64el_unknown_linux_gnuabi64.md) + - [mips64el-unknown-linux-muslabi64](platform-support/mips64el_unknown_linux_muslabi64.md) + - [mips-unknown-linux-gnu](platform-support/mips_unknown_linux_gnu.md) + - [mips-unknown-linux-musl](platform-support/mips_unknown_linux_musl.md) + - [mips-unknown-linux-uclibc](platform-support/mips_unknown_linux_uclibc.md) + - [mipsel-sony-psp](platform-support/mipsel_sony_psp.md) + - [mipsel-sony-psx](platform-support/mipsel_sony_psx.md) + - [mipsel-unknown-linux-gnu](platform-support/mipsel_unknown_linux_gnu.md) + - [mipsel-unknown-linux-musl](platform-support/mipsel_unknown_linux_musl.md) + - [mipsel-unknown-linux-uclibc](platform-support/mipsel_unknown_linux_uclibc.md) + - [mipsel-unknown-none](platform-support/mipsel_unknown_none.md) + - [mipsisa32r6-unknown-linux-gnu](platform-support/mipsisa32r6_unknown_linux_gnu.md) + - [mipsisa32r6el-unknown-linux-gnu](platform-support/mipsisa32r6el_unknown_linux_gnu.md) + - [mipsisa64r6-unknown-linux-gnuabi64](platform-support/mipsisa64r6_unknown_linux_gnuabi64.md) + - [mipsisa64r6el-unknown-linux-gnuabi64](platform-support/mipsisa64r6el_unknown_linux_gnuabi64.md) + - [msp430-none-elf](platform-support/msp430_none_elf.md) + - [nvptx64-nvidia-cuda](platform-support/nvptx64_nvidia_cuda.md) + - [powerpc64-ibm-aix](platform-support/powerpc64_ibm_aix.md) + - [powerpc64-unknown-freebsd](platform-support/powerpc64_unknown_freebsd.md) + - [powerpc64-unknown-linux-gnu](platform-support/powerpc64_unknown_linux_gnu.md) + - [powerpc64-unknown-linux-musl](platform-support/powerpc64_unknown_linux_musl.md) + - [powerpc64-unknown-openbsd](platform-support/powerpc64_unknown_openbsd.md) + - [powerpc64-wrs-vxworks](platform-support/powerpc64_wrs_vxworks.md) + - [powerpc64le-unknown-freebsd](platform-support/powerpc64le_unknown_freebsd.md) + - [powerpc64le-unknown-linux-gnu](platform-support/powerpc64le_unknown_linux_gnu.md) + - [powerpc64le-unknown-linux-musl](platform-support/powerpc64le_unknown_linux_musl.md) + - [powerpc-unknown-freebsd](platform-support/powerpc_unknown_freebsd.md) + - [powerpc-unknown-linux-gnu](platform-support/powerpc_unknown_linux_gnu.md) + - [powerpc-unknown-linux-gnuspe](platform-support/powerpc_unknown_linux_gnuspe.md) + - [powerpc-unknown-linux-musl](platform-support/powerpc_unknown_linux_musl.md) + - [powerpc-unknown-netbsd](platform-support/powerpc_unknown_netbsd.md) + - [powerpc-unknown-openbsd](platform-support/powerpc_unknown_openbsd.md) + - [powerpc-wrs-vxworks](platform-support/powerpc_wrs_vxworks.md) + - [powerpc-wrs-vxworks-spe](platform-support/powerpc_wrs_vxworks_spe.md) + - [riscv32gc-unknown-linux-gnu](platform-support/riscv32gc_unknown_linux_gnu.md) + - [riscv32gc-unknown-linux-musl](platform-support/riscv32gc_unknown_linux_musl.md) + - [riscv32i-unknown-none-elf](platform-support/riscv32i_unknown_none_elf.md) + - [riscv32im-unknown-none-elf](platform-support/riscv32im_unknown_none_elf.md) + - [riscv32imac-esp-espidf](platform-support/riscv32imac_esp_espidf.md) + - [riscv32imac-unknown-none-elf](platform-support/riscv32imac_unknown_none_elf.md) + - [riscv32imac-unknown-xous-elf](platform-support/riscv32imac_unknown_xous_elf.md) + - [riscv32imc-esp-espidf](platform-support/riscv32imc_esp_espidf.md) + - [riscv32imc-unknown-none-elf](platform-support/riscv32imc_unknown_none_elf.md) + - [riscv64-linux-android](platform-support/riscv64_linux_android.md) + - [riscv64gc-unknown-freebsd](platform-support/riscv64gc_unknown_freebsd.md) + - [riscv64gc-unknown-fuchsia](platform-support/riscv64gc_unknown_fuchsia.md) + - [riscv64gc-unknown-hermit](platform-support/riscv64gc_unknown_hermit.md) + - [riscv64gc-unknown-linux-gnu](platform-support/riscv64gc_unknown_linux_gnu.md) + - [riscv64gc-unknown-linux-musl](platform-support/riscv64gc_unknown_linux_musl.md) + - [riscv64gc-unknown-netbsd](platform-support/riscv64gc_unknown_netbsd.md) + - [riscv64gc-unknown-none-elf](platform-support/riscv64gc_unknown_none_elf.md) + - [riscv64gc-unknown-openbsd](platform-support/riscv64gc_unknown_openbsd.md) + - [riscv64imac-unknown-none-elf](platform-support/riscv64imac_unknown_none_elf.md) + - [s390x-unknown-linux-gnu](platform-support/s390x_unknown_linux_gnu.md) + - [s390x-unknown-linux-musl](platform-support/s390x_unknown_linux_musl.md) + - [sparc64-unknown-linux-gnu](platform-support/sparc64_unknown_linux_gnu.md) + - [sparc64-unknown-netbsd](platform-support/sparc64_unknown_netbsd.md) + - [sparc64-unknown-openbsd](platform-support/sparc64_unknown_openbsd.md) + - [sparc-unknown-linux-gnu](platform-support/sparc_unknown_linux_gnu.md) + - [sparc-unknown-none-elf](platform-support/sparc_unknown_none_elf.md) + - [sparcv9-sun-solaris](platform-support/sparcv9_sun_solaris.md) + - [thumbv4t-none-eabi](platform-support/thumbv4t_none_eabi.md) + - [thumbv5te-none-eabi](platform-support/thumbv5te_none_eabi.md) + - [thumbv6m-none-eabi](platform-support/thumbv6m_none_eabi.md) + - [thumbv7a-pc-windows-msvc](platform-support/thumbv7a_pc_windows_msvc.md) + - [thumbv7a-uwp-windows-msvc](platform-support/thumbv7a_uwp_windows_msvc.md) + - [thumbv7em-none-eabi](platform-support/thumbv7em_none_eabi.md) + - [thumbv7em-none-eabihf](platform-support/thumbv7em_none_eabihf.md) + - [thumbv7m-none-eabi](platform-support/thumbv7m_none_eabi.md) + - [thumbv7neon-linux-androideabi](platform-support/thumbv7neon_linux_androideabi.md) + - [thumbv7neon-unknown-linux-gnueabihf](platform-support/thumbv7neon_unknown_linux_gnueabihf.md) + - [thumbv7neon-unknown-linux-musleabihf](platform-support/thumbv7neon_unknown_linux_musleabihf.md) + - [thumbv8m.base-none-eabi](platform-support/thumbv8m_base_none_eabi.md) + - [thumbv8m.main-none-eabi](platform-support/thumbv8m_main_none_eabi.md) + - [thumbv8m.main-none-eabihf](platform-support/thumbv8m_main_none_eabihf.md) + - [wasm32-unknown-emscripten](platform-support/wasm32_unknown_emscripten.md) + - [wasm32-unknown-unknown](platform-support/wasm32_unknown_unknown.md) + - [wasm32-wasi](platform-support/wasm32_wasi.md) + - [wasm32-wasi-preview1-threads](platform-support/wasm32_wasi_preview1_threads.md) + - [wasm64-unknown-unknown](platform-support/wasm64_unknown_unknown.md) + - [x86_64-apple-darwin](platform-support/x86_64_apple_darwin.md) + - [x86_64-apple-ios](platform-support/x86_64_apple_ios.md) + - [x86_64-apple-ios-macabi](platform-support/x86_64_apple_ios_macabi.md) + - [x86_64-apple-tvos](platform-support/x86_64_apple_tvos.md) + - [x86_64-apple-watchos-sim](platform-support/x86_64_apple_watchos_sim.md) + - [x86_64-fortanix-unknown-sgx](platform-support/x86_64_fortanix_unknown_sgx.md) + - [x86_64-fuchsia](platform-support/x86_64_fuchsia.md) + - [x86_64-linux-android](platform-support/x86_64_linux_android.md) + - [x86_64-pc-nto-qnx710](platform-support/x86_64_pc_nto_qnx710.md) + - [x86_64-pc-solaris](platform-support/x86_64_pc_solaris.md) + - [x86_64-pc-windows-gnu](platform-support/x86_64_pc_windows_gnu.md) + - [x86_64-pc-windows-gnullvm](platform-support/x86_64_pc_windows_gnullvm.md) + - [x86_64-pc-windows-msvc](platform-support/x86_64_pc_windows_msvc.md) + - [x86_64-sun-solaris](platform-support/x86_64_sun_solaris.md) + - [x86_64-unikraft-linux-musl](platform-support/x86_64_unikraft_linux_musl.md) + - [x86_64-unknown-dragonfly](platform-support/x86_64_unknown_dragonfly.md) + - [x86_64-unknown-freebsd](platform-support/x86_64_unknown_freebsd.md) + - [x86_64-unknown-fuchsia](platform-support/x86_64_unknown_fuchsia.md) + - [x86_64-unknown-haiku](platform-support/x86_64_unknown_haiku.md) + - [x86_64-unknown-hermit](platform-support/x86_64_unknown_hermit.md) + - [x86_64-unknown-illumos](platform-support/x86_64_unknown_illumos.md) + - [x86_64-unknown-l4re-uclibc](platform-support/x86_64_unknown_l4re_uclibc.md) + - [x86_64-unknown-linux-gnu](platform-support/x86_64_unknown_linux_gnu.md) + - [x86_64-unknown-linux-gnux32](platform-support/x86_64_unknown_linux_gnux32.md) + - [x86_64-unknown-linux-musl](platform-support/x86_64_unknown_linux_musl.md) + - [x86_64-unknown-linux-ohos](platform-support/x86_64_unknown_linux_ohos.md) + - [x86_64-unknown-netbsd](platform-support/x86_64_unknown_netbsd.md) + - [x86_64-unknown-none](platform-support/x86_64_unknown_none.md) + - [x86_64-unknown-openbsd](platform-support/x86_64_unknown_openbsd.md) + - [x86_64-unknown-redox](platform-support/x86_64_unknown_redox.md) + - [x86_64-unknown-uefi](platform-support/x86_64_unknown_uefi.md) + - [x86_64-uwp-windows-gnu](platform-support/x86_64_uwp_windows_gnu.md) + - [x86_64-uwp-windows-msvc](platform-support/x86_64_uwp_windows_msvc.md) + - [x86_64-wrs-vxworks](platform-support/x86_64_wrs_vxworks.md) + - [x86_64h-apple-darwin](platform-support/x86_64h_apple_darwin.md) - [Targets](targets/index.md) - [Built-in Targets](targets/built-in.md) - [Custom Targets](targets/custom.md) diff --git a/src/doc/rustc/src/platform-support.md b/src/doc/rustc/src/platform-support.md index 70b35526ee58a..c0ffa74755fde 100644 --- a/src/doc/rustc/src/platform-support.md +++ b/src/doc/rustc/src/platform-support.md @@ -32,14 +32,14 @@ All tier 1 targets with host tools support the full standard library. target | notes -------|------- -`aarch64-unknown-linux-gnu` | ARM64 Linux (kernel 4.1, glibc 2.17+) [^missing-stack-probes] -`i686-pc-windows-gnu` | 32-bit MinGW (Windows 7+) [^windows-support] -`i686-pc-windows-msvc` | 32-bit MSVC (Windows 7+) [^windows-support] -`i686-unknown-linux-gnu` | 32-bit Linux (kernel 3.2+, glibc 2.17+) -`x86_64-apple-darwin` | 64-bit macOS (10.7+, Lion+) -`x86_64-pc-windows-gnu` | 64-bit MinGW (Windows 7+) [^windows-support] -`x86_64-pc-windows-msvc` | 64-bit MSVC (Windows 7+) [^windows-support] -`x86_64-unknown-linux-gnu` | 64-bit Linux (kernel 3.2+, glibc 2.17+) +[`aarch64-unknown-linux-gnu`](platform-support/aarch64_unknown_linux_gnu.md) | ARM64 Linux (kernel 4.1, glibc 2.17+) [^missing-stack-probes] +[`i686-pc-windows-gnu`](platform-support/i686_pc_windows_gnu.md) | 32-bit MinGW (Windows 7+) [^windows-support] +[`i686-pc-windows-msvc`](platform-support/i686_pc_windows_msvc.md) | 32-bit MSVC (Windows 7+) [^windows-support] +[`i686-unknown-linux-gnu`](platform-support/i686_unknown_linux_gnu.md) | 32-bit Linux (kernel 3.2+, glibc 2.17+) +[`x86_64-apple-darwin`](platform-support/x86_64_apple_darwin.md) | 64-bit macOS (10.7+, Lion+) +[`x86_64-pc-windows-gnu`](platform-support/x86_64_pc_windows_gnu.md) | 64-bit MinGW (Windows 7+) [^windows-support] +[`x86_64-pc-windows-msvc`](platform-support/x86_64_pc_windows_msvc.md) | 64-bit MSVC (Windows 7+) [^windows-support] +[`x86_64-unknown-linux-gnu`](platform-support/x86_64_unknown_linux_gnu.md) | 64-bit Linux (kernel 3.2+, glibc 2.17+) [^missing-stack-probes]: Stack probes support is missing on `aarch64-unknown-linux-gnu`, but it's planned to be implemented in the near @@ -83,26 +83,26 @@ so Rustup may install the documentation for a similar tier 1 target instead. target | notes -------|------- -`aarch64-apple-darwin` | ARM64 macOS (11.0+, Big Sur+) -`aarch64-pc-windows-msvc` | ARM64 Windows MSVC -`aarch64-unknown-linux-musl` | ARM64 Linux with MUSL -`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) -[`loongarch64-unknown-linux-gnu`](platform-support/loongarch-linux.md) | LoongArch64 Linux, LP64D ABI (kernel 5.19, glibc 2.36) -`mips-unknown-linux-gnu` | MIPS Linux (kernel 4.4, glibc 2.23) -`mips64-unknown-linux-gnuabi64` | MIPS64 Linux, n64 ABI (kernel 4.4, glibc 2.23) -`mips64el-unknown-linux-gnuabi64` | MIPS64 (LE) Linux, n64 ABI (kernel 4.4, glibc 2.23) -`mipsel-unknown-linux-gnu` | MIPS (LE) Linux (kernel 4.4, glibc 2.23) -`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) -`riscv64gc-unknown-linux-gnu` | RISC-V Linux (kernel 4.20, glibc 2.29) -`s390x-unknown-linux-gnu` | S390x Linux (kernel 3.2, glibc 2.17) -`x86_64-unknown-freebsd` | 64-bit FreeBSD -`x86_64-unknown-illumos` | illumos -`x86_64-unknown-linux-musl` | 64-bit Linux with MUSL -[`x86_64-unknown-netbsd`](platform-support/netbsd.md) | NetBSD/amd64 +[`aarch64-apple-darwin`](platform-support/aarch64_apple_darwin.md) | ARM64 macOS (11.0+, Big Sur+) +[`aarch64-pc-windows-msvc`](platform-support/aarch64_pc_windows_msvc.md) | ARM64 Windows MSVC +[`aarch64-unknown-linux-musl`](platform-support/aarch64_unknown_linux_musl.md) | ARM64 Linux with MUSL +[`arm-unknown-linux-gnueabi`](platform-support/arm_unknown_linux_gnueabi.md) | ARMv6 Linux (kernel 3.2, glibc 2.17) +[`arm-unknown-linux-gnueabihf`](platform-support/arm_unknown_linux_gnueabihf.md) | ARMv6 Linux, hardfloat (kernel 3.2, glibc 2.17) +[`armv7-unknown-linux-gnueabihf`](platform-support/armv7_unknown_linux_gnueabihf.md) | ARMv7-A Linux, hardfloat (kernel 3.2, glibc 2.17) +[`loongarch64-unknown-linux-gnu`](platform-support/loongarch64_unknown_linux_gnu.md) | LoongArch64 Linux, LP64D ABI (kernel 5.19, glibc 2.36) +[`mips-unknown-linux-gnu`](platform-support/mips_unknown_linux_gnu.md) | MIPS Linux (kernel 4.4, glibc 2.23) +[`mips64-unknown-linux-gnuabi64`](platform-support/mips64_unknown_linux_gnuabi64.md) | MIPS64 Linux, n64 ABI (kernel 4.4, glibc 2.23) +[`mips64el-unknown-linux-gnuabi64`](platform-support/mips64el_unknown_linux_gnuabi64.md) | MIPS64 (LE) Linux, n64 ABI (kernel 4.4, glibc 2.23) +[`mipsel-unknown-linux-gnu`](platform-support/mipsel_unknown_linux_gnu.md) | MIPS (LE) Linux (kernel 4.4, glibc 2.23) +[`powerpc-unknown-linux-gnu`](platform-support/powerpc_unknown_linux_gnu.md) | PowerPC Linux (kernel 3.2, glibc 2.17) +[`powerpc64-unknown-linux-gnu`](platform-support/powerpc64_unknown_linux_gnu.md) | PPC64 Linux (kernel 3.2, glibc 2.17) +[`powerpc64le-unknown-linux-gnu`](platform-support/powerpc64le_unknown_linux_gnu.md) | PPC64LE Linux (kernel 3.10, glibc 2.17) +[`riscv64gc-unknown-linux-gnu`](platform-support/riscv64gc_unknown_linux_gnu.md) | RISC-V Linux (kernel 4.20, glibc 2.29) +[`s390x-unknown-linux-gnu`](platform-support/s390x_unknown_linux_gnu.md) | S390x Linux (kernel 3.2, glibc 2.17) +[`x86_64-unknown-freebsd`](platform-support/x86_64_unknown_freebsd.md) | 64-bit FreeBSD +[`x86_64-unknown-illumos`](platform-support/x86_64_unknown_illumos.md) | illumos +[`x86_64-unknown-linux-musl`](platform-support/x86_64_unknown_linux_musl.md) | 64-bit Linux with MUSL +[`x86_64-unknown-netbsd`](platform-support/x86_64_unknown_netbsd.md) | NetBSD/amd64 ## Tier 2 without Host Tools @@ -127,71 +127,71 @@ so Rustup may install the documentation for a similar tier 1 target instead. target | std | notes -------|:---:|------- -`aarch64-apple-ios` | ✓ | ARM64 iOS -[`aarch64-apple-ios-sim`](platform-support/aarch64-apple-ios-sim.md) | ✓ | Apple iOS Simulator on ARM64 -`aarch64-fuchsia` | ✓ | Alias for `aarch64-unknown-fuchsia` -[`aarch64-unknown-fuchsia`](platform-support/fuchsia.md) | ✓ | ARM64 Fuchsia -[`aarch64-linux-android`](platform-support/android.md) | ✓ | ARM64 Android -`aarch64-unknown-none-softfloat` | * | Bare ARM64, softfloat -`aarch64-unknown-none` | * | Bare ARM64, hardfloat -[`aarch64-unknown-uefi`](platform-support/unknown-uefi.md) | * | ARM64 UEFI -[`arm-linux-androideabi`](platform-support/android.md) | ✓ | ARMv6 Android -`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`](platform-support/android.md) | ✓ | 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 -`armv7-unknown-linux-musleabihf` | ✓ | ARMv7-A Linux with MUSL, hardfloat -`armv7a-none-eabi` | * | Bare ARMv7-A -`armv7r-none-eabi` | * | Bare ARMv7-R -`armv7r-none-eabihf` | * | Bare ARMv7-R, hardfloat -`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 3.2, glibc 2.17) -`i586-unknown-linux-musl` | ✓ | 32-bit Linux w/o SSE, MUSL -[`i686-linux-android`](platform-support/android.md) | ✓ | 32-bit x86 Android -`i686-unknown-freebsd` | ✓ | 32-bit FreeBSD -`i686-unknown-linux-musl` | ✓ | 32-bit Linux with MUSL -[`i686-unknown-uefi`](platform-support/unknown-uefi.md) | * | 32-bit UEFI -`mips-unknown-linux-musl` | ✓ | MIPS Linux with MUSL -`mips64-unknown-linux-muslabi64` | ✓ | MIPS64 Linux, n64 ABI, MUSL -`mips64el-unknown-linux-muslabi64` | ✓ | MIPS64 (LE) Linux, n64 ABI, MUSL -`mipsel-unknown-linux-musl` | ✓ | MIPS (LE) Linux with MUSL -[`nvptx64-nvidia-cuda`](platform-support/nvptx64-nvidia-cuda.md) | * | --emit=asm generates PTX code that [runs on NVIDIA GPUs] -`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-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) -`sparcv9-sun-solaris` | ✓ | SPARC Solaris 10/11, illumos -`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`](platform-support/android.md) | ✓ | 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-wasi` | ✓ | WebAssembly with WASI -[`wasm32-wasi-preview1-threads`](platform-support/wasm32-wasi-preview1-threads.md) | ✓ | | WebAssembly with WASI Preview 1 and threads -`x86_64-apple-ios` | ✓ | 64-bit x86 iOS -[`x86_64-fortanix-unknown-sgx`](platform-support/x86_64-fortanix-unknown-sgx.md) | ✓ | [Fortanix ABI] for 64-bit Intel SGX -`x86_64-fuchsia` | ✓ | Alias for `x86_64-unknown-fuchsia` -[`x86_64-unknown-fuchsia`](platform-support/fuchsia.md) | ✓ | 64-bit x86 Fuchsia -[`x86_64-linux-android`](platform-support/android.md) | ✓ | 64-bit x86 Android -`x86_64-pc-solaris` | ✓ | 64-bit Solaris 10/11, illumos -`x86_64-unknown-linux-gnux32` | ✓ | 64-bit Linux (x32 ABI) (kernel 4.15, glibc 2.27) -[`x86_64-unknown-none`](platform-support/x86_64-unknown-none.md) | * | Freestanding/bare-metal x86_64, softfloat -`x86_64-unknown-redox` | ✓ | Redox OS -[`x86_64-unknown-uefi`](platform-support/unknown-uefi.md) | * | 64-bit UEFI +[`aarch64-apple-ios`](platform-support/aarch64_apple_ios.md) | ✓ | ARM64 iOS +[`aarch64-apple-ios-sim`](platform-support/aarch64_apple_ios_sim.md) | ✓ | Apple iOS Simulator on ARM64 +[`aarch64-fuchsia`](platform-support/aarch64_fuchsia.md) | ✓ | Alias for `aarch64-unknown-fuchsia` +[`aarch64-unknown-fuchsia`](platform-support/riscv64gc_unknown_fuchsia.md) | ✓ | ARM64 Fuchsia +[`aarch64-linux-android`](platform-support/aarch64_linux_android.md) | ✓ | ARM64 Android +[`aarch64-unknown-none-softfloat`](platform-support/aarch64_unknown_none_softfloat.md) | * | Bare ARM64, softfloat +[`aarch64-unknown-none`](platform-support/aarch64_unknown_none.md) | * | Bare ARM64, hardfloat +[`aarch64-unknown-uefi`](platform-support/aarch64_unknown_uefi.md) | * | ARM64 UEFI +[`arm-linux-androideabi`](platform-support/arm_linux_androideabi.md) | ✓ | ARMv6 Android +[`arm-unknown-linux-musleabi`](platform-support/arm_unknown_linux_musleabi.md) | ✓ | ARMv6 Linux with MUSL +[`arm-unknown-linux-musleabihf`](platform-support/arm_unknown_linux_musleabihf.md) | ✓ | ARMv6 Linux with MUSL, hardfloat +[`armebv7r-none-eabi`](platform-support/armebv7r_none_eabi.md) | * | Bare ARMv7-R, big endian +[`armebv7r-none-eabihf`](platform-support/armebv7r_none_eabihf.md) | * | Bare ARMv7-R, big endian, hardfloat +[`armv5te-unknown-linux-gnueabi`](platform-support/armv5te_unknown_linux_gnueabi.md) | ✓ | ARMv5TE Linux (kernel 4.4, glibc 2.23) +[`armv5te-unknown-linux-musleabi`](platform-support/armv5te_unknown_linux_musleabi.md) | ✓ | ARMv5TE Linux with MUSL +[`armv7-linux-androideabi`](platform-support/armv7_linux_androideabi.md) | ✓ | ARMv7-A Android +[`armv7-unknown-linux-gnueabi`](platform-support/armv7_unknown_linux_musleabihf.md) | ✓ | ARMv7-A Linux (kernel 4.15, glibc 2.27) +[`armv7-unknown-linux-musleabi`](platform-support/armv7_unknown_linux_musleabi.md) | ✓ | ARMv7-A Linux with MUSL +[`armv7-unknown-linux-musleabihf`](platform-support/armv7_unknown_linux_musleabihf.md) | ✓ | ARMv7-A Linux with MUSL, hardfloat +[`armv7a-none-eabi`](platform-support/armv7a_none_eabi.md) | * | Bare ARMv7-A +[`armv7r-none-eabi`](platform-support/armv7r_none_eabi.md) | * | Bare ARMv7-R +[`armv7r-none-eabihf`](platform-support/armv7r_none_eabihf.md) | * | Bare ARMv7-R, hardfloat +[`asmjs-unknown-emscripten`](platform-support/asmjs_unknown_emscripten.md) | ✓ | asm.js via Emscripten +[`i586-pc-windows-msvc`](platform-support/i586_pc_windows_msvc.md) | * | 32-bit Windows w/o SSE +[`i586-unknown-linux-gnu`](platform-support/i586_unknown_linux_gnu.md) | ✓ | 32-bit Linux w/o SSE (kernel 3.2, glibc 2.17) +[`i586-unknown-linux-musl`](platform-support/i586_unknown_linux_musl.md) | ✓ | 32-bit Linux w/o SSE, MUSL +[`i686-linux-android`](platform-support/i686_linux_android.md) | ✓ | 32-bit x86 Android +[`i686-unknown-freebsd`](platform-support/i686_unknown_freebsd.md) | ✓ | 32-bit FreeBSD +[`i686-unknown-linux-musl`](platform-support/i686_unknown_linux_musl.md) | ✓ | 32-bit Linux with MUSL +[`i686-unknown-uefi`](platform-support/i686_unknown_uefi.md) | * | 32-bit UEFI +[`mips-unknown-linux-musl`](platform-support/mips_unknown_linux_musl.md) | ✓ | MIPS Linux with MUSL +[`mips64-unknown-linux-muslabi64`](platform-support/mips64_unknown_linux_muslabi64.md) | ✓ | MIPS64 Linux, n64 ABI, MUSL +[`mips64el-unknown-linux-muslabi64`](platform-support/mips64el_unknown_linux_muslabi64.md) | ✓ | MIPS64 (LE) Linux, n64 ABI, MUSL +[`mipsel-unknown-linux-musl`](platform-support/mipsel_unknown_linux_musl.md) | ✓ | MIPS (LE) Linux with MUSL +[`nvptx64-nvidia-cuda`](platform-support/nvptx64_nvidia_cuda.md) | * | --emit=asm generates PTX code that [runs on NVIDIA GPUs] +[`riscv32i-unknown-none-elf`](platform-support/riscv32i_unknown_none_elf.md) | * | Bare RISC-V (RV32I ISA) +[`riscv32imac-unknown-none-elf`](platform-support/riscv32imac_unknown_none_elf.md) | * | Bare RISC-V (RV32IMAC ISA) +[`riscv32imc-unknown-none-elf`](platform-support/riscv32imc_unknown_none_elf.md) | * | Bare RISC-V (RV32IMC ISA) +[`riscv64gc-unknown-none-elf`](platform-support/riscv64gc_unknown_none_elf.md) | * | Bare RISC-V (RV64IMAFDC ISA) +[`riscv64imac-unknown-none-elf`](platform-support/riscv64imac_unknown_none_elf.md) | * | Bare RISC-V (RV64IMAC ISA) +[`sparc64-unknown-linux-gnu`](platform-support/sparc64_unknown_linux_gnu.md) | ✓ | SPARC Linux (kernel 4.4, glibc 2.23) +[`sparcv9-sun-solaris`](platform-support/sparcv9_sun_solaris.md) | ✓ | SPARC Solaris 10/11, illumos +[`thumbv6m-none-eabi`](platform-support/thumbv6m_none_eabi.md) | * | Bare ARMv6-M +[`thumbv7em-none-eabi`](platform-support/thumbv7em_none_eabi.md) | * | Bare ARMv7E-M +[`thumbv7em-none-eabihf`](platform-support/thumbv7em_none_eabihf.md) | * | Bare ARMV7E-M, hardfloat +[`thumbv7m-none-eabi`](platform-support/thumbv7m_none_eabi.md) | * | Bare ARMv7-M +[`thumbv7neon-linux-androideabi`](platform-support/thumbv7neon_linux_androideabi.md) | ✓ | Thumb2-mode ARMv7-A Android with NEON +[`thumbv7neon-unknown-linux-gnueabihf`](platform-support/thumbv7neon_unknown_linux_gnueabihf.md) | ✓ | Thumb2-mode ARMv7-A Linux with NEON (kernel 4.4, glibc 2.23) +[`thumbv8m.base-none-eabi`](platform-support/thumbv8m_base_none_eabi.md) | * | Bare ARMv8-M Baseline +[`thumbv8m.main-none-eabi`](platform-support/thumbv8m_main_none_eabi.md) | * | Bare ARMv8-M Mainline +[`thumbv8m.main-none-eabihf`](platform-support/thumbv8m_main_none_eabihf.md) | * | Bare ARMv8-M Mainline, hardfloat +[`wasm32-unknown-emscripten`](platform-support/wasm32_unknown_emscripten.md) | ✓ | WebAssembly via Emscripten +[`wasm32-unknown-unknown`](platform-support/wasm32_unknown_unknown.md) | ✓ | WebAssembly +[`wasm32-wasi`](platform-support/wasm32_wasi.md) | ✓ | WebAssembly with WASI +[`wasm32-wasi-preview1-threads`](platform-support/wasm32_wasi_preview1_threads.md) | ✓ | | WebAssembly with WASI Preview 1 and threads +[`x86_64-apple-ios`](platform-support/x86_64_apple_ios.md) | ✓ | 64-bit x86 iOS +[`x86_64-fortanix-unknown-sgx`](platform-support/x86_64_fortanix_unknown_sgx.md) | ✓ | [Fortanix ABI] for 64-bit Intel SGX +[`x86_64-fuchsia`](platform-support/x86_64_fuchsia.md) | ✓ | Alias for `x86_64-unknown-fuchsia` +[`x86_64-unknown-fuchsia`](platform-support/riscv64gc_unknown_fuchsia.md) | ✓ | 64-bit x86 Fuchsia +[`x86_64-linux-android`](platform-support/x86_64_linux_android.md) | ✓ | 64-bit x86 Android +[`x86_64-pc-solaris`](platform-support/x86_64_pc_solaris.md) | ✓ | 64-bit Solaris 10/11, illumos +[`x86_64-unknown-linux-gnux32`](platform-support/x86_64_unknown_linux_gnux32.md) | ✓ | 64-bit Linux (x32 ABI) (kernel 4.15, glibc 2.27) +[`x86_64-unknown-none`](platform-support/x86_64_unknown_none.md) | * | Freestanding/bare-metal x86_64, softfloat +[`x86_64-unknown-redox`](platform-support/x86_64_unknown_redox.md) | ✓ | Redox OS +[`x86_64-unknown-uefi`](platform-support/x86_64_unknown_uefi.md) | * | 64-bit UEFI [Fortanix ABI]: https://edp.fortanix.com/ @@ -216,133 +216,133 @@ host tools. target | std | host | notes -------|:---:|:----:|------- -`aarch64-apple-ios-macabi` | ? | | Apple Catalyst on ARM64 -[`aarch64-apple-tvos`](platform-support/apple-tvos.md) | ? | | ARM64 tvOS -[`aarch64-apple-watchos-sim`](platform-support/apple-watchos.md) | ✓ | | ARM64 Apple WatchOS Simulator -[`aarch64-kmc-solid_asp3`](platform-support/kmc-solid.md) | ✓ | | ARM64 SOLID with TOPPERS/ASP3 -[`aarch64-nintendo-switch-freestanding`](platform-support/aarch64-nintendo-switch-freestanding.md) | * | | ARM64 Nintendo Switch, Horizon -[`aarch64-pc-windows-gnullvm`](platform-support/pc-windows-gnullvm.md) | ✓ | ✓ | -[`aarch64-unknown-linux-ohos`](platform-support/openharmony.md) | ✓ | | ARM64 OpenHarmony | -[`aarch64-unknown-teeos`](platform-support/aarch64-unknown-teeos.md) | ? | | ARM64 TEEOS | -[`aarch64-unknown-nto-qnx710`](platform-support/nto-qnx.md) | ✓ | | ARM64 QNX Neutrino 7.1 RTOS | -`aarch64-unknown-freebsd` | ✓ | ✓ | ARM64 FreeBSD -[`aarch64-unknown-hermit`](platform-support/hermit.md) | ✓ | | ARM64 Hermit -`aarch64-unknown-linux-gnu_ilp32` | ✓ | ✓ | ARM64 Linux (ILP32 ABI) -[`aarch64-unknown-netbsd`](platform-support/netbsd.md) | ✓ | ✓ | ARM64 NetBSD -[`aarch64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | ARM64 OpenBSD -`aarch64-unknown-redox` | ? | | ARM64 Redox OS -`aarch64-uwp-windows-msvc` | ? | | -`aarch64-wrs-vxworks` | ? | | -`aarch64_be-unknown-linux-gnu_ilp32` | ✓ | ✓ | ARM64 Linux (big-endian, ILP32 ABI) -`aarch64_be-unknown-linux-gnu` | ✓ | ✓ | ARM64 Linux (big-endian) -[`aarch64_be-unknown-netbsd`](platform-support/netbsd.md) | ✓ | ✓ | ARM64 NetBSD (big-endian) -[`arm64_32-apple-watchos`](platform-support/apple-watchos.md) | ✓ | | ARM Apple WatchOS 64-bit with 32-bit pointers -[`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). -`armv4t-none-eabi` | * | | Bare ARMv4T -`armv4t-unknown-linux-gnueabi` | ? | | ARMv4T Linux -[`armv5te-none-eabi`](platform-support/armv5te-none-eabi.md) | * | | Bare ARMv5TE -`armv5te-unknown-linux-uclibceabi` | ? | | ARMv5TE Linux with uClibc -`armv6-unknown-freebsd` | ✓ | ✓ | ARMv6 FreeBSD -[`armv6-unknown-netbsd-eabihf`](platform-support/netbsd.md) | ✓ | ✓ | ARMv6 NetBSD w/hard-float -[`armv6k-nintendo-3ds`](platform-support/armv6k-nintendo-3ds.md) | ? | | ARMv6K Nintendo 3DS, Horizon (Requires devkitARM toolchain) -`armv7-apple-ios` | ✓ | | ARMv7-A Cortex-A8 iOS -[`armv7-sony-vita-newlibeabihf`](platform-support/armv7-sony-vita-newlibeabihf.md) | ? | | ARMv7-A Cortex-A9 Sony PlayStation Vita (requires VITASDK toolchain) -[`armv7-unknown-linux-ohos`](platform-support/openharmony.md) | ✓ | | ARMv7-A OpenHarmony | -[`armv7-unknown-linux-uclibceabi`](platform-support/armv7-unknown-linux-uclibceabi.md) | ✓ | ✓ | ARMv7-A Linux with uClibc, softfloat -[`armv7-unknown-linux-uclibceabihf`](platform-support/armv7-unknown-linux-uclibceabihf.md) | ✓ | ? | ARMv7-A Linux with uClibc, hardfloat -`armv7-unknown-freebsd` | ✓ | ✓ | ARMv7-A FreeBSD -[`armv7-unknown-netbsd-eabihf`](platform-support/netbsd.md) | ✓ | ✓ | ARMv7-A NetBSD w/hard-float -`armv7-wrs-vxworks-eabihf` | ? | | ARMv7-A for VxWorks -[`armv7a-kmc-solid_asp3-eabi`](platform-support/kmc-solid.md) | ✓ | | ARM SOLID with TOPPERS/ASP3 -[`armv7a-kmc-solid_asp3-eabihf`](platform-support/kmc-solid.md) | ✓ | | ARM SOLID with TOPPERS/ASP3, hardfloat -`armv7a-none-eabihf` | * | | Bare ARMv7-A, hardfloat -[`armv7k-apple-watchos`](platform-support/apple-watchos.md) | ✓ | | ARMv7-A Apple WatchOS -`armv7s-apple-ios` | ✓ | | ARMv7-A Apple-A6 Apple iOS -`avr-unknown-gnu-atmega328` | * | | AVR. Requires `-Z build-std=core` -`bpfeb-unknown-none` | * | | BPF (big endian) -`bpfel-unknown-none` | * | | BPF (little endian) -`csky-unknown-linux-gnuabiv2` | ✓ | | C-SKY abiv2 Linux(little endian) -`hexagon-unknown-linux-musl` | ? | | -`i386-apple-ios` | ✓ | | 32-bit x86 iOS -[`i586-pc-nto-qnx700`](platform-support/nto-qnx.md) | * | | 32-bit x86 QNX Neutrino 7.0 RTOS | -`i686-apple-darwin` | ✓ | ✓ | 32-bit macOS (10.7+, Lion+) -`i686-pc-windows-msvc` | * | | 32-bit Windows XP support -[`i686-pc-windows-gnullvm`](platform-support/pc-windows-gnullvm.md) | ✓ | ✓ | -`i686-unknown-haiku` | ✓ | ✓ | 32-bit Haiku -[`i686-unknown-netbsd`](platform-support/netbsd.md) | ✓ | ✓ | NetBSD/i386 with SSE2 -[`i686-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | 32-bit OpenBSD -`i686-uwp-windows-gnu` | ? | | -`i686-uwp-windows-msvc` | ? | | -`i686-wrs-vxworks` | ? | | -[`loongarch64-unknown-none`](platform-support/loongarch-none.md) | * | | LoongArch64 Bare-metal (LP64D ABI) -[`loongarch64-unknown-none-softfloat`](platform-support/loongarch-none.md) | * | | LoongArch64 Bare-metal (LP64S ABI) -[`m68k-unknown-linux-gnu`](platform-support/m68k-unknown-linux-gnu.md) | ? | | Motorola 680x0 Linux -`mips-unknown-linux-uclibc` | ✓ | | MIPS Linux with uClibc -[`mips64-openwrt-linux-musl`](platform-support/mips64-openwrt-linux-musl.md) | ? | | MIPS64 for OpenWrt Linux MUSL -`mipsel-sony-psp` | * | | MIPS (LE) Sony PlayStation Portable (PSP) -[`mipsel-sony-psx`](platform-support/mipsel-sony-psx.md) | * | | MIPS (LE) Sony PlayStation 1 (PSX) -`mipsel-unknown-linux-uclibc` | ✓ | | MIPS (LE) Linux with uClibc -`mipsel-unknown-none` | * | | Bare MIPS (LE) softfloat -[`mipsisa32r6-unknown-linux-gnu`](platform-support/mips-release-6.md) | ? | | 32-bit MIPS Release 6 Big Endian -[`mipsisa32r6el-unknown-linux-gnu`](platform-support/mips-release-6.md) | ? | | 32-bit MIPS Release 6 Little Endian -[`mipsisa64r6-unknown-linux-gnuabi64`](platform-support/mips-release-6.md) | ? | | 64-bit MIPS Release 6 Big Endian -[`mipsisa64r6el-unknown-linux-gnuabi64`](platform-support/mips-release-6.md) | ✓ | ✓ | 64-bit MIPS Release 6 Little Endian -`msp430-none-elf` | * | | 16-bit MSP430 microcontrollers -`powerpc-unknown-linux-gnuspe` | ✓ | | PowerPC SPE Linux -`powerpc-unknown-linux-musl` | ? | | -[`powerpc-unknown-netbsd`](platform-support/netbsd.md) | ✓ | ✓ | NetBSD 32-bit powerpc systems -`powerpc-unknown-openbsd` | ? | | -`powerpc-wrs-vxworks-spe` | ? | | -`powerpc-wrs-vxworks` | ? | | -`powerpc64-unknown-freebsd` | ✓ | ✓ | PPC64 FreeBSD (ELFv1 and ELFv2) -`powerpc64le-unknown-freebsd` | | | PPC64LE FreeBSD -`powerpc-unknown-freebsd` | | | PowerPC FreeBSD -`powerpc64-unknown-linux-musl` | ? | | -`powerpc64-wrs-vxworks` | ? | | -`powerpc64le-unknown-linux-musl` | ? | | -[`powerpc64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | OpenBSD/powerpc64 -`powerpc64-ibm-aix` | ? | | 64-bit AIX (7.2 and newer) -`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) -`riscv32im-unknown-none-elf` | * | | Bare RISC-V (RV32IM ISA) -[`riscv32imac-unknown-xous-elf`](platform-support/riscv32imac-unknown-xous-elf.md) | ? | | RISC-V Xous (RV32IMAC ISA) -[`riscv32imc-esp-espidf`](platform-support/esp-idf.md) | ✓ | | RISC-V ESP-IDF -[`riscv32imac-esp-espidf`](platform-support/esp-idf.md) | ✓ | | RISC-V ESP-IDF -[`riscv64gc-unknown-hermit`](platform-support/hermit.md) | ✓ | | RISC-V Hermit -`riscv64gc-unknown-freebsd` | | | RISC-V FreeBSD -`riscv64gc-unknown-fuchsia` | | | RISC-V Fuchsia -`riscv64gc-unknown-linux-musl` | | | RISC-V Linux (kernel 4.20, musl 1.2.0) -[`riscv64gc-unknown-netbsd`](platform-support/netbsd.md) | ✓ | ✓ | RISC-V NetBSD -[`riscv64gc-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | OpenBSD/riscv64 -[`riscv64-linux-android`](platform-support/android.md) | | | RISC-V 64-bit Android -`s390x-unknown-linux-musl` | | | S390x Linux (kernel 3.2, MUSL) -`sparc-unknown-linux-gnu` | ✓ | | 32-bit SPARC Linux -[`sparc-unknown-none-elf`](./platform-support/sparc-unknown-none-elf.md) | * | | Bare 32-bit SPARC V7+ -[`sparc64-unknown-netbsd`](platform-support/netbsd.md) | ✓ | ✓ | NetBSD/sparc64 -[`sparc64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | OpenBSD/sparc64 -`thumbv4t-none-eabi` | * | | Thumb-mode Bare ARMv4T -[`thumbv5te-none-eabi`](platform-support/armv5te-none-eabi.md) | * | | Thumb-mode Bare ARMv5TE -`thumbv7a-pc-windows-msvc` | ? | | -`thumbv7a-uwp-windows-msvc` | ✓ | | -`thumbv7neon-unknown-linux-musleabihf` | ? | | Thumb2-mode ARMv7-A Linux with NEON, MUSL -[`wasm64-unknown-unknown`](platform-support/wasm64-unknown-unknown.md) | ? | | WebAssembly -`x86_64-apple-ios-macabi` | ✓ | | Apple Catalyst on x86_64 -[`x86_64-apple-tvos`](platform-support/apple-tvos.md) | ? | | x86 64-bit tvOS -[`x86_64-apple-watchos-sim`](platform-support/apple-watchos.md) | ✓ | | x86 64-bit Apple WatchOS simulator -[`x86_64-pc-nto-qnx710`](platform-support/nto-qnx.md) | ✓ | | x86 64-bit QNX Neutrino 7.1 RTOS | -[`x86_64-pc-windows-gnullvm`](platform-support/pc-windows-gnullvm.md) | ✓ | ✓ | -`x86_64-pc-windows-msvc` | * | | 64-bit Windows XP support -`x86_64-sun-solaris` | ? | | Deprecated target for 64-bit Solaris 10/11, illumos -[`x86_64-unikraft-linux-musl`](platform-support/unikraft-linux-musl.md) | ✓ | | 64-bit Unikraft with musl -`x86_64-unknown-dragonfly` | ✓ | ✓ | 64-bit DragonFlyBSD -`x86_64-unknown-haiku` | ✓ | ✓ | 64-bit Haiku -[`x86_64-unknown-hermit`](platform-support/hermit.md) | ✓ | | x86_64 Hermit -`x86_64-unknown-l4re-uclibc` | ? | | -[`x86_64-unknown-linux-ohos`](platform-support/openharmony.md) | ✓ | | x86_64 OpenHarmony | -[`x86_64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | 64-bit OpenBSD -`x86_64-uwp-windows-gnu` | ✓ | | -`x86_64-uwp-windows-msvc` | ✓ | | -`x86_64-wrs-vxworks` | ? | | -[`x86_64h-apple-darwin`](platform-support/x86_64h-apple-darwin.md) | ✓ | ✓ | macOS with late-gen Intel (at least Haswell) +[`aarch64-apple-ios-macabi`](platform-support/aarch64_apple_ios_macabi.md) | ? | | Apple Catalyst on ARM64 +[`aarch64-apple-tvos`](platform-support/aarch64_apple_tvos.md) | ? | | ARM64 tvOS +[`aarch64-apple-watchos-sim`](platform-support/aarch64_apple_watchos_sim.md) | ✓ | | ARM64 Apple WatchOS Simulator +[`aarch64-kmc-solid_asp3`](platform-support/aarch64_kmc_solid_asp3.md) | ✓ | | ARM64 SOLID with TOPPERS/ASP3 +[`aarch64-nintendo-switch-freestanding`](platform-support/aarch64_nintendo_switch_freestanding.md) | * | | ARM64 Nintendo Switch, Horizon +[`aarch64-pc-windows-gnullvm`](platform-support/aarch64_pc_windows_gnullvm.md) | ✓ | ✓ | ARM64 Windows using UCRT and LLVM +[`aarch64-unknown-linux-ohos`](platform-support/aarch64_unknown_linux_ohos.md) | ✓ | | ARM64 OpenHarmony | +[`aarch64-unknown-teeos`](platform-support/aarch64_unknown_teeos.md) | ? | | ARM64 TEEOS | +[`aarch64-unknown-nto-qnx710`](platform-support/aarch64_unknown_nto_qnx710.md) | ✓ | | ARM64 QNX Neutrino 7.1 RTOS | +[`aarch64-unknown-freebsd`](platform-support/aarch64_unknown_freebsd.md) | ✓ | ✓ | ARM64 FreeBSD +[`aarch64-unknown-hermit`](platform-support/aarch64_unknown_hermit.md) | ✓ | | ARM64 Hermit +[`aarch64-unknown-linux-gnu_ilp32`](platform-support/aarch64_unknown_linux_gnu_ilp32.md) | ✓ | ✓ | ARM64 Linux (ILP32 ABI) +[`aarch64-unknown-netbsd`](platform-support/aarch64_unknown_netbsd.md) | ✓ | ✓ | ARM64 NetBSD +[`aarch64-unknown-openbsd`](platform-support/aarch64_unknown_openbsd.md) | ✓ | ✓ | ARM64 OpenBSD +[`aarch64-unknown-redox`](platform-support/aarch64_unknown_redox.md) | ? | | ARM64 Redox OS +[`aarch64-uwp-windows-msvc`](platform-support/aarch64_uwp_windows_msvc.md) | ? | | ARM64 Universal Windows Platform (UWP) apps using MSVC +[`aarch64-wrs-vxworks`](platform-support/aarch64_wrs_vxworks.md) | ? | | ARM64 VxWorks +[`aarch64_be-unknown-linux-gnu_ilp32`](platform-support/aarch64_be_unknown_linux_gnu_ilp32.md) | ✓ | ✓ | ARM64 Linux (Big Endian, ILP32 ABI) +[`aarch64_be-unknown-linux-gnu`](platform-support/aarch64_be_unknown_linux_gnu.md) | ✓ | ✓ | ARM64 Linux (Big Endian) +[`aarch64_be-unknown-netbsd`](platform-support/aarch64_be_unknown_netbsd.md) | ✓ | ✓ | ARM64 NetBSD (big-endian) +[`arm64_32-apple-watchos`](platform-support/arm64_32_apple_watchos.md) | ✓ | | ARM Apple WatchOS 64-bit with 32-bit pointers +[`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). +[`armv4t-none-eabi`](platform-support/armv4t_none_eabi.md) | * | | Bare ARMv4T +[`armv4t-unknown-linux-gnueabi`](platform-support/armv4t_unknown_linux_gnueabi.md) | ? | | ARMv4T Linux +[`armv5te-none-eabi`](platform-support/armv5te_none_eabi.md) | * | | Bare ARMv5TE +[`armv5te-unknown-linux-uclibceabi`](platform-support/armv5te_unknown_linux_uclibceabi.md) | ? | | ARMv5TE Linux with uClibc +[`armv6-unknown-freebsd`](platform-support/armv6_unknown_freebsd.md) | ✓ | ✓ | ARMv6 FreeBSD +[`armv6-unknown-netbsd-eabihf`](platform-support/armv6_unknown_netbsd_eabihf.md) | ✓ | ✓ | ARMv6 NetBSD w/hard-float +[`armv6k-nintendo-3ds`](platform-support/armv6k_nintendo_3ds.md) | ? | | ARMv6K Nintendo 3DS, Horizon (Requires devkitARM toolchain) +[`armv7-apple-ios`](platform-support/armv7_apple_ios.md) | ✓ | | ARMv7-A Cortex-A8 iOS +[`armv7-sony-vita-newlibeabihf`](platform-support/armv7_sony_vita_newlibeabihf.md) | ? | | ARMv7-A Cortex-A9 Sony PlayStation Vita (requires VITASDK toolchain) +[`armv7-unknown-linux-ohos`](platform-support/armv7_unknown_linux_ohos.md) | ✓ | | ARMv7-A OpenHarmony | +[`armv7-unknown-linux-uclibceabi`](platform-support/armv7_unknown_linux_uclibceabi.md) | ✓ | ✓ | ARMv7-A Linux with uClibc, softfloat +[`armv7-unknown-linux-uclibceabihf`](platform-support/armv7_unknown_linux_uclibceabihf.md) | ✓ | ? | ARMv7-A Linux with uClibc, hardfloat +[`armv7-unknown-freebsd`](platform-support/armv7_unknown_freebsd.md) | ✓ | ✓ | ARMv7-A FreeBSD +[`armv7-unknown-netbsd-eabihf`](platform-support/armv7_unknown_netbsd_eabihf.md) | ✓ | ✓ | ARMv7-A NetBSD w/hard-float +[`armv7-wrs-vxworks-eabihf`](platform-support/armv7_wrs_vxworks_eabihf.md) | ? | | ARMv7-A VxWorks +[`armv7a-kmc-solid_asp3-eabi`](platform-support/armv7a_kmc_solid_asp3_eabi.md) | ✓ | | ARM SOLID with TOPPERS/ASP3 +[`armv7a-kmc-solid_asp3-eabihf`](platform-support/armv7a_kmc_solid_asp3_eabihf.md) | ✓ | | ARM SOLID with TOPPERS/ASP3, hardfloat +[`armv7a-none-eabihf`](platform-support/armv7a_none_eabihf.md) | * | | Bare ARMv7-A, hardfloat +[`armv7k-apple-watchos`](platform-support/armv7k_apple_watchos.md) | ✓ | | ARMv7-A Apple WatchOS +[`armv7s-apple-ios`](platform-support/armv7s_apple_ios.md) | ✓ | | ARMv7-A Apple-A6 Apple iOS +[`avr-unknown-gnu-atmega328`](platform-support/avr_unknown_gnu_atmega328.md) | * | | AVR. Requires `-Z build-std=core` +[`bpfeb-unknown-none`](platform-support/bpfeb_unknown_none.md) | * | | BPF (Big Endian) +[`bpfel-unknown-none`](platform-support/bpfel_unknown_none.md) | * | | BPF (Little Endian) +[`csky-unknown-linux-gnuabiv2`](platform-support/csky_unknown_linux_gnuabiv2.md) | ✓ | | C-SKY abiv2 Linux (Little Endian) +[`hexagon-unknown-linux-musl`](platform-support/hexagon_unknown_linux_musl.md) | ? | | Hexagon Linux MUSL +[`i386-apple-ios`](platform-support/i386_apple_ios.md) | ✓ | | 32-bit x86 iOS +[`i386-unknown-linux-gnu`](platform-support/i386_unknown_linux_gnu.md) | ✓ | | ??? +[`i486-unknown-linux-gnu`](platform-support/i486_unknown_linux_gnu.md) | ✓ | | ??? +[`i586-pc-nto-qnx700`](platform-support/i586_pc_nto_qnx700.md) | * | | 32-bit x86 QNX Neutrino 7.0 RTOS | +[`i686-apple-darwin`](platform-support/i686_apple_darwin.md) | ✓ | ✓ | 32-bit macOS (10.7+, Lion+) +[`i686-pc-windows-gnullvm`](platform-support/i686_pc_windows_gnullvm.md) | ✓ | ✓ | +[`i686-unknown-haiku`](platform-support/i686_unknown_haiku.md) | ✓ | ✓ | 32-bit Haiku +[`i686-unknown-netbsd`](platform-support/i686_unknown_netbsd.md) | ✓ | ✓ | NetBSD/i386 with SSE2 +[`i686-unknown-openbsd`](platform-support/i686_unknown_openbsd.md) | ✓ | ✓ | 32-bit OpenBSD +[`i686-uwp-windows-gnu`](platform-support/i686_uwp_windows_gnu.md) | ? | | x86 Universal Windows Platform (UWP) apps using MinGW +[`i686-uwp-windows-msvc`](platform-support/i686_uwp_windows_msvc.md) | ? | | x86 Universal Windows Platform (UWP) apps using MSVC +[`i686-wrs-vxworks`](platform-support/i686_wrs_vxworks.md) | ? | | i686 VxWorks +[`loongarch64-unknown-none`](platform-support/loongarch64_unknown_none.md) | * | | LoongArch64 Bare-metal (LP64D ABI) +[`loongarch64-unknown-none-softfloat`](platform-support/loongarch64_unknown_none_softfloat.md) | * | | LoongArch64 Bare-metal (LP64S ABI) +[`m68k-unknown-linux-gnu`](platform-support/m68k_unknown_linux_gnu.md) | ? | | Motorola 680x0 Linux +[`mips-unknown-linux-uclibc`](platform-support/mips_unknown_linux_uclibc.md) | ✓ | | MIPS Linux with uClibc +[`mips64-openwrt-linux-musl`](platform-support/mips64_openwrt_linux_musl.md) | ? | | MIPS64 for OpenWrt Linux MUSL +[`mipsel-sony-psp`](platform-support/mipsel_sony_psp.md) | * | | MIPS (LE) Sony PlayStation Portable (PSP) +[`mipsel-sony-psx`](platform-support/mipsel_sony_psx.md) | * | | MIPS (LE) Sony PlayStation 1 (PSX) +[`mipsel-unknown-linux-uclibc`](platform-support/mipsel_unknown_linux_uclibc.md) | ✓ | | MIPS (LE) Linux with uClibc +[`mipsel-unknown-none`](platform-support/mipsel_unknown_none.md) | * | | Bare MIPS (LE) softfloat +[`mipsisa32r6-unknown-linux-gnu`](platform-support/mipsisa32r6_unknown_linux_gnu.md) | ? | | 32-bit MIPS Release 6 Big Endian +[`mipsisa32r6el-unknown-linux-gnu`](platform-support/mipsisa32r6el_unknown_linux_gnu.md) | ? | | 32-bit MIPS Release 6 Little Endian +[`mipsisa64r6-unknown-linux-gnuabi64`](platform-support/mipsisa64r6_unknown_linux_gnuabi64.md) | ? | | 64-bit MIPS Release 6 Big Endian +[`mipsisa64r6el-unknown-linux-gnuabi64`](platform-support/mipsisa64r6el_unknown_linux_gnuabi64.md) | ✓ | ✓ | 64-bit MIPS Release 6 Little Endian +[`msp430-none-elf`](platform-support/msp430_none_elf.md) | * | | 16-bit MSP430 microcontrollers +[`powerpc-unknown-linux-gnuspe`](platform-support/powerpc_unknown_linux_gnuspe.md) | ✓ | | PowerPC SPE Linux +[`powerpc-unknown-linux-musl`](platform-support/powerpc_unknown_linux_musl.md) | ? | | PowerPC MUSL Linux +[`powerpc-unknown-netbsd`](platform-support/powerpc_unknown_netbsd.md) | ✓ | ✓ | NetBSD 32-bit powerpc systems +[`powerpc-unknown-openbsd`](platform-support/powerpc_unknown_openbsd.md) | ✓ | ✓ | OpenBSD/macppc +[`powerpc-wrs-vxworks-spe`](platform-support/powerpc_wrs_vxworks_spe.md) | ? | | PowerPC SPE VxWorks +[`powerpc-wrs-vxworks`](platform-support/powerpc_wrs_vxworks.md) | ? | | PowerPC VxWorks +[`powerpc64-unknown-freebsd`](platform-support/powerpc64_unknown_freebsd.md) | ✓ | ✓ | PPC64 FreeBSD (ELFv1 and ELFv2) +[`powerpc64le-unknown-freebsd`](platform-support/powerpc64le_unknown_freebsd.md) | | | PPC64LE FreeBSD +[`powerpc-unknown-freebsd`](platform-support/powerpc_unknown_freebsd.md) | | | PowerPC FreeBSD +[`powerpc64-unknown-linux-musl`](platform-support/powerpc64_unknown_linux_musl.md) | ? | | PPC64LE Linux (MUSL) +[`powerpc64-wrs-vxworks`](platform-support/powerpc64_wrs_vxworks.md) | ? | | PPC64 VxWorks +[`powerpc64le-unknown-linux-musl`](platform-support/powerpc64le_unknown_linux_musl.md) | ? | | PPC64 Linux (MUSL) +[`powerpc64-unknown-openbsd`](platform-support/powerpc64_unknown_openbsd.md) | ✓ | ✓ | OpenBSD/powerpc64 +[`powerpc64-ibm-aix`](platform-support/powerpc64_ibm_aix.md) | ? | | 64-bit AIX (7.2 and newer) +[`riscv32gc-unknown-linux-gnu`](platform-support/riscv32gc_unknown_linux_gnu.md) | | | RISC-V Linux (kernel 5.4, glibc 2.33) +[`riscv32gc-unknown-linux-musl`](platform-support/riscv32gc_unknown_linux_musl.md) | | | RISC-V Linux (kernel 5.4, MUSL + RISCV32 support patches) +[`riscv32im-unknown-none-elf`](platform-support/riscv32im_unknown_none_elf.md) | * | | Bare RISC-V (RV32IM ISA) +[`riscv32imac-unknown-xous-elf`](platform-support/riscv32imac_unknown_xous_elf.md) | ? | | RISC-V Xous (RV32IMAC ISA) +[`riscv32imc-esp-espidf`](platform-support/riscv32imc_esp_espidf.md) | ✓ | | RISC-V ESP-IDF +[`riscv32imac-esp-espidf`](platform-support/riscv32imac_esp_espidf.md) | ✓ | | RISC-V ESP-IDF +[`riscv64gc-unknown-hermit`](platform-support/riscv64gc_unknown_hermit.md) | ✓ | | RISC-V Hermit +[`riscv64gc-unknown-freebsd`](platform-support/riscv64gc_unknown_freebsd.md) | | | RISC-V FreeBSD +[`riscv64gc-unknown-fuchsia`](platform-support/riscv64gc_unknown_fuchsia.md) | | | RISC-V Fuchsia +[`riscv64gc-unknown-linux-musl`](platform-support/riscv64gc_unknown_linux_musl.md) | | | RISC-V Linux (kernel 4.20, MUSL 1.2.0) +[`riscv64gc-unknown-netbsd`](platform-support/riscv64gc_unknown_netbsd.md) | ✓ | ✓ | RISC-V NetBSD +[`riscv64gc-unknown-openbsd`](platform-support/riscv64gc_unknown_openbsd.md) | ✓ | ✓ | OpenBSD/riscv64 +[`riscv64-linux-android`](platform-support/riscv64_linux_android.md) | | | RISC-V 64-bit Android +[`s390x-unknown-linux-musl`](platform-support/s390x_unknown_linux_musl.md) | | | S390x Linux (kernel 3.2, MUSL) +[`sparc-unknown-linux-gnu`](platform-support/sparc_unknown_linux_gnu.md) | ✓ | | 32-bit SPARC Linux +[`sparc-unknown-none-elf`](platform-support/sparc_unknown_none_elf.md) | * | | Bare 32-bit SPARC V7+ +[`sparc64-unknown-netbsd`](platform-support/sparc64_unknown_netbsd.md) | ✓ | ✓ | NetBSD/sparc64 +[`sparc64-unknown-openbsd`](platform-support/sparc64_unknown_openbsd.md) | ✓ | ✓ | OpenBSD/sparc64 +[`thumbv4t-none-eabi`](platform-support/thumbv4t_none_eabi.md) | * | | Thumb-mode Bare ARMv4T +[`thumbv5te-none-eabi`](platform-support/thumbv5te_none_eabi.md) | * | | Thumb-mode Bare ARMv5TE +[`thumbv7a-pc-windows-msvc`](platform-support/thumbv7a_pc_windows_msvc.md) | ? | | Thumb2-mode MSVC Windows +[`thumbv7a-uwp-windows-msvc`](platform-support/thumbv7a_uwp_windows_msvc.md) | ✓ | | Thumb2-mode Universal Windows Platform (UWP) apps using MSVC +[`thumbv7neon-unknown-linux-musleabihf`](platform-support/thumbv7neon_unknown_linux_musleabihf.md) | ? | | Thumb2-mode ARMv7-A Linux with NEON, MUSL +[`wasm64-unknown-unknown`](platform-support/wasm64_unknown_unknown.md) | ? | | WebAssembly +[`x86_64-apple-ios-macabi`](platform-support/x86_64_apple_ios_macabi.md) | ✓ | | Apple Catalyst on x86_64 +[`x86_64-apple-tvos`](platform-support/x86_64_apple_tvos.md) | ? | | x86 64-bit tvOS +[`x86_64-apple-watchos-sim`](platform-support/x86_64_apple_watchos_sim.md) | ✓ | | x86 64-bit Apple WatchOS simulator +[`x86_64-pc-nto-qnx710`](platform-support/x86_64_pc_nto_qnx710.md) | ✓ | | x86 64-bit QNX Neutrino 7.1 RTOS | +[`x86_64-pc-windows-gnullvm`](platform-support/x86_64_pc_windows_gnullvm.md) | ✓ | ✓ | 64-bit Windows using UCRT and LLVM +[`x86_64-sun-solaris`](platform-support/x86_64_sun_solaris.md) | ? | | Deprecated target for 64-bit Solaris 10/11, illumos +[`x86_64-unikraft-linux-musl`](platform-support/x86_64_unikraft_linux_musl.md) | ✓ | | 64-bit Unikraft with musl +[`x86_64-unknown-dragonfly`](platform-support/x86_64_unknown_dragonfly.md) | ✓ | ✓ | 64-bit DragonFlyBSD +[`x86_64-unknown-haiku`](platform-support/x86_64_unknown_haiku.md) | ✓ | ✓ | 64-bit Haiku +[`x86_64-unknown-hermit`](platform-support/x86_64_unknown_hermit.md) | ✓ | | x86_64 Hermit +[`x86_64-unknown-l4re-uclibc`](platform-support/x86_64_unknown_l4re_uclibc.md) | ? | | L4 Runtime Environment +[`x86_64-unknown-linux-ohos`](platform-support/x86_64_unknown_linux_ohos.md) | ✓ | | x86_64 OpenHarmony | +[`x86_64-unknown-openbsd`](platform-support/x86_64_unknown_openbsd.md) | ✓ | ✓ | 64-bit OpenBSD +[`x86_64-uwp-windows-gnu`](platform-support/x86_64_uwp_windows_gnu.md) | ✓ | | x86_64 Universal Windows Platform (UWP) apps using MinGW +[`x86_64-uwp-windows-msvc`](platform-support/x86_64_uwp_windows_msvc.md) | ✓ | | x86_64 Universal Windows Platform (UWP) apps using MSVC +[`x86_64-wrs-vxworks`](platform-support/x86_64_wrs_vxworks.md) | ? | | x86_64 VxWorks +[`x86_64h-apple-darwin`](platform-support/x86_64h_apple_darwin.md) | ✓ | ✓ | macOS with late-gen Intel (at least Haswell) [runs on NVIDIA GPUs]: https://github.com/japaric-archived/nvptx#targets diff --git a/src/doc/rustc/src/platform-support/aarch64_apple_darwin.md b/src/doc/rustc/src/platform-support/aarch64_apple_darwin.md new file mode 100644 index 0000000000000..ee4f04977f90e --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_apple_darwin.md @@ -0,0 +1,29 @@ +# `aarch64-apple-darwin` + +**Tier: 2 (with Host Tools)** + +ARM64 macOS (11.0+, Big Sur+) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/aarch64_apple_ios.md b/src/doc/rustc/src/platform-support/aarch64_apple_ios.md new file mode 100644 index 0000000000000..111aa3334deef --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_apple_ios.md @@ -0,0 +1,29 @@ +# `aarch64-apple-ios` + +**Tier: 2** + +ARM64 iOS + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/aarch64_apple_ios_macabi.md b/src/doc/rustc/src/platform-support/aarch64_apple_ios_macabi.md new file mode 100644 index 0000000000000..cf434fe47328c --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_apple_ios_macabi.md @@ -0,0 +1,29 @@ +# `*-apple-ios-macabi` + +**Tier: 3** + +Apple Catalyst + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/aarch64-apple-ios-sim.md b/src/doc/rustc/src/platform-support/aarch64_apple_ios_sim.md similarity index 100% rename from src/doc/rustc/src/platform-support/aarch64-apple-ios-sim.md rename to src/doc/rustc/src/platform-support/aarch64_apple_ios_sim.md diff --git a/src/doc/rustc/src/platform-support/apple-tvos.md b/src/doc/rustc/src/platform-support/aarch64_apple_tvos.md similarity index 95% rename from src/doc/rustc/src/platform-support/apple-tvos.md rename to src/doc/rustc/src/platform-support/aarch64_apple_tvos.md index d87fd1959b49c..b56431d78cd86 100644 --- a/src/doc/rustc/src/platform-support/apple-tvos.md +++ b/src/doc/rustc/src/platform-support/aarch64_apple_tvos.md @@ -1,12 +1,11 @@ # `*-apple-tvos` -- aarch64-apple-tvos -- x86_64-apple-tvos **Tier: 3** -Apple tvOS targets: -- Apple tvOS on aarch64 -- Apple tvOS Simulator on x86_64 +Apple tvOS targets + +- `aarch64-apple-tvos` (Apple tvOS on aarch64) +- `x86_64-apple-tvos` (Apple tvOS Simulator on x86_64) ## Target maintainers diff --git a/src/doc/rustc/src/platform-support/aarch64_apple_watchos_sim.md b/src/doc/rustc/src/platform-support/aarch64_apple_watchos_sim.md new file mode 120000 index 0000000000000..618d76cb60d72 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_apple_watchos_sim.md @@ -0,0 +1 @@ +./arm64_32_apple_watchos.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/aarch64_be_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/aarch64_be_unknown_linux_gnu.md new file mode 100644 index 0000000000000..386ab09a84fe7 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_be_unknown_linux_gnu.md @@ -0,0 +1,29 @@ +# `aarch64_be-unknown-linux-gnu` + +**Tier: 3** + +ARM64 Linux (Big Endian) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/aarch64_be_unknown_linux_gnu_ilp32.md b/src/doc/rustc/src/platform-support/aarch64_be_unknown_linux_gnu_ilp32.md new file mode 100644 index 0000000000000..2fae891dfa642 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_be_unknown_linux_gnu_ilp32.md @@ -0,0 +1,29 @@ +# `aarch64_be-unknown-linux-gnu_ilp32` + +**Tier: 3** + +ARM32 Linux (Big Endian, ILP32 ABI) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/aarch64_be_unknown_netbsd.md b/src/doc/rustc/src/platform-support/aarch64_be_unknown_netbsd.md new file mode 120000 index 0000000000000..6169a58afd831 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_be_unknown_netbsd.md @@ -0,0 +1 @@ +./riscv64gc_unknown_netbsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/aarch64_fuchsia.md b/src/doc/rustc/src/platform-support/aarch64_fuchsia.md new file mode 120000 index 0000000000000..4b1051fb62033 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_fuchsia.md @@ -0,0 +1 @@ +./x86_64_unknown_fuchsia.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/aarch64_kmc_solid_asp3.md b/src/doc/rustc/src/platform-support/aarch64_kmc_solid_asp3.md new file mode 120000 index 0000000000000..7fa9c5fd3b8ed --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_kmc_solid_asp3.md @@ -0,0 +1 @@ +./armv7a_kmc_solid_asp3_eabihf.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/aarch64_linux_android.md b/src/doc/rustc/src/platform-support/aarch64_linux_android.md new file mode 120000 index 0000000000000..e001e3fd56a15 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_linux_android.md @@ -0,0 +1 @@ +./x86_64_linux_android.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/aarch64-nintendo-switch-freestanding.md b/src/doc/rustc/src/platform-support/aarch64_nintendo_switch_freestanding.md similarity index 100% rename from src/doc/rustc/src/platform-support/aarch64-nintendo-switch-freestanding.md rename to src/doc/rustc/src/platform-support/aarch64_nintendo_switch_freestanding.md diff --git a/src/doc/rustc/src/platform-support/aarch64_pc_windows_gnullvm.md b/src/doc/rustc/src/platform-support/aarch64_pc_windows_gnullvm.md new file mode 120000 index 0000000000000..e847eb2cbfd7b --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_pc_windows_gnullvm.md @@ -0,0 +1 @@ +./i686_pc_windows_gnullvm.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/aarch64_pc_windows_msvc.md b/src/doc/rustc/src/platform-support/aarch64_pc_windows_msvc.md new file mode 120000 index 0000000000000..940d46040a1f1 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_pc_windows_msvc.md @@ -0,0 +1 @@ +./i686_uwp_windows_msvc.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/aarch64_unknown_freebsd.md b/src/doc/rustc/src/platform-support/aarch64_unknown_freebsd.md new file mode 120000 index 0000000000000..900320584bc14 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_unknown_freebsd.md @@ -0,0 +1 @@ +./riscv64gc_unknown_freebsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/fuchsia.md b/src/doc/rustc/src/platform-support/aarch64_unknown_fuchsia.md similarity index 99% rename from src/doc/rustc/src/platform-support/fuchsia.md rename to src/doc/rustc/src/platform-support/aarch64_unknown_fuchsia.md index f7cce35b1232b..3dbd528c462f2 100644 --- a/src/doc/rustc/src/platform-support/fuchsia.md +++ b/src/doc/rustc/src/platform-support/aarch64_unknown_fuchsia.md @@ -1,10 +1,14 @@ -# `aarch64-unknown-fuchsia` and `x86_64-unknown-fuchsia` - -**Tier: 2** +# `*-unknown-fuchsia` [Fuchsia] is a modern open source operating system that's simple, secure, updatable, and performant. +| Target | Tier | +| --------------------------- | ------ | +| `aarch64-unknown-fuchsia` | Tier 2 | +| `x86_64-unknown-fuchsia` | Tier 2 | +| `riscv64gc-unknown-fuchsia` | Tier 3 | + ## Target maintainers The [Fuchsia team]: diff --git a/src/doc/rustc/src/platform-support/aarch64_unknown_hermit.md b/src/doc/rustc/src/platform-support/aarch64_unknown_hermit.md new file mode 120000 index 0000000000000..47aca04cefb8c --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_unknown_hermit.md @@ -0,0 +1 @@ +./x86_64_unknown_hermit.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/aarch64_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/aarch64_unknown_linux_gnu.md new file mode 100644 index 0000000000000..fb615ee7daf01 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_unknown_linux_gnu.md @@ -0,0 +1,29 @@ +# `aarch64-unknown-linux-gnu` + +**Tier: 1 with Host Tools** + +ARM64 Linux (kernel 4.1, glibc 2.17+) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/aarch64_unknown_linux_gnu_ilp32.md b/src/doc/rustc/src/platform-support/aarch64_unknown_linux_gnu_ilp32.md new file mode 100644 index 0000000000000..916c9a00c2a63 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_unknown_linux_gnu_ilp32.md @@ -0,0 +1,29 @@ +# `aarch64-unknown-linux-gnu_ilp32` + +**Tier: 3** + +ARM64 Linux (ILP32 ABI) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/aarch64_unknown_linux_musl.md b/src/doc/rustc/src/platform-support/aarch64_unknown_linux_musl.md new file mode 100644 index 0000000000000..f1a9062dc1a29 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_unknown_linux_musl.md @@ -0,0 +1,29 @@ +# `aarch64-unknown-linux-musl` + +**Tier: 2 (with Host Tools)** + +ARM64 Linux with MUSL + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/openharmony.md b/src/doc/rustc/src/platform-support/aarch64_unknown_linux_ohos.md similarity index 100% rename from src/doc/rustc/src/platform-support/openharmony.md rename to src/doc/rustc/src/platform-support/aarch64_unknown_linux_ohos.md diff --git a/src/doc/rustc/src/platform-support/netbsd.md b/src/doc/rustc/src/platform-support/aarch64_unknown_netbsd.md similarity index 93% rename from src/doc/rustc/src/platform-support/netbsd.md rename to src/doc/rustc/src/platform-support/aarch64_unknown_netbsd.md index 3891d6d3148da..4864105fc6694 100644 --- a/src/doc/rustc/src/platform-support/netbsd.md +++ b/src/doc/rustc/src/platform-support/aarch64_unknown_netbsd.md @@ -13,14 +13,12 @@ are currently defined running NetBSD: | Target name | NetBSD Platform | |--------------------------------|-----------------| -| `amd64-unknown-netbsd` | [amd64 / x86_64 systems](https://wiki.netbsd.org/ports/amd64/) | +| `x86_64-unknown-netbsd` | [amd64 / x86_64 systems](https://wiki.netbsd.org/ports/amd64/) | | `armv7-unknown-netbsd-eabihf` | [32-bit ARMv7 systems with hard-float](https://wiki.netbsd.org/ports/evbarm/) | | `armv6-unknown-netbsd-eabihf` | [32-bit ARMv6 systems with hard-float](https://wiki.netbsd.org/ports/evbarm/) | | `aarch64-unknown-netbsd` | [64-bit ARM systems, little-endian](https://wiki.netbsd.org/ports/evbarm/) | | `aarch64_be-unknown-netbsd` | [64-bit ARM systems, big-endian](https://wiki.netbsd.org/ports/evbarm/) | -| `i586-unknown-netbsd` | [32-bit i386, restricted to Pentium](https://wiki.netbsd.org/ports/i386/) | | `i686-unknown-netbsd` | [32-bit i386 with SSE](https://wiki.netbsd.org/ports/i386/) | -| `mipsel-unknown-netbsd` | [32-bit mips, requires mips32 cpu support](https://wiki.netbsd.org/ports/evbmips/) | | `powerpc-unknown-netbsd` | [Various 32-bit PowerPC systems, e.g. MacPPC](https://wiki.netbsd.org/ports/macppc/) | | `riscv64gc-unknown-netbsd` | [64-bit RISC-V](https://wiki.netbsd.org/ports/riscv/) | `sparc64-unknown-netbsd` | [Sun UltraSPARC systems](https://wiki.netbsd.org/ports/sparc64/) | diff --git a/src/doc/rustc/src/platform-support/aarch64_unknown_none.md b/src/doc/rustc/src/platform-support/aarch64_unknown_none.md new file mode 100644 index 0000000000000..ccadb817c8b1c --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_unknown_none.md @@ -0,0 +1,29 @@ +# `aarch64-unknown-none{,-softfloat}` + +**Tier: 2** + +Bare ARM64, softfloat or hardfloat + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/aarch64_unknown_none_softfloat.md b/src/doc/rustc/src/platform-support/aarch64_unknown_none_softfloat.md new file mode 120000 index 0000000000000..07fbf402e6cfb --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_unknown_none_softfloat.md @@ -0,0 +1 @@ +./aarch64_unknown_none.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/aarch64_unknown_nto_qnx710.md b/src/doc/rustc/src/platform-support/aarch64_unknown_nto_qnx710.md new file mode 120000 index 0000000000000..86d2cddf9b56c --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_unknown_nto_qnx710.md @@ -0,0 +1 @@ +./i586_pc_nto_qnx700.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/aarch64_unknown_openbsd.md b/src/doc/rustc/src/platform-support/aarch64_unknown_openbsd.md new file mode 120000 index 0000000000000..5df6e9e586f19 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_unknown_openbsd.md @@ -0,0 +1 @@ +./riscv64gc_unknown_openbsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/aarch64_unknown_redox.md b/src/doc/rustc/src/platform-support/aarch64_unknown_redox.md new file mode 100644 index 0000000000000..8cdb6883f0819 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_unknown_redox.md @@ -0,0 +1,29 @@ +# `aarch64-unknown-redox` + +**Tier: 3** + +ARM64 Redox OS + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/aarch64-unknown-teeos.md b/src/doc/rustc/src/platform-support/aarch64_unknown_teeos.md similarity index 100% rename from src/doc/rustc/src/platform-support/aarch64-unknown-teeos.md rename to src/doc/rustc/src/platform-support/aarch64_unknown_teeos.md diff --git a/src/doc/rustc/src/platform-support/aarch64_unknown_uefi.md b/src/doc/rustc/src/platform-support/aarch64_unknown_uefi.md new file mode 120000 index 0000000000000..f4ad69d18ec64 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_unknown_uefi.md @@ -0,0 +1 @@ +./i686_unknown_uefi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/aarch64_uwp_windows_msvc.md b/src/doc/rustc/src/platform-support/aarch64_uwp_windows_msvc.md new file mode 120000 index 0000000000000..347a1fe9e7c51 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_uwp_windows_msvc.md @@ -0,0 +1 @@ +./thumbv7a_uwp_windows_msvc.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/aarch64_wrs_vxworks.md b/src/doc/rustc/src/platform-support/aarch64_wrs_vxworks.md new file mode 120000 index 0000000000000..59c6453980f95 --- /dev/null +++ b/src/doc/rustc/src/platform-support/aarch64_wrs_vxworks.md @@ -0,0 +1 @@ +./armv7_wrs_vxworks_eabihf.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/apple-watchos.md b/src/doc/rustc/src/platform-support/arm64_32_apple_watchos.md similarity index 80% rename from src/doc/rustc/src/platform-support/apple-watchos.md rename to src/doc/rustc/src/platform-support/arm64_32_apple_watchos.md index fe4c7c0c88f6d..1ddedbaf8c8ae 100644 --- a/src/doc/rustc/src/platform-support/apple-watchos.md +++ b/src/doc/rustc/src/platform-support/arm64_32_apple_watchos.md @@ -1,16 +1,13 @@ -# *-apple-watchos -- arm64_32-apple-watchos -- armv7k-apple-watchos -- aarch64-apple-watchos-sim -- x86_64-apple-watchos-sim +# `*-apple-watchos{,-*}` **Tier: 3** -Apple WatchOS targets: -- Apple WatchOS on Arm 64_32 -- Apple WatchOS on Arm v7k -- Apple WatchOS Simulator on arm64 -- Apple WatchOS Simulator on x86_64 +Apple WatchOS targets + +- `arm64_32-apple-watchos` (Apple WatchOS on Arm 64_32) +- `armv7k-apple-watchos` (Apple WatchOS on Arm v7k) +- `aarch64-apple-watchos-sim` (Apple WatchOS Simulator on arm64) +- `x86_64-apple-watchos-sim` (Apple WatchOS Simulator on x86_64) ## Target maintainers diff --git a/src/doc/rustc/src/platform-support/android.md b/src/doc/rustc/src/platform-support/arm_linux_androideabi.md similarity index 100% rename from src/doc/rustc/src/platform-support/android.md rename to src/doc/rustc/src/platform-support/arm_linux_androideabi.md diff --git a/src/doc/rustc/src/platform-support/arm_unknown_linux_gnueabi.md b/src/doc/rustc/src/platform-support/arm_unknown_linux_gnueabi.md new file mode 120000 index 0000000000000..11400dd6e1ab3 --- /dev/null +++ b/src/doc/rustc/src/platform-support/arm_unknown_linux_gnueabi.md @@ -0,0 +1 @@ +./arm_unknown_linux_musleabi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/arm_unknown_linux_gnueabihf.md b/src/doc/rustc/src/platform-support/arm_unknown_linux_gnueabihf.md new file mode 120000 index 0000000000000..09bdaba2fc492 --- /dev/null +++ b/src/doc/rustc/src/platform-support/arm_unknown_linux_gnueabihf.md @@ -0,0 +1 @@ +./arm_unknown_linux_musleabihf.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/arm_unknown_linux_musleabi.md b/src/doc/rustc/src/platform-support/arm_unknown_linux_musleabi.md new file mode 100644 index 0000000000000..aa73455d403bc --- /dev/null +++ b/src/doc/rustc/src/platform-support/arm_unknown_linux_musleabi.md @@ -0,0 +1,34 @@ +# `arm-unknown-linux-{gnu,musl}eabi{,hf}` + +**Tier: 2** + +| Target | Tier | Description | +| ============================== | ====================== | =============================================== | +| `arm-unknown-linux-gnueabi` | Tier 2 with Host Tools | ARMv6 Linux (kernel 3.2, glibc 2.17) | +| `arm-unknown-linux-gnueabihf` | Tier 2 with Host Tools | ARMv6 Linux, hardfloat (kernel 3.2, glibc 2.17) | +| `arm-unknown-linux-musleabi` | Tier 2 | ARMv6 Linux with MUSL | +| `arm-unknown-linux-musleabihf` | Tier 2 | ARMv6 Linux with MUSL (hardfloat) | + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/arm_unknown_linux_musleabihf.md b/src/doc/rustc/src/platform-support/arm_unknown_linux_musleabihf.md new file mode 120000 index 0000000000000..d729f5de6e853 --- /dev/null +++ b/src/doc/rustc/src/platform-support/arm_unknown_linux_musleabihf.md @@ -0,0 +1 @@ +./arm_unknown_linux_gnueabi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armeb-unknown-linux-gnueabi.md b/src/doc/rustc/src/platform-support/armeb_unknown_linux_gnueabi.md similarity index 100% rename from src/doc/rustc/src/platform-support/armeb-unknown-linux-gnueabi.md rename to src/doc/rustc/src/platform-support/armeb_unknown_linux_gnueabi.md diff --git a/src/doc/rustc/src/platform-support/armebv7r_none_eabi.md b/src/doc/rustc/src/platform-support/armebv7r_none_eabi.md new file mode 120000 index 0000000000000..a60b62329e044 --- /dev/null +++ b/src/doc/rustc/src/platform-support/armebv7r_none_eabi.md @@ -0,0 +1 @@ +./armv7r_none_eabi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armebv7r_none_eabihf.md b/src/doc/rustc/src/platform-support/armebv7r_none_eabihf.md new file mode 100644 index 0000000000000..a7943cc857189 --- /dev/null +++ b/src/doc/rustc/src/platform-support/armebv7r_none_eabihf.md @@ -0,0 +1,34 @@ +# `arm{,eb}v7r-none-eabi{,hf}` + +**Tier: 2** + +| Target | Description | +| ====================== | =================================== | +| `armv7r-none-eabi` | Bare ARMv7-R | +| `armv7r-none-eabihf` | Bare ARMv7-R, hardfloat | +| `armebv7r-none-eabi` | Bare ARMv7-R, big endian | +| `armebv7r-none-eabihf` | Bare ARMv7-R, big endian, hardfloat | + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/armv4t_none_eabi.md b/src/doc/rustc/src/platform-support/armv4t_none_eabi.md new file mode 120000 index 0000000000000..3a4cec7424747 --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv4t_none_eabi.md @@ -0,0 +1 @@ +./thumbv4t_none_eabi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armv4t_unknown_linux_gnueabi.md b/src/doc/rustc/src/platform-support/armv4t_unknown_linux_gnueabi.md new file mode 100644 index 0000000000000..0aa0f59a79965 --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv4t_unknown_linux_gnueabi.md @@ -0,0 +1,29 @@ +# `armv4t-unknown-linux-gnueabi` + +**Tier: 3** + +ARMv4T Linux + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/armv5te_none_eabi.md b/src/doc/rustc/src/platform-support/armv5te_none_eabi.md new file mode 120000 index 0000000000000..189590da9502e --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv5te_none_eabi.md @@ -0,0 +1 @@ +./thumbv5te_none_eabi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armv5te_unknown_linux_gnueabi.md b/src/doc/rustc/src/platform-support/armv5te_unknown_linux_gnueabi.md new file mode 100644 index 0000000000000..dd5298eacb9ae --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv5te_unknown_linux_gnueabi.md @@ -0,0 +1,29 @@ +# `armv5te-unknown-linux-gnueabi` + +**Tier: 2** + +ARMv5TE Linux (Kernel 4.4, glibc 2.23) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/armv5te_unknown_linux_musleabi.md b/src/doc/rustc/src/platform-support/armv5te_unknown_linux_musleabi.md new file mode 100644 index 0000000000000..6ddf2994c896c --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv5te_unknown_linux_musleabi.md @@ -0,0 +1,29 @@ +# `armv5te-unknown-linux-musleabi` + +**Tier: 2** + +ARMv5TE Linux with MUSL + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/armv5te_unknown_linux_uclibceabi.md b/src/doc/rustc/src/platform-support/armv5te_unknown_linux_uclibceabi.md new file mode 100644 index 0000000000000..e1d3a58edfc3b --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv5te_unknown_linux_uclibceabi.md @@ -0,0 +1,29 @@ +# `armv5te-unknown-linux-uclibceabi` + +**Tier: 3** + +ARMv5TE Linux with uClibc + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/armv6_unknown_freebsd.md b/src/doc/rustc/src/platform-support/armv6_unknown_freebsd.md new file mode 120000 index 0000000000000..99ac5ee113efa --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv6_unknown_freebsd.md @@ -0,0 +1 @@ +./i686_unknown_freebsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armv6_unknown_netbsd_eabihf.md b/src/doc/rustc/src/platform-support/armv6_unknown_netbsd_eabihf.md new file mode 120000 index 0000000000000..9506997c1e828 --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv6_unknown_netbsd_eabihf.md @@ -0,0 +1 @@ +./i686_unknown_netbsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armv6k-nintendo-3ds.md b/src/doc/rustc/src/platform-support/armv6k_nintendo_3ds.md similarity index 100% rename from src/doc/rustc/src/platform-support/armv6k-nintendo-3ds.md rename to src/doc/rustc/src/platform-support/armv6k_nintendo_3ds.md diff --git a/src/doc/rustc/src/platform-support/armv7_apple_ios.md b/src/doc/rustc/src/platform-support/armv7_apple_ios.md new file mode 100644 index 0000000000000..2a400c3d6ec0d --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7_apple_ios.md @@ -0,0 +1,29 @@ +# `armv7-apple-ios` + +**Tier: 3** + +ARMv7-A Cortex-A8 iOS + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/armv7_linux_androideabi.md b/src/doc/rustc/src/platform-support/armv7_linux_androideabi.md new file mode 120000 index 0000000000000..22399e41ce799 --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7_linux_androideabi.md @@ -0,0 +1 @@ +./arm_linux_androideabi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armv7-sony-vita-newlibeabihf.md b/src/doc/rustc/src/platform-support/armv7_sony_vita_newlibeabihf.md similarity index 100% rename from src/doc/rustc/src/platform-support/armv7-sony-vita-newlibeabihf.md rename to src/doc/rustc/src/platform-support/armv7_sony_vita_newlibeabihf.md diff --git a/src/doc/rustc/src/platform-support/armv7_unknown_freebsd.md b/src/doc/rustc/src/platform-support/armv7_unknown_freebsd.md new file mode 120000 index 0000000000000..ee81cbf6ed9bd --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7_unknown_freebsd.md @@ -0,0 +1 @@ +./x86_64_unknown_freebsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armv7_unknown_linux_gnueabi.md b/src/doc/rustc/src/platform-support/armv7_unknown_linux_gnueabi.md new file mode 100644 index 0000000000000..c9eb4b9fb075a --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7_unknown_linux_gnueabi.md @@ -0,0 +1,29 @@ +# `armv7-unknown-linux-gnueabihf` + +**Tier: 2 (with Host Tools)** + +ARMv7-A Linux, hardfloat (kernel 3.2, glibc 2.17) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/armv7_unknown_linux_gnueabihf.md b/src/doc/rustc/src/platform-support/armv7_unknown_linux_gnueabihf.md new file mode 120000 index 0000000000000..ec4c5e647f5fa --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7_unknown_linux_gnueabihf.md @@ -0,0 +1 @@ +./armv7_unknown_linux_gnueabi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armv7_unknown_linux_musleabi.md b/src/doc/rustc/src/platform-support/armv7_unknown_linux_musleabi.md new file mode 100644 index 0000000000000..90bf276eafdff --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7_unknown_linux_musleabi.md @@ -0,0 +1,29 @@ +# `armv7-unknown-linux-{gnueabi,musleabi,musleabihf}` + +**Tier: 2** + +ARMv7-A Linux (Kernel 4.15 with glibc 2.27, or MUSL, or MUSL w/ hardfloat) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/armv7_unknown_linux_musleabihf.md b/src/doc/rustc/src/platform-support/armv7_unknown_linux_musleabihf.md new file mode 120000 index 0000000000000..a48cfb9c6f6b6 --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7_unknown_linux_musleabihf.md @@ -0,0 +1 @@ +./armv7_unknown_linux_musleabi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armv7_unknown_linux_ohos.md b/src/doc/rustc/src/platform-support/armv7_unknown_linux_ohos.md new file mode 120000 index 0000000000000..fdd6b3cd7f987 --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7_unknown_linux_ohos.md @@ -0,0 +1 @@ +./x86_64_unknown_linux_ohos.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armv7-unknown-linux-uclibceabi.md b/src/doc/rustc/src/platform-support/armv7_unknown_linux_uclibceabi.md similarity index 100% rename from src/doc/rustc/src/platform-support/armv7-unknown-linux-uclibceabi.md rename to src/doc/rustc/src/platform-support/armv7_unknown_linux_uclibceabi.md diff --git a/src/doc/rustc/src/platform-support/armv7-unknown-linux-uclibceabihf.md b/src/doc/rustc/src/platform-support/armv7_unknown_linux_uclibceabihf.md similarity index 98% rename from src/doc/rustc/src/platform-support/armv7-unknown-linux-uclibceabihf.md rename to src/doc/rustc/src/platform-support/armv7_unknown_linux_uclibceabihf.md index 1f029406367a2..9b65e469582a7 100644 --- a/src/doc/rustc/src/platform-support/armv7-unknown-linux-uclibceabihf.md +++ b/src/doc/rustc/src/platform-support/armv7_unknown_linux_uclibceabihf.md @@ -1,4 +1,4 @@ -# armv7-unknown-linux-uclibceabihf +# `armv7-unknown-linux-uclibceabihf` **Tier: 3** diff --git a/src/doc/rustc/src/platform-support/armv7_unknown_netbsd_eabihf.md b/src/doc/rustc/src/platform-support/armv7_unknown_netbsd_eabihf.md new file mode 120000 index 0000000000000..8ff2788ce92d7 --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7_unknown_netbsd_eabihf.md @@ -0,0 +1 @@ +./aarch64_be_unknown_netbsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armv7_wrs_vxworks_eabihf.md b/src/doc/rustc/src/platform-support/armv7_wrs_vxworks_eabihf.md new file mode 100644 index 0000000000000..1f83b90e02a72 --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7_wrs_vxworks_eabihf.md @@ -0,0 +1,40 @@ +# `*-wrs-vxworks` + +**Tier: 3** + +VxWorks is a deterministic, priority-based preemptive RTOS with low latency +and minimal jitter. These targets allows Rust code to be added to RTP +(real-time programs) which are user-space programs on vxWorks by mapping +to a BSP (board support package). + +- `aarch64-wrs-vxworks` +- `armv7-wrs-vxworks` +- `i686-wrs-vxworks` +- `powerpc-wrs-vxworks-spe` +- `powerpc-wrs-vxworks` +- `powerpc64-wrs-vxworks` +- `x86_64-wrs-vxworks` + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/kmc-solid.md b/src/doc/rustc/src/platform-support/armv7a_kmc_solid_asp3_eabi.md similarity index 100% rename from src/doc/rustc/src/platform-support/kmc-solid.md rename to src/doc/rustc/src/platform-support/armv7a_kmc_solid_asp3_eabi.md diff --git a/src/doc/rustc/src/platform-support/armv7a_kmc_solid_asp3_eabihf.md b/src/doc/rustc/src/platform-support/armv7a_kmc_solid_asp3_eabihf.md new file mode 120000 index 0000000000000..f9ef68b9bc0d1 --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7a_kmc_solid_asp3_eabihf.md @@ -0,0 +1 @@ +./armv7a_kmc_solid_asp3_eabi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armv7a_none_eabi.md b/src/doc/rustc/src/platform-support/armv7a_none_eabi.md new file mode 100644 index 0000000000000..bc68561132554 --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7a_none_eabi.md @@ -0,0 +1,29 @@ +# `armv7a-none-eabi` + +**Tier: 2** + +Bare ARMv7-A + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/armv7a_none_eabihf.md b/src/doc/rustc/src/platform-support/armv7a_none_eabihf.md new file mode 100644 index 0000000000000..ad7dc47713ced --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7a_none_eabihf.md @@ -0,0 +1,29 @@ +# `armv7a-none-eabihf` + +**Tier: 3** + +Bare ARMv7-A, hardfloat + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/armv7k_apple_watchos.md b/src/doc/rustc/src/platform-support/armv7k_apple_watchos.md new file mode 120000 index 0000000000000..a07cbedcf3ce5 --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7k_apple_watchos.md @@ -0,0 +1 @@ +./aarch64_apple_watchos_sim.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armv7r_none_eabi.md b/src/doc/rustc/src/platform-support/armv7r_none_eabi.md new file mode 120000 index 0000000000000..7749cbe02fb8a --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7r_none_eabi.md @@ -0,0 +1 @@ +./armv7r_none_eabihf.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armv7r_none_eabihf.md b/src/doc/rustc/src/platform-support/armv7r_none_eabihf.md new file mode 120000 index 0000000000000..73937fcdae739 --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7r_none_eabihf.md @@ -0,0 +1 @@ +./armebv7r_none_eabihf.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/armv7s_apple_ios.md b/src/doc/rustc/src/platform-support/armv7s_apple_ios.md new file mode 100644 index 0000000000000..fc26fc1fd369b --- /dev/null +++ b/src/doc/rustc/src/platform-support/armv7s_apple_ios.md @@ -0,0 +1,29 @@ +# `armv7s-apple-ios` + +**Tier: 3** + +ARMv7-A Apple-A6 Apple iOS + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/asmjs_unknown_emscripten.md b/src/doc/rustc/src/platform-support/asmjs_unknown_emscripten.md new file mode 100644 index 0000000000000..51a6218f73628 --- /dev/null +++ b/src/doc/rustc/src/platform-support/asmjs_unknown_emscripten.md @@ -0,0 +1,29 @@ +# `asmjs-unknown-emscripten` + +**Tier: 2** + +asm.js with Emscripten + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/avr_unknown_gnu_atmega328.md b/src/doc/rustc/src/platform-support/avr_unknown_gnu_atmega328.md new file mode 100644 index 0000000000000..44730cd9541b7 --- /dev/null +++ b/src/doc/rustc/src/platform-support/avr_unknown_gnu_atmega328.md @@ -0,0 +1,29 @@ +# `avr-unknown-gnu-atmega328` + +**Tier: 3** + +AVR + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/bpfeb_unknown_none.md b/src/doc/rustc/src/platform-support/bpfeb_unknown_none.md new file mode 120000 index 0000000000000..94c08f9bf924d --- /dev/null +++ b/src/doc/rustc/src/platform-support/bpfeb_unknown_none.md @@ -0,0 +1 @@ +./bpfel_unknown_none.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/bpfel_unknown_none.md b/src/doc/rustc/src/platform-support/bpfel_unknown_none.md new file mode 100644 index 0000000000000..48a28b1dde852 --- /dev/null +++ b/src/doc/rustc/src/platform-support/bpfel_unknown_none.md @@ -0,0 +1,29 @@ +# `bpf{eb,el}-unknown-none` + +**Tier: 3** + +BPF (big and little endian) + +## Target maintainers + +- [@alessandrod](https://github.com/alessandrod) + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/csky-unknown-linux-gnuabiv2.md b/src/doc/rustc/src/platform-support/csky_unknown_linux_gnuabiv2.md similarity index 100% rename from src/doc/rustc/src/platform-support/csky-unknown-linux-gnuabiv2.md rename to src/doc/rustc/src/platform-support/csky_unknown_linux_gnuabiv2.md diff --git a/src/doc/rustc/src/platform-support/hexagon_unknown_linux_musl.md b/src/doc/rustc/src/platform-support/hexagon_unknown_linux_musl.md new file mode 100644 index 0000000000000..4b26e378293aa --- /dev/null +++ b/src/doc/rustc/src/platform-support/hexagon_unknown_linux_musl.md @@ -0,0 +1,29 @@ +# `hexagon-unknown-linux-musl` + +**Tier: 3** + +Hexagon Linux MUSL + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/i386_apple_ios.md b/src/doc/rustc/src/platform-support/i386_apple_ios.md new file mode 100644 index 0000000000000..290e2f8a0f236 --- /dev/null +++ b/src/doc/rustc/src/platform-support/i386_apple_ios.md @@ -0,0 +1,29 @@ +# `i386-apple-ios` + +**Tier: 3** + +32-bit x86 iOS + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/i386_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/i386_unknown_linux_gnu.md new file mode 100644 index 0000000000000..c47fd8ea9e82f --- /dev/null +++ b/src/doc/rustc/src/platform-support/i386_unknown_linux_gnu.md @@ -0,0 +1,29 @@ +# `i386-unknown-linux-gnu` + +**Tier: 3** + +Missing! + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/i486_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/i486_unknown_linux_gnu.md new file mode 100644 index 0000000000000..bd9d567c73467 --- /dev/null +++ b/src/doc/rustc/src/platform-support/i486_unknown_linux_gnu.md @@ -0,0 +1,29 @@ +# `i486-unknown-linux-gnu` + +**Tier: 3** + +Missing! + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/nto-qnx.md b/src/doc/rustc/src/platform-support/i586_pc_nto_qnx700.md similarity index 100% rename from src/doc/rustc/src/platform-support/nto-qnx.md rename to src/doc/rustc/src/platform-support/i586_pc_nto_qnx700.md diff --git a/src/doc/rustc/src/platform-support/i586_pc_windows_msvc.md b/src/doc/rustc/src/platform-support/i586_pc_windows_msvc.md new file mode 120000 index 0000000000000..33e89b4442aad --- /dev/null +++ b/src/doc/rustc/src/platform-support/i586_pc_windows_msvc.md @@ -0,0 +1 @@ +./thumbv7a_pc_windows_msvc.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/i586_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/i586_unknown_linux_gnu.md new file mode 100644 index 0000000000000..ed387d4131da9 --- /dev/null +++ b/src/doc/rustc/src/platform-support/i586_unknown_linux_gnu.md @@ -0,0 +1,29 @@ +# `i586-unknown-linux-gnu` + +**Tier: 2** + +32-bit Linux w/o SSE (Kernel 3.2, glibc 2.17) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/i586_unknown_linux_musl.md b/src/doc/rustc/src/platform-support/i586_unknown_linux_musl.md new file mode 100644 index 0000000000000..f77e0f58c5b06 --- /dev/null +++ b/src/doc/rustc/src/platform-support/i586_unknown_linux_musl.md @@ -0,0 +1,29 @@ +# `i586-unknown-linux-musl` + +**Tier: 2** + +32-bit Linux w/o SSE, MUSL + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/i686_apple_darwin.md b/src/doc/rustc/src/platform-support/i686_apple_darwin.md new file mode 100644 index 0000000000000..f6f879168060e --- /dev/null +++ b/src/doc/rustc/src/platform-support/i686_apple_darwin.md @@ -0,0 +1,29 @@ +# `i686-apple-darwin` + +**Tier: 3** + +32-bit macOS (10.7+, Lion+) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/i686_linux_android.md b/src/doc/rustc/src/platform-support/i686_linux_android.md new file mode 120000 index 0000000000000..85f2b096ead6c --- /dev/null +++ b/src/doc/rustc/src/platform-support/i686_linux_android.md @@ -0,0 +1 @@ +./thumbv7neon_linux_androideabi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/i686_pc_windows_gnu.md b/src/doc/rustc/src/platform-support/i686_pc_windows_gnu.md new file mode 100644 index 0000000000000..ce1efe5f3f26b --- /dev/null +++ b/src/doc/rustc/src/platform-support/i686_pc_windows_gnu.md @@ -0,0 +1,29 @@ +# `i686-pc-windows-gnu` + +**Tier: 1 with Host Tools** + +32-bit MinGW (Windows 7+) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/pc-windows-gnullvm.md b/src/doc/rustc/src/platform-support/i686_pc_windows_gnullvm.md similarity index 100% rename from src/doc/rustc/src/platform-support/pc-windows-gnullvm.md rename to src/doc/rustc/src/platform-support/i686_pc_windows_gnullvm.md diff --git a/src/doc/rustc/src/platform-support/i686_pc_windows_msvc.md b/src/doc/rustc/src/platform-support/i686_pc_windows_msvc.md new file mode 120000 index 0000000000000..7f21c6bf21012 --- /dev/null +++ b/src/doc/rustc/src/platform-support/i686_pc_windows_msvc.md @@ -0,0 +1 @@ +./i586_pc_windows_msvc.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/i686_unknown_freebsd.md b/src/doc/rustc/src/platform-support/i686_unknown_freebsd.md new file mode 100644 index 0000000000000..5d8f5c35e24e6 --- /dev/null +++ b/src/doc/rustc/src/platform-support/i686_unknown_freebsd.md @@ -0,0 +1,50 @@ +# `*-unknown-freebsd` + +[FreeBSD] is an operating system used to power modern servers, +desktops, and embedded platforms. + +| Target | Tier | +| ----------------------------- | -------------------- | +| `aarch64-unknown-freebsd` | Tier 3 | +| `armv6-unknown-freebsd` | Tier 3 | +| `armv7-unknown-freebsd` | Tier 3 | +| `x86_64-unknown-freebsd` | Tier 2 w/ Host Tools | +| `i686-unknown-freebsd` | Tier 2 | +| `powerpc64-unknown-freebsd` | Tier 3 | +| `powerpc64le-unknown-freebsd` | Tier 3 | +| `powerpc-unknown-freebsd` | Tier 3 | +| `riscv64gc-unknown-freebsd` | Tier 3 | + +## Target maintainers + +- rust@FreeBSD.org + +## Requirements + +Missing! + +## Building the target + +The target can be built by enabling it for a `rustc` build. + +```toml +[build] +target = ["$ARCH-unknown-freebsd"] + +[target.$ARCH-unknown-openbsd] +cc = "$ARCH-freebsd-cc" +``` + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! + +[FreeBSD]: https://www.freebsd.org diff --git a/src/doc/rustc/src/platform-support/i686_unknown_haiku.md b/src/doc/rustc/src/platform-support/i686_unknown_haiku.md new file mode 100644 index 0000000000000..9be30eaa23ccb --- /dev/null +++ b/src/doc/rustc/src/platform-support/i686_unknown_haiku.md @@ -0,0 +1,33 @@ +# `*-unknown-haiku` + +**Tier: 3** + +Haiku is an open-source operating system that specifically +targets personal computing. + +- `i686-unknown-haiku` +- `x86_64-unknown-haiku` + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/i686_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/i686_unknown_linux_gnu.md new file mode 100644 index 0000000000000..e80877efa4ee6 --- /dev/null +++ b/src/doc/rustc/src/platform-support/i686_unknown_linux_gnu.md @@ -0,0 +1,29 @@ +# `i686-unknown-linux-gnu` + +**Tier: 1 with Host Tools** + +32-bit Linux (kernel 3.2+, glibc 2.17+) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/i686_unknown_linux_musl.md b/src/doc/rustc/src/platform-support/i686_unknown_linux_musl.md new file mode 100644 index 0000000000000..db3721e1475bd --- /dev/null +++ b/src/doc/rustc/src/platform-support/i686_unknown_linux_musl.md @@ -0,0 +1,29 @@ +# `i686-unknown-linux-musl` + +**Tier: 2** + +32-bit Linux with MUSL + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/i686_unknown_netbsd.md b/src/doc/rustc/src/platform-support/i686_unknown_netbsd.md new file mode 120000 index 0000000000000..37426e7119de8 --- /dev/null +++ b/src/doc/rustc/src/platform-support/i686_unknown_netbsd.md @@ -0,0 +1 @@ +./x86_64_unknown_netbsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/i686_unknown_openbsd.md b/src/doc/rustc/src/platform-support/i686_unknown_openbsd.md new file mode 120000 index 0000000000000..3b2dd39131ef3 --- /dev/null +++ b/src/doc/rustc/src/platform-support/i686_unknown_openbsd.md @@ -0,0 +1 @@ +./x86_64_unknown_openbsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/unknown-uefi.md b/src/doc/rustc/src/platform-support/i686_unknown_uefi.md similarity index 100% rename from src/doc/rustc/src/platform-support/unknown-uefi.md rename to src/doc/rustc/src/platform-support/i686_unknown_uefi.md diff --git a/src/doc/rustc/src/platform-support/i686_uwp_windows_gnu.md b/src/doc/rustc/src/platform-support/i686_uwp_windows_gnu.md new file mode 120000 index 0000000000000..3f4536bc66fed --- /dev/null +++ b/src/doc/rustc/src/platform-support/i686_uwp_windows_gnu.md @@ -0,0 +1 @@ +./x86_64_uwp_windows_gnu.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/i686_uwp_windows_msvc.md b/src/doc/rustc/src/platform-support/i686_uwp_windows_msvc.md new file mode 120000 index 0000000000000..f6bbca24b0639 --- /dev/null +++ b/src/doc/rustc/src/platform-support/i686_uwp_windows_msvc.md @@ -0,0 +1 @@ +./x86_64_pc_windows_msvc.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/i686_wrs_vxworks.md b/src/doc/rustc/src/platform-support/i686_wrs_vxworks.md new file mode 120000 index 0000000000000..03b1935a83151 --- /dev/null +++ b/src/doc/rustc/src/platform-support/i686_wrs_vxworks.md @@ -0,0 +1 @@ +./x86_64_wrs_vxworks.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/loongarch-linux.md b/src/doc/rustc/src/platform-support/loongarch64_unknown_linux_gnu.md similarity index 100% rename from src/doc/rustc/src/platform-support/loongarch-linux.md rename to src/doc/rustc/src/platform-support/loongarch64_unknown_linux_gnu.md diff --git a/src/doc/rustc/src/platform-support/loongarch64_unknown_none.md b/src/doc/rustc/src/platform-support/loongarch64_unknown_none.md new file mode 120000 index 0000000000000..377cba946e774 --- /dev/null +++ b/src/doc/rustc/src/platform-support/loongarch64_unknown_none.md @@ -0,0 +1 @@ +./loongarch64_unknown_none_softfloat.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/loongarch-none.md b/src/doc/rustc/src/platform-support/loongarch64_unknown_none_softfloat.md similarity index 100% rename from src/doc/rustc/src/platform-support/loongarch-none.md rename to src/doc/rustc/src/platform-support/loongarch64_unknown_none_softfloat.md diff --git a/src/doc/rustc/src/platform-support/m68k-unknown-linux-gnu.md b/src/doc/rustc/src/platform-support/m68k_unknown_linux_gnu.md similarity index 100% rename from src/doc/rustc/src/platform-support/m68k-unknown-linux-gnu.md rename to src/doc/rustc/src/platform-support/m68k_unknown_linux_gnu.md diff --git a/src/doc/rustc/src/platform-support/mips64-openwrt-linux-musl.md b/src/doc/rustc/src/platform-support/mips64_openwrt_linux_musl.md similarity index 100% rename from src/doc/rustc/src/platform-support/mips64-openwrt-linux-musl.md rename to src/doc/rustc/src/platform-support/mips64_openwrt_linux_musl.md diff --git a/src/doc/rustc/src/platform-support/mips64_unknown_linux_gnuabi64.md b/src/doc/rustc/src/platform-support/mips64_unknown_linux_gnuabi64.md new file mode 120000 index 0000000000000..40253a0f28a55 --- /dev/null +++ b/src/doc/rustc/src/platform-support/mips64_unknown_linux_gnuabi64.md @@ -0,0 +1 @@ +./mips64el_unknown_linux_gnuabi64.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/mips64_unknown_linux_muslabi64.md b/src/doc/rustc/src/platform-support/mips64_unknown_linux_muslabi64.md new file mode 120000 index 0000000000000..fd33ebbfd0958 --- /dev/null +++ b/src/doc/rustc/src/platform-support/mips64_unknown_linux_muslabi64.md @@ -0,0 +1 @@ +./mips64el_unknown_linux_muslabi64.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/mips64el_unknown_linux_gnuabi64.md b/src/doc/rustc/src/platform-support/mips64el_unknown_linux_gnuabi64.md new file mode 100644 index 0000000000000..35acd66499430 --- /dev/null +++ b/src/doc/rustc/src/platform-support/mips64el_unknown_linux_gnuabi64.md @@ -0,0 +1,29 @@ +# `mips64{,el}-unknown-linux-gnuabi64` + +**Tier: 2 (with Host Tools)** + +MIPS64 Linux (optionally little endian), n64 ABI (kernel 4.4, glibc 2.23) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/mips64el_unknown_linux_muslabi64.md b/src/doc/rustc/src/platform-support/mips64el_unknown_linux_muslabi64.md new file mode 100644 index 0000000000000..37f18139f384b --- /dev/null +++ b/src/doc/rustc/src/platform-support/mips64el_unknown_linux_muslabi64.md @@ -0,0 +1,29 @@ +# `mips64{,el}-unknown-linux-muslabi64` + +**Tier: 2** + +MIPS64 (+ LE) Linux, n64 ABI, MUSL + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/mips_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/mips_unknown_linux_gnu.md new file mode 100644 index 0000000000000..911006869b336 --- /dev/null +++ b/src/doc/rustc/src/platform-support/mips_unknown_linux_gnu.md @@ -0,0 +1,29 @@ +# `mips{,el}-unknown-linux-gnuabi64` + +**Tier: 2 (with Host Tools)** + +MIPS Linux (optionally little endian, kernel 4.4, glibc 2.23) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/mips_unknown_linux_musl.md b/src/doc/rustc/src/platform-support/mips_unknown_linux_musl.md new file mode 120000 index 0000000000000..abe02cf5be24c --- /dev/null +++ b/src/doc/rustc/src/platform-support/mips_unknown_linux_musl.md @@ -0,0 +1 @@ +./mipsel_unknown_linux_musl.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/mips_unknown_linux_uclibc.md b/src/doc/rustc/src/platform-support/mips_unknown_linux_uclibc.md new file mode 100644 index 0000000000000..8e136fdcfafb0 --- /dev/null +++ b/src/doc/rustc/src/platform-support/mips_unknown_linux_uclibc.md @@ -0,0 +1,29 @@ +# `mips-unknown-linux-uclibc` + +**Tier: 3** + +MIPS Linux with uClibc + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/mipsel_sony_psp.md b/src/doc/rustc/src/platform-support/mipsel_sony_psp.md new file mode 100644 index 0000000000000..b9f5afb4869a8 --- /dev/null +++ b/src/doc/rustc/src/platform-support/mipsel_sony_psp.md @@ -0,0 +1,29 @@ +# `mipsel-sony-psp` + +**Tier: 3** + +MIPS (LE) Sony PlayStation Portable (PSP) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/mipsel-sony-psx.md b/src/doc/rustc/src/platform-support/mipsel_sony_psx.md similarity index 100% rename from src/doc/rustc/src/platform-support/mipsel-sony-psx.md rename to src/doc/rustc/src/platform-support/mipsel_sony_psx.md diff --git a/src/doc/rustc/src/platform-support/mipsel_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/mipsel_unknown_linux_gnu.md new file mode 120000 index 0000000000000..c2e9627b29f2c --- /dev/null +++ b/src/doc/rustc/src/platform-support/mipsel_unknown_linux_gnu.md @@ -0,0 +1 @@ +./mips_unknown_linux_gnu.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/mipsel_unknown_linux_musl.md b/src/doc/rustc/src/platform-support/mipsel_unknown_linux_musl.md new file mode 100644 index 0000000000000..a59f5f3e47b32 --- /dev/null +++ b/src/doc/rustc/src/platform-support/mipsel_unknown_linux_musl.md @@ -0,0 +1,29 @@ +# `mips{,sel}-unknown-linux-musl` + +**Tier: 2** + +MIPS (+ LE) Linux with MUSL + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/mipsel_unknown_linux_uclibc.md b/src/doc/rustc/src/platform-support/mipsel_unknown_linux_uclibc.md new file mode 100644 index 0000000000000..a2d69300acd77 --- /dev/null +++ b/src/doc/rustc/src/platform-support/mipsel_unknown_linux_uclibc.md @@ -0,0 +1,29 @@ +# `mipsel-unknown-linux-uclibc` + +**Tier: 3** + +MIPS (LE) Linux with uClibc + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/mipsel_unknown_none.md b/src/doc/rustc/src/platform-support/mipsel_unknown_none.md new file mode 100644 index 0000000000000..46a0b4a7e5514 --- /dev/null +++ b/src/doc/rustc/src/platform-support/mipsel_unknown_none.md @@ -0,0 +1,29 @@ +# `mipsel-unknown-none` + +**Tier: 3** + +Bare MIPS (LE) softfloat + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/mipsisa32r6_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/mipsisa32r6_unknown_linux_gnu.md new file mode 120000 index 0000000000000..8fced9426ee00 --- /dev/null +++ b/src/doc/rustc/src/platform-support/mipsisa32r6_unknown_linux_gnu.md @@ -0,0 +1 @@ +./mipsisa64r6_unknown_linux_gnuabi64.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/mipsisa32r6el_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/mipsisa32r6el_unknown_linux_gnu.md new file mode 120000 index 0000000000000..6f06f0ecdef61 --- /dev/null +++ b/src/doc/rustc/src/platform-support/mipsisa32r6el_unknown_linux_gnu.md @@ -0,0 +1 @@ +./mipsisa64r6el_unknown_linux_gnuabi64.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/mips-release-6.md b/src/doc/rustc/src/platform-support/mipsisa64r6_unknown_linux_gnuabi64.md similarity index 100% rename from src/doc/rustc/src/platform-support/mips-release-6.md rename to src/doc/rustc/src/platform-support/mipsisa64r6_unknown_linux_gnuabi64.md diff --git a/src/doc/rustc/src/platform-support/mipsisa64r6el_unknown_linux_gnuabi64.md b/src/doc/rustc/src/platform-support/mipsisa64r6el_unknown_linux_gnuabi64.md new file mode 120000 index 0000000000000..01c403602be1e --- /dev/null +++ b/src/doc/rustc/src/platform-support/mipsisa64r6el_unknown_linux_gnuabi64.md @@ -0,0 +1 @@ +./mipsisa32r6_unknown_linux_gnu.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/msp430_none_elf.md b/src/doc/rustc/src/platform-support/msp430_none_elf.md new file mode 100644 index 0000000000000..ffe549ae00612 --- /dev/null +++ b/src/doc/rustc/src/platform-support/msp430_none_elf.md @@ -0,0 +1,29 @@ +# `msp430-none-elf` + +**Tier: 3** + +16-bit MSP430 microcontrollers + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/nvptx64-nvidia-cuda.md b/src/doc/rustc/src/platform-support/nvptx64_nvidia_cuda.md similarity index 100% rename from src/doc/rustc/src/platform-support/nvptx64-nvidia-cuda.md rename to src/doc/rustc/src/platform-support/nvptx64_nvidia_cuda.md diff --git a/src/doc/rustc/src/platform-support/powerpc64_ibm_aix.md b/src/doc/rustc/src/platform-support/powerpc64_ibm_aix.md new file mode 100644 index 0000000000000..4a35055987820 --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc64_ibm_aix.md @@ -0,0 +1,30 @@ +# `powerpc64-ibm-aix` + +**Tier: 3** + +64-bit AIX (7.2 and newer) + +## Target maintainers + +- Chaofan Qiu, qiucofan@cn.ibm.com, [@ecnelises](https://github.com/ecnelises) +- Kai Luo, lkail@cn.ibm.com, [@bzEq](https://github.com/bzEq) + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/powerpc64_unknown_freebsd.md b/src/doc/rustc/src/platform-support/powerpc64_unknown_freebsd.md new file mode 120000 index 0000000000000..2ec7d3d5baed9 --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc64_unknown_freebsd.md @@ -0,0 +1 @@ +./powerpc64le_unknown_freebsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/powerpc64_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/powerpc64_unknown_linux_gnu.md new file mode 120000 index 0000000000000..88c393308fb2a --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc64_unknown_linux_gnu.md @@ -0,0 +1 @@ +./powerpc64le_unknown_linux_gnu.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/powerpc64_unknown_linux_musl.md b/src/doc/rustc/src/platform-support/powerpc64_unknown_linux_musl.md new file mode 100644 index 0000000000000..0f36f703352b9 --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc64_unknown_linux_musl.md @@ -0,0 +1,29 @@ +# `powerpc64-unknown-linux-musl` + +**Tier: 3** + +PPC64 Linux (MUSL) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/powerpc64_unknown_openbsd.md b/src/doc/rustc/src/platform-support/powerpc64_unknown_openbsd.md new file mode 120000 index 0000000000000..b2fcb8642e5fa --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc64_unknown_openbsd.md @@ -0,0 +1 @@ +./powerpc_unknown_openbsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/powerpc64_wrs_vxworks.md b/src/doc/rustc/src/platform-support/powerpc64_wrs_vxworks.md new file mode 120000 index 0000000000000..98e77d48e2172 --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc64_wrs_vxworks.md @@ -0,0 +1 @@ +./powerpc_wrs_vxworks_spe.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/powerpc64le_unknown_freebsd.md b/src/doc/rustc/src/platform-support/powerpc64le_unknown_freebsd.md new file mode 120000 index 0000000000000..9435ae1b91190 --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc64le_unknown_freebsd.md @@ -0,0 +1 @@ +./armv7_unknown_freebsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/powerpc64le_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/powerpc64le_unknown_linux_gnu.md new file mode 100644 index 0000000000000..f7237a623e370 --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc64le_unknown_linux_gnu.md @@ -0,0 +1,29 @@ +# `powerpc64{,le}-unknown-linux-gnu` + +**Tier: 2 (with Host Tools)** + +PPC64 Linux (kernel 3.2, glibc 2.17) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/powerpc64le_unknown_linux_musl.md b/src/doc/rustc/src/platform-support/powerpc64le_unknown_linux_musl.md new file mode 100644 index 0000000000000..d844077ba706f --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc64le_unknown_linux_musl.md @@ -0,0 +1,29 @@ +# `powerpc64le-unknown-linux-musl` + +**Tier: 3** + +PPC64LE Linux (MUSL) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/powerpc_unknown_freebsd.md b/src/doc/rustc/src/platform-support/powerpc_unknown_freebsd.md new file mode 120000 index 0000000000000..52c94b15f24c1 --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc_unknown_freebsd.md @@ -0,0 +1 @@ +./armv6_unknown_freebsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/powerpc_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/powerpc_unknown_linux_gnu.md new file mode 100644 index 0000000000000..4a84ae69f43b7 --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc_unknown_linux_gnu.md @@ -0,0 +1,29 @@ +# `powerpc-unknown-linux-gnu` + +**Tier: 2 (with Host Tools)** + +PowerPC Linux (kernel 3.2, glibc 2.17) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/powerpc_unknown_linux_gnuspe.md b/src/doc/rustc/src/platform-support/powerpc_unknown_linux_gnuspe.md new file mode 100644 index 0000000000000..834b1d7ee7da7 --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc_unknown_linux_gnuspe.md @@ -0,0 +1,29 @@ +# `powerpc-unknown-linux-gnuspe` + +**Tier: 3** + +PowerPC SPE Linux + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/powerpc_unknown_linux_musl.md b/src/doc/rustc/src/platform-support/powerpc_unknown_linux_musl.md new file mode 100644 index 0000000000000..c9a9955d01c8b --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc_unknown_linux_musl.md @@ -0,0 +1,29 @@ +# `powerpc-unknown-linux-musl` + +**Tier: 3** + +PowerPC MUSL Linux + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/powerpc_unknown_netbsd.md b/src/doc/rustc/src/platform-support/powerpc_unknown_netbsd.md new file mode 120000 index 0000000000000..9d4228d6d5e53 --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc_unknown_netbsd.md @@ -0,0 +1 @@ +./armv6_unknown_netbsd_eabihf.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/powerpc_unknown_openbsd.md b/src/doc/rustc/src/platform-support/powerpc_unknown_openbsd.md new file mode 120000 index 0000000000000..0936ab70c0d31 --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc_unknown_openbsd.md @@ -0,0 +1 @@ +./i686_unknown_openbsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/powerpc_wrs_vxworks.md b/src/doc/rustc/src/platform-support/powerpc_wrs_vxworks.md new file mode 120000 index 0000000000000..573f139147ece --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc_wrs_vxworks.md @@ -0,0 +1 @@ +./powerpc64_wrs_vxworks.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/powerpc_wrs_vxworks_spe.md b/src/doc/rustc/src/platform-support/powerpc_wrs_vxworks_spe.md new file mode 120000 index 0000000000000..45c34d7ceef0b --- /dev/null +++ b/src/doc/rustc/src/platform-support/powerpc_wrs_vxworks_spe.md @@ -0,0 +1 @@ +./i686_wrs_vxworks.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/riscv32gc_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/riscv32gc_unknown_linux_gnu.md new file mode 100644 index 0000000000000..dd667ccb58174 --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv32gc_unknown_linux_gnu.md @@ -0,0 +1,29 @@ +# `riscv32gc-unknown-linux-gnu` + +**Tier: 3** + +RISC-V Linux (Kernel 5.4, glibc 2.33) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/riscv32gc_unknown_linux_musl.md b/src/doc/rustc/src/platform-support/riscv32gc_unknown_linux_musl.md new file mode 100644 index 0000000000000..73fdfcdec9c6b --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv32gc_unknown_linux_musl.md @@ -0,0 +1,29 @@ +# `riscv*gc-unknown-linux-musl` + +**Tier: 3** + +RISC-V Linux (Kernel 4.20, MUSL 1.2.0) (+ RISCV32 support patches) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/riscv32i_unknown_none_elf.md b/src/doc/rustc/src/platform-support/riscv32i_unknown_none_elf.md new file mode 100644 index 0000000000000..2c96c3ac5c7a1 --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv32i_unknown_none_elf.md @@ -0,0 +1,29 @@ +# `riscv32i-unknown-none-elf` + +**Tier: 2** + +Bare RISC-V (RV32I ISA) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/riscv32im_unknown_none_elf.md b/src/doc/rustc/src/platform-support/riscv32im_unknown_none_elf.md new file mode 100644 index 0000000000000..51e4a1253057c --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv32im_unknown_none_elf.md @@ -0,0 +1,29 @@ +# `riscv32im-unknown-none-elf` + +**Tier: 3** + +Bare RISC-V (RV32IM ISA) + +## Target maintainers + +- @ridwanabdillahi + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/esp-idf.md b/src/doc/rustc/src/platform-support/riscv32imac_esp_espidf.md similarity index 100% rename from src/doc/rustc/src/platform-support/esp-idf.md rename to src/doc/rustc/src/platform-support/riscv32imac_esp_espidf.md diff --git a/src/doc/rustc/src/platform-support/riscv32imac_unknown_none_elf.md b/src/doc/rustc/src/platform-support/riscv32imac_unknown_none_elf.md new file mode 100644 index 0000000000000..beff28ad8b135 --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv32imac_unknown_none_elf.md @@ -0,0 +1,29 @@ +# `riscv32imac-unknown-none-elf` + +**Tier: 2** + +Bare RISC-V (RV32IMAC ISA) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/riscv32imac-unknown-xous-elf.md b/src/doc/rustc/src/platform-support/riscv32imac_unknown_xous_elf.md similarity index 100% rename from src/doc/rustc/src/platform-support/riscv32imac-unknown-xous-elf.md rename to src/doc/rustc/src/platform-support/riscv32imac_unknown_xous_elf.md diff --git a/src/doc/rustc/src/platform-support/riscv32imc_esp_espidf.md b/src/doc/rustc/src/platform-support/riscv32imc_esp_espidf.md new file mode 120000 index 0000000000000..994a018fd7b97 --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv32imc_esp_espidf.md @@ -0,0 +1 @@ +./riscv32imac_esp_espidf.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/riscv32imc_unknown_none_elf.md b/src/doc/rustc/src/platform-support/riscv32imc_unknown_none_elf.md new file mode 100644 index 0000000000000..a0c1be8f27e50 --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv32imc_unknown_none_elf.md @@ -0,0 +1,29 @@ +# `riscv32imc-unknown-none-elf` + +**Tier: 2** + +Bare RISC-V (RV32IMC ISA) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/riscv64_linux_android.md b/src/doc/rustc/src/platform-support/riscv64_linux_android.md new file mode 120000 index 0000000000000..24600e34ab83d --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv64_linux_android.md @@ -0,0 +1 @@ +./i686_linux_android.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/riscv64gc_unknown_freebsd.md b/src/doc/rustc/src/platform-support/riscv64gc_unknown_freebsd.md new file mode 120000 index 0000000000000..0a1eac18b55c7 --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv64gc_unknown_freebsd.md @@ -0,0 +1 @@ +./powerpc_unknown_freebsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/riscv64gc_unknown_fuchsia.md b/src/doc/rustc/src/platform-support/riscv64gc_unknown_fuchsia.md new file mode 120000 index 0000000000000..fc3c96e072a93 --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv64gc_unknown_fuchsia.md @@ -0,0 +1 @@ +./x86_64_fuchsia.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/riscv64gc_unknown_hermit.md b/src/doc/rustc/src/platform-support/riscv64gc_unknown_hermit.md new file mode 120000 index 0000000000000..c2b1a3f3a826a --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv64gc_unknown_hermit.md @@ -0,0 +1 @@ +./aarch64_unknown_hermit.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/riscv64gc_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/riscv64gc_unknown_linux_gnu.md new file mode 100644 index 0000000000000..66d54bcee5518 --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv64gc_unknown_linux_gnu.md @@ -0,0 +1,29 @@ +# `riscv64gc-unknown-linux-gnu` + +**Tier: 2 (with Host Tools)** + +RISC-V Linux (kernel 4.20, glibc 2.29) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/riscv64gc_unknown_linux_musl.md b/src/doc/rustc/src/platform-support/riscv64gc_unknown_linux_musl.md new file mode 120000 index 0000000000000..4d6f34122af12 --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv64gc_unknown_linux_musl.md @@ -0,0 +1 @@ +./riscv32gc_unknown_linux_musl.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/riscv64gc_unknown_netbsd.md b/src/doc/rustc/src/platform-support/riscv64gc_unknown_netbsd.md new file mode 120000 index 0000000000000..3e0a7c48d65e9 --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv64gc_unknown_netbsd.md @@ -0,0 +1 @@ +./powerpc_unknown_netbsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/riscv64gc_unknown_none_elf.md b/src/doc/rustc/src/platform-support/riscv64gc_unknown_none_elf.md new file mode 100644 index 0000000000000..3923cf7b821e3 --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv64gc_unknown_none_elf.md @@ -0,0 +1,29 @@ +# `riscv64gc-unknown-none-elf` + +**Tier: 2** + +Bare RISC-V (RV64IMAFDC ISA) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/openbsd.md b/src/doc/rustc/src/platform-support/riscv64gc_unknown_openbsd.md similarity index 93% rename from src/doc/rustc/src/platform-support/openbsd.md rename to src/doc/rustc/src/platform-support/riscv64gc_unknown_openbsd.md index 4ce80157dbf9c..f83657a40c97d 100644 --- a/src/doc/rustc/src/platform-support/openbsd.md +++ b/src/doc/rustc/src/platform-support/riscv64gc_unknown_openbsd.md @@ -12,6 +12,7 @@ The target names follow this format: `$ARCH-unknown-openbsd`, where `$ARCH` spec |--------------------------------|-------------|------------------| | `aarch64-unknown-openbsd` | libc++ | [64-bit ARM systems](https://www.openbsd.org/arm64.html) | | `i686-unknown-openbsd` | libc++ | [Standard PC and clones based on the Intel i386 architecture and compatible processors](https://www.openbsd.org/i386.html) | +| `powerpc-unknown-openbsd` | libc++ | [PowerPC-based Macintosh systems from the "New World" Family](https://www.openbsd.org/macppc.html) | | `powerpc64-unknown-openbsd` | libc++ | [IBM POWER-based PowerNV systems](https://www.openbsd.org/powerpc64.html) | | `riscv64gc-unknown-openbsd` | libc++ | [64-bit RISC-V systems](https://www.openbsd.org/riscv64.html) | | `sparc64-unknown-openbsd` | estdc++ | [Sun UltraSPARC and Fujitsu SPARC64 systems](https://www.openbsd.org/sparc64.html) | diff --git a/src/doc/rustc/src/platform-support/riscv64imac_unknown_none_elf.md b/src/doc/rustc/src/platform-support/riscv64imac_unknown_none_elf.md new file mode 100644 index 0000000000000..02c73cdfe3c6f --- /dev/null +++ b/src/doc/rustc/src/platform-support/riscv64imac_unknown_none_elf.md @@ -0,0 +1,29 @@ +# `riscv64imac-unknown-none-elf` + +**Tier: 2** + +Bare RISC-V (RV64IMAC ISA) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/s390x_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/s390x_unknown_linux_gnu.md new file mode 100644 index 0000000000000..da2262a18f5ee --- /dev/null +++ b/src/doc/rustc/src/platform-support/s390x_unknown_linux_gnu.md @@ -0,0 +1,29 @@ +# `s390x-unknown-linux-gnu` + +**Tier: 2 (with Host Tools)** + +S390x Linux (kernel 3.2, glibc 2.17) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/s390x_unknown_linux_musl.md b/src/doc/rustc/src/platform-support/s390x_unknown_linux_musl.md new file mode 100644 index 0000000000000..6327d601e672f --- /dev/null +++ b/src/doc/rustc/src/platform-support/s390x_unknown_linux_musl.md @@ -0,0 +1,29 @@ +# `s390x-unknown-linux-musl` + +**Tier: 3** + +S390x Linux (Kernel 3.2, MUSL) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/sparc64_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/sparc64_unknown_linux_gnu.md new file mode 100644 index 0000000000000..3430b1afe72d0 --- /dev/null +++ b/src/doc/rustc/src/platform-support/sparc64_unknown_linux_gnu.md @@ -0,0 +1,29 @@ +# `sparc64-unknown-linux-gnu` + +**Tier: 2** + +SPARC Linux (Kernel 4.4, glibc 2.23) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/sparc64_unknown_netbsd.md b/src/doc/rustc/src/platform-support/sparc64_unknown_netbsd.md new file mode 120000 index 0000000000000..f1d57623b95db --- /dev/null +++ b/src/doc/rustc/src/platform-support/sparc64_unknown_netbsd.md @@ -0,0 +1 @@ +./armv7_unknown_netbsd_eabihf.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/sparc64_unknown_openbsd.md b/src/doc/rustc/src/platform-support/sparc64_unknown_openbsd.md new file mode 120000 index 0000000000000..9b7c150c6e644 --- /dev/null +++ b/src/doc/rustc/src/platform-support/sparc64_unknown_openbsd.md @@ -0,0 +1 @@ +./aarch64_unknown_openbsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/sparc_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/sparc_unknown_linux_gnu.md new file mode 100644 index 0000000000000..9bacb431e8d41 --- /dev/null +++ b/src/doc/rustc/src/platform-support/sparc_unknown_linux_gnu.md @@ -0,0 +1,29 @@ +# `sparc-unknown-linux-gnu` + +**Tier: 3** + +32-bit SPARC Linux + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/sparc-unknown-none-elf.md b/src/doc/rustc/src/platform-support/sparc_unknown_none_elf.md similarity index 100% rename from src/doc/rustc/src/platform-support/sparc-unknown-none-elf.md rename to src/doc/rustc/src/platform-support/sparc_unknown_none_elf.md diff --git a/src/doc/rustc/src/platform-support/sparcv9_sun_solaris.md b/src/doc/rustc/src/platform-support/sparcv9_sun_solaris.md new file mode 100644 index 0000000000000..14aacc7716362 --- /dev/null +++ b/src/doc/rustc/src/platform-support/sparcv9_sun_solaris.md @@ -0,0 +1,29 @@ +# `sparcv9-sun-solaris` + +**Tier: 2** + +SPARC Solaris 10/11, illumos + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/armv4t-none-eabi.md b/src/doc/rustc/src/platform-support/thumbv4t_none_eabi.md similarity index 100% rename from src/doc/rustc/src/platform-support/armv4t-none-eabi.md rename to src/doc/rustc/src/platform-support/thumbv4t_none_eabi.md diff --git a/src/doc/rustc/src/platform-support/armv5te-none-eabi.md b/src/doc/rustc/src/platform-support/thumbv5te_none_eabi.md similarity index 100% rename from src/doc/rustc/src/platform-support/armv5te-none-eabi.md rename to src/doc/rustc/src/platform-support/thumbv5te_none_eabi.md diff --git a/src/doc/rustc/src/platform-support/thumbv6m_none_eabi.md b/src/doc/rustc/src/platform-support/thumbv6m_none_eabi.md new file mode 100644 index 0000000000000..ef66b68ecc26c --- /dev/null +++ b/src/doc/rustc/src/platform-support/thumbv6m_none_eabi.md @@ -0,0 +1,29 @@ +# `thumbv6m-none-eabi` + +**Tier: 2** + +Bare ARMv6-M + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/thumbv7a_pc_windows_msvc.md b/src/doc/rustc/src/platform-support/thumbv7a_pc_windows_msvc.md new file mode 120000 index 0000000000000..5176929d8b522 --- /dev/null +++ b/src/doc/rustc/src/platform-support/thumbv7a_pc_windows_msvc.md @@ -0,0 +1 @@ +./x86_64_uwp_windows_msvc.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/thumbv7a_uwp_windows_msvc.md b/src/doc/rustc/src/platform-support/thumbv7a_uwp_windows_msvc.md new file mode 100644 index 0000000000000..6060b2abaa6b6 --- /dev/null +++ b/src/doc/rustc/src/platform-support/thumbv7a_uwp_windows_msvc.md @@ -0,0 +1,40 @@ +# `*-{pc,uwp}-windows-msvc` + +Windows targets using MSVC + +| Target | Description | Tier | +| =========================== | ====================================== | ====================== | +| `i686-pc-windows-msvc` | 32-bit MSVC | Tier 1 with Host Tools | +| `x86_64-pc-windows-msvc` | 64-bit MSVC | Tier 1 with Host Tools | +| `aarch64-pc-windows-msvc` | ARM64 MSVC | Tier 2 with Host Tools | +| `i586-pc-windows-msvc` | 32-bit MSVC w/o SSE | Tier 2 | +| `aarch64-uwp-windows-msvc` | ARM64 Univeral Windows Platform | Tier 3 | +| `i686-uwp-windows-msvc` | x86 Universal Windows Platform | Tier 3 | +| `thumbv7a-pc-windows-msvc` | Thumb2-mode MSVC | Tier 3 | +| `thumbv7a-uwp-windows-msvc` | Thumb2-mode Universal Windows Platform | Tier 3 | +| `x86_64-uwp-windows-msvc` | x86_64 Universal Windows Platform | Tier 3 | + + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/thumbv7em_none_eabi.md b/src/doc/rustc/src/platform-support/thumbv7em_none_eabi.md new file mode 120000 index 0000000000000..2e8f7042cfdf5 --- /dev/null +++ b/src/doc/rustc/src/platform-support/thumbv7em_none_eabi.md @@ -0,0 +1 @@ +./thumbv7m_none_eabi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/thumbv7em_none_eabihf.md b/src/doc/rustc/src/platform-support/thumbv7em_none_eabihf.md new file mode 100644 index 0000000000000..918cb3cdccde9 --- /dev/null +++ b/src/doc/rustc/src/platform-support/thumbv7em_none_eabihf.md @@ -0,0 +1,33 @@ +# `thumbv7{m,em}-none-eabi{,hf}` + +**Tier: 2** + +| Target | Description | +| ======================= | ======================== | +| `thumbv7em-none-eabi` | Bare ARMv7E-M | +| `thumbv7em-none-eabihf` | Bare ARMv7E-M, hardfloat | +| `thumbv7m-none-eabi` | Bare ARMv7-M | + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/thumbv7m_none_eabi.md b/src/doc/rustc/src/platform-support/thumbv7m_none_eabi.md new file mode 120000 index 0000000000000..772d6274307b0 --- /dev/null +++ b/src/doc/rustc/src/platform-support/thumbv7m_none_eabi.md @@ -0,0 +1 @@ +./thumbv7em_none_eabihf.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/thumbv7neon_linux_androideabi.md b/src/doc/rustc/src/platform-support/thumbv7neon_linux_androideabi.md new file mode 120000 index 0000000000000..a82ff236da7b5 --- /dev/null +++ b/src/doc/rustc/src/platform-support/thumbv7neon_linux_androideabi.md @@ -0,0 +1 @@ +./aarch64_linux_android.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/thumbv7neon_unknown_linux_gnueabihf.md b/src/doc/rustc/src/platform-support/thumbv7neon_unknown_linux_gnueabihf.md new file mode 100644 index 0000000000000..b654eebe4f181 --- /dev/null +++ b/src/doc/rustc/src/platform-support/thumbv7neon_unknown_linux_gnueabihf.md @@ -0,0 +1,29 @@ +# `thumbv7neon-unknown-linux-gnueabihf` + +**Tier: 2** + +Thumb2-mode ARMv7-A Linux with NEON (Kernel 4.4, glibc 2.23) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/thumbv7neon_unknown_linux_musleabihf.md b/src/doc/rustc/src/platform-support/thumbv7neon_unknown_linux_musleabihf.md new file mode 100644 index 0000000000000..da4e03c36154e --- /dev/null +++ b/src/doc/rustc/src/platform-support/thumbv7neon_unknown_linux_musleabihf.md @@ -0,0 +1,29 @@ +# `thumbv7neon-unknown-linux-musleabihf` + +**Tier: 3** + +Thumb2-mode ARMv7-A Linux with NEON, MUSL + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/thumbv8m_base_none_eabi.md b/src/doc/rustc/src/platform-support/thumbv8m_base_none_eabi.md new file mode 100644 index 0000000000000..45ca4f546d5ed --- /dev/null +++ b/src/doc/rustc/src/platform-support/thumbv8m_base_none_eabi.md @@ -0,0 +1,29 @@ +# `thumbv8m.base-none-eabi` + +**Tier: 2** + +Bare ARMv8-M Baseline + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/thumbv8m_main_none_eabi.md b/src/doc/rustc/src/platform-support/thumbv8m_main_none_eabi.md new file mode 100644 index 0000000000000..2a7ecad865495 --- /dev/null +++ b/src/doc/rustc/src/platform-support/thumbv8m_main_none_eabi.md @@ -0,0 +1,29 @@ +# `thumbv8m.main-none-eabi{,hf}` + +**Tier: 2** + +Bare ARMv8-M Mainline (with and without hardfloat) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/thumbv8m_main_none_eabihf.md b/src/doc/rustc/src/platform-support/thumbv8m_main_none_eabihf.md new file mode 120000 index 0000000000000..df76184adad84 --- /dev/null +++ b/src/doc/rustc/src/platform-support/thumbv8m_main_none_eabihf.md @@ -0,0 +1 @@ +./thumbv8m_main_none_eabi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/wasm32_unknown_emscripten.md b/src/doc/rustc/src/platform-support/wasm32_unknown_emscripten.md new file mode 100644 index 0000000000000..eae26ef97fefa --- /dev/null +++ b/src/doc/rustc/src/platform-support/wasm32_unknown_emscripten.md @@ -0,0 +1,29 @@ +# `wasm32-unknown-emscripten` + +**Tier: 2** + +WebAssembly via Emscripten + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/wasm32_unknown_unknown.md b/src/doc/rustc/src/platform-support/wasm32_unknown_unknown.md new file mode 100644 index 0000000000000..6fdf78ba977d9 --- /dev/null +++ b/src/doc/rustc/src/platform-support/wasm32_unknown_unknown.md @@ -0,0 +1,29 @@ +# `wasm32-unknown-unknown` + +**Tier: 2** + +WebAssembly + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/wasm32_wasi.md b/src/doc/rustc/src/platform-support/wasm32_wasi.md new file mode 100644 index 0000000000000..fe86af4157195 --- /dev/null +++ b/src/doc/rustc/src/platform-support/wasm32_wasi.md @@ -0,0 +1,29 @@ +# `wasm32-wasi` + +**Tier: 2** + +WebAssembly with WASI + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/wasm32-wasi-preview1-threads.md b/src/doc/rustc/src/platform-support/wasm32_wasi_preview1_threads.md similarity index 100% rename from src/doc/rustc/src/platform-support/wasm32-wasi-preview1-threads.md rename to src/doc/rustc/src/platform-support/wasm32_wasi_preview1_threads.md diff --git a/src/doc/rustc/src/platform-support/wasm64-unknown-unknown.md b/src/doc/rustc/src/platform-support/wasm64_unknown_unknown.md similarity index 100% rename from src/doc/rustc/src/platform-support/wasm64-unknown-unknown.md rename to src/doc/rustc/src/platform-support/wasm64_unknown_unknown.md diff --git a/src/doc/rustc/src/platform-support/x86_64_apple_darwin.md b/src/doc/rustc/src/platform-support/x86_64_apple_darwin.md new file mode 100644 index 0000000000000..cb20ea4748958 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_apple_darwin.md @@ -0,0 +1,29 @@ +# `x86_64-apple-darwin` + +**Tier: 1 with Host Tools** + +64-bit macOS (10.7+, Lion+) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/x86_64_apple_ios.md b/src/doc/rustc/src/platform-support/x86_64_apple_ios.md new file mode 100644 index 0000000000000..ab7167a9cb65a --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_apple_ios.md @@ -0,0 +1,29 @@ +# `x86_64-apple-ios` + +**Tier: 2** + +64-bit x86 iOS + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/x86_64_apple_ios_macabi.md b/src/doc/rustc/src/platform-support/x86_64_apple_ios_macabi.md new file mode 120000 index 0000000000000..bf7b057e92ed2 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_apple_ios_macabi.md @@ -0,0 +1 @@ +./aarch64_apple_ios_macabi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64_apple_tvos.md b/src/doc/rustc/src/platform-support/x86_64_apple_tvos.md new file mode 120000 index 0000000000000..144200e1e5034 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_apple_tvos.md @@ -0,0 +1 @@ +./aarch64_apple_tvos.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64_apple_watchos_sim.md b/src/doc/rustc/src/platform-support/x86_64_apple_watchos_sim.md new file mode 120000 index 0000000000000..37acbd124c391 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_apple_watchos_sim.md @@ -0,0 +1 @@ +./armv7k_apple_watchos.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64-fortanix-unknown-sgx.md b/src/doc/rustc/src/platform-support/x86_64_fortanix_unknown_sgx.md similarity index 100% rename from src/doc/rustc/src/platform-support/x86_64-fortanix-unknown-sgx.md rename to src/doc/rustc/src/platform-support/x86_64_fortanix_unknown_sgx.md diff --git a/src/doc/rustc/src/platform-support/x86_64_fuchsia.md b/src/doc/rustc/src/platform-support/x86_64_fuchsia.md new file mode 120000 index 0000000000000..56a50a6680091 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_fuchsia.md @@ -0,0 +1 @@ +./aarch64_fuchsia.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64_linux_android.md b/src/doc/rustc/src/platform-support/x86_64_linux_android.md new file mode 120000 index 0000000000000..144e48d2d49d3 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_linux_android.md @@ -0,0 +1 @@ +./armv7_linux_androideabi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64_pc_nto_qnx710.md b/src/doc/rustc/src/platform-support/x86_64_pc_nto_qnx710.md new file mode 120000 index 0000000000000..ad0da0e1663d6 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_pc_nto_qnx710.md @@ -0,0 +1 @@ +./aarch64_unknown_nto_qnx710.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64_pc_solaris.md b/src/doc/rustc/src/platform-support/x86_64_pc_solaris.md new file mode 100644 index 0000000000000..0912f42cb55b4 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_pc_solaris.md @@ -0,0 +1,29 @@ +# `x86_64-pc-solaris` + +**Tier: 2** + +64-bit Solaris 10/11, illumos + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/x86_64_pc_windows_gnu.md b/src/doc/rustc/src/platform-support/x86_64_pc_windows_gnu.md new file mode 100644 index 0000000000000..e0cc939b22639 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_pc_windows_gnu.md @@ -0,0 +1,29 @@ +# `x86_64-pc-windows-gnu` + +**Tier: 1 with Host Tools** + +64-bit MinGW (Windows 7+) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/x86_64_pc_windows_gnullvm.md b/src/doc/rustc/src/platform-support/x86_64_pc_windows_gnullvm.md new file mode 120000 index 0000000000000..c83b8f8f79645 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_pc_windows_gnullvm.md @@ -0,0 +1 @@ +./aarch64_pc_windows_gnullvm.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64_pc_windows_msvc.md b/src/doc/rustc/src/platform-support/x86_64_pc_windows_msvc.md new file mode 120000 index 0000000000000..b89195e0d75ae --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_pc_windows_msvc.md @@ -0,0 +1 @@ +./i686_pc_windows_msvc.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64_sun_solaris.md b/src/doc/rustc/src/platform-support/x86_64_sun_solaris.md new file mode 100644 index 0000000000000..cff008bca4e3a --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_sun_solaris.md @@ -0,0 +1,29 @@ +# `x86_64-sun-solaris` + +**Tier: 3** + +Deprecated target for 64-bit Solaris 10/11, illumos + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/unikraft-linux-musl.md b/src/doc/rustc/src/platform-support/x86_64_unikraft_linux_musl.md similarity index 100% rename from src/doc/rustc/src/platform-support/unikraft-linux-musl.md rename to src/doc/rustc/src/platform-support/x86_64_unikraft_linux_musl.md diff --git a/src/doc/rustc/src/platform-support/x86_64_unknown_dragonfly.md b/src/doc/rustc/src/platform-support/x86_64_unknown_dragonfly.md new file mode 100644 index 0000000000000..5e0c215065913 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_unknown_dragonfly.md @@ -0,0 +1,34 @@ +# `x86_64-unknown-dragonfly` + +**Tier: 3** + +DragonFly belongs to the same class of operating systems as +other BSD-derived systems and Linux. It is based on the same +UNIX ideals and APIs and shares ancestor code with other BSD +operating systems. DragonFly provides an opportunity for the +BSD base to grow in an entirely different direction from the +one taken in the FreeBSD, NetBSD, and OpenBSD series. + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/x86_64_unknown_freebsd.md b/src/doc/rustc/src/platform-support/x86_64_unknown_freebsd.md new file mode 120000 index 0000000000000..d30cef20ed2a1 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_unknown_freebsd.md @@ -0,0 +1 @@ +./aarch64_unknown_freebsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64_unknown_fuchsia.md b/src/doc/rustc/src/platform-support/x86_64_unknown_fuchsia.md new file mode 120000 index 0000000000000..35314c8059dfc --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_unknown_fuchsia.md @@ -0,0 +1 @@ +./aarch64_unknown_fuchsia.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64_unknown_haiku.md b/src/doc/rustc/src/platform-support/x86_64_unknown_haiku.md new file mode 120000 index 0000000000000..d64984bfc643d --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_unknown_haiku.md @@ -0,0 +1 @@ +./i686_unknown_haiku.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/hermit.md b/src/doc/rustc/src/platform-support/x86_64_unknown_hermit.md similarity index 100% rename from src/doc/rustc/src/platform-support/hermit.md rename to src/doc/rustc/src/platform-support/x86_64_unknown_hermit.md diff --git a/src/doc/rustc/src/platform-support/x86_64_unknown_illumos.md b/src/doc/rustc/src/platform-support/x86_64_unknown_illumos.md new file mode 100644 index 0000000000000..1bcbdb35500fc --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_unknown_illumos.md @@ -0,0 +1,29 @@ +# `x86_64-unknown-illumos` + +**Tier: 2 (with Host Tools)** + +illumos + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/x86_64_unknown_l4re_uclibc.md b/src/doc/rustc/src/platform-support/x86_64_unknown_l4re_uclibc.md new file mode 100644 index 0000000000000..e4bddee1c98c3 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_unknown_l4re_uclibc.md @@ -0,0 +1,29 @@ +# `x86_64-unknown-l4re-uclibc` + +**Tier: 3** + +[L4 Runtime Environment](https://l4re.org) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/x86_64_unknown_linux_gnu.md b/src/doc/rustc/src/platform-support/x86_64_unknown_linux_gnu.md new file mode 100644 index 0000000000000..d48c59a2fdeec --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_unknown_linux_gnu.md @@ -0,0 +1,29 @@ +# `x86_64-unknown-linux-gnu` + +**Tier: 1 with Host Tools** + +64-bit Linux (kernel 3.2+, glibc 2.17+) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/x86_64_unknown_linux_gnux32.md b/src/doc/rustc/src/platform-support/x86_64_unknown_linux_gnux32.md new file mode 100644 index 0000000000000..667fa1e971274 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_unknown_linux_gnux32.md @@ -0,0 +1,29 @@ +# `x86_64-unknown-linux-gnux32` + +**Tier: 2** + +64-bit Linux (x32 ABI) (Kernel 4.15, glibc 2.27) + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/x86_64_unknown_linux_musl.md b/src/doc/rustc/src/platform-support/x86_64_unknown_linux_musl.md new file mode 100644 index 0000000000000..ac61064a94d74 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_unknown_linux_musl.md @@ -0,0 +1,29 @@ +# `x86_64-unknown-linux-musl` + +**Tier: 2 (with Host Tools)** + +64-bit Linux with MUSL + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/x86_64_unknown_linux_ohos.md b/src/doc/rustc/src/platform-support/x86_64_unknown_linux_ohos.md new file mode 120000 index 0000000000000..7e1ff37d76b4a --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_unknown_linux_ohos.md @@ -0,0 +1 @@ +./aarch64_unknown_linux_ohos.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64_unknown_netbsd.md b/src/doc/rustc/src/platform-support/x86_64_unknown_netbsd.md new file mode 120000 index 0000000000000..3405781c02eb4 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_unknown_netbsd.md @@ -0,0 +1 @@ +./aarch64_unknown_netbsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64-unknown-none.md b/src/doc/rustc/src/platform-support/x86_64_unknown_none.md similarity index 100% rename from src/doc/rustc/src/platform-support/x86_64-unknown-none.md rename to src/doc/rustc/src/platform-support/x86_64_unknown_none.md diff --git a/src/doc/rustc/src/platform-support/x86_64_unknown_openbsd.md b/src/doc/rustc/src/platform-support/x86_64_unknown_openbsd.md new file mode 120000 index 0000000000000..62e932e6a123d --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_unknown_openbsd.md @@ -0,0 +1 @@ +./sparc64_unknown_openbsd.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64_unknown_redox.md b/src/doc/rustc/src/platform-support/x86_64_unknown_redox.md new file mode 100644 index 0000000000000..385a33ef66570 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_unknown_redox.md @@ -0,0 +1,29 @@ +# `x86_64-unknown-redox` + +**Tier: 2** + +x86_64 Redox OS + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/x86_64_unknown_uefi.md b/src/doc/rustc/src/platform-support/x86_64_unknown_uefi.md new file mode 120000 index 0000000000000..a7794de60ede7 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_unknown_uefi.md @@ -0,0 +1 @@ +./aarch64_unknown_uefi.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64_uwp_windows_gnu.md b/src/doc/rustc/src/platform-support/x86_64_uwp_windows_gnu.md new file mode 100644 index 0000000000000..20c654e60d01f --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_uwp_windows_gnu.md @@ -0,0 +1,32 @@ +# `*-uwp-windows-gnu` + +**Tier: 3** + +Targets for Universal Windows Platform (UWP) apps using MinGW. + +- `i686-uwp-windows-gnu` +- `x86_64-uwp-windows-gnu` + +## Target maintainers + +- Missing! + +## Requirements + +Missing! + +## Building the target + +Missing! + +## Building Rust programs + +Missing! + +## Testing + +Missing! + +## Cross-compilation toolchains and C code + +Missing! diff --git a/src/doc/rustc/src/platform-support/x86_64_uwp_windows_msvc.md b/src/doc/rustc/src/platform-support/x86_64_uwp_windows_msvc.md new file mode 120000 index 0000000000000..46503c469f883 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_uwp_windows_msvc.md @@ -0,0 +1 @@ +./aarch64_uwp_windows_msvc.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64_wrs_vxworks.md b/src/doc/rustc/src/platform-support/x86_64_wrs_vxworks.md new file mode 120000 index 0000000000000..316c0ca391109 --- /dev/null +++ b/src/doc/rustc/src/platform-support/x86_64_wrs_vxworks.md @@ -0,0 +1 @@ +./aarch64_wrs_vxworks.md \ No newline at end of file diff --git a/src/doc/rustc/src/platform-support/x86_64h-apple-darwin.md b/src/doc/rustc/src/platform-support/x86_64h_apple_darwin.md similarity index 96% rename from src/doc/rustc/src/platform-support/x86_64h-apple-darwin.md rename to src/doc/rustc/src/platform-support/x86_64h_apple_darwin.md index 0fe9d4edaca10..b17cfe4612bc9 100644 --- a/src/doc/rustc/src/platform-support/x86_64h-apple-darwin.md +++ b/src/doc/rustc/src/platform-support/x86_64h_apple_darwin.md @@ -8,7 +8,7 @@ Target for macOS on late-generation `x86_64` Apple chips, usable as the ## Target maintainers -- Thom Chiovoloni `thom@shift.click` +- Thom Chiovoloni, `thom@shift.click`, ## Requirements diff --git a/src/doc/rustc/src/target-tier-policy.md b/src/doc/rustc/src/target-tier-policy.md index 95932db14e1f6..65d4a13388de8 100644 --- a/src/doc/rustc/src/target-tier-policy.md +++ b/src/doc/rustc/src/target-tier-policy.md @@ -246,6 +246,8 @@ approved by the appropriate team for that shared code before acceptance. introducing unconditional uses of features that another variation of the target may not have; use conditional compilation or runtime detection, as appropriate, to let each target run code supported by that target. +- Tier 3 targets must be able to produce object code using at least one of + rustc's supported backends. If a tier 3 target stops meeting these requirements, or the target maintainers no longer have interest or time, or the target shows no signs of activity and diff --git a/src/tools/tidy/src/lib.rs b/src/tools/tidy/src/lib.rs index fc69c1432227e..867f895f968e2 100644 --- a/src/tools/tidy/src/lib.rs +++ b/src/tools/tidy/src/lib.rs @@ -66,6 +66,7 @@ pub mod pal; pub mod rustdoc_css_themes; pub mod rustdoc_gui_tests; pub mod style; +pub mod target_policy; pub mod target_specific_tests; pub mod tests_placement; pub mod ui_tests; diff --git a/src/tools/tidy/src/main.rs b/src/tools/tidy/src/main.rs index 80e58ba00fc2f..35c0e41d80c92 100644 --- a/src/tools/tidy/src/main.rs +++ b/src/tools/tidy/src/main.rs @@ -109,6 +109,7 @@ fn main() { // Checks that only make sense for the compiler. check!(error_codes, &root_path, &[&compiler_path, &librustdoc_path], verbose); check!(fluent_alphabetical, &compiler_path, bless); + check!(target_policy, &root_path); // Checks that only make sense for the std libs. check!(pal, &library_path); diff --git a/src/tools/tidy/src/target_policy.rs b/src/tools/tidy/src/target_policy.rs new file mode 100644 index 0000000000000..1e75d7a219655 --- /dev/null +++ b/src/tools/tidy/src/target_policy.rs @@ -0,0 +1,103 @@ +//! Tidy check to check that for each target in `compiler/rustc_target/src/spec/`, there is +//! documentation in `src/doc/rustc/src/platform-support/` and an assembly test in +//! `tests/assembly/targets`. + +use crate::walk::{filter_not_markdown, filter_not_rust}; +use std::{collections::HashSet, path::Path}; + +const TARGET_DEFINITIONS_PATH: &str = "compiler/rustc_target/src/spec/"; +const TARGET_DOCS_PATH: &str = "src/doc/rustc/src/platform-support/"; +const TARGET_TESTS_PATH: &str = "tests/assembly/targets/"; + +const SKIPPED_FILES: &[&str] = + &["base", "tests", "mod.rs", "abi.rs", "crt_objects.rs", "TEMPLATE.md"]; + +pub fn check(root_path: &Path, bad: &mut bool) { + let mut expected_docs = HashSet::new(); + let mut expected_tests = HashSet::new(); + + let definitions_path = root_path.join(TARGET_DEFINITIONS_PATH); + for defn in ignore::WalkBuilder::new(&definitions_path) + .max_depth(Some(1)) + .filter_entry(|e| { + !filter_not_rust(e.path()) && !SKIPPED_FILES.contains(&e.file_name().to_str().unwrap()) + }) + .build() + { + let defn = defn.unwrap(); + // `WalkBuilder` always visits the directory at the root of the walk first, regardless + // of the filters. + if defn.path() == definitions_path { + continue; + } + + let path = defn.path(); + let name = path.file_name().unwrap().to_str().unwrap(); + let name_no_ext = path.file_stem().unwrap().to_str().unwrap(); + + let test_path = root_path.join(TARGET_TESTS_PATH).join(&name); + expected_tests.insert(test_path.clone()); + if !test_path.exists() { + tidy_error!( + bad, + "target `{}` is missing test at `{}`", + name_no_ext, + test_path.display() + ); + } + + let doc_path = root_path.join(TARGET_DOCS_PATH).join(&name_no_ext).with_extension("md"); + expected_docs.insert(doc_path.clone()); + if !doc_path.exists() { + tidy_error!( + bad, + "target `{}` is missing platform support doc at `{}`", + name_no_ext, + doc_path.display() + ); + } + } + + let tests_path = root_path.join(TARGET_TESTS_PATH); + for defn in ignore::WalkBuilder::new(&tests_path) + .max_depth(Some(1)) + .filter_entry(|e| { + !filter_not_rust(e.path()) && !SKIPPED_FILES.contains(&e.file_name().to_str().unwrap()) + }) + .build() + { + let defn = defn.unwrap(); + let path = defn.path(); + if path == tests_path { + continue; + } + + if !expected_tests.contains(path) { + tidy_error!(bad, "target test `{}` exists but target does not", path.display()); + } + } + + let docs_path = root_path.join(TARGET_DOCS_PATH); + for defn in ignore::WalkBuilder::new(&docs_path) + .max_depth(Some(1)) + .filter_entry(|e| { + !filter_not_markdown(e.path()) + && !SKIPPED_FILES.contains(&e.file_name().to_str().unwrap()) + }) + .build() + { + let defn = defn.unwrap(); + let path = defn.path(); + if path == docs_path { + continue; + } + + if !expected_docs.contains(path) { + tidy_error!( + bad, + "platform support doc `{}` exists but target does not", + path.display() + ); + } + } +} diff --git a/src/tools/tidy/src/walk.rs b/src/tools/tidy/src/walk.rs index 185e1f3209b10..b6a1e5fd6d269 100644 --- a/src/tools/tidy/src/walk.rs +++ b/src/tools/tidy/src/walk.rs @@ -34,9 +34,19 @@ pub fn filter_dirs(path: &Path) -> bool { skip.iter().any(|p| path.ends_with(p)) } +/// Filter for only files that end in `ext`. +fn filter_not_ext(path: &Path, ext: &str) -> bool { + path.extension() != Some(OsStr::new(ext)) && !path.is_dir() +} + /// Filter for only files that end in `.rs`. pub fn filter_not_rust(path: &Path) -> bool { - path.extension() != Some(OsStr::new("rs")) && !path.is_dir() + filter_not_ext(path, "rs") +} + +/// Filter for only files that end in `.md`. +pub fn filter_not_markdown(path: &Path) -> bool { + filter_not_ext(path, "md") } pub fn walk( diff --git a/tests/assembly/targets/aarch64_apple_darwin.rs b/tests/assembly/targets/aarch64_apple_darwin.rs new file mode 100644 index 0000000000000..b6b6a7d9d104c --- /dev/null +++ b/tests/assembly/targets/aarch64_apple_darwin.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-apple-darwin +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_apple_ios.rs b/tests/assembly/targets/aarch64_apple_ios.rs new file mode 100644 index 0000000000000..c2ca9908f1cd3 --- /dev/null +++ b/tests/assembly/targets/aarch64_apple_ios.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-apple-ios +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_apple_ios_macabi.rs b/tests/assembly/targets/aarch64_apple_ios_macabi.rs new file mode 100644 index 0000000000000..b8b449535c940 --- /dev/null +++ b/tests/assembly/targets/aarch64_apple_ios_macabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-apple-ios-macabi +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_apple_ios_sim.rs b/tests/assembly/targets/aarch64_apple_ios_sim.rs new file mode 100644 index 0000000000000..e1a052e22a89a --- /dev/null +++ b/tests/assembly/targets/aarch64_apple_ios_sim.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-apple-ios-sim +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_apple_tvos.rs b/tests/assembly/targets/aarch64_apple_tvos.rs new file mode 100644 index 0000000000000..e0d93baa9335c --- /dev/null +++ b/tests/assembly/targets/aarch64_apple_tvos.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-apple-tvos +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_apple_watchos_sim.rs b/tests/assembly/targets/aarch64_apple_watchos_sim.rs new file mode 100644 index 0000000000000..0b7f8599552c9 --- /dev/null +++ b/tests/assembly/targets/aarch64_apple_watchos_sim.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-apple-watchos-sim +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_be_unknown_linux_gnu.rs b/tests/assembly/targets/aarch64_be_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..4fb00eaa875b9 --- /dev/null +++ b/tests/assembly/targets/aarch64_be_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64_be-unknown-linux-gnu +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_be_unknown_linux_gnu_ilp32.rs b/tests/assembly/targets/aarch64_be_unknown_linux_gnu_ilp32.rs new file mode 100644 index 0000000000000..b15bb28a64a2d --- /dev/null +++ b/tests/assembly/targets/aarch64_be_unknown_linux_gnu_ilp32.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64_be-unknown-linux-gnu_ilp32 +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_be_unknown_netbsd.rs b/tests/assembly/targets/aarch64_be_unknown_netbsd.rs new file mode 100644 index 0000000000000..0d4b83886ab24 --- /dev/null +++ b/tests/assembly/targets/aarch64_be_unknown_netbsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64_be-unknown-netbsd +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_fuchsia.rs b/tests/assembly/targets/aarch64_fuchsia.rs new file mode 100644 index 0000000000000..db74e3498770e --- /dev/null +++ b/tests/assembly/targets/aarch64_fuchsia.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-fuchsia +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_kmc_solid_asp3.rs b/tests/assembly/targets/aarch64_kmc_solid_asp3.rs new file mode 100644 index 0000000000000..1ec73c87ebfdb --- /dev/null +++ b/tests/assembly/targets/aarch64_kmc_solid_asp3.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-kmc-solid_asp3 +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_linux_android.rs b/tests/assembly/targets/aarch64_linux_android.rs new file mode 100644 index 0000000000000..483e8508bc010 --- /dev/null +++ b/tests/assembly/targets/aarch64_linux_android.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-linux-android +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_nintendo_switch_freestanding.rs b/tests/assembly/targets/aarch64_nintendo_switch_freestanding.rs new file mode 100644 index 0000000000000..7d66e662dc0f6 --- /dev/null +++ b/tests/assembly/targets/aarch64_nintendo_switch_freestanding.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-nintendo-switch-freestanding +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_pc_windows_gnullvm.rs b/tests/assembly/targets/aarch64_pc_windows_gnullvm.rs new file mode 100644 index 0000000000000..6bfdc432a1cbd --- /dev/null +++ b/tests/assembly/targets/aarch64_pc_windows_gnullvm.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-pc-windows-gnullvm +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_pc_windows_msvc.rs b/tests/assembly/targets/aarch64_pc_windows_msvc.rs new file mode 100644 index 0000000000000..12bb9cff87f36 --- /dev/null +++ b/tests/assembly/targets/aarch64_pc_windows_msvc.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-pc-windows-msvc +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_unknown_freebsd.rs b/tests/assembly/targets/aarch64_unknown_freebsd.rs new file mode 100644 index 0000000000000..844235d8ccd76 --- /dev/null +++ b/tests/assembly/targets/aarch64_unknown_freebsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-unknown-freebsd +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_unknown_fuchsia.rs b/tests/assembly/targets/aarch64_unknown_fuchsia.rs new file mode 100644 index 0000000000000..43fcd3d428641 --- /dev/null +++ b/tests/assembly/targets/aarch64_unknown_fuchsia.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-unknown-fuchsia +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_unknown_hermit.rs b/tests/assembly/targets/aarch64_unknown_hermit.rs new file mode 100644 index 0000000000000..7add5bdc60a99 --- /dev/null +++ b/tests/assembly/targets/aarch64_unknown_hermit.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-unknown-hermit +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_unknown_linux_gnu.rs b/tests/assembly/targets/aarch64_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..b8a32f1a2e9c4 --- /dev/null +++ b/tests/assembly/targets/aarch64_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-unknown-linux-gnu +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_unknown_linux_gnu_ilp32.rs b/tests/assembly/targets/aarch64_unknown_linux_gnu_ilp32.rs new file mode 100644 index 0000000000000..1ee583e24158b --- /dev/null +++ b/tests/assembly/targets/aarch64_unknown_linux_gnu_ilp32.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-unknown-linux-gnu_ilp32 +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_unknown_linux_musl.rs b/tests/assembly/targets/aarch64_unknown_linux_musl.rs new file mode 100644 index 0000000000000..81d0562c94899 --- /dev/null +++ b/tests/assembly/targets/aarch64_unknown_linux_musl.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-unknown-linux-musl +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_unknown_linux_ohos.rs b/tests/assembly/targets/aarch64_unknown_linux_ohos.rs new file mode 100644 index 0000000000000..c0cf41bd37fa1 --- /dev/null +++ b/tests/assembly/targets/aarch64_unknown_linux_ohos.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-unknown-linux-ohos +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_unknown_netbsd.rs b/tests/assembly/targets/aarch64_unknown_netbsd.rs new file mode 100644 index 0000000000000..89d44ce0fa29c --- /dev/null +++ b/tests/assembly/targets/aarch64_unknown_netbsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-unknown-netbsd +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_unknown_none.rs b/tests/assembly/targets/aarch64_unknown_none.rs new file mode 100644 index 0000000000000..7bd5f83cdb122 --- /dev/null +++ b/tests/assembly/targets/aarch64_unknown_none.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-unknown-none +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_unknown_none_softfloat.rs b/tests/assembly/targets/aarch64_unknown_none_softfloat.rs new file mode 100644 index 0000000000000..63e91ab794dda --- /dev/null +++ b/tests/assembly/targets/aarch64_unknown_none_softfloat.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-unknown-none-softfloat +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_unknown_nto_qnx710.rs b/tests/assembly/targets/aarch64_unknown_nto_qnx710.rs new file mode 100644 index 0000000000000..83ae50e6a53b0 --- /dev/null +++ b/tests/assembly/targets/aarch64_unknown_nto_qnx710.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-unknown-nto-qnx710 +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_unknown_openbsd.rs b/tests/assembly/targets/aarch64_unknown_openbsd.rs new file mode 100644 index 0000000000000..110d2f4d592dc --- /dev/null +++ b/tests/assembly/targets/aarch64_unknown_openbsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-unknown-openbsd +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_unknown_redox.rs b/tests/assembly/targets/aarch64_unknown_redox.rs new file mode 100644 index 0000000000000..12718e7d863cf --- /dev/null +++ b/tests/assembly/targets/aarch64_unknown_redox.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-unknown-redox +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_unknown_teeos.rs b/tests/assembly/targets/aarch64_unknown_teeos.rs new file mode 100644 index 0000000000000..99c3504f5917c --- /dev/null +++ b/tests/assembly/targets/aarch64_unknown_teeos.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-unknown-teeos +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_unknown_uefi.rs b/tests/assembly/targets/aarch64_unknown_uefi.rs new file mode 100644 index 0000000000000..adb401e2eb218 --- /dev/null +++ b/tests/assembly/targets/aarch64_unknown_uefi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-unknown-uefi +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/aarch64_uwp_windows_msvc.rs b/tests/assembly/targets/aarch64_uwp_windows_msvc.rs new file mode 100644 index 0000000000000..738880ca414e0 --- /dev/null +++ b/tests/assembly/targets/aarch64_uwp_windows_msvc.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-uwp-windows-msvc +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .text diff --git a/tests/assembly/targets/aarch64_wrs_vxworks.rs b/tests/assembly/targets/aarch64_wrs_vxworks.rs new file mode 100644 index 0000000000000..0d0235504acad --- /dev/null +++ b/tests/assembly/targets/aarch64_wrs_vxworks.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target aarch64-wrs-vxworks +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/arm64_32_apple_watchos.rs b/tests/assembly/targets/arm64_32_apple_watchos.rs new file mode 100644 index 0000000000000..763b0acb9efba --- /dev/null +++ b/tests/assembly/targets/arm64_32_apple_watchos.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target arm64_32-apple-watchos +// needs-llvm-components: aarch64 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/arm_linux_androideabi.rs b/tests/assembly/targets/arm_linux_androideabi.rs new file mode 100644 index 0000000000000..bdca304295c27 --- /dev/null +++ b/tests/assembly/targets/arm_linux_androideabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target arm-linux-androideabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/arm_unknown_linux_gnueabi.rs b/tests/assembly/targets/arm_unknown_linux_gnueabi.rs new file mode 100644 index 0000000000000..a11d389583fcb --- /dev/null +++ b/tests/assembly/targets/arm_unknown_linux_gnueabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target arm-unknown-linux-gnueabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/arm_unknown_linux_gnueabihf.rs b/tests/assembly/targets/arm_unknown_linux_gnueabihf.rs new file mode 100644 index 0000000000000..ca9c3c02af7fa --- /dev/null +++ b/tests/assembly/targets/arm_unknown_linux_gnueabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target arm-unknown-linux-gnueabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/arm_unknown_linux_musleabi.rs b/tests/assembly/targets/arm_unknown_linux_musleabi.rs new file mode 100644 index 0000000000000..acc387ea0781b --- /dev/null +++ b/tests/assembly/targets/arm_unknown_linux_musleabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target arm-unknown-linux-musleabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/arm_unknown_linux_musleabihf.rs b/tests/assembly/targets/arm_unknown_linux_musleabihf.rs new file mode 100644 index 0000000000000..7147b44e5c8a0 --- /dev/null +++ b/tests/assembly/targets/arm_unknown_linux_musleabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target arm-unknown-linux-musleabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armeb_unknown_linux_gnueabi.rs b/tests/assembly/targets/armeb_unknown_linux_gnueabi.rs new file mode 100644 index 0000000000000..6b78877a6f628 --- /dev/null +++ b/tests/assembly/targets/armeb_unknown_linux_gnueabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armeb-unknown-linux-gnueabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armebv7r_none_eabi.rs b/tests/assembly/targets/armebv7r_none_eabi.rs new file mode 100644 index 0000000000000..c9dda05599135 --- /dev/null +++ b/tests/assembly/targets/armebv7r_none_eabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armebv7r-none-eabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armebv7r_none_eabihf.rs b/tests/assembly/targets/armebv7r_none_eabihf.rs new file mode 100644 index 0000000000000..520076f921ac5 --- /dev/null +++ b/tests/assembly/targets/armebv7r_none_eabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armebv7r-none-eabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv4t_none_eabi.rs b/tests/assembly/targets/armv4t_none_eabi.rs new file mode 100644 index 0000000000000..bc1d77289ce24 --- /dev/null +++ b/tests/assembly/targets/armv4t_none_eabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv4t-none-eabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv4t_unknown_linux_gnueabi.rs b/tests/assembly/targets/armv4t_unknown_linux_gnueabi.rs new file mode 100644 index 0000000000000..f58673a51dc2c --- /dev/null +++ b/tests/assembly/targets/armv4t_unknown_linux_gnueabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv4t-unknown-linux-gnueabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv5te_none_eabi.rs b/tests/assembly/targets/armv5te_none_eabi.rs new file mode 100644 index 0000000000000..2dc53a201c57c --- /dev/null +++ b/tests/assembly/targets/armv5te_none_eabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv5te-none-eabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv5te_unknown_linux_gnueabi.rs b/tests/assembly/targets/armv5te_unknown_linux_gnueabi.rs new file mode 100644 index 0000000000000..b43cf5f3042f7 --- /dev/null +++ b/tests/assembly/targets/armv5te_unknown_linux_gnueabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv5te-unknown-linux-gnueabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv5te_unknown_linux_musleabi.rs b/tests/assembly/targets/armv5te_unknown_linux_musleabi.rs new file mode 100644 index 0000000000000..a351a005084a1 --- /dev/null +++ b/tests/assembly/targets/armv5te_unknown_linux_musleabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv5te-unknown-linux-musleabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv5te_unknown_linux_uclibceabi.rs b/tests/assembly/targets/armv5te_unknown_linux_uclibceabi.rs new file mode 100644 index 0000000000000..3ef2e8d27a538 --- /dev/null +++ b/tests/assembly/targets/armv5te_unknown_linux_uclibceabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv5te-unknown-linux-uclibceabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv6_unknown_freebsd.rs b/tests/assembly/targets/armv6_unknown_freebsd.rs new file mode 100644 index 0000000000000..9681faf39d908 --- /dev/null +++ b/tests/assembly/targets/armv6_unknown_freebsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv6-unknown-freebsd +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv6_unknown_netbsd_eabihf.rs b/tests/assembly/targets/armv6_unknown_netbsd_eabihf.rs new file mode 100644 index 0000000000000..9835eb2231350 --- /dev/null +++ b/tests/assembly/targets/armv6_unknown_netbsd_eabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv6-unknown-netbsd-eabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv6k_nintendo_3ds.rs b/tests/assembly/targets/armv6k_nintendo_3ds.rs new file mode 100644 index 0000000000000..d4c928fc9c246 --- /dev/null +++ b/tests/assembly/targets/armv6k_nintendo_3ds.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv6k-nintendo-3ds +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7_apple_ios.rs b/tests/assembly/targets/armv7_apple_ios.rs new file mode 100644 index 0000000000000..4d59bbbff8be6 --- /dev/null +++ b/tests/assembly/targets/armv7_apple_ios.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7-apple-ios +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7_linux_androideabi.rs b/tests/assembly/targets/armv7_linux_androideabi.rs new file mode 100644 index 0000000000000..94ffc6b0d6259 --- /dev/null +++ b/tests/assembly/targets/armv7_linux_androideabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7-linux-androideabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7_sony_vita_newlibeabihf.rs b/tests/assembly/targets/armv7_sony_vita_newlibeabihf.rs new file mode 100644 index 0000000000000..7cb89c01623d3 --- /dev/null +++ b/tests/assembly/targets/armv7_sony_vita_newlibeabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7-sony-vita-newlibeabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7_unknown_freebsd.rs b/tests/assembly/targets/armv7_unknown_freebsd.rs new file mode 100644 index 0000000000000..3952be980df89 --- /dev/null +++ b/tests/assembly/targets/armv7_unknown_freebsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7-unknown-freebsd +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7_unknown_linux_gnueabi.rs b/tests/assembly/targets/armv7_unknown_linux_gnueabi.rs new file mode 100644 index 0000000000000..0e19238295c6d --- /dev/null +++ b/tests/assembly/targets/armv7_unknown_linux_gnueabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7-unknown-linux-gnueabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7_unknown_linux_gnueabihf.rs b/tests/assembly/targets/armv7_unknown_linux_gnueabihf.rs new file mode 100644 index 0000000000000..6eff7b66afc79 --- /dev/null +++ b/tests/assembly/targets/armv7_unknown_linux_gnueabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7-unknown-linux-gnueabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7_unknown_linux_musleabi.rs b/tests/assembly/targets/armv7_unknown_linux_musleabi.rs new file mode 100644 index 0000000000000..cb818b648538a --- /dev/null +++ b/tests/assembly/targets/armv7_unknown_linux_musleabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7-unknown-linux-musleabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7_unknown_linux_musleabihf.rs b/tests/assembly/targets/armv7_unknown_linux_musleabihf.rs new file mode 100644 index 0000000000000..a5870d0c10af7 --- /dev/null +++ b/tests/assembly/targets/armv7_unknown_linux_musleabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7-unknown-linux-musleabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7_unknown_linux_ohos.rs b/tests/assembly/targets/armv7_unknown_linux_ohos.rs new file mode 100644 index 0000000000000..59ce3276fc343 --- /dev/null +++ b/tests/assembly/targets/armv7_unknown_linux_ohos.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7-unknown-linux-ohos +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7_unknown_linux_uclibceabi.rs b/tests/assembly/targets/armv7_unknown_linux_uclibceabi.rs new file mode 100644 index 0000000000000..d76d752e05261 --- /dev/null +++ b/tests/assembly/targets/armv7_unknown_linux_uclibceabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7-unknown-linux-uclibceabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7_unknown_linux_uclibceabihf.rs b/tests/assembly/targets/armv7_unknown_linux_uclibceabihf.rs new file mode 100644 index 0000000000000..850da538a34ff --- /dev/null +++ b/tests/assembly/targets/armv7_unknown_linux_uclibceabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7-unknown-linux-uclibceabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7_unknown_netbsd_eabihf.rs b/tests/assembly/targets/armv7_unknown_netbsd_eabihf.rs new file mode 100644 index 0000000000000..5eeb8a79d450e --- /dev/null +++ b/tests/assembly/targets/armv7_unknown_netbsd_eabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7-unknown-netbsd-eabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7_wrs_vxworks_eabihf.rs b/tests/assembly/targets/armv7_wrs_vxworks_eabihf.rs new file mode 100644 index 0000000000000..c72260fa383f6 --- /dev/null +++ b/tests/assembly/targets/armv7_wrs_vxworks_eabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7-wrs-vxworks-eabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7a_kmc_solid_asp3_eabi.rs b/tests/assembly/targets/armv7a_kmc_solid_asp3_eabi.rs new file mode 100644 index 0000000000000..5da0f8d8c1297 --- /dev/null +++ b/tests/assembly/targets/armv7a_kmc_solid_asp3_eabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7a-kmc-solid_asp3-eabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7a_kmc_solid_asp3_eabihf.rs b/tests/assembly/targets/armv7a_kmc_solid_asp3_eabihf.rs new file mode 100644 index 0000000000000..817c4c16f42b0 --- /dev/null +++ b/tests/assembly/targets/armv7a_kmc_solid_asp3_eabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7a-kmc-solid_asp3-eabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7a_none_eabi.rs b/tests/assembly/targets/armv7a_none_eabi.rs new file mode 100644 index 0000000000000..6712149c1e678 --- /dev/null +++ b/tests/assembly/targets/armv7a_none_eabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7a-none-eabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7a_none_eabihf.rs b/tests/assembly/targets/armv7a_none_eabihf.rs new file mode 100644 index 0000000000000..5c301d933e92e --- /dev/null +++ b/tests/assembly/targets/armv7a_none_eabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7a-none-eabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7k_apple_watchos.rs b/tests/assembly/targets/armv7k_apple_watchos.rs new file mode 100644 index 0000000000000..8abecf70d6e66 --- /dev/null +++ b/tests/assembly/targets/armv7k_apple_watchos.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7k-apple-watchos +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7r_none_eabi.rs b/tests/assembly/targets/armv7r_none_eabi.rs new file mode 100644 index 0000000000000..d9a5a4583179e --- /dev/null +++ b/tests/assembly/targets/armv7r_none_eabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7r-none-eabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7r_none_eabihf.rs b/tests/assembly/targets/armv7r_none_eabihf.rs new file mode 100644 index 0000000000000..41879db2bf028 --- /dev/null +++ b/tests/assembly/targets/armv7r_none_eabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7r-none-eabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/armv7s_apple_ios.rs b/tests/assembly/targets/armv7s_apple_ios.rs new file mode 100644 index 0000000000000..7b17d1b78f349 --- /dev/null +++ b/tests/assembly/targets/armv7s_apple_ios.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target armv7s-apple-ios +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/asmjs_unknown_emscripten.rs b/tests/assembly/targets/asmjs_unknown_emscripten.rs new file mode 100644 index 0000000000000..84b8978b06e19 --- /dev/null +++ b/tests/assembly/targets/asmjs_unknown_emscripten.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target asmjs-unknown-emscripten +// needs-llvm-components: webassembly + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/avr_unknown_gnu_atmega328.rs b/tests/assembly/targets/avr_unknown_gnu_atmega328.rs new file mode 100644 index 0000000000000..6f54edd2a7d66 --- /dev/null +++ b/tests/assembly/targets/avr_unknown_gnu_atmega328.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target avr-unknown-gnu-atmega328 +// needs-llvm-components: avr + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/bpfeb_unknown_none.rs b/tests/assembly/targets/bpfeb_unknown_none.rs new file mode 100644 index 0000000000000..b7d4e1752f5c1 --- /dev/null +++ b/tests/assembly/targets/bpfeb_unknown_none.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target bpfeb-unknown-none +// needs-llvm-components: bpf + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/bpfel_unknown_none.rs b/tests/assembly/targets/bpfel_unknown_none.rs new file mode 100644 index 0000000000000..814b235d5a536 --- /dev/null +++ b/tests/assembly/targets/bpfel_unknown_none.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target bpfel-unknown-none +// needs-llvm-components: bpf + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/csky_unknown_linux_gnuabiv2.rs b/tests/assembly/targets/csky_unknown_linux_gnuabiv2.rs new file mode 100644 index 0000000000000..856ad90bc3cca --- /dev/null +++ b/tests/assembly/targets/csky_unknown_linux_gnuabiv2.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target csky-unknown-linux-gnuabiv2 +// needs-llvm-components: csky + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/hexagon_unknown_linux_musl.rs b/tests/assembly/targets/hexagon_unknown_linux_musl.rs new file mode 100644 index 0000000000000..ab19bc2ecdcb2 --- /dev/null +++ b/tests/assembly/targets/hexagon_unknown_linux_musl.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target hexagon-unknown-linux-musl +// needs-llvm-components: hexagon + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i386_apple_ios.rs b/tests/assembly/targets/i386_apple_ios.rs new file mode 100644 index 0000000000000..db49cf95cfc65 --- /dev/null +++ b/tests/assembly/targets/i386_apple_ios.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i386-apple-ios +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i386_unknown_linux_gnu.rs b/tests/assembly/targets/i386_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..b7d1a09a3d658 --- /dev/null +++ b/tests/assembly/targets/i386_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i386-unknown-linux-gnu +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i486_unknown_linux_gnu.rs b/tests/assembly/targets/i486_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..955c3eee4708e --- /dev/null +++ b/tests/assembly/targets/i486_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i486-unknown-linux-gnu +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i586_pc_nto_qnx700.rs b/tests/assembly/targets/i586_pc_nto_qnx700.rs new file mode 100644 index 0000000000000..8db532380be40 --- /dev/null +++ b/tests/assembly/targets/i586_pc_nto_qnx700.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i586-pc-nto-qnx700 +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i586_pc_windows_msvc.rs b/tests/assembly/targets/i586_pc_windows_msvc.rs new file mode 100644 index 0000000000000..12bc5f078d99c --- /dev/null +++ b/tests/assembly/targets/i586_pc_windows_msvc.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i586-pc-windows-msvc +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i586_unknown_linux_gnu.rs b/tests/assembly/targets/i586_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..1cc943f67f846 --- /dev/null +++ b/tests/assembly/targets/i586_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i586-unknown-linux-gnu +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i586_unknown_linux_musl.rs b/tests/assembly/targets/i586_unknown_linux_musl.rs new file mode 100644 index 0000000000000..628bd748777dc --- /dev/null +++ b/tests/assembly/targets/i586_unknown_linux_musl.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i586-unknown-linux-musl +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i686_apple_darwin.rs b/tests/assembly/targets/i686_apple_darwin.rs new file mode 100644 index 0000000000000..981f536337b54 --- /dev/null +++ b/tests/assembly/targets/i686_apple_darwin.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i686-apple-darwin +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i686_linux_android.rs b/tests/assembly/targets/i686_linux_android.rs new file mode 100644 index 0000000000000..9ab7fb0dc375e --- /dev/null +++ b/tests/assembly/targets/i686_linux_android.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i686-linux-android +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i686_pc_windows_gnu.rs b/tests/assembly/targets/i686_pc_windows_gnu.rs new file mode 100644 index 0000000000000..c0e795a1ace38 --- /dev/null +++ b/tests/assembly/targets/i686_pc_windows_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-pc-windows-gnu +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .text diff --git a/tests/assembly/targets/i686_pc_windows_gnullvm.rs b/tests/assembly/targets/i686_pc_windows_gnullvm.rs new file mode 100644 index 0000000000000..5735b8f8d08db --- /dev/null +++ b/tests/assembly/targets/i686_pc_windows_gnullvm.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i686-pc-windows-gnullvm +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .text diff --git a/tests/assembly/targets/i686_pc_windows_msvc.rs b/tests/assembly/targets/i686_pc_windows_msvc.rs new file mode 100644 index 0000000000000..5a24fe989f091 --- /dev/null +++ b/tests/assembly/targets/i686_pc_windows_msvc.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i686-pc-windows-msvc +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i686_unknown_freebsd.rs b/tests/assembly/targets/i686_unknown_freebsd.rs new file mode 100644 index 0000000000000..398d0f344e7f1 --- /dev/null +++ b/tests/assembly/targets/i686_unknown_freebsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i686-unknown-freebsd +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i686_unknown_haiku.rs b/tests/assembly/targets/i686_unknown_haiku.rs new file mode 100644 index 0000000000000..28dd957f07e25 --- /dev/null +++ b/tests/assembly/targets/i686_unknown_haiku.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i686-unknown-haiku +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i686_unknown_linux_gnu.rs b/tests/assembly/targets/i686_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..f57eddd7e9b43 --- /dev/null +++ b/tests/assembly/targets/i686_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i686-unknown-linux-gnu +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i686_unknown_linux_musl.rs b/tests/assembly/targets/i686_unknown_linux_musl.rs new file mode 100644 index 0000000000000..44ca1fa24b3f0 --- /dev/null +++ b/tests/assembly/targets/i686_unknown_linux_musl.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i686-unknown-linux-musl +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i686_unknown_netbsd.rs b/tests/assembly/targets/i686_unknown_netbsd.rs new file mode 100644 index 0000000000000..a6bf302326df7 --- /dev/null +++ b/tests/assembly/targets/i686_unknown_netbsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i686-unknown-netbsd +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i686_unknown_openbsd.rs b/tests/assembly/targets/i686_unknown_openbsd.rs new file mode 100644 index 0000000000000..9bd9f8958a738 --- /dev/null +++ b/tests/assembly/targets/i686_unknown_openbsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i686-unknown-openbsd +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i686_unknown_uefi.rs b/tests/assembly/targets/i686_unknown_uefi.rs new file mode 100644 index 0000000000000..4a6f1f6abc1a3 --- /dev/null +++ b/tests/assembly/targets/i686_unknown_uefi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i686-unknown-uefi +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/i686_uwp_windows_gnu.rs b/tests/assembly/targets/i686_uwp_windows_gnu.rs new file mode 100644 index 0000000000000..ee9c20eeb9e8b --- /dev/null +++ b/tests/assembly/targets/i686_uwp_windows_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i686-uwp-windows-gnu +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .text diff --git a/tests/assembly/targets/i686_uwp_windows_msvc.rs b/tests/assembly/targets/i686_uwp_windows_msvc.rs new file mode 100644 index 0000000000000..28f8eb321b1e7 --- /dev/null +++ b/tests/assembly/targets/i686_uwp_windows_msvc.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i686-uwp-windows-msvc +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .text diff --git a/tests/assembly/targets/i686_wrs_vxworks.rs b/tests/assembly/targets/i686_wrs_vxworks.rs new file mode 100644 index 0000000000000..772972a5253c4 --- /dev/null +++ b/tests/assembly/targets/i686_wrs_vxworks.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target i686-wrs-vxworks +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/loongarch64_unknown_linux_gnu.rs b/tests/assembly/targets/loongarch64_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..3c27630957c5b --- /dev/null +++ b/tests/assembly/targets/loongarch64_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target loongarch64-unknown-linux-gnu +// needs-llvm-components: loongarch + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/loongarch64_unknown_none.rs b/tests/assembly/targets/loongarch64_unknown_none.rs new file mode 100644 index 0000000000000..8dfaad6c9e52e --- /dev/null +++ b/tests/assembly/targets/loongarch64_unknown_none.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target loongarch64-unknown-none +// needs-llvm-components: loongarch + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/loongarch64_unknown_none_softfloat.rs b/tests/assembly/targets/loongarch64_unknown_none_softfloat.rs new file mode 100644 index 0000000000000..3b2b7088dbd27 --- /dev/null +++ b/tests/assembly/targets/loongarch64_unknown_none_softfloat.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target loongarch64-unknown-none-softfloat +// needs-llvm-components: loongarch + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/m68k_unknown_linux_gnu.rs b/tests/assembly/targets/m68k_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..03590f4a71696 --- /dev/null +++ b/tests/assembly/targets/m68k_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target m68k-unknown-linux-gnu +// needs-llvm-components: m68k + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mips64_openwrt_linux_musl.rs b/tests/assembly/targets/mips64_openwrt_linux_musl.rs new file mode 100644 index 0000000000000..bc7b8e8b69ac5 --- /dev/null +++ b/tests/assembly/targets/mips64_openwrt_linux_musl.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mips64-openwrt-linux-musl +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mips64_unknown_linux_gnuabi64.rs b/tests/assembly/targets/mips64_unknown_linux_gnuabi64.rs new file mode 100644 index 0000000000000..e74d52d7316b4 --- /dev/null +++ b/tests/assembly/targets/mips64_unknown_linux_gnuabi64.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mips64-unknown-linux-gnuabi64 +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mips64_unknown_linux_muslabi64.rs b/tests/assembly/targets/mips64_unknown_linux_muslabi64.rs new file mode 100644 index 0000000000000..86b9951b29925 --- /dev/null +++ b/tests/assembly/targets/mips64_unknown_linux_muslabi64.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mips64-unknown-linux-muslabi64 +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mips64el_unknown_linux_gnuabi64.rs b/tests/assembly/targets/mips64el_unknown_linux_gnuabi64.rs new file mode 100644 index 0000000000000..ec9d3b93f2f44 --- /dev/null +++ b/tests/assembly/targets/mips64el_unknown_linux_gnuabi64.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mips64el-unknown-linux-gnuabi64 +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mips64el_unknown_linux_muslabi64.rs b/tests/assembly/targets/mips64el_unknown_linux_muslabi64.rs new file mode 100644 index 0000000000000..f64914027c9c2 --- /dev/null +++ b/tests/assembly/targets/mips64el_unknown_linux_muslabi64.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mips64el-unknown-linux-muslabi64 +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mips_unknown_linux_gnu.rs b/tests/assembly/targets/mips_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..49b305045fd01 --- /dev/null +++ b/tests/assembly/targets/mips_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mips-unknown-linux-gnu +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mips_unknown_linux_musl.rs b/tests/assembly/targets/mips_unknown_linux_musl.rs new file mode 100644 index 0000000000000..669a151e72627 --- /dev/null +++ b/tests/assembly/targets/mips_unknown_linux_musl.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mips-unknown-linux-musl +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mips_unknown_linux_uclibc.rs b/tests/assembly/targets/mips_unknown_linux_uclibc.rs new file mode 100644 index 0000000000000..3ec7418584ebc --- /dev/null +++ b/tests/assembly/targets/mips_unknown_linux_uclibc.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mips-unknown-linux-uclibc +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mipsel_sony_psp.rs b/tests/assembly/targets/mipsel_sony_psp.rs new file mode 100644 index 0000000000000..d43de4972dd49 --- /dev/null +++ b/tests/assembly/targets/mipsel_sony_psp.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mipsel-sony-psp +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mipsel_sony_psx.rs b/tests/assembly/targets/mipsel_sony_psx.rs new file mode 100644 index 0000000000000..d77ef57018137 --- /dev/null +++ b/tests/assembly/targets/mipsel_sony_psx.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mipsel-sony-psx +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mipsel_unknown_linux_gnu.rs b/tests/assembly/targets/mipsel_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..882090ba239ee --- /dev/null +++ b/tests/assembly/targets/mipsel_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mipsel-unknown-linux-gnu +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mipsel_unknown_linux_musl.rs b/tests/assembly/targets/mipsel_unknown_linux_musl.rs new file mode 100644 index 0000000000000..42ca3fb5d71d2 --- /dev/null +++ b/tests/assembly/targets/mipsel_unknown_linux_musl.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mipsel-unknown-linux-musl +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mipsel_unknown_linux_uclibc.rs b/tests/assembly/targets/mipsel_unknown_linux_uclibc.rs new file mode 100644 index 0000000000000..6889f5204b4c1 --- /dev/null +++ b/tests/assembly/targets/mipsel_unknown_linux_uclibc.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mipsel-unknown-linux-uclibc +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mipsel_unknown_none.rs b/tests/assembly/targets/mipsel_unknown_none.rs new file mode 100644 index 0000000000000..cdbad656cfa80 --- /dev/null +++ b/tests/assembly/targets/mipsel_unknown_none.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mipsel-unknown-none +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mipsisa32r6_unknown_linux_gnu.rs b/tests/assembly/targets/mipsisa32r6_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..0e91ba6402b72 --- /dev/null +++ b/tests/assembly/targets/mipsisa32r6_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mipsisa32r6-unknown-linux-gnu +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mipsisa32r6el_unknown_linux_gnu.rs b/tests/assembly/targets/mipsisa32r6el_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..d3a50d6a5f02a --- /dev/null +++ b/tests/assembly/targets/mipsisa32r6el_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mipsisa32r6el-unknown-linux-gnu +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mipsisa64r6_unknown_linux_gnuabi64.rs b/tests/assembly/targets/mipsisa64r6_unknown_linux_gnuabi64.rs new file mode 100644 index 0000000000000..e787ed540d707 --- /dev/null +++ b/tests/assembly/targets/mipsisa64r6_unknown_linux_gnuabi64.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mipsisa64r6-unknown-linux-gnuabi64 +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/mipsisa64r6el_unknown_linux_gnuabi64.rs b/tests/assembly/targets/mipsisa64r6el_unknown_linux_gnuabi64.rs new file mode 100644 index 0000000000000..5dbb3f2e1a4b1 --- /dev/null +++ b/tests/assembly/targets/mipsisa64r6el_unknown_linux_gnuabi64.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target mipsisa64r6el-unknown-linux-gnuabi64 +// needs-llvm-components: mips + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/msp430_none_elf.rs b/tests/assembly/targets/msp430_none_elf.rs new file mode 100644 index 0000000000000..9486db48bf502 --- /dev/null +++ b/tests/assembly/targets/msp430_none_elf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target msp430-none-elf +// needs-llvm-components: msp430 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/nvptx64_nvidia_cuda.rs b/tests/assembly/targets/nvptx64_nvidia_cuda.rs new file mode 100644 index 0000000000000..884e5fde1e054 --- /dev/null +++ b/tests/assembly/targets/nvptx64_nvidia_cuda.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target nvptx64-nvidia-cuda +// needs-llvm-components: nvptx + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .version diff --git a/tests/assembly/targets/powerpc64_ibm_aix.rs b/tests/assembly/targets/powerpc64_ibm_aix.rs new file mode 100644 index 0000000000000..d4de234f437e1 --- /dev/null +++ b/tests/assembly/targets/powerpc64_ibm_aix.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc64-ibm-aix +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .csect diff --git a/tests/assembly/targets/powerpc64_unknown_freebsd.rs b/tests/assembly/targets/powerpc64_unknown_freebsd.rs new file mode 100644 index 0000000000000..fa36e01961b62 --- /dev/null +++ b/tests/assembly/targets/powerpc64_unknown_freebsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc64-unknown-freebsd +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/powerpc64_unknown_linux_gnu.rs b/tests/assembly/targets/powerpc64_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..274d86ab08f8a --- /dev/null +++ b/tests/assembly/targets/powerpc64_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc64-unknown-linux-gnu +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/powerpc64_unknown_linux_musl.rs b/tests/assembly/targets/powerpc64_unknown_linux_musl.rs new file mode 100644 index 0000000000000..556c4143c52ba --- /dev/null +++ b/tests/assembly/targets/powerpc64_unknown_linux_musl.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc64-unknown-linux-musl +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/powerpc64_unknown_openbsd.rs b/tests/assembly/targets/powerpc64_unknown_openbsd.rs new file mode 100644 index 0000000000000..bee46cb031b14 --- /dev/null +++ b/tests/assembly/targets/powerpc64_unknown_openbsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc64-unknown-openbsd +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/powerpc64_wrs_vxworks.rs b/tests/assembly/targets/powerpc64_wrs_vxworks.rs new file mode 100644 index 0000000000000..d4b25aa513f7f --- /dev/null +++ b/tests/assembly/targets/powerpc64_wrs_vxworks.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc64-wrs-vxworks +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/powerpc64le_unknown_freebsd.rs b/tests/assembly/targets/powerpc64le_unknown_freebsd.rs new file mode 100644 index 0000000000000..14bad84c7731a --- /dev/null +++ b/tests/assembly/targets/powerpc64le_unknown_freebsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc64le-unknown-freebsd +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/powerpc64le_unknown_linux_gnu.rs b/tests/assembly/targets/powerpc64le_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..50cf0e259f826 --- /dev/null +++ b/tests/assembly/targets/powerpc64le_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc64le-unknown-linux-gnu +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/powerpc64le_unknown_linux_musl.rs b/tests/assembly/targets/powerpc64le_unknown_linux_musl.rs new file mode 100644 index 0000000000000..9f46ea52dfee6 --- /dev/null +++ b/tests/assembly/targets/powerpc64le_unknown_linux_musl.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc64le-unknown-linux-musl +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/powerpc_unknown_freebsd.rs b/tests/assembly/targets/powerpc_unknown_freebsd.rs new file mode 100644 index 0000000000000..4e12d3d36205e --- /dev/null +++ b/tests/assembly/targets/powerpc_unknown_freebsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc-unknown-freebsd +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/powerpc_unknown_linux_gnu.rs b/tests/assembly/targets/powerpc_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..98c7c12bb7751 --- /dev/null +++ b/tests/assembly/targets/powerpc_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc-unknown-linux-gnu +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/powerpc_unknown_linux_gnuspe.rs b/tests/assembly/targets/powerpc_unknown_linux_gnuspe.rs new file mode 100644 index 0000000000000..7f0229cae037f --- /dev/null +++ b/tests/assembly/targets/powerpc_unknown_linux_gnuspe.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc-unknown-linux-gnuspe +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/powerpc_unknown_linux_musl.rs b/tests/assembly/targets/powerpc_unknown_linux_musl.rs new file mode 100644 index 0000000000000..7f0229cae037f --- /dev/null +++ b/tests/assembly/targets/powerpc_unknown_linux_musl.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc-unknown-linux-gnuspe +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/powerpc_unknown_netbsd.rs b/tests/assembly/targets/powerpc_unknown_netbsd.rs new file mode 100644 index 0000000000000..0155af289e6bc --- /dev/null +++ b/tests/assembly/targets/powerpc_unknown_netbsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc-unknown-netbsd +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/powerpc_unknown_openbsd.rs b/tests/assembly/targets/powerpc_unknown_openbsd.rs new file mode 100644 index 0000000000000..5a2e9f7436383 --- /dev/null +++ b/tests/assembly/targets/powerpc_unknown_openbsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc-unknown-openbsd +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/powerpc_wrs_vxworks.rs b/tests/assembly/targets/powerpc_wrs_vxworks.rs new file mode 100644 index 0000000000000..ae3883b5ac161 --- /dev/null +++ b/tests/assembly/targets/powerpc_wrs_vxworks.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc-wrs-vxworks +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/powerpc_wrs_vxworks_spe.rs b/tests/assembly/targets/powerpc_wrs_vxworks_spe.rs new file mode 100644 index 0000000000000..f5b67ae63c53b --- /dev/null +++ b/tests/assembly/targets/powerpc_wrs_vxworks_spe.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target powerpc-wrs-vxworks-spe +// needs-llvm-components: powerpc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv32gc_unknown_linux_gnu.rs b/tests/assembly/targets/riscv32gc_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..c94175a1f0252 --- /dev/null +++ b/tests/assembly/targets/riscv32gc_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv32gc-unknown-linux-gnu +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv32gc_unknown_linux_musl.rs b/tests/assembly/targets/riscv32gc_unknown_linux_musl.rs new file mode 100644 index 0000000000000..8842632dd5ca0 --- /dev/null +++ b/tests/assembly/targets/riscv32gc_unknown_linux_musl.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv32gc-unknown-linux-musl +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv32i_unknown_none_elf.rs b/tests/assembly/targets/riscv32i_unknown_none_elf.rs new file mode 100644 index 0000000000000..6e2d8941dcfbc --- /dev/null +++ b/tests/assembly/targets/riscv32i_unknown_none_elf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv32i-unknown-none-elf +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv32im_unknown_none_elf.rs b/tests/assembly/targets/riscv32im_unknown_none_elf.rs new file mode 100644 index 0000000000000..890a456d67f3c --- /dev/null +++ b/tests/assembly/targets/riscv32im_unknown_none_elf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv32im-unknown-none-elf +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv32imac_esp_espidf.rs b/tests/assembly/targets/riscv32imac_esp_espidf.rs new file mode 100644 index 0000000000000..6b2a030a14e25 --- /dev/null +++ b/tests/assembly/targets/riscv32imac_esp_espidf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv32imac-esp-espidf +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv32imac_unknown_none_elf.rs b/tests/assembly/targets/riscv32imac_unknown_none_elf.rs new file mode 100644 index 0000000000000..da11935693f39 --- /dev/null +++ b/tests/assembly/targets/riscv32imac_unknown_none_elf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv32imac-unknown-none-elf +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv32imac_unknown_xous_elf.rs b/tests/assembly/targets/riscv32imac_unknown_xous_elf.rs new file mode 100644 index 0000000000000..3893ee032398f --- /dev/null +++ b/tests/assembly/targets/riscv32imac_unknown_xous_elf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv32imac-unknown-xous-elf +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv32imc_esp_espidf.rs b/tests/assembly/targets/riscv32imc_esp_espidf.rs new file mode 100644 index 0000000000000..c0d0210066464 --- /dev/null +++ b/tests/assembly/targets/riscv32imc_esp_espidf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv32imc-esp-espidf +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv32imc_unknown_none_elf.rs b/tests/assembly/targets/riscv32imc_unknown_none_elf.rs new file mode 100644 index 0000000000000..153169cf4e5e9 --- /dev/null +++ b/tests/assembly/targets/riscv32imc_unknown_none_elf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv32imc-unknown-none-elf +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv64_linux_android.rs b/tests/assembly/targets/riscv64_linux_android.rs new file mode 100644 index 0000000000000..068c2f32937f8 --- /dev/null +++ b/tests/assembly/targets/riscv64_linux_android.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv64-linux-android +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv64gc_unknown_freebsd.rs b/tests/assembly/targets/riscv64gc_unknown_freebsd.rs new file mode 100644 index 0000000000000..43b7af2873125 --- /dev/null +++ b/tests/assembly/targets/riscv64gc_unknown_freebsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv64gc-unknown-freebsd +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv64gc_unknown_fuchsia.rs b/tests/assembly/targets/riscv64gc_unknown_fuchsia.rs new file mode 100644 index 0000000000000..0a0120b5d81b8 --- /dev/null +++ b/tests/assembly/targets/riscv64gc_unknown_fuchsia.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv64gc-unknown-fuchsia +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv64gc_unknown_hermit.rs b/tests/assembly/targets/riscv64gc_unknown_hermit.rs new file mode 100644 index 0000000000000..8de7675f7db9a --- /dev/null +++ b/tests/assembly/targets/riscv64gc_unknown_hermit.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv64gc-unknown-hermit +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv64gc_unknown_linux_gnu.rs b/tests/assembly/targets/riscv64gc_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..806fd5dcdb4a9 --- /dev/null +++ b/tests/assembly/targets/riscv64gc_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv64gc-unknown-linux-gnu +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv64gc_unknown_linux_musl.rs b/tests/assembly/targets/riscv64gc_unknown_linux_musl.rs new file mode 100644 index 0000000000000..942ac81cf8498 --- /dev/null +++ b/tests/assembly/targets/riscv64gc_unknown_linux_musl.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv64gc-unknown-linux-musl +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv64gc_unknown_netbsd.rs b/tests/assembly/targets/riscv64gc_unknown_netbsd.rs new file mode 100644 index 0000000000000..59a111925e133 --- /dev/null +++ b/tests/assembly/targets/riscv64gc_unknown_netbsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv64gc-unknown-netbsd +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv64gc_unknown_none_elf.rs b/tests/assembly/targets/riscv64gc_unknown_none_elf.rs new file mode 100644 index 0000000000000..e5cdc717ff53e --- /dev/null +++ b/tests/assembly/targets/riscv64gc_unknown_none_elf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv64gc-unknown-none-elf +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv64gc_unknown_openbsd.rs b/tests/assembly/targets/riscv64gc_unknown_openbsd.rs new file mode 100644 index 0000000000000..a8d613ba0d2a8 --- /dev/null +++ b/tests/assembly/targets/riscv64gc_unknown_openbsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv64gc-unknown-openbsd +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/riscv64imac_unknown_none_elf.rs b/tests/assembly/targets/riscv64imac_unknown_none_elf.rs new file mode 100644 index 0000000000000..36c89076c1063 --- /dev/null +++ b/tests/assembly/targets/riscv64imac_unknown_none_elf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target riscv64imac-unknown-none-elf +// needs-llvm-components: riscv + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/s390x_unknown_linux_gnu.rs b/tests/assembly/targets/s390x_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..d5ecc99f14f6d --- /dev/null +++ b/tests/assembly/targets/s390x_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target s390x-unknown-linux-gnu +// needs-llvm-components: s390x + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/s390x_unknown_linux_musl.rs b/tests/assembly/targets/s390x_unknown_linux_musl.rs new file mode 100644 index 0000000000000..0803d0a86860e --- /dev/null +++ b/tests/assembly/targets/s390x_unknown_linux_musl.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target s390x-unknown-linux-musl +// needs-llvm-components: s390x + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/sparc64_unknown_linux_gnu.rs b/tests/assembly/targets/sparc64_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..59f42eb78f130 --- /dev/null +++ b/tests/assembly/targets/sparc64_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target sparc64-unknown-linux-gnu +// needs-llvm-components: sparc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/sparc64_unknown_netbsd.rs b/tests/assembly/targets/sparc64_unknown_netbsd.rs new file mode 100644 index 0000000000000..010ab49552ebb --- /dev/null +++ b/tests/assembly/targets/sparc64_unknown_netbsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target sparc64-unknown-netbsd +// needs-llvm-components: sparc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/sparc64_unknown_openbsd.rs b/tests/assembly/targets/sparc64_unknown_openbsd.rs new file mode 100644 index 0000000000000..72e792e89c867 --- /dev/null +++ b/tests/assembly/targets/sparc64_unknown_openbsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target sparc64-unknown-openbsd +// needs-llvm-components: sparc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/sparc_unknown_linux_gnu.rs b/tests/assembly/targets/sparc_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..e721082e4ef84 --- /dev/null +++ b/tests/assembly/targets/sparc_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target sparc-unknown-linux-gnu +// needs-llvm-components: sparc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/sparc_unknown_none_elf.rs b/tests/assembly/targets/sparc_unknown_none_elf.rs new file mode 100644 index 0000000000000..c7ff4601e1d7c --- /dev/null +++ b/tests/assembly/targets/sparc_unknown_none_elf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target sparc-unknown-none-elf +// needs-llvm-components: sparc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/sparcv9_sun_solaris.rs b/tests/assembly/targets/sparcv9_sun_solaris.rs new file mode 100644 index 0000000000000..878394f739863 --- /dev/null +++ b/tests/assembly/targets/sparcv9_sun_solaris.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target sparcv9-sun-solaris +// needs-llvm-components: sparc + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/thumbv4t_none_eabi.rs b/tests/assembly/targets/thumbv4t_none_eabi.rs new file mode 100644 index 0000000000000..c9450112ab2f5 --- /dev/null +++ b/tests/assembly/targets/thumbv4t_none_eabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target thumbv4t-none-eabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/thumbv5te_none_eabi.rs b/tests/assembly/targets/thumbv5te_none_eabi.rs new file mode 100644 index 0000000000000..226da94925882 --- /dev/null +++ b/tests/assembly/targets/thumbv5te_none_eabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target thumbv5te-none-eabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/thumbv6m_none_eabi.rs b/tests/assembly/targets/thumbv6m_none_eabi.rs new file mode 100644 index 0000000000000..7c09b1c791d4c --- /dev/null +++ b/tests/assembly/targets/thumbv6m_none_eabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target thumbv6m-none-eabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/thumbv7a_pc_windows_msvc.rs b/tests/assembly/targets/thumbv7a_pc_windows_msvc.rs new file mode 100644 index 0000000000000..b45c114bedc24 --- /dev/null +++ b/tests/assembly/targets/thumbv7a_pc_windows_msvc.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target thumbv7a-pc-windows-msvc +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .text diff --git a/tests/assembly/targets/thumbv7a_uwp_windows_msvc.rs b/tests/assembly/targets/thumbv7a_uwp_windows_msvc.rs new file mode 100644 index 0000000000000..bb49226063b46 --- /dev/null +++ b/tests/assembly/targets/thumbv7a_uwp_windows_msvc.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target thumbv7a-uwp-windows-msvc +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .text diff --git a/tests/assembly/targets/thumbv7em_none_eabi.rs b/tests/assembly/targets/thumbv7em_none_eabi.rs new file mode 100644 index 0000000000000..e3d8a4ca8fd1b --- /dev/null +++ b/tests/assembly/targets/thumbv7em_none_eabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target thumbv7em-none-eabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/thumbv7em_none_eabihf.rs b/tests/assembly/targets/thumbv7em_none_eabihf.rs new file mode 100644 index 0000000000000..cb0cc19ad669f --- /dev/null +++ b/tests/assembly/targets/thumbv7em_none_eabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target thumbv7em-none-eabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/thumbv7m_none_eabi.rs b/tests/assembly/targets/thumbv7m_none_eabi.rs new file mode 100644 index 0000000000000..3c63bf60e3b72 --- /dev/null +++ b/tests/assembly/targets/thumbv7m_none_eabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target thumbv7m-none-eabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/thumbv7neon_linux_androideabi.rs b/tests/assembly/targets/thumbv7neon_linux_androideabi.rs new file mode 100644 index 0000000000000..aa65d5eaf4ba7 --- /dev/null +++ b/tests/assembly/targets/thumbv7neon_linux_androideabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target thumbv7neon-linux-androideabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/thumbv7neon_unknown_linux_gnueabihf.rs b/tests/assembly/targets/thumbv7neon_unknown_linux_gnueabihf.rs new file mode 100644 index 0000000000000..dd9decd78b36f --- /dev/null +++ b/tests/assembly/targets/thumbv7neon_unknown_linux_gnueabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target thumbv7neon-unknown-linux-gnueabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/thumbv7neon_unknown_linux_musleabihf.rs b/tests/assembly/targets/thumbv7neon_unknown_linux_musleabihf.rs new file mode 100644 index 0000000000000..7cafd633ea2b7 --- /dev/null +++ b/tests/assembly/targets/thumbv7neon_unknown_linux_musleabihf.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target thumbv7neon-unknown-linux-musleabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/thumbv8m_base_none_eabi.rs b/tests/assembly/targets/thumbv8m_base_none_eabi.rs new file mode 100644 index 0000000000000..05506fceb797f --- /dev/null +++ b/tests/assembly/targets/thumbv8m_base_none_eabi.rs @@ -0,0 +1,18 @@ +// assembly-output: emit-asm +// compile-flags: --target thumbv8m.base-none-eabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_name = "thumbv8m_base_none_eabi"] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/thumbv8m_main_none_eabi.rs b/tests/assembly/targets/thumbv8m_main_none_eabi.rs new file mode 100644 index 0000000000000..e7bfe5794d296 --- /dev/null +++ b/tests/assembly/targets/thumbv8m_main_none_eabi.rs @@ -0,0 +1,18 @@ +// assembly-output: emit-asm +// compile-flags: --target thumbv8m.main-none-eabi +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_name = "thumbv8m_main_none_eabi"] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/thumbv8m_main_none_eabihf.rs b/tests/assembly/targets/thumbv8m_main_none_eabihf.rs new file mode 100644 index 0000000000000..3cbecd1125411 --- /dev/null +++ b/tests/assembly/targets/thumbv8m_main_none_eabihf.rs @@ -0,0 +1,18 @@ +// assembly-output: emit-asm +// compile-flags: --target thumbv8m.main-none-eabihf +// needs-llvm-components: arm + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_name = "thumbv8m_main_none_eabihf"] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/wasm32_unknown_emscripten.rs b/tests/assembly/targets/wasm32_unknown_emscripten.rs new file mode 100644 index 0000000000000..fb809fc7d236d --- /dev/null +++ b/tests/assembly/targets/wasm32_unknown_emscripten.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target wasm32-unknown-emscripten +// needs-llvm-components: webassembly + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/wasm32_unknown_unknown.rs b/tests/assembly/targets/wasm32_unknown_unknown.rs new file mode 100644 index 0000000000000..c708ec76a8075 --- /dev/null +++ b/tests/assembly/targets/wasm32_unknown_unknown.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target wasm32-unknown-unknown +// needs-llvm-components: webassembly + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/wasm32_wasi.rs b/tests/assembly/targets/wasm32_wasi.rs new file mode 100644 index 0000000000000..87c89ee518f0f --- /dev/null +++ b/tests/assembly/targets/wasm32_wasi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target wasm32-wasi +// needs-llvm-components: webassembly + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/wasm32_wasi_preview1_threads.rs b/tests/assembly/targets/wasm32_wasi_preview1_threads.rs new file mode 100644 index 0000000000000..7fd67268dd720 --- /dev/null +++ b/tests/assembly/targets/wasm32_wasi_preview1_threads.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target wasm32-wasi-preview1-threads +// needs-llvm-components: webassembly + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/wasm64_unknown_unknown.rs b/tests/assembly/targets/wasm64_unknown_unknown.rs new file mode 100644 index 0000000000000..6c28dfec5dd24 --- /dev/null +++ b/tests/assembly/targets/wasm64_unknown_unknown.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target wasm64-unknown-unknown +// needs-llvm-components: webassembly + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_apple_darwin.rs b/tests/assembly/targets/x86_64_apple_darwin.rs new file mode 100644 index 0000000000000..e841cb2c877f4 --- /dev/null +++ b/tests/assembly/targets/x86_64_apple_darwin.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-apple-darwin +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_apple_ios.rs b/tests/assembly/targets/x86_64_apple_ios.rs new file mode 100644 index 0000000000000..b1e0c46bb8c7e --- /dev/null +++ b/tests/assembly/targets/x86_64_apple_ios.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-apple-ios +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_apple_ios_macabi.rs b/tests/assembly/targets/x86_64_apple_ios_macabi.rs new file mode 100644 index 0000000000000..3a02346c28d24 --- /dev/null +++ b/tests/assembly/targets/x86_64_apple_ios_macabi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-apple-ios-macabi +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_apple_tvos.rs b/tests/assembly/targets/x86_64_apple_tvos.rs new file mode 100644 index 0000000000000..c8d30b8d48bb9 --- /dev/null +++ b/tests/assembly/targets/x86_64_apple_tvos.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-apple-tvos +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_apple_watchos_sim.rs b/tests/assembly/targets/x86_64_apple_watchos_sim.rs new file mode 100644 index 0000000000000..0f49937af260a --- /dev/null +++ b/tests/assembly/targets/x86_64_apple_watchos_sim.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-apple-watchos-sim +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_fortanix_unknown_sgx.rs b/tests/assembly/targets/x86_64_fortanix_unknown_sgx.rs new file mode 100644 index 0000000000000..81ca26d8dc085 --- /dev/null +++ b/tests/assembly/targets/x86_64_fortanix_unknown_sgx.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-fortanix-unknown-sgx +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_fuchsia.rs b/tests/assembly/targets/x86_64_fuchsia.rs new file mode 100644 index 0000000000000..427f08f4b72f9 --- /dev/null +++ b/tests/assembly/targets/x86_64_fuchsia.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-fuchsia +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_linux_android.rs b/tests/assembly/targets/x86_64_linux_android.rs new file mode 100644 index 0000000000000..0f060fcf09f61 --- /dev/null +++ b/tests/assembly/targets/x86_64_linux_android.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-linux-android +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_pc_nto_qnx710.rs b/tests/assembly/targets/x86_64_pc_nto_qnx710.rs new file mode 100644 index 0000000000000..6fddf29f240ea --- /dev/null +++ b/tests/assembly/targets/x86_64_pc_nto_qnx710.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-pc-nto-qnx710 +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_pc_solaris.rs b/tests/assembly/targets/x86_64_pc_solaris.rs new file mode 100644 index 0000000000000..44f87de0556fd --- /dev/null +++ b/tests/assembly/targets/x86_64_pc_solaris.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-pc-solaris +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_pc_windows_gnu.rs b/tests/assembly/targets/x86_64_pc_windows_gnu.rs new file mode 100644 index 0000000000000..c0e795a1ace38 --- /dev/null +++ b/tests/assembly/targets/x86_64_pc_windows_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-pc-windows-gnu +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .text diff --git a/tests/assembly/targets/x86_64_pc_windows_gnullvm.rs b/tests/assembly/targets/x86_64_pc_windows_gnullvm.rs new file mode 100644 index 0000000000000..3c805d23bc94b --- /dev/null +++ b/tests/assembly/targets/x86_64_pc_windows_gnullvm.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-pc-windows-gnullvm +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .text diff --git a/tests/assembly/targets/x86_64_pc_windows_msvc.rs b/tests/assembly/targets/x86_64_pc_windows_msvc.rs new file mode 100644 index 0000000000000..0bf35a5b6bc8b --- /dev/null +++ b/tests/assembly/targets/x86_64_pc_windows_msvc.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-pc-windows-msvc +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_sun_solaris.rs b/tests/assembly/targets/x86_64_sun_solaris.rs new file mode 100644 index 0000000000000..1ff2bd45acf4e --- /dev/null +++ b/tests/assembly/targets/x86_64_sun_solaris.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-sun-solaris +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unikraft_linux_musl.rs b/tests/assembly/targets/x86_64_unikraft_linux_musl.rs new file mode 100644 index 0000000000000..ea2e89d80bf2f --- /dev/null +++ b/tests/assembly/targets/x86_64_unikraft_linux_musl.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unikraft-linux-musl +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_dragonfly.rs b/tests/assembly/targets/x86_64_unknown_dragonfly.rs new file mode 100644 index 0000000000000..906b3f5643682 --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_dragonfly.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-dragonfly +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_freebsd.rs b/tests/assembly/targets/x86_64_unknown_freebsd.rs new file mode 100644 index 0000000000000..3d1b7e3e2f505 --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_freebsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-freebsd +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_fuchsia.rs b/tests/assembly/targets/x86_64_unknown_fuchsia.rs new file mode 100644 index 0000000000000..b9e26271b8c3e --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_fuchsia.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-fuchsia +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_haiku.rs b/tests/assembly/targets/x86_64_unknown_haiku.rs new file mode 100644 index 0000000000000..92b2e6e6d9757 --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_haiku.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-haiku +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_hermit.rs b/tests/assembly/targets/x86_64_unknown_hermit.rs new file mode 100644 index 0000000000000..f63b8dc8319b5 --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_hermit.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-hermit +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_illumos.rs b/tests/assembly/targets/x86_64_unknown_illumos.rs new file mode 100644 index 0000000000000..9f433b58116c8 --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_illumos.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-illumos +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_l4re_uclibc.rs b/tests/assembly/targets/x86_64_unknown_l4re_uclibc.rs new file mode 100644 index 0000000000000..4cefb05b255a9 --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_l4re_uclibc.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-l4re-uclibc +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_linux_gnu.rs b/tests/assembly/targets/x86_64_unknown_linux_gnu.rs new file mode 100644 index 0000000000000..4ecb63ecf0bcc --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_linux_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-linux-gnu +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_linux_gnux32.rs b/tests/assembly/targets/x86_64_unknown_linux_gnux32.rs new file mode 100644 index 0000000000000..e9b7b29dca300 --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_linux_gnux32.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-linux-gnux32 +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_linux_musl.rs b/tests/assembly/targets/x86_64_unknown_linux_musl.rs new file mode 100644 index 0000000000000..cf78bd5cb5766 --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_linux_musl.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-linux-musl +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_linux_ohos.rs b/tests/assembly/targets/x86_64_unknown_linux_ohos.rs new file mode 100644 index 0000000000000..9aae97e4367c5 --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_linux_ohos.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-linux-ohos +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_netbsd.rs b/tests/assembly/targets/x86_64_unknown_netbsd.rs new file mode 100644 index 0000000000000..1a490141c5d6a --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_netbsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-netbsd +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_none.rs b/tests/assembly/targets/x86_64_unknown_none.rs new file mode 100644 index 0000000000000..08651ccfa8f43 --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_none.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-none +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_openbsd.rs b/tests/assembly/targets/x86_64_unknown_openbsd.rs new file mode 100644 index 0000000000000..cfe5c6a2aa462 --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_openbsd.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-openbsd +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_redox.rs b/tests/assembly/targets/x86_64_unknown_redox.rs new file mode 100644 index 0000000000000..fe89512505d1e --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_redox.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-redox +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_unknown_uefi.rs b/tests/assembly/targets/x86_64_unknown_uefi.rs new file mode 100644 index 0000000000000..6c1c367d3e94d --- /dev/null +++ b/tests/assembly/targets/x86_64_unknown_uefi.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-unknown-uefi +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64_uwp_windows_gnu.rs b/tests/assembly/targets/x86_64_uwp_windows_gnu.rs new file mode 100644 index 0000000000000..bca3a648a9d50 --- /dev/null +++ b/tests/assembly/targets/x86_64_uwp_windows_gnu.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-uwp-windows-gnu +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .text diff --git a/tests/assembly/targets/x86_64_uwp_windows_msvc.rs b/tests/assembly/targets/x86_64_uwp_windows_msvc.rs new file mode 100644 index 0000000000000..a4ebaf1e0fcc9 --- /dev/null +++ b/tests/assembly/targets/x86_64_uwp_windows_msvc.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-uwp-windows-msvc +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .text diff --git a/tests/assembly/targets/x86_64_wrs_vxworks.rs b/tests/assembly/targets/x86_64_wrs_vxworks.rs new file mode 100644 index 0000000000000..344dc6943339c --- /dev/null +++ b/tests/assembly/targets/x86_64_wrs_vxworks.rs @@ -0,0 +1,17 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64-wrs-vxworks +// needs-llvm-components: x86 + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section diff --git a/tests/assembly/targets/x86_64h_apple_darwin.rs b/tests/assembly/targets/x86_64h_apple_darwin.rs new file mode 100644 index 0000000000000..fbd3ea182303d --- /dev/null +++ b/tests/assembly/targets/x86_64h_apple_darwin.rs @@ -0,0 +1,18 @@ +// assembly-output: emit-asm +// compile-flags: --target x86_64h-apple-darwin +// needs-llvm-components: x86 +// only-macos + +#![feature(no_core, lang_items)] +#![no_std] +#![no_core] +#![crate_type = "lib"] + +#[lang = "sized"] +trait Sized {} + +pub fn test() -> u8 { + 42 +} + +// CHECK: .section