This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Enale -fno-fat-lto-objects by default
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Markus Trippelsdorf <markus at trippelsdorf dot de>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Paolo Bonzini <bonzini at gnu dot org>, gcc-patches at gcc dot gnu dot org, dj at redhat dot com, rguenther at suse dot de
- Date: Tue, 19 Nov 2013 13:51:09 +0100
- Subject: Re: Enale -fno-fat-lto-objects by default
- Authentication-results: sourceware.org; auth=none
- References: <20131118180458 dot GH11338 at kam dot mff dot cuni dot cz> <20131118184331 dot GA10148 at x4> <20131118190940 dot GA26530 at kam dot mff dot cuni dot cz> <528B24D5 dot 4020504 at gnu dot org> <20131119100506 dot GB10148 at x4> <20131119102148 dot GJ26530 at kam dot mff dot cuni dot cz> <20131119123529 dot GD10148 at x4>
> 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?
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?
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