[Bug lto/50494] gcc.dg/vect/vect-reduc-2char.c fails spuriously on ppc with -flto

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Mar 4 15:43:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50494

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu.org

--- Comment #22 from Richard Biener <rguenth at gcc dot gnu.org> 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?



More information about the Gcc-bugs mailing list