Skip to content

Commit ad8f519

Browse files
committed
Enable inline stack probes on PowerPC and SystemZ
1 parent e1d7dec commit ad8f519

23 files changed

+107
-48
lines changed

compiler/rustc_target/src/spec/powerpc64_unknown_freebsd.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
use crate::abi::Endian;
2-
use crate::spec::{LinkerFlavor, Target, TargetOptions};
2+
use crate::spec::{LinkerFlavor, StackProbeType, Target, TargetOptions};
33

44
pub fn target() -> Target {
55
let mut base = super::freebsd_base::opts();
66
base.cpu = "ppc64".into();
77
base.add_pre_link_args(LinkerFlavor::Gcc, &["-m64"]);
88
base.max_atomic_width = Some(64);
9+
base.stack_probes = StackProbeType::Inline;
910

1011
Target {
1112
llvm_target: "powerpc64-unknown-freebsd".into(),

compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
use crate::abi::Endian;
2-
use crate::spec::{LinkerFlavor, Target, TargetOptions};
2+
use crate::spec::{LinkerFlavor, StackProbeType, Target, TargetOptions};
33

44
pub fn target() -> Target {
55
let mut base = super::linux_gnu_base::opts();
66
base.cpu = "ppc64".into();
77
base.add_pre_link_args(LinkerFlavor::Gcc, &["-m64"]);
88
base.max_atomic_width = Some(64);
9+
base.stack_probes = StackProbeType::Inline;
910

1011
Target {
1112
llvm_target: "powerpc64-unknown-linux-gnu".into(),

compiler/rustc_target/src/spec/powerpc64_unknown_linux_musl.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
use crate::abi::Endian;
2-
use crate::spec::{LinkerFlavor, Target, TargetOptions};
2+
use crate::spec::{LinkerFlavor, StackProbeType, Target, TargetOptions};
33

44
pub fn target() -> Target {
55
let mut base = super::linux_musl_base::opts();
66
base.cpu = "ppc64".into();
77
base.add_pre_link_args(LinkerFlavor::Gcc, &["-m64"]);
88
base.max_atomic_width = Some(64);
9+
base.stack_probes = StackProbeType::Inline;
910

1011
Target {
1112
llvm_target: "powerpc64-unknown-linux-musl".into(),

compiler/rustc_target/src/spec/powerpc64_unknown_openbsd.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
use crate::abi::Endian;
2-
use crate::spec::{LinkerFlavor, Target, TargetOptions};
2+
use crate::spec::{LinkerFlavor, StackProbeType, Target, TargetOptions};
33

44
pub fn target() -> Target {
55
let mut base = super::openbsd_base::opts();
66
base.cpu = "ppc64".into();
77
base.add_pre_link_args(LinkerFlavor::Gcc, &["-m64"]);
88
base.max_atomic_width = Some(64);
9+
base.stack_probes = StackProbeType::Inline;
910

1011
Target {
1112
llvm_target: "powerpc64-unknown-openbsd".into(),

compiler/rustc_target/src/spec/powerpc64_wrs_vxworks.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
use crate::abi::Endian;
2-
use crate::spec::{LinkerFlavor, Target, TargetOptions};
2+
use crate::spec::{LinkerFlavor, StackProbeType, Target, TargetOptions};
33

44
pub fn target() -> Target {
55
let mut base = super::vxworks_base::opts();
66
base.cpu = "ppc64".into();
77
base.add_pre_link_args(LinkerFlavor::Gcc, &["-m64"]);
88
base.max_atomic_width = Some(64);
9+
base.stack_probes = StackProbeType::Inline;
910

1011
Target {
1112
llvm_target: "powerpc64-unknown-linux-gnu".into(),

compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
use crate::spec::{LinkerFlavor, Target, TargetOptions};
1+
use crate::spec::{LinkerFlavor, StackProbeType, Target, TargetOptions};
22

33
pub fn target() -> Target {
44
let mut base = super::freebsd_base::opts();
55
base.cpu = "ppc64le".into();
66
base.add_pre_link_args(LinkerFlavor::Gcc, &["-m64"]);
77
base.max_atomic_width = Some(64);
8+
base.stack_probes = StackProbeType::Inline;
89

910
Target {
1011
llvm_target: "powerpc64le-unknown-freebsd".into(),

compiler/rustc_target/src/spec/powerpc64le_unknown_linux_gnu.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
use crate::spec::{LinkerFlavor, Target, TargetOptions};
1+
use crate::spec::{LinkerFlavor, StackProbeType, Target, TargetOptions};
22

33
pub fn target() -> Target {
44
let mut base = super::linux_gnu_base::opts();
55
base.cpu = "ppc64le".into();
66
base.add_pre_link_args(LinkerFlavor::Gcc, &["-m64"]);
77
base.max_atomic_width = Some(64);
8+
base.stack_probes = StackProbeType::Inline;
89

910
Target {
1011
llvm_target: "powerpc64le-unknown-linux-gnu".into(),

compiler/rustc_target/src/spec/powerpc64le_unknown_linux_musl.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
use crate::spec::{LinkerFlavor, Target, TargetOptions};
1+
use crate::spec::{LinkerFlavor, StackProbeType, Target, TargetOptions};
22

33
pub fn target() -> Target {
44
let mut base = super::linux_musl_base::opts();
55
base.cpu = "ppc64le".into();
66
base.add_pre_link_args(LinkerFlavor::Gcc, &["-m64"]);
77
base.max_atomic_width = Some(64);
8+
base.stack_probes = StackProbeType::Inline;
89

910
Target {
1011
llvm_target: "powerpc64le-unknown-linux-musl".into(),

compiler/rustc_target/src/spec/powerpc_unknown_freebsd.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
use crate::abi::Endian;
2-
use crate::spec::{LinkerFlavor, Target, TargetOptions};
2+
use crate::spec::{LinkerFlavor, StackProbeType, Target, TargetOptions};
33

44
pub fn target() -> Target {
55
let mut base = super::freebsd_base::opts();
66
// Extra hint to linker that we are generating secure-PLT code.
77
base.add_pre_link_args(LinkerFlavor::Gcc, &["-m32", "--target=powerpc-unknown-freebsd13.0"]);
88
base.max_atomic_width = Some(32);
9+
base.stack_probes = StackProbeType::Inline;
910

1011
Target {
1112
llvm_target: "powerpc-unknown-freebsd13.0".into(),

compiler/rustc_target/src/spec/powerpc_unknown_linux_gnu.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
use crate::abi::Endian;
2-
use crate::spec::{LinkerFlavor, Target, TargetOptions};
2+
use crate::spec::{LinkerFlavor, StackProbeType, Target, TargetOptions};
33

44
pub fn target() -> Target {
55
let mut base = super::linux_gnu_base::opts();
66
base.add_pre_link_args(LinkerFlavor::Gcc, &["-m32"]);
77
base.max_atomic_width = Some(32);
8+
base.stack_probes = StackProbeType::Inline;
89

910
Target {
1011
llvm_target: "powerpc-unknown-linux-gnu".into(),

0 commit comments

Comments
 (0)