[Bug ipa/59469] [4.8/4.9 Regression] LLVM build failure with gcc LTO

trippels at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Jan 9 20:34:00 GMT 2014


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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

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

--- Comment #25 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
(In reply to Rafael Avila de Espindola from comment #24)
> (In reply to Jan Hubicka from comment #22)
> > 00010 // This file implements the stickier parts of the
> > SymbolTableListTraits class,
> > 00011 // and is explicitly instantiated where needed to avoid defining all
> > this code
> > 00012 // in a widely used header.
> > 
> > I would thus say that libLLVMAsmParser.s misses the explicit instantiation
> > in it?
> 
> It looks like the expected/correct result is for libLLVMAsmParser.so to have
> an undefined reference that is satisfied by a definition in libLLVMCore.so.
> The definition should come from an explicit template instantiation in
> Function.cpp.
> 
> Markus, do you see the definition in Function.o? What about libLLVMCore.so?

Yes, is see the weak symbol both in BasicBlock.o and Function.o.
However it gets optimized away when I link them with "-flto -O3" into
libLLVMCore.so (see comment 0).

Honza says it is an error to have the symbol undefined in libLLVMAsmParser.so.
(The undefined symbol comes from LLParser.cpp)



More information about the Gcc-bugs mailing list