diff options
| author | Jorge Aparicio <jorge@japaric.io> | 2018-08-18 16:31:36 +0200 |
|---|---|---|
| committer | Jorge Aparicio <jorge@japaric.io> | 2018-08-18 16:31:36 +0200 |
| commit | 750e72b9e0881529dad5010862ffc8dec7c28fe8 (patch) | |
| tree | 0f1f4768c61ba73c85bbc3f639f51bc89f4b187f /src | |
| parent | a0911cf95d3cf6bc0fe50ad95c2578771b122e64 (diff) | |
| download | rust-750e72b9e0881529dad5010862ffc8dec7c28fe8.tar.gz rust-750e72b9e0881529dad5010862ffc8dec7c28fe8.zip | |
add lld_flavor info to target spec
this field defaults to the LD / GNU flavor
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_codegen_llvm/back/link.rs | 2 | ||||
| -rw-r--r-- | src/librustc_target/spec/mod.rs | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/librustc_codegen_llvm/back/link.rs b/src/librustc_codegen_llvm/back/link.rs index c31928afb22..86cef587d5b 100644 --- a/src/librustc_codegen_llvm/back/link.rs +++ b/src/librustc_codegen_llvm/back/link.rs @@ -624,6 +624,8 @@ pub fn linker_and_flavor(sess: &Session) -> (PathBuf, LinkerFlavor) { 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 diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs index 6faab77d770..98b20f00265 100644 --- a/src/librustc_target/spec/mod.rs +++ b/src/librustc_target/spec/mod.rs @@ -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 @@ impl Default for 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(), |
