From 40c3d351ada5d991f7474ecc4bc6c9b976c656cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Sat, 2 Dec 2023 23:49:01 +0100 Subject: [PATCH] Use MCP510 --- src/bootstrap/src/utils/helpers.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/bootstrap/src/utils/helpers.rs b/src/bootstrap/src/utils/helpers.rs index 2da556f0a2d..b2aa37d0691 100644 --- a/src/bootstrap/src/utils/helpers.rs +++ b/src/bootstrap/src/utils/helpers.rs @@ -15,7 +15,7 @@ use std::time::{Instant, SystemTime, UNIX_EPOCH}; use crate::core::builder::Builder; -use crate::core::config::{Config, TargetSelection}; +use crate::core::config::{Config, LldMode, TargetSelection}; pub use crate::utils::dylib::{dylib_path, dylib_path_var}; @@ -500,7 +500,16 @@ pub fn linker_flags( ) -> Vec { let mut args = vec![]; if !builder.is_lld_direct_linker(target) && builder.config.lld_mode.is_used() { - args.push(String::from("-Clink-arg=-fuse-ld=lld")); + match builder.config.lld_mode { + LldMode::External => { + args.push("-Clinker-flavor=gnu-lld-cc".to_string()); + } + LldMode::SelfContained => { + args.push("-Clinker-flavor=gnu-lld-cc".to_string()); + args.push("-Clink-self-contained=+linker".to_string()); + } + LldMode::Unused => {} + } if matches!(lld_threads, LldThreads::No) { args.push(format!("-Clink-arg=-Wl,{}", lld_flag_no_threads(target.is_msvc())));