From e5ded6e946074aeda1a82b4d01c5cc16954a2f64 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Wed, 29 Dec 2010 17:58:35 +0100 Subject: [PATCH] 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" --- scripts/build/cc/gcc.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh index 405186c2..152335e2 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