diff options
| author | David Wood <david@davidtw.co> | 2018-11-29 20:40:43 +0100 |
|---|---|---|
| committer | David Wood <david@davidtw.co> | 2018-11-29 20:47:59 +0100 |
| commit | 0124341935787d1d6aa5eace209c9bb7968f35db (patch) | |
| tree | 97b4737df883c8c712c02027ca33fae123a1537d | |
| parent | 147e60c5f89cfa2d3ffc247413956a37582c98e7 (diff) | |
| download | rust-0124341935787d1d6aa5eace209c9bb7968f35db.tar.gz rust-0124341935787d1d6aa5eace209c9bb7968f35db.zip | |
Only consider stem when extension is exe.
This commit modifies linker flavor inference to only remove the extension to the linker when performing inference if that extension is a 'exe'.
| -rw-r--r-- | src/librustc_codegen_ssa/back/link.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/librustc_codegen_ssa/back/link.rs b/src/librustc_codegen_ssa/back/link.rs index b0575b841d5..24a70dc7977 100644 --- a/src/librustc_codegen_ssa/back/link.rs +++ b/src/librustc_codegen_ssa/back/link.rs @@ -161,7 +161,11 @@ pub fn linker_and_flavor(sess: &Session) -> (PathBuf, LinkerFlavor) { LinkerFlavor::Lld(_) => "lld", }), flavor)), (Some(linker), None) => { - let stem = linker.file_stem().and_then(|stem| stem.to_str()).unwrap_or_else(|| { + let stem = if linker.extension().and_then(|ext| ext.to_str()) == Some("exe") { + linker.file_stem().and_then(|stem| stem.to_str()) + } else { + linker.to_str() + }.unwrap_or_else(|| { sess.fatal("couldn't extract file stem from specified linker"); }).to_owned(); |
