about summary refs log tree commit diff
path: root/src/librustc_codegen_ssa
diff options
context:
space:
mode:
authorJohn Kåre Alsaker <john.kare.alsaker@gmail.com>2019-04-14 19:05:21 +0200
committerJohn Kåre Alsaker <john.kare.alsaker@gmail.com>2019-06-12 23:07:13 +0200
commit52bd4f263b57faf987dc32d40642403e313e175a (patch)
tree009e1a7c156815cad6032fefbfb3a91a5b9a1b6a /src/librustc_codegen_ssa
parent185dcebbff7f3c18fb94be82f76bdfd620cfb096 (diff)
downloadrust-52bd4f263b57faf987dc32d40642403e313e175a.tar.gz
rust-52bd4f263b57faf987dc32d40642403e313e175a.zip
Add a limit_rdylib_exports option and disable it for Solaris
Diffstat (limited to 'src/librustc_codegen_ssa')
-rw-r--r--src/librustc_codegen_ssa/back/linker.rs11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/librustc_codegen_ssa/back/linker.rs b/src/librustc_codegen_ssa/back/linker.rs
index eee9533535f..39ccf4f46b7 100644
--- a/src/librustc_codegen_ssa/back/linker.rs
+++ b/src/librustc_codegen_ssa/back/linker.rs
@@ -381,15 +381,12 @@ impl<'a> Linker for GccLinker<'a> {
         // The object files have far more public symbols than we actually want to export,
         // so we hide them all here.
 
-        if crate_type == CrateType::ProcMacro {
-            return
+        if !self.sess.target.target.options.limit_rdylib_exports {
+            return;
         }
 
-        // Symbol visibility takes care of this for the WebAssembly.
-        // Additionally the only known linker, LLD, doesn't support the script
-        // arguments just yet
-        if self.sess.target.target.arch == "wasm32" {
-            return;
+        if crate_type == CrateType::ProcMacro {
+            return
         }
 
         let mut arg = OsString::new();