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 /src/comp | |
| 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.
Diffstat (limited to 'src/comp')
| -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); |
