Skip to content

Commit 750e72b

Browse files
committed
add lld_flavor info to target spec
this field defaults to the LD / GNU flavor
1 parent a0911cf commit 750e72b

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

src/librustc_codegen_llvm/back/link.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -624,6 +624,8 @@ pub fn linker_and_flavor(sess: &Session) -> (PathBuf, LinkerFlavor) {
624624
LinkerFlavor::Ld
625625
} else if stem == "link" || stem == "lld-link" {
626626
LinkerFlavor::Msvc
627+
} else if stem == "lld" || stem == "rust-lld" {
628+
LinkerFlavor::Lld(sess.target.target.options.lld_flavor)
627629
} else {
628630
// fall back to the value in the target spec
629631
sess.target.target.linker_flavor

src/librustc_target/spec/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,9 @@ pub struct TargetOptions {
433433
/// Linker to invoke
434434
pub linker: Option<String>,
435435

436+
/// LLD flavor
437+
pub lld_flavor: LldFlavor,
438+
436439
/// Linker arguments that are passed *before* any user-defined libraries.
437440
pub pre_link_args: LinkArgs, // ... unconditionally
438441
pub pre_link_args_crt: LinkArgs, // ... when linking with a bundled crt
@@ -650,6 +653,7 @@ impl Default for TargetOptions {
650653
TargetOptions {
651654
is_builtin: false,
652655
linker: option_env!("CFG_DEFAULT_LINKER").map(|s| s.to_string()),
656+
lld_flavor: LldFlavor::Ld,
653657
pre_link_args: LinkArgs::new(),
654658
pre_link_args_crt: LinkArgs::new(),
655659
post_link_args: LinkArgs::new(),

0 commit comments

Comments
 (0)