Skip to content

Commit 57b04e7

Browse files
compiler: Use FramePointer::NonLeaf for Apples
All Apple targets stop overriding this configuration and instead use the default base of FramePointer::NonLeaf, which means some Apples will have less frame pointers in leaf functions.
1 parent 15825b7 commit 57b04e7

16 files changed

+17
-36
lines changed

compiler/rustc_target/src/spec/base/apple/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ pub(crate) fn base(
124124
// to v4, so we do the same.
125125
// https://github.com/llvm/llvm-project/blob/378778a0d10c2f8d5df8ceff81f95b6002984a4b/clang/lib/Driver/ToolChains/Darwin.cpp#L1203
126126
default_dwarf_version: 4,
127-
frame_pointer: FramePointer::Always,
127+
frame_pointer: FramePointer::NonLeaf,
128128
has_rpath: true,
129129
dll_suffix: ".dylib".into(),
130130
archive_format: "darwin".into(),

compiler/rustc_target/src/spec/targets/aarch64_apple_darwin.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::spec::base::apple::{Arch, TargetAbi, base};
2-
use crate::spec::{FramePointer, SanitizerSet, Target, TargetMetadata, TargetOptions};
2+
use crate::spec::{SanitizerSet, Target, TargetMetadata, TargetOptions};
33

44
pub(crate) fn target() -> Target {
55
let (opts, llvm_target, arch) = base("macos", Arch::Arm64, TargetAbi::Normal);
@@ -17,7 +17,6 @@ pub(crate) fn target() -> Target {
1717
arch,
1818
options: TargetOptions {
1919
mcount: "\u{1}mcount".into(),
20-
frame_pointer: FramePointer::NonLeaf,
2120
cpu: "apple-m1".into(),
2221
max_atomic_width: Some(128),
2322
// FIXME: The leak sanitizer currently fails the tests, see #88132.

compiler/rustc_target/src/spec/targets/aarch64_apple_ios.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::spec::base::apple::{Arch, TargetAbi, base};
2-
use crate::spec::{FramePointer, SanitizerSet, Target, TargetMetadata, TargetOptions};
2+
use crate::spec::{SanitizerSet, Target, TargetMetadata, TargetOptions};
33

44
pub(crate) fn target() -> Target {
55
let (opts, llvm_target, arch) = base("ios", Arch::Arm64, TargetAbi::Normal);
@@ -18,7 +18,6 @@ pub(crate) fn target() -> Target {
1818
options: TargetOptions {
1919
features: "+neon,+fp-armv8,+apple-a7".into(),
2020
max_atomic_width: Some(128),
21-
frame_pointer: FramePointer::NonLeaf,
2221
supported_sanitizers: SanitizerSet::ADDRESS | SanitizerSet::THREAD,
2322
..opts
2423
},

compiler/rustc_target/src/spec/targets/aarch64_apple_ios_macabi.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::spec::base::apple::{Arch, TargetAbi, base};
2-
use crate::spec::{FramePointer, SanitizerSet, Target, TargetMetadata, TargetOptions};
2+
use crate::spec::{SanitizerSet, Target, TargetMetadata, TargetOptions};
33

44
pub(crate) fn target() -> Target {
55
let (opts, llvm_target, arch) = base("ios", Arch::Arm64, TargetAbi::MacCatalyst);
@@ -18,7 +18,6 @@ pub(crate) fn target() -> Target {
1818
options: TargetOptions {
1919
features: "+neon,+fp-armv8,+apple-a12".into(),
2020
max_atomic_width: Some(128),
21-
frame_pointer: FramePointer::NonLeaf,
2221
supported_sanitizers: SanitizerSet::ADDRESS | SanitizerSet::LEAK | SanitizerSet::THREAD,
2322
..opts
2423
},

compiler/rustc_target/src/spec/targets/aarch64_apple_ios_sim.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::spec::base::apple::{Arch, TargetAbi, base};
2-
use crate::spec::{FramePointer, SanitizerSet, Target, TargetMetadata, TargetOptions};
2+
use crate::spec::{SanitizerSet, Target, TargetMetadata, TargetOptions};
33

44
pub(crate) fn target() -> Target {
55
let (opts, llvm_target, arch) = base("ios", Arch::Arm64, TargetAbi::Simulator);
@@ -18,7 +18,6 @@ pub(crate) fn target() -> Target {
1818
options: TargetOptions {
1919
features: "+neon,+fp-armv8,+apple-a7".into(),
2020
max_atomic_width: Some(128),
21-
frame_pointer: FramePointer::NonLeaf,
2221
supported_sanitizers: SanitizerSet::ADDRESS | SanitizerSet::THREAD,
2322
..opts
2423
},

compiler/rustc_target/src/spec/targets/aarch64_apple_tvos.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::spec::base::apple::{Arch, TargetAbi, base};
2-
use crate::spec::{FramePointer, Target, TargetMetadata, TargetOptions};
2+
use crate::spec::{Target, TargetMetadata, TargetOptions};
33

44
pub(crate) fn target() -> Target {
55
let (opts, llvm_target, arch) = base("tvos", Arch::Arm64, TargetAbi::Normal);
@@ -18,7 +18,6 @@ pub(crate) fn target() -> Target {
1818
options: TargetOptions {
1919
features: "+neon,+fp-armv8,+apple-a7".into(),
2020
max_atomic_width: Some(128),
21-
frame_pointer: FramePointer::NonLeaf,
2221
..opts
2322
},
2423
}

compiler/rustc_target/src/spec/targets/aarch64_apple_tvos_sim.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::spec::base::apple::{Arch, TargetAbi, base};
2-
use crate::spec::{FramePointer, Target, TargetMetadata, TargetOptions};
2+
use crate::spec::{Target, TargetMetadata, TargetOptions};
33

44
pub(crate) fn target() -> Target {
55
let (opts, llvm_target, arch) = base("tvos", Arch::Arm64, TargetAbi::Simulator);
@@ -18,7 +18,6 @@ pub(crate) fn target() -> Target {
1818
options: TargetOptions {
1919
features: "+neon,+fp-armv8,+apple-a7".into(),
2020
max_atomic_width: Some(128),
21-
frame_pointer: FramePointer::NonLeaf,
2221
..opts
2322
},
2423
}

compiler/rustc_target/src/spec/targets/aarch64_apple_visionos.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::spec::base::apple::{Arch, TargetAbi, base};
2-
use crate::spec::{FramePointer, SanitizerSet, Target, TargetMetadata, TargetOptions};
2+
use crate::spec::{SanitizerSet, Target, TargetMetadata, TargetOptions};
33

44
pub(crate) fn target() -> Target {
55
let (opts, llvm_target, arch) = base("visionos", Arch::Arm64, TargetAbi::Normal);
@@ -18,7 +18,6 @@ pub(crate) fn target() -> Target {
1818
options: TargetOptions {
1919
features: "+neon,+fp-armv8,+apple-a16".into(),
2020
max_atomic_width: Some(128),
21-
frame_pointer: FramePointer::NonLeaf,
2221
supported_sanitizers: SanitizerSet::ADDRESS | SanitizerSet::THREAD,
2322
..opts
2423
},

compiler/rustc_target/src/spec/targets/aarch64_apple_visionos_sim.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::spec::base::apple::{Arch, TargetAbi, base};
2-
use crate::spec::{FramePointer, SanitizerSet, Target, TargetMetadata, TargetOptions};
2+
use crate::spec::{SanitizerSet, Target, TargetMetadata, TargetOptions};
33

44
pub(crate) fn target() -> Target {
55
let (opts, llvm_target, arch) = base("visionos", Arch::Arm64, TargetAbi::Simulator);
@@ -18,7 +18,6 @@ pub(crate) fn target() -> Target {
1818
options: TargetOptions {
1919
features: "+neon,+fp-armv8,+apple-a16".into(),
2020
max_atomic_width: Some(128),
21-
frame_pointer: FramePointer::NonLeaf,
2221
supported_sanitizers: SanitizerSet::ADDRESS | SanitizerSet::THREAD,
2322
..opts
2423
},

compiler/rustc_target/src/spec/targets/aarch64_apple_watchos_sim.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::spec::base::apple::{Arch, TargetAbi, base};
2-
use crate::spec::{FramePointer, Target, TargetMetadata, TargetOptions};
2+
use crate::spec::{Target, TargetMetadata, TargetOptions};
33

44
pub(crate) fn target() -> Target {
55
let (opts, llvm_target, arch) = base("watchos", Arch::Arm64, TargetAbi::Simulator);
@@ -18,7 +18,6 @@ pub(crate) fn target() -> Target {
1818
options: TargetOptions {
1919
features: "+neon,+fp-armv8,+apple-a7".into(),
2020
max_atomic_width: Some(128),
21-
frame_pointer: FramePointer::NonLeaf,
2221
..opts
2322
},
2423
}

0 commit comments

Comments
 (0)