diff options
| author | Felix S. Klock II <pnkfelix@pnkfx.org> | 2019-11-01 13:46:05 +0100 |
|---|---|---|
| committer | Felix S. Klock II <pnkfelix@pnkfx.org> | 2019-11-01 15:05:45 +0100 |
| commit | d21f9b7fd6d4e41257bb4a6db64e9873767374dc (patch) | |
| tree | 26e0a471861b57531dec4e64350b2c16fd0250a6 /src/librustc_codegen_ssa | |
| parent | d3d28a49209a21628fda0245b631e5fc3465be1a (diff) | |
| download | rust-d21f9b7fd6d4e41257bb4a6db64e9873767374dc.tar.gz rust-d21f9b7fd6d4e41257bb4a6db64e9873767374dc.zip | |
targeted revert of PR rust-lang/rust#64324 (just undo change to dylib generics export).
Includes the anticipated fallout to run-make-fulldeps test suite from this change. (We need to reopen issue 64319 as part of landing this.)
Diffstat (limited to 'src/librustc_codegen_ssa')
| -rw-r--r-- | src/librustc_codegen_ssa/back/linker.rs | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/src/librustc_codegen_ssa/back/linker.rs b/src/librustc_codegen_ssa/back/linker.rs index ff87f0b1547..999cc406585 100644 --- a/src/librustc_codegen_ssa/back/linker.rs +++ b/src/librustc_codegen_ssa/back/linker.rs @@ -14,7 +14,6 @@ use rustc::middle::dependency_format::Linkage; use rustc::session::Session; use rustc::session::config::{self, CrateType, OptLevel, DebugInfo, LinkerPluginLto, Lto}; -use rustc::middle::exported_symbols::ExportedSymbol; use rustc::ty::TyCtxt; use rustc_target::spec::{LinkerFlavor, LldFlavor}; use rustc_serialize::{json, Encoder}; @@ -1112,20 +1111,10 @@ fn exported_symbols(tcx: TyCtxt<'_>, crate_type: CrateType) -> Vec<String> { continue; } - // Do not export generic symbols from upstream crates in linked - // artifact (notably the `dylib` crate type). The main reason - // for this is that `symbol_name` is actually wrong for generic - // symbols because it guesses the name we'd give them locally - // rather than the name it has upstream (depending on - // `share_generics` settings and such). - // - // To fix that issue we just say that linked artifacts, aka - // `dylib`s, never export generic symbols and they aren't - // available to downstream crates. (the not available part is - // handled elsewhere). - if let ExportedSymbol::Generic(..) = symbol { - continue; - } + // FIXME rust-lang/rust#64319, rust-lang/rust#64872: + // We want to block export of generics from dylibs, + // but we must fix rust-lang/rust#65890 before we can + // do that robustly. symbols.push(symbol.symbol_name(tcx).to_string()); } |
