From 594f81a2b4dae23827271ea3a4bbb21c1a0004e1 Mon Sep 17 00:00:00 2001 From: Mateusz MikuĊ‚a Date: Mon, 3 Aug 2020 15:39:09 +0200 Subject: Make rust.use-lld config option work with non MSVC targets --- src/bootstrap/builder.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/bootstrap') diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs index 144e146685f..e13a5f24653 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs @@ -1037,7 +1037,7 @@ impl<'a> Builder<'a> { } } - // FIXME: Don't use LLD if we're compiling libtest, since it fails to link it. + // FIXME: Don't use LLD with MSVC if we're compiling libtest, since it fails to link it. // See https://github.com/rust-lang/rust/issues/68647. let can_use_lld = mode != Mode::Std; @@ -1049,6 +1049,11 @@ impl<'a> Builder<'a> { let target = crate::envify(&target.triple); cargo.env(&format!("CARGO_TARGET_{}_LINKER", target), target_linker); } + + if self.config.use_lld && !target.contains("msvc") { + rustflags.arg("-Clink-args=-fuse-ld=lld"); + } + if !(["build", "check", "clippy", "fix", "rustc"].contains(&cmd)) && want_rustdoc { cargo.env("RUSTDOC_LIBDIR", self.rustc_libdir(compiler)); } -- cgit 1.4.1-3-g733a5