@@ -138,11 +138,8 @@ pub trait ArchiveBuilderBuilder {
138
138
bundled_lib_file_names : & FxIndexSet < Symbol > ,
139
139
) -> Result < ( ) , ExtractBundledLibsError < ' a > > {
140
140
let archive_map = unsafe {
141
- Mmap :: map (
142
- File :: open ( rlib)
143
- . map_err ( |e| ExtractBundledLibsError :: OpenFile { rlib, error : Box :: new ( e) } ) ?,
144
- )
145
- . map_err ( |e| ExtractBundledLibsError :: MmapFile { rlib, error : Box :: new ( e) } ) ?
141
+ Mmap :: map ( rlib)
142
+ . map_err ( |e| ExtractBundledLibsError :: MmapFile { rlib, error : Box :: new ( e) } ) ?
146
143
} ;
147
144
let archive = ArchiveFile :: parse ( & * archive_map)
148
145
. map_err ( |e| ExtractBundledLibsError :: ParseArchive { rlib, error : Box :: new ( e) } ) ?;
@@ -363,7 +360,7 @@ pub fn try_extract_macho_fat_archive(
363
360
sess : & Session ,
364
361
archive_path : & Path ,
365
362
) -> io:: Result < Option < PathBuf > > {
366
- let archive_map = unsafe { Mmap :: map ( File :: open ( & archive_path) ? ) ? } ;
363
+ let archive_map = unsafe { Mmap :: map ( & archive_path) ? } ;
367
364
let target_arch = match sess. target . arch . as_ref ( ) {
368
365
"aarch64" => object:: Architecture :: Aarch64 ,
369
366
"x86_64" => object:: Architecture :: X86_64 ,
@@ -400,7 +397,7 @@ impl<'a> ArchiveBuilder for ArArchiveBuilder<'a> {
400
397
return Ok ( ( ) ) ;
401
398
}
402
399
403
- let archive_map = unsafe { Mmap :: map ( File :: open ( & archive_path) ? ) ? } ;
400
+ let archive_map = unsafe { Mmap :: map ( & archive_path) ? } ;
404
401
let archive = ArchiveFile :: parse ( & * archive_map)
405
402
. map_err ( |err| io:: Error :: new ( io:: ErrorKind :: InvalidData , err) ) ?;
406
403
let archive_index = self . src_archives . len ( ) ;
@@ -463,25 +460,22 @@ impl<'a> ArArchiveBuilder<'a> {
463
460
let mut entries = Vec :: new ( ) ;
464
461
465
462
for ( entry_name, entry) in self . entries {
466
- let data =
467
- match entry {
468
- ArchiveEntry :: FromArchive { archive_index, file_range } => {
469
- let src_archive = & self . src_archives [ archive_index] ;
470
-
471
- let data = & src_archive. 1
472
- [ file_range. 0 as usize ..file_range. 0 as usize + file_range. 1 as usize ] ;
473
-
474
- Box :: new ( data) as Box < dyn AsRef < [ u8 ] > >
475
- }
476
- ArchiveEntry :: File ( file) => unsafe {
477
- Box :: new (
478
- Mmap :: map ( File :: open ( file) . map_err ( |err| {
479
- io_error_context ( "failed to open object file" , err)
480
- } ) ?)
463
+ let data = match entry {
464
+ ArchiveEntry :: FromArchive { archive_index, file_range } => {
465
+ let src_archive = & self . src_archives [ archive_index] ;
466
+
467
+ let data = & src_archive. 1
468
+ [ file_range. 0 as usize ..file_range. 0 as usize + file_range. 1 as usize ] ;
469
+
470
+ Box :: new ( data) as Box < dyn AsRef < [ u8 ] > >
471
+ }
472
+ ArchiveEntry :: File ( file) => unsafe {
473
+ Box :: new (
474
+ Mmap :: map ( file)
481
475
. map_err ( |err| io_error_context ( "failed to map object file" , err) ) ?,
482
- ) as Box < dyn AsRef < [ u8 ] > >
483
- } ,
484
- } ;
476
+ ) as Box < dyn AsRef < [ u8 ] > >
477
+ } ,
478
+ } ;
485
479
486
480
entries. push ( NewArchiveMember {
487
481
buf : data,
0 commit comments