]> git.lizzy.rs Git - rust.git/commitdiff
add lld_flavor info to target spec
authorJorge Aparicio <jorge@japaric.io>
Sat, 18 Aug 2018 14:31:36 +0000 (16:31 +0200)
committerJorge Aparicio <jorge@japaric.io>
Sat, 18 Aug 2018 14:31:36 +0000 (16:31 +0200)
this field defaults to the LD / GNU flavor

src/librustc_codegen_llvm/back/link.rs
src/librustc_target/spec/mod.rs

index c31928afb220e9efa96f6cdf564b6e6f40df0680..86cef587d5b9026428ed7d4d5911c9a26ca77416 100644 (file)
@@ -624,6 +624,8 @@ fn infer_from(
                     LinkerFlavor::Ld
                 } else if stem == "link" || stem == "lld-link" {
                     LinkerFlavor::Msvc
+                } else if stem == "lld" || stem == "rust-lld" {
+                    LinkerFlavor::Lld(sess.target.target.options.lld_flavor)
                 } else {
                     // fall back to the value in the target spec
                     sess.target.target.linker_flavor
index 6faab77d7709f3cc7d320f12f742f928dde72e6c..98b20f00265e8ef28e1f1dba0bac11371e646e07 100644 (file)
@@ -433,6 +433,9 @@ pub struct TargetOptions {
     /// Linker to invoke
     pub linker: Option<String>,
 
+    /// LLD flavor
+    pub lld_flavor: LldFlavor,
+
     /// Linker arguments that are passed *before* any user-defined libraries.
     pub pre_link_args: LinkArgs, // ... unconditionally
     pub pre_link_args_crt: LinkArgs, // ... when linking with a bundled crt
@@ -650,6 +653,7 @@ fn default() -> TargetOptions {
         TargetOptions {
             is_builtin: false,
             linker: option_env!("CFG_DEFAULT_LINKER").map(|s| s.to_string()),
+            lld_flavor: LldFlavor::Ld,
             pre_link_args: LinkArgs::new(),
             pre_link_args_crt: LinkArgs::new(),
             post_link_args: LinkArgs::new(),