summaryrefslogtreecommitdiff
path: root/lto-plugin
diff options
context:
space:
mode:
Diffstat (limited to 'lto-plugin')
-rw-r--r--lto-plugin/ChangeLog5
-rw-r--r--lto-plugin/lto-plugin.c7
2 files changed, 12 insertions, 0 deletions
diff --git a/lto-plugin/ChangeLog b/lto-plugin/ChangeLog
index 8dcbc08bb5c6..de0db1db442c 100644
--- a/lto-plugin/ChangeLog
+++ b/lto-plugin/ChangeLog
@@ -1,3 +1,8 @@
+2014-04-02 Richard Biener <rguenther@suse.de>
+
+ * lto-plugin.c (onload): Fail to load if -fno-use-linker-plugin
+ is set in COLLECT_GCC_OPTIONS.
+
2014-03-28 Richard Biener <rguenther@suse.de>
* lto-plugin.c (process_symtab): Handle EINTR and short reads.
diff --git a/lto-plugin/lto-plugin.c b/lto-plugin/lto-plugin.c
index 1432340b015c..910e23cd6092 100644
--- a/lto-plugin/lto-plugin.c
+++ b/lto-plugin/lto-plugin.c
@@ -1067,5 +1067,12 @@ onload (struct ld_plugin_tv *tv)
"could not register the all_symbols_read callback");
}
+ /* Support -fno-use-linker-plugin by failing to load the plugin
+ for the case where it is auto-loaded by BFD. */
+ char *collect_gcc_options = getenv ("COLLECT_GCC_OPTIONS");
+ if (collect_gcc_options
+ && strstr (collect_gcc_options, "'-fno-use-linker-plugin'"))
+ return LDPS_ERR;
+
return LDPS_OK;
}