about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYuki Okushi <huyuumi.dev@gmail.com>2020-01-29 18:56:31 +0900
committerGitHub <noreply@github.com>2020-01-29 18:56:31 +0900
commit288cabde8caf11ec89bb769129cc8d0be76ee45b (patch)
tree1f394f09276b758ef86f06d11513bebd5cd7e282
parent95e7342773e05c7d3e844336dd727bf65da9c046 (diff)
parent9150b8ec297483a0b8ff0b8d7c2ef75362c2d5a8 (diff)
downloadrust-288cabde8caf11ec89bb769129cc8d0be76ee45b.tar.gz
rust-288cabde8caf11ec89bb769129cc8d0be76ee45b.zip
Rollup merge of #68609 - Zoxc:lld-msvc, r=alexcrichton
Set lld flavor for MSVC to link.exe

This enables linking with LLD on Windows with just `-C linker=rust-lld` instead of needing `-C linker=rust-lld -C linker-flavor=lld-link`.
-rw-r--r--src/librustc_target/spec/windows_msvc_base.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/librustc_target/spec/windows_msvc_base.rs b/src/librustc_target/spec/windows_msvc_base.rs
index 63a443cd07a..52b166df939 100644
--- a/src/librustc_target/spec/windows_msvc_base.rs
+++ b/src/librustc_target/spec/windows_msvc_base.rs
@@ -1,9 +1,11 @@
-use crate::spec::{LinkArgs, LinkerFlavor, TargetOptions};
+use crate::spec::{LinkArgs, LinkerFlavor, LldFlavor, TargetOptions};
 use std::default::Default;
 
 pub fn opts() -> TargetOptions {
+    let pre_args = vec!["/NOLOGO".to_string(), "/NXCOMPAT".to_string()];
     let mut args = LinkArgs::new();
-    args.insert(LinkerFlavor::Msvc, vec!["/NOLOGO".to_string(), "/NXCOMPAT".to_string()]);
+    args.insert(LinkerFlavor::Msvc, pre_args.clone());
+    args.insert(LinkerFlavor::Lld(LldFlavor::Link), pre_args);
 
     TargetOptions {
         function_sections: true,
@@ -21,6 +23,7 @@ pub fn opts() -> TargetOptions {
         // language packs, and avoid generating Non-UTF-8 error
         // messages if a link error occurred.
         link_env: vec![("VSLANG".to_string(), "1033".to_string())],
+        lld_flavor: LldFlavor::Link,
         pre_link_args: args,
         crt_static_allows_dylibs: true,
         crt_static_respected: true,