about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc/back/link.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
index fec3f776681..1437a3af7dd 100644
--- a/src/librustc/back/link.rs
+++ b/src/librustc/back/link.rs
@@ -818,7 +818,11 @@ pub fn link_binary(sess: Session,
     do cstore::iter_crate_data(cstore) |crate_num, _| {
         let link_args = csearch::get_link_args_for_crate(cstore, crate_num);
         do vec::consume(link_args) |_, link_arg| {
-            cc_args.push(link_arg);
+            // Linker arguments that don't begin with - are likely file names,
+            // so they should not be necessary.
+            if link_arg.starts_with("-") {
+              cc_args.push(link_arg);
+            }
         }
     }