From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12546 invoked by alias); 4 Feb 2015 21:53:22 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 12533 invoked by uid 89); 4 Feb 2015 21:53:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,KAM_STOCKGEN,RCVD_IN_DNSWL_LOW,SPF_PASS,T_RP_MATCHES_RCVD autolearn=no version=3.3.2 X-HELO: mail-vc0-f182.google.com Received: from mail-vc0-f182.google.com (HELO mail-vc0-f182.google.com) (209.85.220.182) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Wed, 04 Feb 2015 21:53:15 +0000 Received: by mail-vc0-f182.google.com with SMTP id kv19so1505579vcb.13 for ; Wed, 04 Feb 2015 13:53:12 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=CxuuvXAfPVvT2GVDgQ9B5M5H37Vvwi7oWVQbNop9yq8=; b=gj4DBQvwEdEAAH7AveGBQDK8JpQb75HdM/B+7EEw5MhOA5H//TiyKIvJDoGkrBPVmg s31+8UnRin97VyM15WQXsyZxbCGjDR2mirMsLKIE+VKsg9qOXVc0nFk+GqLr6fqRBBLe CjOQf4AP/GDNmuuWv4pJDlZ7HwEf62+dk6DrOQNAFiFb44G8ZytAevXChdBx6qykWtXS /6FsZdph/qiX6nT2OHp+kiHdNkllD0bEROD+OMkCEJzywe5gvJbfY46EHh4y0/vVoBDp KUJfBhvL09nahBMUC2zxzIRHGz/mC7Eu/64osecJrWScA1zDe8STeXuS+VtEBLpme5rn 29gg== X-Gm-Message-State: ALoCoQnM25LtBarsaTh9f4Su6Z29R5PF9c5VyGBDDPipWib3nRPFAT1qdGsSgey0W3Zi7WzZim9k MIME-Version: 1.0 X-Received: by 10.52.146.115 with SMTP id tb19mr291673vdb.69.1423086792670; Wed, 04 Feb 2015 13:53:12 -0800 (PST) Received: by 10.52.37.114 with HTTP; Wed, 4 Feb 2015 13:53:12 -0800 (PST) In-Reply-To: References: <20150203193615.GZ1746@tucnak.redhat.com> <20150203221935.GA1746@tucnak.redhat.com> <20150204183127.GU1746@tucnak.redhat.com> <20150204184205.GW1746@tucnak.redhat.com> Date: Wed, 04 Feb 2015 21:53:00 -0000 Message-ID: Subject: Re: [PATCH x86_64] Optimize access to globals in "-fpie -pie" builds with copy relocations From: Sriraman Tallam To: "H.J. Lu" Cc: Jakub Jelinek , Uros Bizjak , "gcc-patches@gcc.gnu.org" , David Li , Cary Coutant Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes X-SW-Source: 2015-02/txt/msg00289.txt.bz2 On Wed, Feb 4, 2015 at 10:57 AM, H.J. Lu wrote: > On Wed, Feb 4, 2015 at 10:51 AM, Sriraman Tallam wrote: >> On Wed, Feb 4, 2015 at 10:45 AM, H.J. Lu wrote: >>> On Wed, Feb 4, 2015 at 10:42 AM, Jakub Jelinek wrote: >>>> On Wed, Feb 04, 2015 at 10:38:48AM -0800, H.J. Lu wrote: >>>>> Common symbol should be resolved locally for PIE. >>>> >>>> binds_local_p yes, binds_to_current_def_p no. >>>> >>> >>> Is SYMBOL_REF_LOCAL_P set to binds_local_p or >>> binds_to_current_def_p? >> >> Looks like binds_local_p: >> >> varasm.c: >> void >> default_encode_section_info (tree decl, rtx rtl, int first ATTRIBUTE_UNUSED) >> { >> ... >> if (targetm.binds_local_p (decl)) >> flags |= SYMBOL_FLAG_LOCAL; >> > > Why is SYMBOL_REF_LOCAL_P false? In varasm.c, default_binds_local_p_1 /* Default visibility weak data can be overridden by a strong symbol in another module and so are not local. */ else if (DECL_WEAK (exp) && !resolved_locally) local_p = false; For weak definition, it is set to false here. Sri > > > -- > H.J.