[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO

hubicka at ucw dot cz gcc-bugzilla@gcc.gnu.org
Sun Dec 2 09:23:00 GMT 2012


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

--- Comment #147 from Jan Hubicka <hubicka at ucw dot cz> 2012-12-02 09:23:09 UTC ---
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375
> 
> --- Comment #146 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2012-12-02 07:36:02 UTC ---
> (In reply to comment #145)
> > > 
> > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375
> > > 
> > > --- Comment #144 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2012-12-01 12:39:30 UTC ---
> > > It looks like there is a LTO code-size regression on trunk:
> > > (size of libxul.so, build without elfhack):
> > > 
> > > gcc lto/pgo : size: 42204584 | Kraken bench: 2723.9ms +/- 0.9%
> > 
> > About LTO+PGO please be sure that you have the Teresa's fix from this Friday in
> > your tree.
> 
> Yes, my tree already included this fix and also the fix from bug 55551.

Please try to reduce HOT_BB_COUNT_WS_PERMILLE to 990. I also see some
regressions
on some SPEC benchmarks (such as GCC) and this helps. If it doesn't it would be
nice
to know what value is needed for comparable size.
> 
> > > gcc         : size: 34072808 | Kraken bench: 2804.3ms +/- 1.6%
> > 
> > Is LTO w/o PGO bigger than previous builds?
> 
> Couldn't tell, because it doesn't link:
> 
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:
> warning: hidden symbol 'pixman_add_triangles' in
> /var/tmp/moz-build-dir/toolkit/library/../../gfx/cairo/libpixman/src/pixman-trap.o
> is referenced by DSO /usr/lib64/libcairo.so
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:
> error: /tmp/cc0oq4BG.ltrans1.ltrans.o: requires dynamic R_X86_64_PC32 reloc
> against '_ZN12SkAnnotationC1ER23SkFlattenableReadBuffer' which may overflow at
> runtime; recompile with -fPIC
> /tmp/cc0oq4BG.ltrans0.ltrans.o:cc0oq4BG.ltrans0.o:function SharedStub: error:
> undefined reference to 'PrepareAndDispatch'
> /tmp/cc0oq4BG.ltrans1.ltrans.o:cc0oq4BG.ltrans1.o:function
> SkAnnotation::CreateProc(SkFlattenableReadBuffer&) [clone .local.7828.1055099]:
> error: undefined reference to
> 'SkAnnotation::SkAnnotation(SkFlattenableReadBuffer&)'
> collect2: error: ld returned 1 exit status
> 
> The undefined reference to PrepareAndDispatch is easily fixed by
> an __attribute__ ((used)).
> Do you have an idea on how to fix the
> SkAnnotation::SkAnnotation(SkFlattenableReadBuffer&) issue?

Hmm, I remember seeing this one, too.  I will check.

Honza



More information about the Gcc-bugs mailing list