try to infer linker flavor from linker name and vice versa

This commit is contained in:
Jorge Aparicio
2018-07-06 00:41:42 -05:00
parent b73535f1e9
commit eb74f21f5a
4 changed files with 97 additions and 42 deletions

View File

@@ -1503,12 +1503,17 @@ fn start_executing_work(tcx: TyCtxt,
let assembler_cmd = if modules_config.no_integrated_as {
// HACK: currently we use linker (gcc) as our assembler
let (name, mut cmd) = get_linker(sess);
cmd.args(&sess.target.target.options.asm_args);
Some(Arc::new(AssemblerCommand {
name,
cmd,
}))
if let Ok((linker, flavor)) = link::linker_and_flavor(sess) {
let (name, mut cmd) = get_linker(sess, &linker, flavor);
cmd.args(&sess.target.target.options.asm_args);
Some(Arc::new(AssemblerCommand {
name,
cmd,
}))
} else {
sess.abort_if_errors();
None
}
} else {
None
};