@@ -101,14 +101,9 @@ pub fn link_binary<'a, B: ArchiveBuilder<'a>>(
101101 match crate_type {
102102 CrateType :: Rlib => {
103103 let _timer = sess. timer ( "link_rlib" ) ;
104- link_rlib :: < B > (
105- sess,
106- codegen_results,
107- RlibFlavor :: Normal ,
108- & out_filename,
109- & path,
110- ) ?
111- . build ( ) ;
104+ info ! ( "preparing rlib to {:?}" , out_filename) ;
105+ link_rlib :: < B > ( sess, codegen_results, RlibFlavor :: Normal , & path) ?
106+ . build ( & out_filename) ;
112107 }
113108 CrateType :: Staticlib => {
114109 link_staticlib :: < B > ( sess, codegen_results, & out_filename, & path) ?;
@@ -249,14 +244,11 @@ fn link_rlib<'a, B: ArchiveBuilder<'a>>(
249244 sess : & ' a Session ,
250245 codegen_results : & CodegenResults ,
251246 flavor : RlibFlavor ,
252- out_filename : & Path ,
253247 tmpdir : & MaybeTempDir ,
254248) -> Result < B , ErrorGuaranteed > {
255- info ! ( "preparing rlib to {:?}" , out_filename) ;
256-
257249 let lib_search_paths = archive_search_paths ( sess) ;
258250
259- let mut ab = <B as ArchiveBuilder >:: new ( sess, out_filename ) ;
251+ let mut ab = <B as ArchiveBuilder >:: new ( sess) ;
260252
261253 let trailing_metadata = match flavor {
262254 RlibFlavor :: Normal => {
@@ -451,8 +443,8 @@ fn link_staticlib<'a, B: ArchiveBuilder<'a>>(
451443 out_filename : & Path ,
452444 tempdir : & MaybeTempDir ,
453445) -> Result < ( ) , ErrorGuaranteed > {
454- let mut ab =
455- link_rlib :: < B > ( sess, codegen_results, RlibFlavor :: StaticlibBase , out_filename , tempdir) ?;
446+ info ! ( "preparing staticlib to {:?}" , out_filename ) ;
447+ let mut ab = link_rlib :: < B > ( sess, codegen_results, RlibFlavor :: StaticlibBase , tempdir) ?;
456448 let mut all_native_libs = vec ! [ ] ;
457449
458450 let res = each_linked_rlib ( & codegen_results. crate_info , & mut |cnum, path| {
@@ -514,7 +506,7 @@ fn link_staticlib<'a, B: ArchiveBuilder<'a>>(
514506 sess. fatal ( & e) ;
515507 }
516508
517- ab. build ( ) ;
509+ ab. build ( out_filename ) ;
518510
519511 if !all_native_libs. is_empty ( ) {
520512 if sess. opts . prints . contains ( & PrintRequest :: NativeStaticLibs ) {
@@ -2479,7 +2471,7 @@ fn add_upstream_rust_crates<'a, B: ArchiveBuilder<'a>>(
24792471 let is_builtins = sess. target . no_builtins
24802472 || !codegen_results. crate_info . is_no_builtins . contains ( & cnum) ;
24812473
2482- let mut archive = <B as ArchiveBuilder >:: new ( sess, & dst ) ;
2474+ let mut archive = <B as ArchiveBuilder >:: new ( sess) ;
24832475 if let Err ( e) = archive. add_archive ( cratepath, move |f| {
24842476 if f == METADATA_FILENAME {
24852477 return true ;
@@ -2510,7 +2502,7 @@ fn add_upstream_rust_crates<'a, B: ArchiveBuilder<'a>>(
25102502 } ) {
25112503 sess. fatal ( & format ! ( "failed to build archive from rlib: {}" , e) ) ;
25122504 }
2513- if archive. build ( ) {
2505+ if archive. build ( & dst ) {
25142506 link_upstream ( & dst) ;
25152507 }
25162508 } ) ;
0 commit comments