summary refs log tree commit diff
path: root/compiler/rustc_codegen_ssa/src/base.rs
diff options
context:
space:
mode:
authorbjorn3 <bjorn3@users.noreply.github.com>2021-07-06 18:28:07 +0200
committerbjorn3 <bjorn3@users.noreply.github.com>2021-07-06 18:28:07 +0200
commitb21cbfd77dc9118edd3ac63338d0e214380b51bf (patch)
tree33425ff48854883bb58e192c143caf0156c3f55d /compiler/rustc_codegen_ssa/src/base.rs
parentb4a12f95c13580527eb6e857268ee88c1e444d75 (diff)
downloadrust-b21cbfd77dc9118edd3ac63338d0e214380b51bf.tar.gz
rust-b21cbfd77dc9118edd3ac63338d0e214380b51bf.zip
Fold LinkerInfo into CrateInfo
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/base.rs')
-rw-r--r--compiler/rustc_codegen_ssa/src/base.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/compiler/rustc_codegen_ssa/src/base.rs b/compiler/rustc_codegen_ssa/src/base.rs
index 963ff334ec3..7df17bd20b9 100644
--- a/compiler/rustc_codegen_ssa/src/base.rs
+++ b/compiler/rustc_codegen_ssa/src/base.rs
@@ -1,4 +1,3 @@
-use crate::back::linker::LinkerInfo;
 use crate::back::write::{
     compute_per_cgu_lto_type, start_async_codegen, submit_codegened_module_to_llvm,
     submit_post_lto_module_to_llvm, submit_pre_lto_module_to_llvm, ComputedLtoType, OngoingCodegen,
@@ -756,7 +755,12 @@ impl<B: ExtraBackendMethods> Drop for AbortCodegenOnDrop<B> {
 
 impl CrateInfo {
     pub fn new(tcx: TyCtxt<'_>, target_cpu: String) -> CrateInfo {
-        let linker_info = LinkerInfo::new(tcx, target_cpu);
+        let exported_symbols = tcx
+            .sess
+            .crate_types()
+            .iter()
+            .map(|&c| (c, crate::back::linker::exported_symbols(tcx, c)))
+            .collect();
         let local_crate_name = tcx.crate_name(LOCAL_CRATE);
         let crate_attrs = tcx.hir().attrs(rustc_hir::CRATE_HIR_ID);
         let subsystem = tcx.sess.first_attr_value_str_by_name(crate_attrs, sym::windows_subsystem);
@@ -772,7 +776,8 @@ impl CrateInfo {
         });
 
         let mut info = CrateInfo {
-            linker_info,
+            target_cpu,
+            exported_symbols,
             local_crate_name,
             compiler_builtins: None,
             profiler_runtime: None,