rustc_target: Move linker_flavor
from Target
to TargetOptions
This commit is contained in:
parent
b294cc71a2
commit
d41fe05d1a
159 changed files with 120 additions and 244 deletions
|
@ -19,7 +19,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: arch.to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { target_mcount: "\u{1}mcount".to_string(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use super::apple_sdk_base::{opts, Arch};
|
||||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let base = opts("ios", Arch::Arm64);
|
||||
|
@ -8,7 +8,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
features: "+neon,+fp-armv8,+apple-a7".to_string(),
|
||||
eliminate_frame_pointer: false,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use super::apple_sdk_base::{opts, Arch};
|
||||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let base = opts("tvos", Arch::Arm64);
|
||||
|
@ -8,7 +8,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
features: "+neon,+fp-armv8,+apple-a7".to_string(),
|
||||
eliminate_frame_pointer: false,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, LldFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::fuchsia_base::opts();
|
||||
|
@ -9,7 +9,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
options: TargetOptions { unsupported_abis: super::arm_base::unsupported_abis(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
// See https://developer.android.com/ndk/guides/abis.html#arm64-v8a
|
||||
// for target ABI requirements.
|
||||
|
@ -14,7 +14,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { unsupported_abis: super::arm_base::unsupported_abis(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target};
|
||||
use crate::spec::Target;
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::windows_msvc_base::opts();
|
||||
|
@ -11,7 +11,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:w-p:64:64-i32:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Msvc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target};
|
||||
use crate::spec::Target;
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::cloudabi_base::opts();
|
||||
|
@ -11,7 +11,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::freebsd_base::opts();
|
||||
|
@ -9,7 +9,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { unsupported_abis: super::arm_base::unsupported_abis(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, LldFlavor, Target};
|
||||
use crate::spec::Target;
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::hermit_base::opts();
|
||||
|
@ -9,7 +9,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::linux_base::opts();
|
||||
|
@ -9,7 +9,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
unsupported_abis: super::arm_base::unsupported_abis(),
|
||||
target_mcount: "\u{1}_mcount".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::linux_musl_base::opts();
|
||||
|
@ -9,7 +9,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
unsupported_abis: super::arm_base::unsupported_abis(),
|
||||
target_mcount: "\u{1}_mcount".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::netbsd_base::opts();
|
||||
|
@ -10,7 +10,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { target_mcount: "__mcount".to_string(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@ use super::{LinkerFlavor, LldFlavor, PanicStrategy, RelocModel, Target, TargetOp
|
|||
pub fn target() -> Target {
|
||||
let opts = TargetOptions {
|
||||
target_vendor: String::new(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
linker: Some("rust-lld".to_owned()),
|
||||
features: "+strict-align,+neon,+fp-armv8".to_string(),
|
||||
executables: true,
|
||||
|
@ -27,7 +28,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
options: opts,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@ use super::{LinkerFlavor, LldFlavor, PanicStrategy, RelocModel, Target, TargetOp
|
|||
pub fn target() -> Target {
|
||||
let opts = TargetOptions {
|
||||
target_vendor: String::new(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
linker: Some("rust-lld".to_owned()),
|
||||
features: "+strict-align,-neon,-fp-armv8".to_string(),
|
||||
executables: true,
|
||||
|
@ -27,7 +28,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
options: opts,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target};
|
||||
use crate::spec::Target;
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::openbsd_base::opts();
|
||||
|
@ -10,7 +10,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target};
|
||||
use crate::spec::Target;
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::redox_base::opts();
|
||||
|
@ -9,7 +9,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target};
|
||||
use crate::spec::Target;
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::windows_uwp_msvc_base::opts();
|
||||
|
@ -10,7 +10,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:w-p:64:64-i32:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Msvc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::vxworks_base::opts();
|
||||
|
@ -9,7 +9,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { unsupported_abis: super::arm_base::unsupported_abis(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::android_base::opts();
|
||||
|
@ -11,7 +11,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { unsupported_abis: super::arm_base::unsupported_abis(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::linux_base::opts();
|
||||
|
@ -8,7 +8,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
features: "+strict-align,+v6".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::linux_base::opts();
|
||||
|
@ -8,7 +8,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
features: "+strict-align,+v6,+vfp2,-d32".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::linux_musl_base::opts();
|
||||
|
@ -15,7 +15,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
unsupported_abis: super::arm_base::unsupported_abis(),
|
||||
target_mcount: "\u{1}mcount".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::linux_musl_base::opts();
|
||||
|
@ -15,7 +15,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
unsupported_abis: super::arm_base::unsupported_abis(),
|
||||
target_mcount: "\u{1}mcount".to_string(),
|
||||
|
|
|
@ -9,11 +9,11 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "E-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
target_vendor: String::new(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
executables: true,
|
||||
linker: Some("rust-lld".to_owned()),
|
||||
relocation_model: RelocModel::Static,
|
||||
|
|
|
@ -9,11 +9,11 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "E-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
target_vendor: String::new(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
executables: true,
|
||||
linker: Some("rust-lld".to_owned()),
|
||||
relocation_model: RelocModel::Static,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let base = super::linux_base::opts();
|
||||
|
@ -7,7 +7,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
features: "+soft-float,+strict-align".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let base = super::linux_base::opts();
|
||||
|
@ -7,7 +7,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
features: "+soft-float,+strict-align".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let base = super::linux_musl_base::opts();
|
||||
|
@ -10,7 +10,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
features: "+soft-float,+strict-align".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let base = super::freebsd_base::opts();
|
||||
|
@ -7,7 +7,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
target_env: "gnueabihf".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::netbsd_base::opts();
|
||||
|
@ -8,7 +8,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
target_env: "eabihf".to_string(),
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use super::apple_sdk_base::{opts, Arch};
|
||||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let base = opts("ios", Arch::Armv7);
|
||||
|
@ -8,7 +8,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:o-p:32:32-Fi8-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
features: "+v7,+vfp3,+neon".to_string(),
|
||||
max_atomic_width: Some(64),
|
||||
|
|
|
@ -19,7 +19,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { unsupported_abis: super::arm_base::unsupported_abis(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::cloudabi_base::opts();
|
||||
|
@ -13,7 +13,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { target_mcount: "\u{1}mcount".to_string(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let base = super::freebsd_base::opts();
|
||||
|
@ -7,7 +7,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
target_env: "gnueabihf".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
// This target is for glibc Linux on ARMv7 without thumb-mode, NEON or
|
||||
// hardfloat.
|
||||
|
@ -10,7 +10,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
features: "+v7,+thumb2,+soft-float,-neon".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
// This target is for glibc Linux on ARMv7 without NEON or
|
||||
// thumb-mode. See the thumbv7neon variant for enabling both.
|
||||
|
@ -10,7 +10,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
// Info about features at https://wiki.debian.org/ArmHardFloatPort
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
// This target is for musl Linux on ARMv7 without thumb-mode, NEON or
|
||||
// hardfloat.
|
||||
|
@ -15,7 +15,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
features: "+v7,+thumb2,+soft-float,-neon".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
// This target is for musl Linux on ARMv7 without thumb-mode or NEON.
|
||||
|
||||
|
@ -12,7 +12,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
// Most of these settings are copied from the armv7_unknown_linux_gnueabihf
|
||||
// target.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let base = super::netbsd_base::opts();
|
||||
|
@ -7,7 +7,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
target_env: "eabihf".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let base = super::vxworks_base::opts();
|
||||
|
@ -7,7 +7,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
// Info about features at https://wiki.debian.org/ArmHardFloatPort
|
||||
features: "+v7,+vfp3,-d32,+thumb2,-neon".to_string(),
|
||||
|
|
|
@ -22,6 +22,7 @@ use super::{LinkerFlavor, LldFlavor, PanicStrategy, RelocModel, Target, TargetOp
|
|||
pub fn target() -> Target {
|
||||
let opts = TargetOptions {
|
||||
target_vendor: String::new(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
linker: Some("rust-lld".to_owned()),
|
||||
features: "+v7,+thumb2,+soft-float,-neon,+strict-align".to_string(),
|
||||
executables: true,
|
||||
|
@ -38,7 +39,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
options: opts,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ use super::{LinkerFlavor, LldFlavor, PanicStrategy, RelocModel, Target, TargetOp
|
|||
pub fn target() -> Target {
|
||||
let opts = TargetOptions {
|
||||
target_vendor: String::new(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
linker: Some("rust-lld".to_owned()),
|
||||
features: "+v7,+vfp3,-d32,+thumb2,-neon,+strict-align".to_string(),
|
||||
executables: true,
|
||||
|
@ -26,7 +27,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
options: opts,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,10 +9,10 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
|
||||
options: TargetOptions {
|
||||
target_vendor: String::new(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
executables: true,
|
||||
linker: Some("rust-lld".to_owned()),
|
||||
relocation_model: RelocModel::Static,
|
||||
|
|
|
@ -9,10 +9,10 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
|
||||
options: TargetOptions {
|
||||
target_vendor: String::new(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
executables: true,
|
||||
linker: Some("rust-lld".to_owned()),
|
||||
relocation_model: RelocModel::Static,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use super::apple_sdk_base::{opts, Arch};
|
||||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let base = opts("ios", Arch::Armv7s);
|
||||
|
@ -8,7 +8,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:o-p:32:32-Fi8-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32".to_string(),
|
||||
arch: "arm".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
features: "+v7,+vfp4,+neon".to_string(),
|
||||
max_atomic_width: Some(64),
|
||||
|
|
|
@ -9,7 +9,6 @@ pub fn target(target_cpu: String) -> Target {
|
|||
data_layout: "e-P1-p:16:8-i8:8-i16:8-i32:8-i64:8-f32:8-f64:8-n8-a:8".to_string(),
|
||||
llvm_target: "avr-unknown-unknown".to_string(),
|
||||
pointer_width: 16,
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_c_int_width: "16".to_string(),
|
||||
target_os: "unknown".to_string(),
|
||||
|
|
|
@ -22,6 +22,7 @@ pub fn opts() -> TargetOptions {
|
|||
TargetOptions {
|
||||
target_os: "fuchsia".to_string(),
|
||||
target_vendor: String::new(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
linker: Some("rust-lld".to_owned()),
|
||||
lld_flavor: LldFlavor::Ld,
|
||||
dynamic_linking: true,
|
||||
|
|
|
@ -10,6 +10,7 @@ pub fn opts() -> TargetOptions {
|
|||
|
||||
TargetOptions {
|
||||
target_os: "hermit".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
linker: Some("rust-lld".to_owned()),
|
||||
executables: true,
|
||||
has_elf_tls: true,
|
||||
|
|
|
@ -10,6 +10,7 @@ pub fn opts() -> TargetOptions {
|
|||
|
||||
TargetOptions {
|
||||
target_os: "hermit".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
disable_redzone: true,
|
||||
linker: Some("rust-lld".to_owned()),
|
||||
executables: true,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkArgs, LinkerFlavor, Target};
|
||||
use crate::spec::{LinkArgs, Target};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::linux_musl_base::opts();
|
||||
|
@ -28,7 +28,6 @@ pub fn target() -> Target {
|
|||
)
|
||||
.to_string(),
|
||||
arch: "hexagon".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use super::apple_sdk_base::{opts, Arch};
|
||||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let base = opts("ios", Arch::I386);
|
||||
|
@ -10,7 +10,6 @@ pub fn target() -> Target {
|
|||
f64:32:64-f80:128-n8:16:32-S128"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { max_atomic_width: Some(64), stack_probes: true, ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,6 @@ pub fn target() -> Target {
|
|||
f64:32:64-f80:128-n8:16:32-S128"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { target_mcount: "\u{1}mcount".to_string(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target};
|
||||
use crate::spec::Target;
|
||||
|
||||
// See https://developer.android.com/ndk/guides/abis.html#x86
|
||||
// for target ABI requirements.
|
||||
|
@ -20,7 +20,6 @@ pub fn target() -> Target {
|
|||
f64:32:64-f80:32-n8:16:32-S128"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,6 @@ pub fn target() -> Target {
|
|||
i64:64-f80:32-n8:16:32-a:0:32-S32"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,6 @@ pub fn target() -> Target {
|
|||
i64:64-f80:32-n8:16:32-a:0:32-S32"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Msvc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,6 @@ pub fn target() -> Target {
|
|||
f64:32:64-f80:32-n8:16:32-S128"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,6 @@ pub fn target() -> Target {
|
|||
f64:32:64-f80:32-n8:16:32-S128"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,6 @@ pub fn target() -> Target {
|
|||
f64:32:64-f80:32-n8:16:32-S128"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,6 @@ pub fn target() -> Target {
|
|||
f64:32:64-f80:32-n8:16:32-S128"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,7 +29,6 @@ pub fn target() -> Target {
|
|||
f64:32:64-f80:32-n8:16:32-S128"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,6 @@ pub fn target() -> Target {
|
|||
f64:32:64-f80:32-n8:16:32-S128"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { target_mcount: "__mcount".to_string(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,6 @@ pub fn target() -> Target {
|
|||
f64:32:64-f80:32-n8:16:32-S128"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// 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::{LinkerFlavor, LldFlavor, Target};
|
||||
use crate::spec::Target;
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::uefi_msvc_base::opts();
|
||||
|
@ -83,7 +83,6 @@ pub fn target() -> Target {
|
|||
i64:64-f80:32-n8:16:32-a:0:32-S32"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Link),
|
||||
|
||||
options: base,
|
||||
}
|
||||
|
|
|
@ -22,7 +22,6 @@ pub fn target() -> Target {
|
|||
i64:64-f80:32-n8:16:32-a:0:32-S32"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target};
|
||||
use crate::spec::Target;
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::windows_uwp_msvc_base::opts();
|
||||
|
@ -13,7 +13,6 @@ pub fn target() -> Target {
|
|||
i64:64-f80:32-n8:16:32-a:0:32-S32"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Msvc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,6 @@ pub fn target() -> Target {
|
|||
f64:32:64-f80:32-n8:16:32-S128"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: base,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ pub fn opts() -> TargetOptions {
|
|||
TargetOptions {
|
||||
target_os: "l4re".to_string(),
|
||||
target_env: "uclibc".to_string(),
|
||||
linker_flavor: LinkerFlavor::Ld,
|
||||
executables: true,
|
||||
has_elf_tls: false,
|
||||
panic_strategy: PanicStrategy::Abort,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
|
@ -6,7 +6,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".to_string(),
|
||||
arch: "mips64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
// NOTE(mips64r2) matches C toolchain
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::linux_musl_base::opts();
|
||||
|
@ -11,7 +11,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".to_string(),
|
||||
arch: "mips64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
target_mcount: "_mcount".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
|
@ -6,7 +6,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".to_string(),
|
||||
arch: "mips64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
// NOTE(mips64r2) matches C toolchain
|
||||
cpu: "mips64r2".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::linux_musl_base::opts();
|
||||
|
@ -11,7 +11,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".to_string(),
|
||||
arch: "mips64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { target_mcount: "_mcount".to_string(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
|
@ -6,7 +6,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
|
||||
arch: "mips".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
cpu: "mips32r2".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::linux_musl_base::opts();
|
||||
|
@ -11,7 +11,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
|
||||
arch: "mips".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
target_mcount: "_mcount".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
|
@ -6,7 +6,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
|
||||
arch: "mips".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
cpu: "mips32r2".to_string(),
|
||||
|
|
|
@ -13,11 +13,11 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
|
||||
arch: "mips".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
|
||||
options: TargetOptions {
|
||||
target_os: "psp".to_string(),
|
||||
target_vendor: "sony".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
cpu: "mips2".to_string(),
|
||||
executables: true,
|
||||
linker: Some("rust-lld".to_owned()),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
|
@ -6,7 +6,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
|
||||
arch: "mips".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
cpu: "mips32r2".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::linux_musl_base::opts();
|
||||
|
@ -11,7 +11,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
|
||||
arch: "mips".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { target_mcount: "_mcount".to_string(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
|
@ -6,7 +6,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
|
||||
arch: "mips".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
cpu: "mips32r2".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
|
@ -6,7 +6,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
|
||||
arch: "mips".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
cpu: "mips32r6".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
|
@ -6,7 +6,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
|
||||
arch: "mips".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
cpu: "mips32r6".to_string(),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
|
@ -6,7 +6,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".to_string(),
|
||||
arch: "mips64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
// NOTE(mips64r6) matches C toolchain
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
|
@ -6,7 +6,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".to_string(),
|
||||
arch: "mips64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
// NOTE(mips64r6) matches C toolchain
|
||||
cpu: "mips64r6".to_string(),
|
||||
|
|
|
@ -673,9 +673,6 @@ pub struct Target {
|
|||
pub arch: String,
|
||||
/// [Data layout](http://llvm.org/docs/LangRef.html#data-layout) to pass to LLVM.
|
||||
pub data_layout: String,
|
||||
/// Default linker flavor used if `-C linker-flavor` or `-C linker` are not passed
|
||||
/// on the command line.
|
||||
pub linker_flavor: LinkerFlavor,
|
||||
/// Optional settings with defaults.
|
||||
pub options: TargetOptions,
|
||||
}
|
||||
|
@ -709,6 +706,9 @@ pub struct TargetOptions {
|
|||
pub target_env: String,
|
||||
/// Vendor name to use for conditional compilation. Defaults to "unknown".
|
||||
pub target_vendor: String,
|
||||
/// Default linker flavor used if `-C linker-flavor` or `-C linker` are not passed
|
||||
/// on the command line. Defaults to `LinkerFlavor::Gcc`.
|
||||
pub linker_flavor: LinkerFlavor,
|
||||
|
||||
/// Linker to invoke
|
||||
pub linker: Option<String>,
|
||||
|
@ -993,6 +993,7 @@ impl Default for TargetOptions {
|
|||
target_os: "none".to_string(),
|
||||
target_env: String::new(),
|
||||
target_vendor: "unknown".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
linker: option_env!("CFG_DEFAULT_LINKER").map(|s| s.to_string()),
|
||||
lld_flavor: LldFlavor::Ld,
|
||||
pre_link_args: LinkArgs::new(),
|
||||
|
@ -1161,8 +1162,6 @@ impl Target {
|
|||
.map_err(|_| "target-pointer-width must be an integer".to_string())?,
|
||||
data_layout: get_req_field("data-layout")?,
|
||||
arch: get_req_field("arch")?,
|
||||
linker_flavor: LinkerFlavor::from_str(&*get_req_field("linker-flavor")?)
|
||||
.ok_or_else(|| format!("linker flavor must be {}", LinkerFlavor::one_of()))?,
|
||||
options: Default::default(),
|
||||
};
|
||||
|
||||
|
@ -1314,11 +1313,13 @@ impl Target {
|
|||
} );
|
||||
($key_name:ident, LinkerFlavor) => ( {
|
||||
let name = (stringify!($key_name)).replace("_", "-");
|
||||
obj.find(&name[..]).and_then(|o| o.as_string().map(|s| {
|
||||
LinkerFlavor::from_str(&s).ok_or_else(|| {
|
||||
Err(format!("'{}' is not a valid value for linker-flavor. \
|
||||
Use 'em', 'gcc', 'ld' or 'msvc.", s))
|
||||
})
|
||||
obj.find(&name[..]).and_then(|o| o.as_string().and_then(|s| {
|
||||
match LinkerFlavor::from_str(s) {
|
||||
Some(linker_flavor) => base.options.$key_name = linker_flavor,
|
||||
_ => return Some(Err(format!("'{}' is not a valid value for linker-flavor. \
|
||||
Use {}", s, LinkerFlavor::one_of()))),
|
||||
}
|
||||
Some(Ok(()))
|
||||
})).unwrap_or(Ok(()))
|
||||
} );
|
||||
($key_name:ident, crt_objects_fallback) => ( {
|
||||
|
@ -1410,6 +1411,7 @@ impl Target {
|
|||
key!(target_os = "os");
|
||||
key!(target_env = "env");
|
||||
key!(target_vendor = "vendor");
|
||||
key!(linker_flavor, LinkerFlavor)?;
|
||||
key!(linker, optional);
|
||||
key!(lld_flavor, LldFlavor)?;
|
||||
key!(pre_link_objects, link_objects);
|
||||
|
@ -1640,7 +1642,6 @@ impl ToJson for Target {
|
|||
d.insert("target-pointer-width".to_string(), self.pointer_width.to_string().to_json());
|
||||
target_val!(arch);
|
||||
target_val!(data_layout);
|
||||
target_val!(linker_flavor);
|
||||
|
||||
target_option_val!(is_builtin);
|
||||
target_option_val!(target_endian);
|
||||
|
@ -1648,6 +1649,7 @@ impl ToJson for Target {
|
|||
target_option_val!(target_os, "os");
|
||||
target_option_val!(target_env, "env");
|
||||
target_option_val!(target_vendor, "vendor");
|
||||
target_option_val!(linker_flavor);
|
||||
target_option_val!(linker);
|
||||
target_option_val!(lld_flavor);
|
||||
target_option_val!(pre_link_objects);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{LinkerFlavor, PanicStrategy, RelocModel, Target, TargetOptions};
|
||||
use crate::spec::{PanicStrategy, RelocModel, Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
|
@ -6,7 +6,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 16,
|
||||
data_layout: "e-m:e-p:16:16-i32:16-i64:16-f32:16-f64:16-a:8-n8:16-S16".to_string(),
|
||||
arch: "msp430".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
|
||||
options: TargetOptions {
|
||||
target_c_int_width: "16".to_string(),
|
||||
|
|
|
@ -18,6 +18,7 @@ pub fn opts() -> TargetOptions {
|
|||
pre_link_args.insert(LinkerFlavor::Lld(LldFlavor::Link), pre_link_args_msvc);
|
||||
|
||||
TargetOptions {
|
||||
linker_flavor: LinkerFlavor::Msvc,
|
||||
executables: true,
|
||||
is_like_windows: true,
|
||||
is_like_msvc: true,
|
||||
|
|
|
@ -6,14 +6,12 @@ pub fn target() -> Target {
|
|||
arch: "nvptx64".to_string(),
|
||||
data_layout: "e-i64:64-i128:128-v16:16-v32:32-n16:32:64".to_string(),
|
||||
llvm_target: "nvptx64-nvidia-cuda".to_string(),
|
||||
|
||||
linker_flavor: LinkerFlavor::PtxLinker,
|
||||
|
||||
pointer_width: 64,
|
||||
|
||||
options: TargetOptions {
|
||||
target_os: "cuda".to_string(),
|
||||
target_vendor: "nvidia".to_string(),
|
||||
linker_flavor: LinkerFlavor::PtxLinker,
|
||||
// The linker can be installed from `crates.io`.
|
||||
linker: Some("rust-ptx-linker".to_string()),
|
||||
|
||||
|
|
|
@ -11,7 +11,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "E-m:e-i64:64-n32:64".to_string(),
|
||||
arch: "powerpc64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
target_mcount: "_mcount".to_string(),
|
||||
|
|
|
@ -15,7 +15,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "E-m:e-i64:64-n32:64".to_string(),
|
||||
arch: "powerpc64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
target_mcount: "_mcount".to_string(),
|
||||
|
|
|
@ -11,7 +11,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "E-m:e-i64:64-n32:64".to_string(),
|
||||
arch: "powerpc64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
target_mcount: "_mcount".to_string(),
|
||||
|
|
|
@ -11,7 +11,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "E-m:e-i64:64-n32:64".to_string(),
|
||||
arch: "powerpc64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { target_endian: "big".to_string(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i64:64-n32:64".to_string(),
|
||||
arch: "powerpc64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { target_mcount: "_mcount".to_string(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 64,
|
||||
data_layout: "e-m:e-i64:64-n32:64".to_string(),
|
||||
arch: "powerpc64".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions { target_mcount: "_mcount".to_string(), ..base },
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "E-m:e-p:32:32-i64:64-n32".to_string(),
|
||||
arch: "powerpc".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
target_mcount: "_mcount".to_string(),
|
||||
|
|
|
@ -10,7 +10,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "E-m:e-p:32:32-i64:64-n32".to_string(),
|
||||
arch: "powerpc".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
target_mcount: "_mcount".to_string(),
|
||||
|
|
|
@ -10,7 +10,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "E-m:e-p:32:32-i64:64-n32".to_string(),
|
||||
arch: "powerpc".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
target_mcount: "_mcount".to_string(),
|
||||
|
|
|
@ -10,7 +10,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "E-m:e-p:32:32-i64:64-n32".to_string(),
|
||||
arch: "powerpc".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
target_mcount: "__mcount".to_string(),
|
||||
|
|
|
@ -11,7 +11,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "E-m:e-p:32:32-i64:64-n32".to_string(),
|
||||
arch: "powerpc".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
features: "+secure-plt".to_string(),
|
||||
|
|
|
@ -11,7 +11,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "E-m:e-p:32:32-i64:64-n32".to_string(),
|
||||
arch: "powerpc".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
target_endian: "big".to_string(),
|
||||
// feature msync would disable instruction 'fsync' which is not supported by fsl_p1p2
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::spec::{CodeModel, LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{CodeModel, Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
|
@ -6,7 +6,6 @@ pub fn target() -> Target {
|
|||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-i64:64-n32-S128".to_string(),
|
||||
arch: "riscv32".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
unsupported_abis: super::riscv_base::unsupported_abis(),
|
||||
code_model: Some(CodeModel::Medium),
|
||||
|
|
|
@ -7,9 +7,9 @@ pub fn target() -> Target {
|
|||
llvm_target: "riscv32".to_string(),
|
||||
pointer_width: 32,
|
||||
arch: "riscv32".to_string(),
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
|
||||
options: TargetOptions {
|
||||
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
|
||||
linker: Some("rust-lld".to_string()),
|
||||
cpu: "generic-rv32".to_string(),
|
||||
max_atomic_width: Some(0),
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue