From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3197 invoked by alias); 8 Oct 2015 13:14:42 -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 3182 invoked by uid 89); 8 Oct 2015 13:14:40 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 X-HELO: mx07-00178001.pphosted.com Received: from mx07-00178001.pphosted.com (HELO mx07-00178001.pphosted.com) (62.209.51.94) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Thu, 08 Oct 2015 13:14:39 +0000 Received: from pps.filterd (m0046668.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.14.5/8.14.5) with SMTP id t98D9umk019869; Thu, 8 Oct 2015 15:14:33 +0200 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 1xdh6rth0b-1 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 08 Oct 2015 15:14:33 +0200 Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id E342E31; Thu, 8 Oct 2015 13:14:11 +0000 (GMT) Received: from Webmail-eu.st.com (safex1hubcas4.st.com [10.75.90.69]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id E3A8255C1; Thu, 8 Oct 2015 13:14:31 +0000 (GMT) Received: from [164.129.122.197] (164.129.122.197) by webmail-eu.st.com (10.75.90.13) with Microsoft SMTP Server (TLS) id 8.3.389.2; Thu, 8 Oct 2015 15:14:31 +0200 Subject: Re: [PATCH ARM]: PR67745: Fix function alignment after __attribute__ 2/2 To: Bernd Schmidt , "law@redhat.com" References: <560A90F2.5010708@st.com> <560C31CD.7060009@redhat.com> <560CDCD7.9080108@st.com> <560D5B36.2020600@st.com> <5614C412.5080400@st.com> <5614F17B.5060402@redhat.com> <5614F7D0.8010409@st.com> <56155841.6000404@redhat.com> <56155B72.4020807@redhat.com> CC: "gcc-patches@gcc.gnu.org" , "Ramana.Radhakrishnan@arm.com" , "kyrylo.tkachov@arm.com" , "richard.earnshaw@arm.com" From: Christian Bruel X-No-Archive: yes Message-ID: <56166C36.7040600@st.com> Date: Thu, 08 Oct 2015 13:14:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <56155B72.4020807@redhat.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.14.151,1.0.33,0.0.0000 definitions=2015-10-08_10:2015-10-08,2015-10-08,1970-01-01 signatures=0 X-IsSubscribed: yes X-SW-Source: 2015-10/txt/msg00826.txt.bz2 On 10/07/2015 07:50 PM, Bernd Schmidt wrote: > On 10/07/2015 07:37 PM, Bernd Schmidt wrote: >> On 10/07/2015 12:45 PM, Christian Bruel wrote: > >>> On 10/07/2015 12:18 PM, Bernd Schmidt wrote: >>>> On 10/07/2015 09:04 AM, Christian Bruel wrote: >>>>> + /* Similarly, relayout function's alignment if not forced. */ >>>>> + if (!DECL_USER_ALIGN (fndecl) >>>>> + && (TREE_CODE (fntype) != METHOD_TYPE >>>>> + || TARGET_PTRMEMFUNC_VBIT_LOCATION != >>>>> ptrmemfunc_vbit_in_pfn)) >>>>> + DECL_ALIGN (fndecl) = FUNCTION_BOUNDARY; >>>>> } > > Hmm, more questions are coming to mind - are other places that set > DECL_ALIGN for functions redundant after this change? It looks like the > main place where it's set is make_node_stat where it's also set to > FUNCTION_BOUNDARY. That's small enough not to bother changing it, Yes it is. I thought about poisoning it but make_node_stat is used for synthesized functions as well and we need to keep the default correct. > but it > raises another issue: we don't allocate a struct function for mere > declarations, so does that mean they can have an incorrect DECL_ALIGN? > Probably at the time of start_decl, because DECL_ALIGN will have the boundary given by the global target_flags at that time. But this shouldn't be a problem since what matters is the DECL_ALIGN recomputed with the definition when there is something to layout.