From 32780806a359dfec81dd62a308b2ccb04006472b Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 12 May 2013 14:10:00 +0200 Subject: [PATCH] binutils, gcc: readd GOLD support, currently disabled Signed-off-by: Stephan Raue --- config/functions | 6 ++++++ config/optimize | 4 ++++ packages/toolchain/devel/binutils/build | 4 ++-- packages/toolchain/devel/eglibc/build | 3 +++ packages/toolchain/lang/gcc-core/build | 4 ++-- packages/toolchain/lang/gcc-final/build | 4 ++-- 6 files changed, 19 insertions(+), 6 deletions(-) diff --git a/config/functions b/config/functions index 70a4547898..994534f782 100644 --- a/config/functions +++ b/config/functions @@ -169,6 +169,11 @@ strip_linker_plugin() { LDFLAGS=`echo $LDFLAGS | sed -e "s|-fuse-linker-plugin||g"` } +strip_gold() { + # strip out usage from GOLD linker + LDFLAGS=`echo $LDFLAGS | sed -e "s|-fuse-ld=gold||g"` +} + fix_module_depends() { # modify .modinfo section in kernel module to depends on other required modules local MODULE="$1" @@ -247,6 +252,7 @@ show_config() { config_message="$config_message\n - SIMD support:\t\t\t $SIMD_SUPPORT" config_message="$config_message\n - Optimizations:\t\t\t $OPTIMIZATIONS" config_message="$config_message\n - LTO (Link Time Optimization) support: $LTO_SUPPORT" + config_message="$config_message\n - GOLD (Google Linker) Support:\t $GOLD_SUPPORT" config_message="$config_message\n - LLVM support:\t\t\t $LLVM_SUPPORT" # config_message="$config_message\n - CFLAGS:\t $TARGET_CFLAGS" diff --git a/config/optimize b/config/optimize index ca84ebb2aa..042e290376 100644 --- a/config/optimize +++ b/config/optimize @@ -29,6 +29,10 @@ if [ "$LTO_SUPPORT" = yes ];then LD_OPTIM="$LD_OPTIM -flto" fi +if [ "$GOLD_SUPPORT" = yes ];then + LD_OPTIM="$LD_OPTIM -fuse-ld=gold" +fi + if [ "$DEBUG" = yes ]; then TARGET_CFLAGS="$TARGET_CFLAGS -ggdb" TARGET_CXXFLAGS="$TARGET_CXXFLAGS -ggdb" diff --git a/packages/toolchain/devel/binutils/build b/packages/toolchain/devel/binutils/build index f7f7b7a928..503bba87b6 100755 --- a/packages/toolchain/devel/binutils/build +++ b/packages/toolchain/devel/binutils/build @@ -57,8 +57,8 @@ mkdir -p objdir && cd objdir --enable-version-specific-runtime-libs \ $WITH_64B_BFD \ --enable-plugins \ - --disable-gold \ - --enable-ld \ + --enable-gold \ + --enable-ld=default \ --enable-lto \ --disable-nls diff --git a/packages/toolchain/devel/eglibc/build b/packages/toolchain/devel/eglibc/build index 997d15d92c..b55947806f 100755 --- a/packages/toolchain/devel/eglibc/build +++ b/packages/toolchain/devel/eglibc/build @@ -25,6 +25,9 @@ # Fails to compile with GCC's link time optimization. strip_lto +# eglibc dont support GOLD linker. + strip_gold + # Filter out some problematic *FLAGS CFLAGS=`echo $CFLAGS | sed -e "s|-ffast-math||g"` CFLAGS=`echo $CFLAGS | sed -e "s|-Ofast|-O2|g"` diff --git a/packages/toolchain/lang/gcc-core/build b/packages/toolchain/lang/gcc-core/build index cee730da0d..c5c52aefb3 100755 --- a/packages/toolchain/lang/gcc-core/build +++ b/packages/toolchain/lang/gcc-core/build @@ -48,8 +48,8 @@ mkdir -p objdir-$1 && cd objdir-$1 --disable-__cxa_atexit \ --disable-libada \ --disable-libmudflap \ - --disable-gold \ - --enable-ld \ + --enable-gold \ + --enable-ld=default \ --enable-plugin \ --enable-lto \ --disable-libquadmath \ diff --git a/packages/toolchain/lang/gcc-final/build b/packages/toolchain/lang/gcc-final/build index bbf81eaa5e..2e432157d4 100755 --- a/packages/toolchain/lang/gcc-final/build +++ b/packages/toolchain/lang/gcc-final/build @@ -48,8 +48,8 @@ mkdir -p objdir-$1 && cd objdir-$1 --disable-libmudflap \ --disable-libssp \ --disable-multilib \ - --disable-gold \ - --enable-ld \ + --enable-gold \ + --enable-ld=default \ --enable-plugin \ --enable-lto \ --disable-libquadmath \