about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-05-31 18:49:48 -0700
committerbors <bors@rust-lang.org>2016-05-31 18:49:48 -0700
commitad5fbaf57c1f763935175cd217fedfc551d91aac (patch)
treea761e6488582f2e9c90919f95d256624b1b3e9f7 /src
parent601eb13dc4dd075f82f03c85bbf8a1fbadfe2d6e (diff)
parentd34ad3c3b2c5ec3edb3bd33638f61436da4f2fe0 (diff)
Auto merge of #33979 - retep998:why-the-long-face, r=alexcrichton
Attempt to diagnose #33844

https://github.com/rust-lang/rust/issues/33844 is a spurious failure that causes builds to fail due to the linker command sometimes failing with error 206, which means that the command is too long. This PR makes rustc print out the linker arguments in that case so the reason for it being so long can be diagnosed and hopefully fixed.

r? @alexcrichton
Diffstat (limited to 'src')
-rw-r--r--src/librustc_trans/back/link.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/librustc_trans/back/link.rs b/src/librustc_trans/back/link.rs
index 4640377cf86..6e5964d83c0 100644
--- a/src/librustc_trans/back/link.rs
+++ b/src/librustc_trans/back/link.rs
@@ -692,7 +692,11 @@ fn link_natively(sess: &Session,
             info!("linker stdout:\n{}", escape_string(&prog.stdout[..]));
         },
         Err(e) => {
-            sess.fatal(&format!("could not exec the linker `{}`: {}", pname, e));
+            // Trying to diagnose https://github.com/rust-lang/rust/issues/33844
+            sess.struct_err(&format!("could not exec the linker `{}`: {}", pname, e))
+                .note(&format!("{:?}", &cmd))
+                .emit();
+            sess.abort_if_errors();
         }
     }