about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2013-11-03 23:30:06 -0800
committerAlex Crichton <alex@alexcrichton.com>2013-11-03 23:56:45 -0800
commitc3089a1d314dded358ced2b5fbb4d95397e02467 (patch)
treec56507bff651f3c988d0cfe8ea89e67f8ddde4ed
parentb5c1b48048cc911c3caa07ada776239123a97b50 (diff)
downloadrust-c3089a1d314dded358ced2b5fbb4d95397e02467.tar.gz
rust-c3089a1d314dded358ced2b5fbb4d95397e02467.zip
Fix the temporary name of the object file created
This file did not respect the #[link(name = "...")] attribute when it was
clearly intended to do so. The problem is that the crate attributes just weren't
passed in. This causes lots of problems in rust today because the object file
for all our libraries is inferred to be 'lib.o' because all of the files are
called 'lib.rs'.

I tried to figure out a good way to test for this, but I wasn't able to come up
with a good way that fit into our current testing framework. Nonetheless, I have
tested this locally and object files get named as they should. This should fix
compiling with `make -jN` again (because the object files are all different
again).
-rw-r--r--src/librustc/driver/driver.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/librustc/driver/driver.rs b/src/librustc/driver/driver.rs
index fb593b56e15..8e46598c359 100644
--- a/src/librustc/driver/driver.rs
+++ b/src/librustc/driver/driver.rs
@@ -441,7 +441,8 @@ pub fn compile_input(sess: Session, cfg: ast::CrateConfig, input: &input,
         };
         let analysis = phase_3_run_analysis_passes(sess, &expanded_crate);
         if stop_after_phase_3(sess) { return; }
-        let outputs = build_output_filenames(input, outdir, output, [], sess);
+        let outputs = build_output_filenames(input, outdir, output,
+                                             expanded_crate.attrs, sess);
         let trans = phase_4_translate_to_llvm(sess, expanded_crate,
                                               &analysis, outputs);
         (outputs, trans)