From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11676 invoked by alias); 4 Mar 2013 15:43:09 -0000 Received: (qmail 10009 invoked by uid 48); 4 Mar 2013 15:42:23 -0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug lto/50494] gcc.dg/vect/vect-reduc-2char.c fails spuriously on ppc with -flto Date: Mon, 04 Mar 2013 15:43:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: lto X-Bugzilla-Keywords: lto X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: REOPENED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.0 X-Bugzilla-Changed-Fields: CC Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2013-03/txt/msg00252.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50494 Richard Biener changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu.org --- Comment #22 from Richard Biener 2013-03-04 15:42:18 UTC --- (In reply to comment #21) > Reopened, the fix breaks LTO bootstrap with Ada: > > /tmp/cc5Nhl9J.s: Assembler messages: > /tmp/cc5Nhl9J.s:6206: Error: symbol `.LC0' is already defined > /tmp/cc5Nhl9J.s:6219: Error: symbol `.LC0' is already defined > /tmp/cc5Nhl9J.s:6996: Error: symbol `.LC0' is already defined > make[4]: *** [/tmp/ccuFb8kg.ltrans2.ltrans.o] Error 1 > make[4]: *** Waiting for unfinished jobs.... > /tmp/ccf05Tt7.s: Assembler messages: > /tmp/ccf05Tt7.s:5618: Error: symbol `.LC5' is already defined > /tmp/ccf05Tt7.s:5629: Error: symbol `.LC5' is already defined > make[4]: *** [/tmp/ccuFb8kg.ltrans8.ltrans.o] Error 1 > lto-wrapper: make returned 2 exit status > /home/eric/install/gcc/x86_64-suse-linux/bin/ld: lto-wrapper failed > collect2: error: ld returned 1 exit status > make[3]: *** [gnatbind] Error 1 > make[3]: *** Waiting for unfinished jobs.... > > The reason for the name collision seems obvious enough... I still think the > best solution is not to fiddle with the alignment of DECL_IN_CONSTANT_POOL > objects at this point, since the machinery assumes that their alignment doesn't > matter (or more precisely that they only need to have the alignment of their > type, which is correct as far as I know). How can the patch cause a name collision when all the patch does is avoid creating a new decl...? They are static and thus should be mangled. Well, and if we want a new decl just to re-assign a unique name here then we want to copy over alignment information. That is, LTO should handle constant-pool entries by _not_ streaming the decl then. Honza, how are those supposed to make the symtab -> WPA -> LTRANS transition anyway?