diff --git a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs index f0598ff9c5f2..bd12d4d8af0e 100644 --- a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs @@ -18,10 +18,9 @@ pub fn target() -> Target { | SanitizerSet::THREAD; base.supports_xray = true; - #[cfg(use_rust_lld)] - { - // When we're asked to use the `rust-lld` linker by default, set the appropriate lld-using - // linker flavor, and self-contained linker component. + // When we're asked to use the `rust-lld` linker by default, set the appropriate lld-using + // linker flavor, and self-contained linker component. + if option_env!("CFG_USE_SELF_CONTAINED_LINKER").is_some() { base.linker_flavor = LinkerFlavor::Gnu(Cc::Yes, Lld::Yes); base.link_self_contained = crate::spec::LinkSelfContainedDefault::with_linker(); } diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs index 35824a1c6d49..6e62786cf8f4 100644 --- a/src/bootstrap/src/core/build_steps/compile.rs +++ b/src/bootstrap/src/core/build_steps/compile.rs @@ -1129,10 +1129,9 @@ pub fn rustc_cargo_env( cargo.env("CFG_DEFAULT_LINKER", s); } - // Enable rustc's cfgs for `rust-lld` when requested. + // Enable rustc's env var for `rust-lld` when requested. if builder.config.lld_enabled { - cargo.rustflag("--cfg=use_rust_lld"); - cargo.rustdocflag("--cfg=use_rust_lld"); + cargo.env("CFG_USE_SELF_CONTAINED_LINKER", "1"); } if builder.config.rust_verify_llvm_ir {