about summary refs log tree commit diff
path: root/src/librustc_codegen_ssa
diff options
context:
space:
mode:
authorkennytm <kennytm@gmail.com>2018-12-01 01:06:02 +0800
committerkennytm <kennytm@gmail.com>2018-12-01 02:03:49 +0800
commitcb9add6303e5e0a542e153b8ab8bc53b843ad432 (patch)
tree9fc369dd6f17c225a5c79b17b43bb079b23202e3 /src/librustc_codegen_ssa
parent540f4cfa71edc2823f1531dbafe68594ac9d28ea (diff)
parent0124341935787d1d6aa5eace209c9bb7968f35db (diff)
downloadrust-cb9add6303e5e0a542e153b8ab8bc53b843ad432.tar.gz
rust-cb9add6303e5e0a542e153b8ab8bc53b843ad432.zip
Rollup merge of #56349 - davidtwco:issue-55396-inference-extension, r=nagisa
rustc 1.30.0's linker flavor inference is a non-backwards compat change to -Clinker

Part of #55396.

This commit modifies linker flavor inference to only remove the extension
to the linker when performing inference if that extension is a 'exe'.

r? @nagisa
cc @alexcrichton @japaric
Diffstat (limited to 'src/librustc_codegen_ssa')
-rw-r--r--src/librustc_codegen_ssa/back/link.rs6
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();