diff options
| author | Jakub Beránek <berykubik@gmail.com> | 2023-12-02 23:49:01 +0100 |
|---|---|---|
| committer | Jakub Beránek <berykubik@gmail.com> | 2023-12-10 11:21:35 +0100 |
| commit | 40c3d351ada5d991f7474ecc4bc6c9b976c656cb (patch) | |
| tree | db49ee394dc80612e64158c8e38971d6b23c0f7d | |
| parent | 48c1607bc6742f964d291cd1fb6c3284f0d5a61d (diff) | |
| download | rust-40c3d351ada5d991f7474ecc4bc6c9b976c656cb.tar.gz rust-40c3d351ada5d991f7474ecc4bc6c9b976c656cb.zip | |
Use MCP510
| -rw-r--r-- | src/bootstrap/src/utils/helpers.rs | 13 |
1 files 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::sync::OnceLock; 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<String> { 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()))); |
