Skip to content

Commit c3fbafd

Browse files
committed
Update targets to use target_abi
All eabi targets have target_abi = "eabi". All eabihf targets have target_abi = "eabihf". armv6_unknown_freebsd and armv7_unknown_freebsd have target_abi = "eabihf". All abi64 targets have target_abi = "abi64". All ilp32 targets have target_abi = "ilp32". All softfloat targets have target_abi = "softfloat". All *-uwp-windows-* targets have target_abi = "uwp". All spe targets have target_abi = "spe". All macabi targets have target_abi = "macabi". aarch64-apple-ios-sim has target_abi = "sim". x86_64-fortanix-unknown-sgx has target_abi = "fortanix". x86_64-unknown-linux-gnux32 has target_abi = "x32". Add FIXME entries for targets for which existing values need to change once cfg_target_abi becomes stable. (All of them are tier 3 targets.) Add a test for target_abi in `--print cfg`.
1 parent 84d6e8a commit c3fbafd

File tree

53 files changed

+94
-7
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+94
-7
lines changed

compiler/rustc_target/src/spec/aarch64_be_unknown_linux_gnu_ilp32.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ pub fn target() -> Target {
1010
pointer_width: 32,
1111
data_layout: "E-m:e-p:32:32-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
1212
arch: "aarch64".to_string(),
13-
options: TargetOptions { mcount: "\u{1}_mcount".to_string(), endian: Endian::Big, ..base },
13+
options: TargetOptions {
14+
abi: "ilp32".to_string(),
15+
mcount: "\u{1}_mcount".to_string(),
16+
endian: Endian::Big,
17+
..base
18+
},
1419
}
1520
}

compiler/rustc_target/src/spec/aarch64_unknown_linux_gnu_ilp32.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pub fn target() -> Target {
77
data_layout: "e-m:e-p:32:32-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
88
arch: "aarch64".to_string(),
99
options: TargetOptions {
10+
abi: "ilp32".to_string(),
1011
max_atomic_width: Some(128),
1112
mcount: "\u{1}_mcount".to_string(),
1213
..super::linux_gnu_base::opts()

compiler/rustc_target/src/spec/aarch64_unknown_none_softfloat.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ use super::{LinkerFlavor, LldFlavor, PanicStrategy, RelocModel, Target, TargetOp
1010

1111
pub fn target() -> Target {
1212
let opts = TargetOptions {
13+
abi: "softfloat".to_string(),
1314
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
1415
linker: Some("rust-lld".to_owned()),
1516
features: "+strict-align,-neon,-fp-armv8".to_string(),

compiler/rustc_target/src/spec/apple_sdk_base.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,15 @@ pub enum Arch {
1414
Arm64_sim,
1515
}
1616

17+
fn target_abi(arch: Arch) -> String {
18+
match arch {
19+
Armv7 | Armv7s | Arm64 | I386 | X86_64 => "",
20+
X86_64_macabi | Arm64_macabi => "macabi",
21+
Arm64_sim => "sim",
22+
}
23+
.to_string()
24+
}
25+
1726
fn target_cpu(arch: Arch) -> String {
1827
match arch {
1928
Armv7 => "cortex-a8", // iOS7 is supported on iPhone 4 and higher
@@ -39,6 +48,7 @@ fn link_env_remove(arch: Arch) -> Vec<String> {
3948

4049
pub fn opts(os: &str, arch: Arch) -> TargetOptions {
4150
TargetOptions {
51+
abi: target_abi(arch),
4252
cpu: target_cpu(arch),
4353
dynamic_linking: false,
4454
executables: true,

compiler/rustc_target/src/spec/arm_linux_androideabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pub fn target() -> Target {
77
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
88
arch: "arm".to_string(),
99
options: TargetOptions {
10+
abi: "eabi".to_string(),
1011
// https://developer.android.com/ndk/guides/abis.html#armeabi
1112
features: "+strict-align,+v5te".to_string(),
1213
max_atomic_width: Some(32),

compiler/rustc_target/src/spec/arm_unknown_linux_gnueabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pub fn target() -> Target {
77
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
88
arch: "arm".to_string(),
99
options: TargetOptions {
10+
abi: "eabi".to_string(),
1011
features: "+strict-align,+v6".to_string(),
1112
max_atomic_width: Some(64),
1213
mcount: "\u{1}__gnu_mcount_nc".to_string(),

compiler/rustc_target/src/spec/arm_unknown_linux_gnueabihf.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pub fn target() -> Target {
77
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
88
arch: "arm".to_string(),
99
options: TargetOptions {
10+
abi: "eabihf".to_string(),
1011
features: "+strict-align,+v6,+vfp2,-d32".to_string(),
1112
max_atomic_width: Some(64),
1213
mcount: "\u{1}__gnu_mcount_nc".to_string(),

compiler/rustc_target/src/spec/arm_unknown_linux_musleabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ pub fn target() -> Target {
1010
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
1111
arch: "arm".to_string(),
1212
options: TargetOptions {
13+
abi: "eabi".to_string(),
1314
// Most of these settings are copied from the arm_unknown_linux_gnueabi
1415
// target.
1516
features: "+strict-align,+v6".to_string(),

compiler/rustc_target/src/spec/arm_unknown_linux_musleabihf.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ pub fn target() -> Target {
1010
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
1111
arch: "arm".to_string(),
1212
options: TargetOptions {
13+
abi: "eabihf".to_string(),
1314
// Most of these settings are copied from the arm_unknown_linux_gnueabihf
1415
// target.
1516
features: "+strict-align,+v6,+vfp2,-d32".to_string(),

compiler/rustc_target/src/spec/armebv7r_none_eabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ pub fn target() -> Target {
1111
data_layout: "E-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
1212
arch: "arm".to_string(),
1313
options: TargetOptions {
14+
abi: "eabi".to_string(),
1415
endian: Endian::Big,
1516
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
1617
executables: true,

compiler/rustc_target/src/spec/armebv7r_none_eabihf.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ pub fn target() -> Target {
1111
data_layout: "E-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
1212
arch: "arm".to_string(),
1313
options: TargetOptions {
14+
abi: "eabihf".to_string(),
1415
endian: Endian::Big,
1516
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
1617
executables: true,

compiler/rustc_target/src/spec/armv4t_unknown_linux_gnueabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pub fn target() -> Target {
77
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
88
arch: "arm".to_string(),
99
options: TargetOptions {
10+
abi: "eabi".to_string(),
1011
features: "+soft-float,+strict-align".to_string(),
1112
// Atomic operations provided by compiler-builtins
1213
max_atomic_width: Some(32),

compiler/rustc_target/src/spec/armv5te_unknown_linux_gnueabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pub fn target() -> Target {
77
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
88
arch: "arm".to_string(),
99
options: TargetOptions {
10+
abi: "eabi".to_string(),
1011
features: "+soft-float,+strict-align".to_string(),
1112
// Atomic operations provided by compiler-builtins
1213
max_atomic_width: Some(32),

compiler/rustc_target/src/spec/armv5te_unknown_linux_musleabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ pub fn target() -> Target {
1111
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
1212
arch: "arm".to_string(),
1313
options: TargetOptions {
14+
abi: "eabi".to_string(),
1415
features: "+soft-float,+strict-align".to_string(),
1516
// Atomic operations provided by compiler-builtins
1617
max_atomic_width: Some(32),

compiler/rustc_target/src/spec/armv5te_unknown_linux_uclibceabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pub fn target() -> Target {
77
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
88
arch: "arm".to_string(),
99
options: TargetOptions {
10+
abi: "eabi".to_string(),
1011
features: "+soft-float,+strict-align".to_string(),
1112
// Atomic operations provided by compiler-builtins
1213
max_atomic_width: Some(32),

compiler/rustc_target/src/spec/armv6_unknown_freebsd.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ pub fn target() -> Target {
77
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
88
arch: "arm".to_string(),
99
options: TargetOptions {
10+
abi: "eabihf".to_string(),
11+
// FIXME: change env to "gnu" when cfg_target_abi becomes stable
1012
env: "gnueabihf".to_string(),
1113
features: "+v6,+vfp2,-d32".to_string(),
1214
max_atomic_width: Some(64),

compiler/rustc_target/src/spec/armv6_unknown_netbsd_eabihf.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ pub fn target() -> Target {
77
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
88
arch: "arm".to_string(),
99
options: TargetOptions {
10+
abi: "eabihf".to_string(),
11+
// FIXME: remove env when cfg_target_abi becomes stable
1012
env: "eabihf".to_string(),
1113
features: "+v6,+vfp2,-d32".to_string(),
1214
max_atomic_width: Some(64),

compiler/rustc_target/src/spec/armv7_linux_androideabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ pub fn target() -> Target {
1717
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
1818
arch: "arm".to_string(),
1919
options: TargetOptions {
20+
abi: "eabi".to_string(),
2021
features: "+v7,+thumb-mode,+thumb2,+vfp3,-d32,-neon".to_string(),
2122
max_atomic_width: Some(64),
2223
..base

compiler/rustc_target/src/spec/armv7_unknown_freebsd.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ pub fn target() -> Target {
77
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
88
arch: "arm".to_string(),
99
options: TargetOptions {
10+
abi: "eabihf".to_string(),
11+
// FIXME: change env to "gnu" when cfg_target_abi becomes stable
1012
env: "gnueabihf".to_string(),
1113
features: "+v7,+vfp3,-d32,+thumb2,-neon".to_string(),
1214
max_atomic_width: Some(64),

compiler/rustc_target/src/spec/armv7_unknown_linux_gnueabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ pub fn target() -> Target {
1010
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
1111
arch: "arm".to_string(),
1212
options: TargetOptions {
13+
abi: "eabi".to_string(),
1314
features: "+v7,+thumb2,+soft-float,-neon".to_string(),
1415
max_atomic_width: Some(64),
1516
mcount: "\u{1}__gnu_mcount_nc".to_string(),

compiler/rustc_target/src/spec/armv7_unknown_linux_gnueabihf.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ pub fn target() -> Target {
1010
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
1111
arch: "arm".to_string(),
1212
options: TargetOptions {
13+
abi: "eabihf".to_string(),
1314
// Info about features at https://wiki.debian.org/ArmHardFloatPort
1415
features: "+v7,+vfp3,-d32,+thumb2,-neon".to_string(),
1516
max_atomic_width: Some(64),

compiler/rustc_target/src/spec/armv7_unknown_linux_musleabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pub fn target() -> Target {
1616
arch: "arm".to_string(),
1717

1818
options: TargetOptions {
19+
abi: "eabi".to_string(),
1920
features: "+v7,+thumb2,+soft-float,-neon".to_string(),
2021
max_atomic_width: Some(64),
2122
mcount: "\u{1}mcount".to_string(),

compiler/rustc_target/src/spec/armv7_unknown_linux_musleabihf.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ pub fn target() -> Target {
1515
// Most of these settings are copied from the armv7_unknown_linux_gnueabihf
1616
// target.
1717
options: TargetOptions {
18+
abi: "eabihf".to_string(),
1819
features: "+v7,+vfp3,-d32,+thumb2,-neon".to_string(),
1920
max_atomic_width: Some(64),
2021
mcount: "\u{1}mcount".to_string(),

compiler/rustc_target/src/spec/armv7_unknown_netbsd_eabihf.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ pub fn target() -> Target {
77
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
88
arch: "arm".to_string(),
99
options: TargetOptions {
10+
abi: "eabihf".to_string(),
11+
// FIXME: remove env when cfg_target_abi becomes stable
1012
env: "eabihf".to_string(),
1113
features: "+v7,+vfp3,-d32,+thumb2,-neon".to_string(),
1214
max_atomic_width: Some(64),

compiler/rustc_target/src/spec/armv7_wrs_vxworks_eabihf.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pub fn target() -> Target {
77
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
88
arch: "arm".to_string(),
99
options: TargetOptions {
10+
abi: "eabihf".to_string(),
1011
// Info about features at https://wiki.debian.org/ArmHardFloatPort
1112
features: "+v7,+vfp3,-d32,+thumb2,-neon".to_string(),
1213
max_atomic_width: Some(64),

compiler/rustc_target/src/spec/armv7a_none_eabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ use super::{LinkerFlavor, LldFlavor, PanicStrategy, RelocModel, Target, TargetOp
1818

1919
pub fn target() -> Target {
2020
let opts = TargetOptions {
21+
abi: "eabi".to_string(),
2122
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
2223
linker: Some("rust-lld".to_owned()),
2324
features: "+v7,+thumb2,+soft-float,-neon,+strict-align".to_string(),

compiler/rustc_target/src/spec/armv7a_none_eabihf.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use super::{LinkerFlavor, LldFlavor, PanicStrategy, RelocModel, Target, TargetOp
99

1010
pub fn target() -> Target {
1111
let opts = TargetOptions {
12+
abi: "eabihf".to_string(),
1213
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
1314
linker: Some("rust-lld".to_owned()),
1415
features: "+v7,+vfp3,-d32,+thumb2,-neon,+strict-align".to_string(),

compiler/rustc_target/src/spec/armv7r_none_eabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ pub fn target() -> Target {
1111
arch: "arm".to_string(),
1212

1313
options: TargetOptions {
14+
abi: "eabi".to_string(),
1415
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
1516
executables: true,
1617
linker: Some("rust-lld".to_owned()),

compiler/rustc_target/src/spec/armv7r_none_eabihf.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ pub fn target() -> Target {
1111
arch: "arm".to_string(),
1212

1313
options: TargetOptions {
14+
abi: "eabihf".to_string(),
1415
linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
1516
executables: true,
1617
linker: Some("rust-lld".to_owned()),

compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ pub fn target() -> Target {
88
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".to_string(),
99
arch: "mips64".to_string(),
1010
options: TargetOptions {
11+
abi: "abi64".to_string(),
1112
endian: Endian::Big,
1213
// NOTE(mips64r2) matches C toolchain
1314
cpu: "mips64r2".to_string(),

compiler/rustc_target/src/spec/mips64_unknown_linux_muslabi64.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ pub fn target() -> Target {
1212
pointer_width: 64,
1313
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".to_string(),
1414
arch: "mips64".to_string(),
15-
options: TargetOptions { endian: Endian::Big, mcount: "_mcount".to_string(), ..base },
15+
options: TargetOptions {
16+
abi: "abi64".to_string(),
17+
endian: Endian::Big,
18+
mcount: "_mcount".to_string(),
19+
..base
20+
},
1621
}
1722
}

compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pub fn target() -> Target {
77
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".to_string(),
88
arch: "mips64".to_string(),
99
options: TargetOptions {
10+
abi: "abi64".to_string(),
1011
// NOTE(mips64r2) matches C toolchain
1112
cpu: "mips64r2".to_string(),
1213
features: "+mips64r2".to_string(),

compiler/rustc_target/src/spec/mips64el_unknown_linux_muslabi64.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ pub fn target() -> Target {
1111
pointer_width: 64,
1212
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".to_string(),
1313
arch: "mips64".to_string(),
14-
options: TargetOptions { mcount: "_mcount".to_string(), ..base },
14+
options: TargetOptions { abi: "abi64".to_string(), mcount: "_mcount".to_string(), ..base },
1515
}
1616
}

compiler/rustc_target/src/spec/mipsisa64r6_unknown_linux_gnuabi64.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ pub fn target() -> Target {
88
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".to_string(),
99
arch: "mips64".to_string(),
1010
options: TargetOptions {
11+
abi: "abi64".to_string(),
1112
endian: Endian::Big,
1213
// NOTE(mips64r6) matches C toolchain
1314
cpu: "mips64r6".to_string(),

compiler/rustc_target/src/spec/mipsisa64r6el_unknown_linux_gnuabi64.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pub fn target() -> Target {
77
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".to_string(),
88
arch: "mips64".to_string(),
99
options: TargetOptions {
10+
abi: "abi64".to_string(),
1011
// NOTE(mips64r6) matches C toolchain
1112
cpu: "mips64r6".to_string(),
1213
features: "+mips64r6".to_string(),

compiler/rustc_target/src/spec/powerpc_unknown_linux_gnuspe.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ pub fn target() -> Target {
1111
pointer_width: 32,
1212
data_layout: "E-m:e-p:32:32-i64:64-n32".to_string(),
1313
arch: "powerpc".to_string(),
14-
options: TargetOptions { endian: Endian::Big, mcount: "_mcount".to_string(), ..base },
14+
options: TargetOptions {
15+
abi: "spe".to_string(),
16+
endian: Endian::Big,
17+
mcount: "_mcount".to_string(),
18+
..base
19+
},
1520
}
1621
}

compiler/rustc_target/src/spec/powerpc_wrs_vxworks_spe.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ pub fn target() -> Target {
1313
data_layout: "E-m:e-p:32:32-i64:64-n32".to_string(),
1414
arch: "powerpc".to_string(),
1515
options: TargetOptions {
16+
abi: "spe".to_string(),
1617
endian: Endian::Big,
1718
// feature msync would disable instruction 'fsync' which is not supported by fsl_p1p2
1819
features: "+secure-plt,+msync".to_string(),

compiler/rustc_target/src/spec/thumbv4t_none_eabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ pub fn target() -> Target {
2626
*/
2727
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
2828
options: TargetOptions {
29+
abi: "eabi".to_string(),
2930
linker_flavor: LinkerFlavor::Ld,
3031
linker: Some("arm-none-eabi-ld".to_string()),
3132

compiler/rustc_target/src/spec/thumbv6m_none_eabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ pub fn target() -> Target {
1010
arch: "arm".to_string(),
1111

1212
options: TargetOptions {
13+
abi: "eabi".to_string(),
1314
// The ARMv6-M architecture doesn't support unaligned loads/stores so we disable them
1415
// with +strict-align.
1516
features: "+strict-align".to_string(),

compiler/rustc_target/src/spec/thumbv7em_none_eabi.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ pub fn target() -> Target {
1818
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
1919
arch: "arm".to_string(),
2020

21-
options: TargetOptions { max_atomic_width: Some(32), ..super::thumb_base::opts() },
21+
options: TargetOptions {
22+
abi: "eabi".to_string(),
23+
max_atomic_width: Some(32),
24+
..super::thumb_base::opts()
25+
},
2226
}
2327
}

compiler/rustc_target/src/spec/thumbv7em_none_eabihf.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ pub fn target() -> Target {
1818
arch: "arm".to_string(),
1919

2020
options: TargetOptions {
21+
abi: "eabihf".to_string(),
2122
// `+vfp4` is the lowest common denominator between the Cortex-M4 (vfp4-16) and the
2223
// Cortex-M7 (vfp5)
2324
// `-d32` both the Cortex-M4 and the Cortex-M7 only have 16 double-precision registers

compiler/rustc_target/src/spec/thumbv7m_none_eabi.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ pub fn target() -> Target {
99
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
1010
arch: "arm".to_string(),
1111

12-
options: TargetOptions { max_atomic_width: Some(32), ..super::thumb_base::opts() },
12+
options: TargetOptions {
13+
abi: "eabi".to_string(),
14+
max_atomic_width: Some(32),
15+
..super::thumb_base::opts()
16+
},
1317
}
1418
}

compiler/rustc_target/src/spec/thumbv7neon_linux_androideabi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ pub fn target() -> Target {
1717
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
1818
arch: "arm".to_string(),
1919
options: TargetOptions {
20+
abi: "eabi".to_string(),
2021
features: "+v7,+thumb-mode,+thumb2,+vfp3,+neon".to_string(),
2122
max_atomic_width: Some(64),
2223
..base

compiler/rustc_target/src/spec/thumbv7neon_unknown_linux_gnueabihf.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ pub fn target() -> Target {
1313
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
1414
arch: "arm".to_string(),
1515
options: TargetOptions {
16+
abi: "eabihf".to_string(),
1617
// Info about features at https://wiki.debian.org/ArmHardFloatPort
1718
features: "+v7,+thumb-mode,+thumb2,+vfp3,+neon".to_string(),
1819
max_atomic_width: Some(64),

0 commit comments

Comments
 (0)