diff options
| author | Jubilee Young <workingjubilee@gmail.com> | 2025-05-30 15:53:35 -0700 |
|---|---|---|
| committer | Jubilee Young <workingjubilee@gmail.com> | 2025-05-30 15:53:46 -0700 |
| commit | 2d5d55a50ab6c6e1f5af65e42b73cd173536b03d (patch) | |
| tree | 31294099f4f95d48a643dc6d2d200a96a2c0d1f4 | |
| parent | 15825b7161f8bd6a3482211fbf6727a52aa1166b (diff) | |
| download | rust-2d5d55a50ab6c6e1f5af65e42b73cd173536b03d.tar.gz rust-2d5d55a50ab6c6e1f5af65e42b73cd173536b03d.zip | |
bootstrap: build std with less frame pointers
Sometimes leaf frame-pointers can impact LLVM inlining choices, and that can be a real problem for things like `mul_add`.
| -rw-r--r-- | src/bootstrap/src/core/build_steps/compile.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs index d5ea96b43f5..38820e2f117 100644 --- a/src/bootstrap/src/core/build_steps/compile.rs +++ b/src/bootstrap/src/core/build_steps/compile.rs @@ -670,7 +670,8 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car // Enable frame pointers by default for the library. Note that they are still controlled by a // separate setting for the compiler. - cargo.rustflag("-Cforce-frame-pointers=yes"); + cargo.rustflag("-Zunstable-options"); + cargo.rustflag("-Cforce-frame-pointers=non-leaf"); let html_root = format!("-Zcrate-attr=doc(html_root_url=\"{}/\")", builder.doc_rust_lang_org_channel(),); |
