This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Enale -fno-fat-lto-objects by default


> 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 ...

The problem is that you have .a library consisting of slim LTO objects and you link
with it during configure check without -flto.
In this case we do not run plugin and never notice that LTO objects are involved.
I think in linger run we should do it.
> 
> > 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.

I would be also happy to see -fuse-linker-plugin and non-plugin path to go.
I think non-plugin needs to stay until darwin gets plugin support though
and the decisions depends on linker in use. At compile time we do not know
if user will choose or not to use linker enabled LD.

Honza


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]