about summary refs log tree commit diff
diff options
context:
space:
mode:
author许杰友 Jieyou Xu (Joe) <39484203+jieyouxu@users.noreply.github.com>2024-12-18 22:56:57 +0800
committerGitHub <noreply@github.com>2024-12-18 22:56:57 +0800
commit88428f4dc3a66e25d25ce4d69824c84a013db7ac (patch)
tree293b3d1076972334b794eba837e6d3b3f35c0f5c
parentaf966923721a9549c42ce4b09be295df7338bc22 (diff)
parent39305bfaf2dc893835fda0ccecc4fee544a514af (diff)
downloadrust-88428f4dc3a66e25d25ce4d69824c84a013db7ac.tar.gz
rust-88428f4dc3a66e25d25ce4d69824c84a013db7ac.zip
Rollup merge of #134444 - jyn514:cranelift-std, r=bjorn3
Fix `x build --stage 1 std` when using cg_cranelift as the default backend

Before, cg_cranelift would ICE when trying to lower f16 and f128. The library/ crates had all the infrastructure to omit using them, it just wasn't hooked up to bootstrap.

r? `````@bjorn3`````
-rw-r--r--src/bootstrap/src/core/build_steps/compile.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs
index 0cacd6e4f37..460b86163bd 100644
--- a/src/bootstrap/src/core/build_steps/compile.rs
+++ b/src/bootstrap/src/core/build_steps/compile.rs
@@ -523,6 +523,11 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
 
     let mut features = String::new();
 
+    if stage != 0 && builder.config.default_codegen_backend(target).as_deref() == Some("cranelift")
+    {
+        features += "compiler-builtins-no-f16-f128 ";
+    }
+
     if builder.no_std(target) == Some(true) {
         features += " compiler-builtins-mem";
         if !target.starts_with("bpf") {