about summary refs log tree commit diff
path: root/compiler/rustc_codegen_ssa/src/back
diff options
context:
space:
mode:
authorjyn <github@jyn.dev>2023-12-24 19:49:23 -0500
committerjyn <github@jyn.dev>2024-12-14 20:38:46 -0500
commita4ef751e26a90dd3b6b35fdbfef1e4854f9d80e1 (patch)
treeca56569d14db3357482b5a8f007468f1f7a92fc7 /compiler/rustc_codegen_ssa/src/back
parent903d2976fdb6ceeb65526b7555d8d1e6f8c02134 (diff)
downloadrust-a4ef751e26a90dd3b6b35fdbfef1e4854f9d80e1.tar.gz
rust-a4ef751e26a90dd3b6b35fdbfef1e4854f9d80e1.zip
don't show the full linker args unless `--verbose` is passed
the linker arguments can be *very* long, especially for crates with many dependencies. some parts of them are not very useful. unless specifically requested:
- omit object files specific to the current invocation
- fold rlib files into a single braced argument (in shell expansion format)

this shortens the output significantly without removing too much information.
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/back')
-rw-r--r--compiler/rustc_codegen_ssa/src/back/link.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs
index 35d18d0206d..b030ea3f6df 100644
--- a/compiler/rustc_codegen_ssa/src/back/link.rs
+++ b/compiler/rustc_codegen_ssa/src/back/link.rs
@@ -992,12 +992,12 @@ fn link_natively(
                 let mut output = prog.stderr.clone();
                 output.extend_from_slice(&prog.stdout);
                 let escaped_output = escape_linker_output(&output, flavor);
-                // FIXME: Add UI tests for this error.
                 let err = errors::LinkingFailed {
                     linker_path: &linker_path,
                     exit_status: prog.status,
-                    command: &cmd,
+                    command: cmd,
                     escaped_output,
+                    verbose: sess.opts.verbose,
                 };
                 sess.dcx().emit_err(err);
                 // If MSVC's `link.exe` was expected but the return code