]> git.lizzy.rs Git - rust.git/commitdiff
Fix the temporary name of the object file created
authorAlex Crichton <alex@alexcrichton.com>
Mon, 4 Nov 2013 07:30:06 +0000 (23:30 -0800)
committerAlex Crichton <alex@alexcrichton.com>
Mon, 4 Nov 2013 07:56:45 +0000 (23:56 -0800)
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).

src/librustc/driver/driver.rs

index fb593b56e15f5d73872585b8a8288e794da254df..8e46598c35939117241f77dbbabb78fffbc4d5f3 100644 (file)
@@ -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)