Skip to content

Commit f4c9580

Browse files
authored
Rollup merge of rust-lang#102836 - petrochenkov:jsonspec, r=eholk
rustc_target: Fix json target specs using LLD linker flavors in link args Fixes rust-lang#101988 (comment) (a regression introduced by rust-lang#101988).
2 parents 6755c2a + 28fdcad commit f4c9580

File tree

1 file changed

+9
-5
lines changed
  • compiler/rustc_target/src/spec

1 file changed

+9
-5
lines changed

compiler/rustc_target/src/spec/mod.rs

+9-5
Original file line numberDiff line numberDiff line change
@@ -1739,11 +1739,15 @@ impl TargetOptions {
17391739
self.lld_flavor_json,
17401740
self.linker_is_gnu_json,
17411741
);
1742-
match linker_flavor {
1743-
LinkerFlavor::Gnu(_, Lld::Yes)
1744-
| LinkerFlavor::Darwin(_, Lld::Yes)
1745-
| LinkerFlavor::Msvc(Lld::Yes) => {}
1746-
_ => add_link_args_iter(args, linker_flavor, args_json.iter().cloned()),
1742+
// Normalize to no lld to avoid asserts.
1743+
let linker_flavor = match linker_flavor {
1744+
LinkerFlavor::Gnu(cc, _) => LinkerFlavor::Gnu(cc, Lld::No),
1745+
LinkerFlavor::Darwin(cc, _) => LinkerFlavor::Darwin(cc, Lld::No),
1746+
LinkerFlavor::Msvc(_) => LinkerFlavor::Msvc(Lld::No),
1747+
_ => linker_flavor,
1748+
};
1749+
if !args.contains_key(&linker_flavor) {
1750+
add_link_args_iter(args, linker_flavor, args_json.iter().cloned());
17471751
}
17481752
}
17491753
}

0 commit comments

Comments
 (0)