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 <[email protected]>
SUSE / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
GF: Jeff Hawn, Jennifer Guild, Felix Imend"orffer