diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-02-11 07:48:10 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-11 07:48:10 +0100 |
| commit | c543f7dbd4cc4afb57cb00b2937b50a3371fa15d (patch) | |
| tree | c75d4ec3841c48b24bd768088d4d3c9a32e12559 /compiler/rustc_codegen_ssa/src | |
| parent | 219fc8f9f06100c675580fab9a875678b9c037a2 (diff) | |
| parent | 609784711a0a3cb399299d65b58463253541b2da (diff) | |
| download | rust-c543f7dbd4cc4afb57cb00b2937b50a3371fa15d.tar.gz rust-c543f7dbd4cc4afb57cb00b2937b50a3371fa15d.zip | |
Rollup merge of #93864 - bjorn3:cleanup_archive_handling, r=petrochenkov
Remove ArchiveBuilder::update_symbols All paths to an ArchiveBuilder::build call update_symbols first.
Diffstat (limited to 'compiler/rustc_codegen_ssa/src')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/back/archive.rs | 1 | ||||
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/back/link.rs | 14 |
2 files changed, 1 insertions, 14 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/archive.rs b/compiler/rustc_codegen_ssa/src/back/archive.rs index 3db948a16fc..a2f74b94214 100644 --- a/compiler/rustc_codegen_ssa/src/back/archive.rs +++ b/compiler/rustc_codegen_ssa/src/back/archive.rs @@ -51,7 +51,6 @@ pub trait ArchiveBuilder<'a> { fn add_archive<F>(&mut self, archive: &Path, skip: F) -> io::Result<()> where F: FnMut(&str) -> bool + 'static; - fn update_symbols(&mut self); fn build(self); diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs index 7a13e424f9a..e53c9842117 100644 --- a/compiler/rustc_codegen_ssa/src/back/link.rs +++ b/compiler/rustc_codegen_ssa/src/back/link.rs @@ -333,10 +333,6 @@ fn link_rlib<'a, B: ArchiveBuilder<'a>>( ab.inject_dll_import_lib(&raw_dylib_name, &raw_dylib_imports, tmpdir); } - // After adding all files to the archive, we need to update the - // symbol table of the archive. - ab.update_symbols(); - // Note that it is important that we add all of our non-object "magical // files" *after* all of the object files in the archive. The reason for // this is as follows: @@ -365,13 +361,6 @@ fn link_rlib<'a, B: ArchiveBuilder<'a>>( // normal linkers for the platform. let metadata = create_rmeta_file(sess, codegen_results.metadata.raw_data()); ab.add_file(&emit_metadata(sess, &metadata, tmpdir)); - - // After adding all files to the archive, we need to update the - // symbol table of the archive. This currently dies on macOS (see - // #11162), and isn't necessary there anyway - if !sess.target.is_like_osx { - ab.update_symbols(); - } } RlibFlavor::StaticlibBase => { @@ -381,6 +370,7 @@ fn link_rlib<'a, B: ArchiveBuilder<'a>>( } } } + return Ok(ab); } @@ -509,7 +499,6 @@ fn link_staticlib<'a, B: ArchiveBuilder<'a>>( sess.fatal(&e); } - ab.update_symbols(); ab.build(); if !all_native_libs.is_empty() { @@ -2310,7 +2299,6 @@ fn add_upstream_rust_crates<'a, B: ArchiveBuilder<'a>>( sess.prof.generic_activity_with_arg("link_altering_rlib", name).run(|| { let mut archive = <B as ArchiveBuilder>::new(sess, &dst, Some(cratepath)); - archive.update_symbols(); let mut any_objects = false; for f in archive.src_files() { |
