summaryrefslogtreecommitdiff
path: root/scripts/build
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2010-12-29 16:58:35 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2010-12-29 16:58:35 (GMT)
commite5ded6e946074aeda1a82b4d01c5cc16954a2f64 (patch)
tree634f00070aa0eb4ccf0be95d2125c0bed219c169 /scripts/build
parent2841bb7a35cbdaa7ed68d078880f199319b083c8 (diff)
cc/gcc: build lto-plugin if binutils' gold is built
To properly enable LTO with gold, gcc has to install a plugin that gold uses to handle the LTO information. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Diffstat (limited to 'scripts/build')
-rw-r--r--scripts/build/cc/gcc.sh10
1 files changed, 10 insertions, 0 deletions
diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh
index 405186c..152335e 100644
--- a/scripts/build/cc/gcc.sh
+++ b/scripts/build/cc/gcc.sh
@@ -481,6 +481,16 @@ do_cc() {
"") extra_config+=("--without-long-double-128");;
esac
+ # If LTO is selected and binutils has gold, then enable
+ # building the lto plugin with the --enable-gold option,
+ # but only if gold has support for plugins.
+ if [ "${CT_BINUTILS_GOLD_INSTALLED}" = "y" \
+ -a "${CT_BINUTILS_GOLD_PLUGINS}" = "y" \
+ -a "${CT_CC_GCC_USE_LTO}" = "y" \
+ ]; then
+ extra_config+=( --enable-gold )
+ fi
+
CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
# --enable-symvers=gnu really only needed for sh4 to work around a