1
Fork 0

Auto merge of #136953 - ken-matsui:import-target-metadata, r=workingjubilee

rustc_target: import TargetMetadata
This commit is contained in:
bors 2025-02-17 02:01:59 +00:00
commit d5eb31c934
274 changed files with 679 additions and 568 deletions

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetOptions};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("macos", Arch::Arm64, TargetAbi::Normal);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Apple macOS (11.0+, Big Sur+)".into()),
tier: Some(1),
host_tools: Some(true),

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetOptions};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("ios", Arch::Arm64, TargetAbi::Normal);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Apple iOS".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetOptions};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("ios", Arch::Arm64, TargetAbi::MacCatalyst);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Apple Mac Catalyst".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetOptions};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("ios", Arch::Arm64, TargetAbi::Simulator);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Apple iOS Simulator".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{FramePointer, Target, TargetOptions};
use crate::spec::{FramePointer, Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("tvos", Arch::Arm64, TargetAbi::Normal);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Apple tvOS".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{FramePointer, Target, TargetOptions};
use crate::spec::{FramePointer, Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("tvos", Arch::Arm64, TargetAbi::Simulator);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Apple tvOS Simulator".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetOptions};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("visionos", Arch::Arm64, TargetAbi::Normal);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Apple visionOS".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetOptions};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("visionos", Arch::Arm64, TargetAbi::Simulator);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Apple visionOS simulator".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{Target, TargetOptions};
use crate::spec::{Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("watchos", Arch::Arm64, TargetAbi::Normal);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Apple watchOS".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{FramePointer, Target, TargetOptions};
use crate::spec::{FramePointer, Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("watchos", Arch::Arm64, TargetAbi::Simulator);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Apple watchOS Simulator".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use rustc_abi::Endian;
use crate::spec::{StackProbeType, Target, TargetOptions, base};
use crate::spec::{StackProbeType, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64_be-unknown-linux-gnu".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Linux (big-endian)".into()),
tier: Some(3),
host_tools: Some(true),

View file

@ -1,6 +1,6 @@
use rustc_abi::Endian;
use crate::spec::{StackProbeType, Target, TargetOptions, base};
use crate::spec::{StackProbeType, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
let mut base = base::linux_gnu::opts();
@ -8,7 +8,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64_be-unknown-linux-gnu_ilp32".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Linux (big-endian, ILP32 ABI)".into()),
tier: Some(3),
host_tools: Some(true),

View file

@ -1,11 +1,11 @@
use rustc_abi::Endian;
use crate::spec::{StackProbeType, Target, TargetOptions, base};
use crate::spec::{StackProbeType, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64_be-unknown-netbsd".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 NetBSD (big-endian)".into()),
tier: Some(3),
host_tools: Some(true),

View file

@ -1,10 +1,10 @@
use crate::spec::{RelocModel, StackProbeType, Target, TargetOptions, base};
use crate::spec::{RelocModel, StackProbeType, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
let base = base::solid::opts("asp3");
Target {
llvm_target: "aarch64-unknown-none".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 SOLID with TOPPERS/ASP3".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{SanitizerSet, StackProbeType, Target, TargetOptions, base};
use crate::spec::{SanitizerSet, StackProbeType, Target, TargetMetadata, TargetOptions, base};
// See https://developer.android.com/ndk/guides/abis.html#arm64-v8a
// for target ABI requirements.
@ -6,7 +6,7 @@ use crate::spec::{SanitizerSet, StackProbeType, Target, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-linux-android".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Android".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,5 +1,6 @@
use crate::spec::{
Cc, LinkerFlavor, Lld, PanicStrategy, RelroLevel, StackProbeType, Target, TargetOptions,
Cc, LinkerFlavor, Lld, PanicStrategy, RelroLevel, StackProbeType, Target, TargetMetadata,
TargetOptions,
};
const LINKER_SCRIPT: &str = include_str!("./aarch64_nintendo_switch_freestanding_linker_script.ld");
@ -8,7 +9,7 @@ const LINKER_SCRIPT: &str = include_str!("./aarch64_nintendo_switch_freestanding
pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-unknown-none".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Nintendo Switch, Horizon".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{Target, base};
use crate::spec::{Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
let mut base = base::windows_gnullvm::opts();
@ -8,7 +8,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-pc-windows-gnu".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 MinGW (Windows 10+), LLVM ABI".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{Target, base};
use crate::spec::{Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
let mut base = base::windows_msvc::opts();
@ -7,7 +7,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-pc-windows-msvc".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Windows MSVC".into()),
tier: Some(2),
host_tools: Some(true),

View file

@ -1,9 +1,9 @@
use crate::spec::{SanitizerSet, StackProbeType, Target, TargetOptions, base};
use crate::spec::{SanitizerSet, StackProbeType, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-unknown-freebsd".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 FreeBSD".into()),
tier: Some(3),
host_tools: Some(true),

View file

@ -1,9 +1,9 @@
use crate::spec::{SanitizerSet, StackProbeType, Target, TargetOptions, base};
use crate::spec::{SanitizerSet, StackProbeType, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-unknown-fuchsia".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Fuchsia".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,9 +1,9 @@
use crate::spec::{StackProbeType, Target, TargetOptions, base};
use crate::spec::{StackProbeType, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-unknown-hermit".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Hermit".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{Cc, LinkerFlavor, SanitizerSet, Target, base};
use crate::spec::{Cc, LinkerFlavor, SanitizerSet, Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
let mut base = base::illumos::opts();
@ -11,7 +11,7 @@ pub(crate) fn target() -> Target {
// LLVM does not currently have a separate illumos target,
// so we still pass Solaris to it
llvm_target: "aarch64-unknown-solaris2.11".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 illumos".into()),
tier: Some(3),
host_tools: Some(true),

View file

@ -1,9 +1,9 @@
use crate::spec::{SanitizerSet, StackProbeType, Target, TargetOptions, base};
use crate::spec::{SanitizerSet, StackProbeType, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-unknown-linux-gnu".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Linux (kernel 4.1, glibc 2.17+)".into()),
tier: Some(1),
host_tools: Some(true),

View file

@ -1,9 +1,9 @@
use crate::spec::{StackProbeType, Target, TargetOptions, base};
use crate::spec::{StackProbeType, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-unknown-linux-gnu_ilp32".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Linux (ILP32 ABI)".into()),
tier: Some(3),
host_tools: Some(true),

View file

@ -1,4 +1,4 @@
use crate::spec::{SanitizerSet, StackProbeType, Target, TargetOptions, base};
use crate::spec::{SanitizerSet, StackProbeType, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
let mut base = base::linux_musl::opts();
@ -17,7 +17,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-unknown-linux-musl".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Linux with musl 1.2.3".into()),
tier: Some(2),
host_tools: Some(true),

View file

@ -1,4 +1,4 @@
use crate::spec::{SanitizerSet, StackProbeType, Target, TargetOptions, base};
use crate::spec::{SanitizerSet, StackProbeType, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
let mut base = base::linux_ohos::opts();
@ -6,7 +6,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-unknown-linux-ohos".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 OpenHarmony".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,9 +1,9 @@
use crate::spec::{StackProbeType, Target, TargetOptions, base};
use crate::spec::{StackProbeType, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-unknown-netbsd".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 NetBSD".into()),
tier: Some(3),
host_tools: Some(true),

View file

@ -8,7 +8,7 @@
use crate::spec::{
Cc, LinkerFlavor, Lld, PanicStrategy, RelocModel, SanitizerSet, StackProbeType, Target,
TargetOptions,
TargetMetadata, TargetOptions,
};
pub(crate) fn target() -> Target {
@ -31,7 +31,7 @@ pub(crate) fn target() -> Target {
};
Target {
llvm_target: "aarch64-unknown-none".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Bare ARM64, hardfloat".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -8,7 +8,7 @@
use crate::spec::{
Cc, LinkerFlavor, Lld, PanicStrategy, RelocModel, SanitizerSet, StackProbeType, Target,
TargetOptions,
TargetMetadata, TargetOptions,
};
pub(crate) fn target() -> Target {
@ -27,7 +27,7 @@ pub(crate) fn target() -> Target {
};
Target {
llvm_target: "aarch64-unknown-none".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Bare ARM64, softfloat".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -8,7 +8,7 @@
use crate::spec::{
Cc, LinkerFlavor, Lld, PanicStrategy, RelocModel, SanitizerSet, StackProbeType, Target,
TargetOptions, cvs,
TargetMetadata, TargetOptions, cvs,
};
pub(crate) fn target() -> Target {
@ -33,7 +33,7 @@ pub(crate) fn target() -> Target {
};
Target {
llvm_target: "aarch64-unknown-none".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("AArch64 NuttX".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,9 +1,9 @@
use crate::spec::{StackProbeType, Target, TargetOptions, base};
use crate::spec::{StackProbeType, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-unknown-openbsd".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 OpenBSD".into()),
tier: Some(3),
host_tools: Some(true),

View file

@ -1,4 +1,4 @@
use crate::spec::{StackProbeType, Target, base};
use crate::spec::{StackProbeType, Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
let mut base = base::redox::opts();
@ -8,7 +8,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-unknown-redox".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 RedoxOS".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{StackProbeType, Target, base};
use crate::spec::{StackProbeType, Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
let mut base = base::teeos::opts();
@ -8,7 +8,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-unknown-none".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 TEEOS".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,11 +1,13 @@
// Trusty OS target for AArch64.
use crate::spec::{LinkSelfContainedDefault, PanicStrategy, RelroLevel, Target, TargetOptions};
use crate::spec::{
LinkSelfContainedDefault, PanicStrategy, RelroLevel, Target, TargetMetadata, TargetOptions,
};
pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-unknown-unknown-musl".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Trusty".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,7 +1,7 @@
// This defines the aarch64 target for UEFI systems as described in the UEFI specification. See the
// uefi-base module for generic UEFI options.
use crate::spec::{LinkerFlavor, Lld, Target, base};
use crate::spec::{LinkerFlavor, Lld, Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
let mut base = base::uefi_msvc::opts();
@ -12,7 +12,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-unknown-windows".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 UEFI".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{Target, base};
use crate::spec::{Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
let mut base = base::windows_uwp_msvc::opts();
@ -7,7 +7,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-pc-windows-msvc".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: None,
tier: Some(3),
host_tools: Some(false),

View file

@ -1,9 +1,9 @@
use crate::spec::{StackProbeType, Target, TargetOptions, base};
use crate::spec::{StackProbeType, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "aarch64-unknown-linux-gnu".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: None,
tier: Some(3),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use crate::spec::{Cc, LinkerFlavor, Lld, PanicStrategy, Target, TargetOptions};
use crate::spec::{Cc, LinkerFlavor, Lld, PanicStrategy, Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
Target {
arch: "amdgpu".into(),
data_layout: "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9".into(),
llvm_target: "amdgcn-amd-amdhsa".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("AMD GPU".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{Target, TargetOptions};
use crate::spec::{Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("watchos", Arch::Arm64_32, TargetAbi::Normal);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64 Apple watchOS with 32-bit pointers".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetOptions};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("macos", Arch::Arm64e, TargetAbi::Normal);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64e Apple Darwin".into()),
tier: Some(3),
host_tools: Some(true),

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetOptions};
use crate::spec::{FramePointer, SanitizerSet, Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("ios", Arch::Arm64e, TargetAbi::Normal);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64e Apple iOS".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{FramePointer, Target, TargetOptions};
use crate::spec::{FramePointer, Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("tvos", Arch::Arm64e, TargetAbi::Normal);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARM64e Apple tvOS".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{LinkerFlavor, Lld, Target, add_link_args, base};
use crate::spec::{LinkerFlavor, Lld, Target, TargetMetadata, add_link_args, base};
pub(crate) fn target() -> Target {
let mut base = base::windows_msvc::opts();
@ -12,7 +12,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "arm64ec-pc-windows-msvc".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Arm64EC Windows MSVC".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,9 +1,9 @@
use crate::spec::{FloatAbi, SanitizerSet, Target, TargetOptions, base};
use crate::spec::{FloatAbi, SanitizerSet, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "arm-linux-androideabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv6 Android".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,9 +1,9 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "arm-unknown-linux-gnueabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv6 Linux (kernel 3.2, glibc 2.17)".into()),
tier: Some(2),
host_tools: Some(true),

View file

@ -1,9 +1,9 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "arm-unknown-linux-gnueabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv6 Linux, hardfloat (kernel 3.2, glibc 2.17)".into()),
tier: Some(2),
host_tools: Some(true),

View file

@ -1,9 +1,9 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "arm-unknown-linux-musleabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv6 Linux with musl 1.2.3".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,9 +1,9 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "arm-unknown-linux-musleabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv6 Linux with musl 1.2.3, hardfloat".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use rustc_abi::Endian;
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armeb-unknown-linux-gnueabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Arm BE8 the default Arm big-endian architecture since Armv6".into()),
tier: Some(3),
host_tools: None, // ?

View file

@ -3,13 +3,14 @@
use rustc_abi::Endian;
use crate::spec::{
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions,
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetMetadata,
TargetOptions,
};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armebv7r-none-eabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Bare Armv7-R, Big Endian".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -3,13 +3,14 @@
use rustc_abi::Endian;
use crate::spec::{
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions,
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetMetadata,
TargetOptions,
};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armebv7r-none-eabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Bare Armv7-R, Big Endian, hardfloat".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -10,13 +10,14 @@
//! `-Clink-arg=-Tmy_script.ld` to override that with a correct linker script.
use crate::spec::{
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions, cvs,
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetMetadata,
TargetOptions, cvs,
};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv4t-none-eabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Bare Armv4T".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,9 +1,9 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv4t-unknown-linux-gnueabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv4T Linux".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
//! Targets the ARMv5TE, with code as `a32` code by default.
use crate::spec::{FloatAbi, FramePointer, Target, TargetOptions, base, cvs};
use crate::spec::{FloatAbi, FramePointer, Target, TargetMetadata, TargetOptions, base, cvs};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv5te-none-eabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Bare Armv5TE".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,9 +1,9 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv5te-unknown-linux-gnueabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv5TE Linux (kernel 4.4, glibc 2.23)".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,9 +1,9 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv5te-unknown-linux-musleabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv5TE Linux with musl 1.2.3".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,9 +1,9 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv5te-unknown-linux-uclibcgnueabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv5TE Linux with uClibc".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,9 +1,9 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv6-unknown-freebsd-gnueabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv6 FreeBSD".into()),
tier: Some(3),
host_tools: Some(true),

View file

@ -1,9 +1,9 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv6-unknown-netbsdelf-eabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv6 NetBSD w/hard-float".into()),
tier: Some(3),
host_tools: Some(true),

View file

@ -1,4 +1,6 @@
use crate::spec::{Cc, FloatAbi, LinkerFlavor, Lld, RelocModel, Target, TargetOptions, cvs};
use crate::spec::{
Cc, FloatAbi, LinkerFlavor, Lld, RelocModel, Target, TargetMetadata, TargetOptions, cvs,
};
/// A base target for Nintendo 3DS devices using the devkitARM toolchain.
///
@ -12,7 +14,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "armv6k-none-eabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv6K Nintendo 3DS, Horizon (Requires devkitARM toolchain)".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,4 +1,6 @@
use crate::spec::{Cc, FloatAbi, LinkerFlavor, Lld, SanitizerSet, Target, TargetOptions, base};
use crate::spec::{
Cc, FloatAbi, LinkerFlavor, Lld, SanitizerSet, Target, TargetMetadata, TargetOptions, base,
};
// This target if is for the baseline of the Android v7a ABI
// in thumb mode. It's named armv7-* instead of thumbv7-*
@ -13,7 +15,7 @@ pub(crate) fn target() -> Target {
base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-march=armv7-a"]);
Target {
llvm_target: "armv7-none-linux-android".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7-A Android".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,11 +1,12 @@
use crate::spec::{
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions, cvs,
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetMetadata,
TargetOptions, cvs,
};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv7-unknown-none-eabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7 RTEMS (Requires RTEMS toolchain and kernel".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,6 +1,8 @@
use rustc_abi::Endian;
use crate::spec::{Cc, FloatAbi, LinkerFlavor, Lld, RelocModel, Target, TargetOptions, cvs};
use crate::spec::{
Cc, FloatAbi, LinkerFlavor, Lld, RelocModel, Target, TargetMetadata, TargetOptions, cvs,
};
/// A base target for PlayStation Vita devices using the VITASDK toolchain (using newlib).
///
@ -14,7 +16,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "thumbv7a-vita-eabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some(
"Armv7-A Cortex-A9 Sony PlayStation Vita (requires VITASDK toolchain)".into(),
),

View file

@ -1,9 +1,9 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv7-unknown-freebsd-gnueabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7-A FreeBSD".into()),
tier: Some(3),
host_tools: Some(true),

View file

@ -1,4 +1,4 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
// This target is for glibc Linux on ARMv7 without thumb-mode, NEON or
// hardfloat.
@ -6,7 +6,7 @@ use crate::spec::{FloatAbi, Target, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv7-unknown-linux-gnueabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7-A Linux (kernel 4.15, glibc 2.27)".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
// This target is for glibc Linux on ARMv7 without NEON or
// thumb-mode. See the thumbv7neon variant for enabling both.
@ -6,7 +6,7 @@ use crate::spec::{FloatAbi, Target, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv7-unknown-linux-gnueabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7-A Linux, hardfloat (kernel 3.2, glibc 2.17)".into()),
tier: Some(2),
host_tools: Some(true),

View file

@ -1,4 +1,4 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
// This target is for musl Linux on ARMv7 without thumb-mode, NEON or
// hardfloat.
@ -8,7 +8,7 @@ pub(crate) fn target() -> Target {
// target.
Target {
llvm_target: "armv7-unknown-linux-musleabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7-A Linux with musl 1.2.3".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
// This target is for musl Linux on ARMv7 without thumb-mode or NEON.
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv7-unknown-linux-musleabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7-A Linux with musl 1.2.3, hardfloat".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
// This target is for OpenHarmony on ARMv7 Linux with thumb-mode, but no NEON or
// hardfloat.
@ -8,7 +8,7 @@ pub(crate) fn target() -> Target {
// target.
Target {
llvm_target: "armv7-unknown-linux-ohos".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7-A OpenHarmony".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
// This target is for uclibc Linux on ARMv7 without NEON,
// thumb-mode or hardfloat.
@ -7,7 +7,7 @@ pub(crate) fn target() -> Target {
let base = base::linux_uclibc::opts();
Target {
llvm_target: "armv7-unknown-linux-gnueabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7-A Linux with uClibc, softfloat".into()),
tier: Some(3),
host_tools: Some(true),

View file

@ -1,4 +1,4 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
// This target is for uclibc Linux on ARMv7 without NEON or
// thumb-mode. See the thumbv7neon variant for enabling both.
@ -7,7 +7,7 @@ pub(crate) fn target() -> Target {
let base = base::linux_uclibc::opts();
Target {
llvm_target: "armv7-unknown-linux-gnueabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7-A Linux with uClibc, hardfloat".into()),
tier: Some(3),
host_tools: None, // ?

View file

@ -1,9 +1,9 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv7-unknown-netbsdelf-eabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7-A NetBSD w/hard-float".into()),
tier: Some(3),
host_tools: Some(true),

View file

@ -1,5 +1,6 @@
use crate::spec::{
FloatAbi, LinkSelfContainedDefault, PanicStrategy, RelroLevel, Target, TargetOptions,
FloatAbi, LinkSelfContainedDefault, PanicStrategy, RelroLevel, Target, TargetMetadata,
TargetOptions,
};
pub(crate) fn target() -> Target {
@ -8,7 +9,7 @@ pub(crate) fn target() -> Target {
// to determine the calling convention and float ABI, and it doesn't
// support the "musleabi" value.
llvm_target: "armv7-unknown-unknown-gnueabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7-A Trusty".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,9 +1,9 @@
use crate::spec::{FloatAbi, Target, TargetOptions, base};
use crate::spec::{FloatAbi, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv7-unknown-linux-gnueabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7-A for VxWorks".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,10 +1,10 @@
use crate::spec::{FloatAbi, RelocModel, Target, TargetOptions, base};
use crate::spec::{FloatAbi, RelocModel, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
let base = base::solid::opts("asp3");
Target {
llvm_target: "armv7a-none-eabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Arm SOLID with TOPPERS/ASP3".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,10 +1,10 @@
use crate::spec::{FloatAbi, RelocModel, Target, TargetOptions, base};
use crate::spec::{FloatAbi, RelocModel, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
let base = base::solid::opts("asp3");
Target {
llvm_target: "armv7a-none-eabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Arm SOLID with TOPPERS/ASP3, hardfloat".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -15,7 +15,8 @@
// linking. rationale: matches `thumb` targets
use crate::spec::{
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions,
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetMetadata,
TargetOptions,
};
pub(crate) fn target() -> Target {
@ -35,7 +36,7 @@ pub(crate) fn target() -> Target {
};
Target {
llvm_target: "armv7a-none-eabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Bare Armv7-A".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -6,7 +6,8 @@
// `thumb` & `aarch64` targets.
use crate::spec::{
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions,
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetMetadata,
TargetOptions,
};
pub(crate) fn target() -> Target {
@ -27,7 +28,7 @@ pub(crate) fn target() -> Target {
};
Target {
llvm_target: "armv7a-none-eabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Bare Armv7-A, hardfloat".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -5,7 +5,8 @@
// configuration without hardware floating point support.
use crate::spec::{
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions, cvs,
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetMetadata,
TargetOptions, cvs,
};
pub(crate) fn target() -> Target {
@ -27,7 +28,7 @@ pub(crate) fn target() -> Target {
};
Target {
llvm_target: "armv7a-none-eabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARMv7-A Cortex-A with NuttX".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -5,7 +5,8 @@
// configuration with hardware floating point support.
use crate::spec::{
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions, cvs,
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetMetadata,
TargetOptions, cvs,
};
pub(crate) fn target() -> Target {
@ -27,7 +28,7 @@ pub(crate) fn target() -> Target {
};
Target {
llvm_target: "armv7a-none-eabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARMv7-A Cortex-A with NuttX (hard float)".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{Target, TargetOptions};
use crate::spec::{Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("watchos", Arch::Armv7k, TargetAbi::Normal);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7-A Apple WatchOS".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,13 +1,14 @@
// Targets the Little-endian Cortex-R4/R5 processor (ARMv7-R)
use crate::spec::{
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions,
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetMetadata,
TargetOptions,
};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv7r-none-eabi".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7-R".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,13 +1,14 @@
// Targets the Little-endian Cortex-R4F/R5F processor (ARMv7-R)
use crate::spec::{
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions,
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetMetadata,
TargetOptions,
};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv7r-none-eabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Armv7-R, hardfloat".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{Target, TargetOptions};
use crate::spec::{Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("ios", Arch::Armv7s, TargetAbi::Normal);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("ARMv7-A Apple-A6 Apple iOS".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,13 +1,14 @@
// Targets the Little-endian Cortex-R52 processor (ARMv8-R)
use crate::spec::{
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions,
Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetMetadata,
TargetOptions,
};
pub(crate) fn target() -> Target {
Target {
llvm_target: "armv8r-none-eabihf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Bare Armv8-R, hardfloat".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use rustc_abi::Endian;
use crate::spec::{Target, base};
use crate::spec::{Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "bpfeb".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("BPF (big endian)".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,11 +1,11 @@
use rustc_abi::Endian;
use crate::spec::{Target, base};
use crate::spec::{Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
Target {
llvm_target: "bpfel".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("BPF (little endian)".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetOptions, base};
use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetMetadata, TargetOptions, base};
// This target is for glibc Linux on Csky
@ -6,7 +6,7 @@ pub(crate) fn target() -> Target {
Target {
//https://github.com/llvm/llvm-project/blob/8b76aea8d8b1b71f6220bc2845abc749f18a19b7/clang/lib/Basic/Targets/CSKY.h
llvm_target: "csky-unknown-linux-gnuabiv2".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("C-SKY abiv2 Linux (little endian)".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetOptions, base};
use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetMetadata, TargetOptions, base};
// This target is for glibc Linux on Csky
@ -6,7 +6,7 @@ pub(crate) fn target() -> Target {
Target {
//https://github.com/llvm/llvm-project/blob/8b76aea8d8b1b71f6220bc2845abc749f18a19b7/clang/lib/Basic/Targets/CSKY.h
llvm_target: "csky-unknown-linux-gnuabiv2".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("C-SKY abiv2 Linux, hardfloat (little endian)".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{Cc, LinkerFlavor, Target, base};
use crate::spec::{Cc, LinkerFlavor, Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
let mut base = base::linux_musl::opts();
@ -15,7 +15,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "hexagon-unknown-linux-musl".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Hexagon Linux with musl 1.2.3".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,9 +1,9 @@
use crate::spec::{PanicStrategy, Target, TargetOptions};
use crate::spec::{PanicStrategy, Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
Target {
llvm_target: "hexagon-unknown-none-elf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("Bare Hexagon (v60+, HVX)".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,5 +1,5 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{Target, TargetOptions};
use crate::spec::{Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
// i386-apple-ios is a simulator target, even though it isn't declared
@ -7,7 +7,7 @@ pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("ios", Arch::I386, TargetAbi::Simulator);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("x86 Apple iOS Simulator".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{StackProbeType, Target, TargetOptions, base};
use crate::spec::{StackProbeType, Target, TargetMetadata, TargetOptions, base};
pub(crate) fn target() -> Target {
let mut base = base::netbsd::opts();
@ -8,7 +8,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "i586-unknown-netbsdelf".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("32-bit x86, resricted to Pentium".into()),
tier: Some(3),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, base};
use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
let mut base = base::redox::opts();
@ -11,12 +11,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "i586-unknown-redox".into(),
metadata: crate::spec::TargetMetadata {
description: None,
tier: None,
host_tools: None,
std: None,
},
metadata: TargetMetadata { description: None, tier: None, host_tools: None, std: None },
pointer_width: 32,
data_layout:
"e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i128:128-f64:32:64-f80:32-n8:16:32-S128"

View file

@ -1,11 +1,11 @@
use crate::spec::base::apple::{Arch, TargetAbi, base};
use crate::spec::{FramePointer, Target, TargetOptions};
use crate::spec::{FramePointer, Target, TargetMetadata, TargetOptions};
pub(crate) fn target() -> Target {
let (opts, llvm_target, arch) = base("macos", Arch::I686, TargetAbi::Normal);
Target {
llvm_target,
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("x86 Apple macOS (10.12+, Sierra+)".into()),
tier: Some(3),
host_tools: Some(true),

View file

@ -1,4 +1,6 @@
use crate::spec::{RustcAbi, SanitizerSet, StackProbeType, Target, TargetOptions, base};
use crate::spec::{
RustcAbi, SanitizerSet, StackProbeType, Target, TargetMetadata, TargetOptions, base,
};
// See https://developer.android.com/ndk/guides/abis.html#x86
// for target ABI requirements.
@ -16,7 +18,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "i686-linux-android".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("32-bit x86 Android".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{Cc, FramePointer, LinkerFlavor, Lld, RustcAbi, Target, base};
use crate::spec::{Cc, FramePointer, LinkerFlavor, Lld, RustcAbi, Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
let mut base = base::windows_gnu::opts();
@ -18,7 +18,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "i686-pc-windows-gnu".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("32-bit MinGW (Windows 10+)".into()),
tier: Some(1),
host_tools: Some(true),

View file

@ -1,4 +1,4 @@
use crate::spec::{Cc, FramePointer, LinkerFlavor, Lld, RustcAbi, Target, base};
use crate::spec::{Cc, FramePointer, LinkerFlavor, Lld, RustcAbi, Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
let mut base = base::windows_gnullvm::opts();
@ -17,7 +17,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "i686-pc-windows-gnu".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("32-bit x86 MinGW (Windows 10+), LLVM ABI".into()),
tier: Some(2),
host_tools: Some(false),

View file

@ -1,4 +1,4 @@
use crate::spec::{LinkerFlavor, Lld, RustcAbi, SanitizerSet, Target, base};
use crate::spec::{LinkerFlavor, Lld, RustcAbi, SanitizerSet, Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
let mut base = base::windows_msvc::opts();
@ -22,7 +22,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "i686-pc-windows-msvc".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("32-bit MSVC (Windows 10+)".into()),
tier: Some(1),
host_tools: Some(true),

View file

@ -1,4 +1,4 @@
use crate::spec::{Cc, LinkerFlavor, Lld, RustcAbi, StackProbeType, Target, base};
use crate::spec::{Cc, LinkerFlavor, Lld, RustcAbi, StackProbeType, Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
let mut base = base::freebsd::opts();
@ -10,7 +10,7 @@ pub(crate) fn target() -> Target {
Target {
llvm_target: "i686-unknown-freebsd".into(),
metadata: crate::spec::TargetMetadata {
metadata: TargetMetadata {
description: Some("32-bit FreeBSD".into()),
tier: Some(2),
host_tools: Some(false),

Some files were not shown because too many files have changed in this diff Show more