aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/common.opt2
-rw-r--r--gcc/opts.c7
3 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 94afbfc..d824dd8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-11-20 Jan Hubicka <jh@suse.cz>
+
+ * opts.c (finish_options): Imply -ffat-lto-objects with -fno-use-linker-plugin.
+ * common.opt (fuse-linker-plugin): Add var.
+
2013-11-20 Ilya Enkovich <ilya.enkovich@intel.com>
* dbxout.c (dbxout_type): Ignore POINTER_BOUNDS_TYPE.
diff --git a/gcc/common.opt b/gcc/common.opt
index 43d49ac..2216d6e 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -2247,7 +2247,7 @@ Common Negative(fuse-ld=bfd)
Use the gold linker instead of the default linker
fuse-linker-plugin
-Common Undocumented
+Common Undocumented Var(flag_use_linker_plugin)
; Positive if we should track variables, negative if we should run
; the var-tracking pass only to discard debug annotations, zero if
diff --git a/gcc/opts.c b/gcc/opts.c
index cd48c73..d282d6d 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -809,10 +809,13 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set,
#else
error_at (loc, "LTO support has not been enabled in this configuration");
#endif
- if (!opts->x_flag_fat_lto_objects && !HAVE_LTO_PLUGIN)
+ if (!opts->x_flag_fat_lto_objects
+ && (!HAVE_LTO_PLUGIN
+ || (opts_set->x_flag_use_linker_plugin
+ && !opts->x_flag_use_linker_plugin)))
{
if (opts_set->x_flag_fat_lto_objects)
- error_at (loc, "-fno-fat-lto-objects are supported only with linker plugin.");
+ error_at (loc, "-fno-fat-lto-objects are supported only with linker plugin");
opts->x_flag_fat_lto_objects = 1;
}
}