diff options
| author | Rafael Ávila de Espíndola <respindola@mozilla.com> | 2011-06-01 15:45:31 -0400 |
|---|---|---|
| committer | Rafael Ávila de Espíndola <respindola@mozilla.com> | 2011-06-01 15:45:31 -0400 |
| commit | 30efdeeca1bd0d60412fdb9e88eba6336ffcacea (patch) | |
| tree | 8e6e044d4515457c2cc5285f95afff7811507b97 | |
| parent | 2ef2bda276d2fe28d8b15f722850f5f21b226792 (diff) | |
| download | rust-30efdeeca1bd0d60412fdb9e88eba6336ffcacea.tar.gz rust-30efdeeca1bd0d60412fdb9e88eba6336ffcacea.zip | |
Visibility is an ELF concept and protected visibility is not very well implemented,
avoid using it for now. Instead, mark pairs that are not needed elsewhere as internal.
| -rw-r--r-- | src/comp/middle/trans.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index 3e3f8654be3..78850d20fa1 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -7436,9 +7436,12 @@ fn register_fn_pair(&@crate_ctxt cx, str ps, TypeRef llpairty, ValueRef llfn, llvm::LLVMSetInitializer(gvar, pair); llvm::LLVMSetGlobalConstant(gvar, True); - llvm::LLVMSetVisibility(gvar, - lib::llvm::LLVMProtectedVisibility - as llvm::Visibility); + + // FIXME: We should also hide the unexported pairs in crates. + if (!cx.sess.get_opts().shared) { + llvm::LLVMSetLinkage(gvar, lib::llvm::LLVMInternalLinkage + as llvm::Linkage); + } cx.item_ids.insert(id, llfn); cx.item_symbols.insert(id, ps); |
