On Tue, 19 Nov 2013, Jan Hubicka wrote:

> > Hmm, gcc/gcc.c still reads:
> > 
> >  690 /* Conditional to test whether the LTO plugin is used or not.
> >  691    FIXME: For slim LTO we will need to enable plugin unconditionally.  
> > This
> >  692    still cause problems with PLUGIN_LD != LD and when plugin is built 
> > but
> >  693    not useable.  For GCC 4.6 we don't support slim LTO and thus we can 
> > enable
> >  694    plugin only when LTO is enabled.  We still honor explicit
> >  695    -fuse-linker-plugin if the linker used understands -plugin.  */
> >  696
> >  697 /* The linker has some plugin support.  */
> >  698 #if HAVE_LTO_PLUGIN > 0
> >  699 /* The linker used has full plugin support, use LTO plugin by default. 
> >  */
> >  700 #if HAVE_LTO_PLUGIN == 2
> 
> Hmm, I see, your problem is that there is no -flto?

The 4.6 consideration is irrelevant, I don't understand your question ...
for disabled LTO you can't run bootstrap-lto ...

> I guess you need to add that one then (rather than -fuse-linker-plugin).
> Yep, we ought to enable plugin for default to make split LTO happy and 
> probably can
> drop LTO_PLUGIN versioning. Richi?

I'd like to remove -fuse-linker-plugin and decide on its use at build
time (like we decide on its default now).  We should print a big fat
warning when we disable its use (for whatever reason) - it's probably
too late (or early ...) to remove non-linker-plugin LTO.

Richard.
 
> Honza
> >  701 #define PLUGIN_COND 
> > "!fno-use-linker-plugin:%{flto|flto=*|fuse-linker-plugin"
> >  702 #define PLUGIN_COND_CLOSE "}"
> >  703 #else
> >  704 /* The linker used has limited plugin support, use LTO plugin with 
> > explicit
> >  705    -fuse-linker-plugin.  */
> >  706 #define PLUGIN_COND "fuse-linker-plugin"
> >  707 #define PLUGIN_COND_CLOSE ""
> >  708 #endif
> >  709 #define LINK_PLUGIN_SPEC \
> >  710     "%{"PLUGIN_COND": \
> >  711     -plugin %(linker_plugin_file) \
> >  712     -plugin-opt=%(lto_wrapper) \
> >  713     -plugin-opt=-fresolution=%u.res \
> >  714     
> > %{!nostdlib:%{!nodefaultlibs:%:pass-through-libs(%(link_gcc_c_sequence))}} \
> >  715     }"PLUGIN_COND_CLOSE
> >  716 #else
> >  717 /* The linker used doesn't support -plugin, reject 
> > -fuse-linker-plugin.  */
> >  718 #define LINK_PLUGIN_SPEC "%{fuse-linker-plugin:\
> >  719     %e-fuse-linker-plugin is not supported in this configuration}"
> >  720 #endif
> > 
> > -- 
> > Markus
> 
> 

-- 
Richard Biener <rguent...@suse.de>
SUSE / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
GF: Jeff Hawn, Jennifer Guild, Felix Imend"orffer

Reply via email to