Skip to content

Commit 478a07d

Browse files
committed
Auto merge of #84708 - pnkfelix:revert-77885-everywhere, r=Mark-Simulacrum
Revert PR 77885 everywhere Change to probe-stack=call (instead of inline-or-call) everywhere again, for now. We had already reverted the change on stable back in PR #83412. Since then, we've had some movement on issue #83139, but not a 100% fix. But also since then, we had bug reported, issue #84667, that looks like outright codegen breakage, rather than problems confined to debuginfo issues. So we are reverting PR #77885 on stable and beta. We'll reland PR #77885 (or some variant) switching back to an LLVM-dependent selection of out-of-line call vs inline-asm, after these other issues have been resolved.
2 parents 18587b1 + db4c544 commit 478a07d

33 files changed

+62
-75
lines changed

compiler/rustc_target/src/spec/i386_apple_ios.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ pub fn target() -> Target {
1212
arch: "x86".to_string(),
1313
options: TargetOptions {
1414
max_atomic_width: Some(64),
15-
stack_probes: StackProbeType::InlineOrCall { min_llvm_version_for_inline: (11, 0, 1) },
15+
// don't use probe-stack=inline-asm until rust#83139 and rust#84667 are resolved
16+
stack_probes: StackProbeType::Call,
1617
..base
1718
},
1819
}

compiler/rustc_target/src/spec/i686_apple_darwin.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ pub fn target() -> Target {
66
base.max_atomic_width = Some(64);
77
base.pre_link_args.insert(LinkerFlavor::Gcc, vec!["-m32".to_string()]);
88
base.link_env_remove.extend(super::apple_base::macos_link_env_remove());
9-
base.stack_probes = StackProbeType::InlineOrCall { min_llvm_version_for_inline: (11, 0, 1) };
9+
// don't use probe-stack=inline-asm until rust#83139 and rust#84667 are resolved
10+
base.stack_probes = StackProbeType::Call;
1011
base.eliminate_frame_pointer = false;
1112

1213
// Clang automatically chooses a more specific target based on

compiler/rustc_target/src/spec/i686_linux_android.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ pub fn target() -> Target {
1111
// http://developer.android.com/ndk/guides/abis.html#x86
1212
base.cpu = "pentiumpro".to_string();
1313
base.features = "+mmx,+sse,+sse2,+sse3,+ssse3".to_string();
14-
base.stack_probes = StackProbeType::InlineOrCall { min_llvm_version_for_inline: (11, 0, 1) };
14+
// don't use probe-stack=inline-asm until rust#83139 and rust#84667 are resolved
15+
base.stack_probes = StackProbeType::Call;
1516

1617
Target {
1718
llvm_target: "i686-linux-android".to_string(),

compiler/rustc_target/src/spec/i686_unknown_freebsd.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ pub fn target() -> Target {
77
let pre_link_args = base.pre_link_args.entry(LinkerFlavor::Gcc).or_default();
88
pre_link_args.push("-m32".to_string());
99
pre_link_args.push("-Wl,-znotext".to_string());
10-
base.stack_probes = StackProbeType::InlineOrCall { min_llvm_version_for_inline: (11, 0, 1) };
10+
// don't use probe-stack=inline-asm until rust#83139 and rust#84667 are resolved
11+
base.stack_probes = StackProbeType::Call;
1112

1213
Target {
1314
llvm_target: "i686-unknown-freebsd".to_string(),

compiler/rustc_target/src/spec/i686_unknown_haiku.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ pub fn target() -> Target {
55
base.cpu = "pentium4".to_string();
66
base.max_atomic_width = Some(64);
77
base.pre_link_args.insert(LinkerFlavor::Gcc, vec!["-m32".to_string()]);
8-
base.stack_probes = StackProbeType::InlineOrCall { min_llvm_version_for_inline: (11, 0, 1) };
8+
// don't use probe-stack=inline-asm until rust#83139 and rust#84667 are resolved
9+
base.stack_probes = StackProbeType::Call;
910

1011
Target {
1112
llvm_target: "i686-unknown-haiku".to_string(),

compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ pub fn target() -> Target {
55
base.cpu = "pentium4".to_string();
66
base.max_atomic_width = Some(64);
77
base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".to_string());
8-
base.stack_probes = StackProbeType::InlineOrCall { min_llvm_version_for_inline: (11, 0, 1) };
8+
// don't use probe-stack=inline-asm until rust#83139 and rust#84667 are resolved
9+
base.stack_probes = StackProbeType::Call;
910

1011
Target {
1112
llvm_target: "i686-unknown-linux-gnu".to_string(),

compiler/rustc_target/src/spec/i686_unknown_linux_musl.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ pub fn target() -> Target {
66
base.max_atomic_width = Some(64);
77
base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".to_string());
88
base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-Wl,-melf_i386".to_string());
9-
base.stack_probes = StackProbeType::InlineOrCall { min_llvm_version_for_inline: (11, 0, 1) };
9+
// don't use probe-stack=inline-asm until rust#83139 and rust#84667 are resolved
10+
base.stack_probes = StackProbeType::Call;
1011

1112
// The unwinder used by i686-unknown-linux-musl, the LLVM libunwind
1213
// implementation, apparently relies on frame pointers existing... somehow.

compiler/rustc_target/src/spec/i686_unknown_netbsd.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ pub fn target() -> Target {
55
base.cpu = "pentium4".to_string();
66
base.max_atomic_width = Some(64);
77
base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".to_string());
8-
base.stack_probes = StackProbeType::InlineOrCall { min_llvm_version_for_inline: (11, 0, 1) };
8+
// don't use probe-stack=inline-asm until rust#83139 and rust#84667 are resolved
9+
base.stack_probes = StackProbeType::Call;
910

1011
Target {
1112
llvm_target: "i686-unknown-netbsdelf".to_string(),

compiler/rustc_target/src/spec/i686_unknown_openbsd.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ pub fn target() -> Target {
66
base.max_atomic_width = Some(64);
77
base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".to_string());
88
base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-fuse-ld=lld".to_string());
9-
base.stack_probes = StackProbeType::InlineOrCall { min_llvm_version_for_inline: (11, 0, 1) };
9+
// don't use probe-stack=inline-asm until rust#83139 and rust#84667 are resolved
10+
base.stack_probes = StackProbeType::Call;
1011

1112
Target {
1213
llvm_target: "i686-unknown-openbsd".to_string(),

compiler/rustc_target/src/spec/i686_wrs_vxworks.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ pub fn target() -> Target {
55
base.cpu = "pentium4".to_string();
66
base.max_atomic_width = Some(64);
77
base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".to_string());
8-
base.stack_probes = StackProbeType::InlineOrCall { min_llvm_version_for_inline: (11, 0, 1) };
8+
// don't use probe-stack=inline-asm until rust#83139 and rust#84667 are resolved
9+
base.stack_probes = StackProbeType::Call;
910

1011
Target {
1112
llvm_target: "i686-unknown-linux-gnu".to_string(),

0 commit comments

Comments
 (0)