From: Jan Hubicka Date: Wed, 12 Jan 2011 15:47:29 +0000 (+0100) Subject: re PR driver/47244 (plugin linker is used unconditionally) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=56e22cab21f64b500510118ae7705647bb56cce4;p=gcc.git re PR driver/47244 (plugin linker is used unconditionally) PR driver/47244 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used. (PLUGIN_COND_CLOSE): New macro. (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE. From-SVN: r168717 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4724df2f7b7..db57dfd81ad 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2011-01-12 Jan Hubicka + + PR driver/47244 + * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used. + (PLUGIN_COND_CLOSE): New macro. + (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE. + 2011-01-12 Richard Guenther PR lto/47259 diff --git a/gcc/gcc.c b/gcc/gcc.c index 9532d7efd8b..ea3403b5ca9 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -621,11 +621,18 @@ proper position among the other output files. */ # endif #endif -/* Conditional to test whether plugin is used or not. */ +/* Conditional to test whether plugin is used or not. + FIXME: For slim LTO we will need to enable plugin unconditionally. This + still cause problems with PLUGIN_LD != LD and when plugin is built but + not useable. For GCC 4.6 we don't support slim LTO and thus we can enable + plugin only when LTO is enabled. We still honor explicit + -fuse-linker-plugin. */ #ifdef HAVE_LTO_PLUGIN -#define PLUGIN_COND "!fno-use-linker-plugin" +#define PLUGIN_COND "!fno-use-linker-plugin:%{flto|flto=*|fuse-linker-plugin" +#define PLUGIN_COND_CLOSE "}" #else #define PLUGIN_COND "fuse-linker-plugin" +#define PLUGIN_COND_CLOSE "" #endif @@ -646,9 +653,9 @@ proper position among the other output files. */ -plugin-opt=%(lto_wrapper) \ -plugin-opt=-fresolution=%u.res \ %{!nostdlib:%{!nodefaultlibs:%:pass-through-libs(%(link_gcc_c_sequence))}} \ - } \ - %{flto*:%