From patchwork Fri Jun 7 19:58:16 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Hubicka X-Patchwork-Id: 249808 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "localhost", Issuer "www.qmailtoaster.com" (not verified)) by ozlabs.org (Postfix) with ESMTPS id 833B12C00AB for ; Sat, 8 Jun 2013 05:58:27 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; q=dns; s=default; b=RbFZ/UqASGHs9eHZ/ ssRE+a5Og1w6ixLUVYNi66uIAcUK9SqWlKUnERUISg19FzVYkjVuVAQejv2zKpmL 2HXs0peVzEUqUNs0P0txg3xMnPvu38+VOQZ8YfZuVpwpKOWHvzUe7965NvnnBz64 ktut2E7Y+ioB+Gfdvii1XeY6Pg= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=default; bh=0JKi0+1Q5N7kg/Qg9VKeDB8 VsWk=; b=JRMy8I6gNy4O+10ZrJSuhfaWTrFyVYGXhGUFe11QwlQF8ejHTF68he4 Jb10LtoHy+YbRuAGV3t33RmfLwV/ZZyFwfs4xdRzxaPswcPRJ2jy6n8TUvCsXl2J ub7HCn00QymMjb5UQiGS8J9p6dA9cPy80mrSNuqcTWAZ9cAt7vpQ= Received: (qmail 32312 invoked by alias); 7 Jun 2013 19:58:20 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 32301 invoked by uid 89); 7 Jun 2013 19:58:20 -0000 X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL, BAYES_00, KHOP_RCVD_UNTRUST, RCVD_IN_DNSWL_LOW, RP_MATCHES_RCVD autolearn=ham version=3.3.1 Received: from nikam.ms.mff.cuni.cz (HELO nikam.ms.mff.cuni.cz) (195.113.20.16) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Fri, 07 Jun 2013 19:58:19 +0000 Received: by nikam.ms.mff.cuni.cz (Postfix, from userid 16202) id D980F542FDD; Fri, 7 Jun 2013 21:58:16 +0200 (CEST) Date: Fri, 7 Jun 2013 21:58:16 +0200 From: Jan Hubicka To: Jan Hubicka Cc: Marcus Shawcroft , "gcc-patches@gcc.gnu.org" Subject: Re: Symtab cleanups 2/17 - merge alias code Message-ID: <20130607195816.GC29599@kam.mff.cuni.cz> References: <20130601130641.GA5024@kam.mff.cuni.cz> <20130607163428.GA29599@kam.mff.cuni.cz> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20130607163428.GA29599@kam.mff.cuni.cz> User-Agent: Mutt/1.5.20 (2009-06-14) > > On 1 June 2013 14:06, Jan Hubicka wrote: > > > Hi, > > > this patch cleanups way we handle aliases. The main point is to merge code > > > that was previously done separately for variables and functions. > > > > > > > Hello, This patch appears to break both arm and aarch64. I don't > > fully understand the mechanism. The issue shows up when building > > res_libc.o over in glibc. The following fragment demonstrates the > > issue: > > > > I suspect the section anchor appeared because > > varasm.c:use_blocks_for_decl_p test for an 'alias' failed. > > You are probably right. I added code that removes alias attributes once > they land symtab. The reason is that I run into wrong code issues with code > picking up the symbol name from alias attribute that is no longer valid > after LTO renaming. > Apparently this code and also symbol equality testing in fold-const rely > on alias attribute but do not worry about what alias it is. > I will revert this part of patch and try to solve this incrementally. > (the code in fold-const is wrong anyway) Hi, I have comitted the following. Does it solve your problem? Honza Index: ChangeLog =================================================================== --- ChangeLog (revision 199834) +++ ChangeLog (working copy) @@ -1,3 +1,7 @@ +2013-06-07 Jan Hubicka + + * symtab.c (symtab_resolve_alias): Do not remove alias attribute. + 2013-06-07 David Malcolm * tree-object-size.c (unknown): Make const. Index: symtab.c =================================================================== --- symtab.c (revision 199698) +++ symtab.c (working copy) @@ -978,8 +978,6 @@ symtab_resolve_alias (symtab_node node, We do not want to keep it around or we would have to mind updating them when renaming symbols. */ node->symbol.alias_target = NULL; - DECL_ATTRIBUTES (node->symbol.decl) - = remove_attribute ("alias", DECL_ATTRIBUTES (node->symbol.decl)); if (node->symbol.cpp_implicit_alias && cgraph_state >= CGRAPH_STATE_CONSTRUCTION) fixup_same_cpp_alias_visibility (node, target);