On Sun, Apr 25, 2010 at 1:24 PM, Toon Moene <t...@moene.org> wrote:
> Richard Guenther wrote:
>
>> On Sat, Apr 24, 2010 at 3:28 PM, Toon Moene <t...@moene.org> wrote:
>
>>> lto-symtab.c:549:
>>>
>>>   524
>>>   525 /* Helper to process the decl chain for the symbol table entry
>>> *SLOT.
>>>  */
>>>   526
>>>   527 static int
>>>   528 lto_symtab_merge_decls_1 (void **slot, void *data ATTRIBUTE_UNUSED)
>>>   ....
>>>   545   /* Assert it's the only one.  */
>>>   546   if (prevailing)
>>>   547     for (e = prevailing->next; e; e = e->next)
>>>   548       gcc_assert (e->resolution != LDPR_PREVAILING_DEF_IRONLY
>>>   549                   && e->resolution != LDPR_PREVAILING_DEF);
>>>
>>> Of course, I'd like to make a test case out of this - but what is this
>>> assert checking ?
>>
>> It is checking that for one symbol we only have one definition.
>>
>> You are using -fuse-linker-plugin?
>
> Indeed, I do (all of our code ends up in libraries - .a files - so I have
> to, to make -flto -fwhole-program be meaningful).
>
> Is it a problem with COMMON ?  Those typically have umpteen definitions,
> which all have to match ...

No, gold should choose a single prevailing definition.  The issue is that
gold and the linker-plugin seem to be unmaintained.  Can you make sure
you have an up-to-date gold?  There was a gold bugfix related to the
above this month.

Richard.

> Thanks in advance,
>
> --
> Toon Moene - e-mail: t...@moene.org - phone: +31 346 214290
> Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
> At home: http://moene.org/~toon/; weather: http://moene.org/~hirlam/
> Progress of GNU Fortran: http://gcc.gnu.org/gcc-4.5/changes.html#Fortran
>

Reply via email to