aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2014-06-13 16:32:16 +0200
committerThomas Schwinge <tschwinge@gcc.gnu.org>2014-06-13 16:32:16 +0200
commit45b3824db6060be8e30f817b05033ef3dc30f2e4 (patch)
treee212e86d892a2b16bd0d28b485cffc6105c5c8db /gcc
parentb6383ab8417b0eb79fdaf8c3cf30085c1ab8d908 (diff)
downloadgcc-45b3824db6060be8e30f817b05033ef3dc30f2e4.zip
gcc-45b3824db6060be8e30f817b05033ef3dc30f2e4.tar.gz
gcc-45b3824db6060be8e30f817b05033ef3dc30f2e4.tar.bz2
Non-host system configuration for linker plugins.
* configure.ac (--enable-linker-plugin-configure-flags) (--enable-linker-plugin-flags): New flags. (configdirs): Conditionally add libiberty-linker-plugin. * configure: Regenerate. * Makefile.def (host_modules): Add libiberty-linker-plugin. (host_modules) <lto-plugin>: Pay attention to @extra_linker_plugin_flags@ and @extra_linker_plugin_configure_flags@. (all-lto-plugin): Also depend on all-libiberty-linker-plugin. * Makefile.in: Regenerate. gcc/ * doc/install.texi (--enable-linker-plugin-configure-flags) (--enable-linker-plugin-flags): Document new flags. From-SVN: r211644
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/install.texi19
2 files changed, 24 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3620dac..f758e8e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2014-06-13 Thomas Schwinge <thomas@codesourcery.com>
+
+ * doc/install.texi (--enable-linker-plugin-configure-flags)
+ (--enable-linker-plugin-flags): Document new flags.
+
2014-06-13 Martin Jambor <mjambor@suse.cz>
PR ipa/61186
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 7851b00..c662175 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -1780,6 +1780,25 @@ GLIBC 2.11 or above, otherwise disabled.
Enable support for link-time optimization (LTO). This is enabled by
default, and may be disabled using @option{--disable-lto}.
+@item --enable-linker-plugin-configure-flags=FLAGS
+@itemx --enable-linker-plugin-flags=FLAGS
+By default, linker plugins (such as the LTO plugin) are built for the
+host system architecture. For the case that the linker has a
+different (but run-time compatible) architecture, these flags can be
+specified to build plugins that are compatible to the linker. For
+example, if you are building GCC for a 64-bit x86_64
+(@samp{x86_64-unknown-linux-gnu}) host system, but have a 32-bit x86
+GNU/Linux (@samp{i686-pc-linux-gnu}) linker executable (which is
+executable on the former system), you can configure GCC as follows for
+getting compatible linker plugins:
+
+@smallexample
+% @var{srcdir}/configure \
+ --host=x86_64-unknown-linux-gnu \
+ --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
+ --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
+@end smallexample
+
@item --with-plugin-ld=@var{pathname}
Enable an alternate linker to be used at link-time optimization (LTO)
link time when @option{-fuse-linker-plugin} is enabled.