From 1163f69c847a768c6c0a987c8172c600519bf649 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Thu, 28 Mar 2013 18:15:35 -0700 Subject: [PATCH] rustc: fix linkage of internal static nodes. --- src/librustc/middle/trans/consts.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/librustc/middle/trans/consts.rs b/src/librustc/middle/trans/consts.rs index 050fc0dd334ad..04b641ed3036c 100644 --- a/src/librustc/middle/trans/consts.rs +++ b/src/librustc/middle/trans/consts.rs @@ -11,7 +11,8 @@ use core::prelude::*; use back::abi; -use lib::llvm::{llvm, ValueRef, TypeRef, Bool, True, False}; +use lib::llvm::{llvm, SetLinkage, InternalLinkage, PrivateLinkage, + ValueRef, TypeRef, Bool, True, False}; use metadata::csearch; use middle::const_eval; use middle::trans::adt; @@ -104,6 +105,7 @@ fn const_addr_of(cx: @CrateContext, cv: ValueRef) -> ValueRef { }; llvm::LLVMSetInitializer(gv, cv); llvm::LLVMSetGlobalConstant(gv, True); + SetLinkage(gv, PrivateLinkage); gv } } @@ -483,6 +485,7 @@ fn const_expr_unadjusted(cx: @CrateContext, e: @ast::expr) -> ValueRef { }; llvm::LLVMSetInitializer(gv, cv); llvm::LLVMSetGlobalConstant(gv, True); + SetLinkage(gv, PrivateLinkage); let p = const_ptrcast(cx, gv, llunitty); C_struct(~[p, sz]) }