From e8cb05bf2349641665c54ac7d33d57e1e8ef8a1c Mon Sep 17 00:00:00 2001 From: mglae Date: Fri, 24 Aug 2018 20:06:34 +0200 Subject: [PATCH] gcc: install lto plugin for binutils ar/nm/ranlib config/functions: setup_toolchain(): remove $TARGET_AR_NM_RANLIB_PREFIX handling --- config/functions | 13 +++---------- packages/lang/gcc/package.mk | 4 ++++ 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/config/functions b/config/functions index c0a3b8227c..20b7262ef6 100644 --- a/config/functions +++ b/config/functions @@ -1,24 +1,17 @@ setup_toolchain() { - TARGET_AR_NM_RANLIB_PREFIX="" - if [ "$LTO_SUPPORT" = "yes" ]; then if flag_enabled "lto-parallel" "no"; then TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_PARALLEL" - # static libs with lto info require gcc-ar/gcc-nm/gcc-ranlib instead of - # default binutils versions - TARGET_AR_NM_RANLIB_PREFIX="gcc-" elif flag_enabled "lto-fat" "no"; then TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_FAT" TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_FAT" TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_NO_PARALLEL" - TARGET_AR_NM_RANLIB_PREFIX="gcc-" elif flag_enabled "lto" "no"; then TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_NO_PARALLEL" - TARGET_AR_NM_RANLIB_PREFIX="gcc-" fi fi @@ -69,9 +62,9 @@ setup_toolchain() { export CPP="${TARGET_PREFIX}cpp" export LD="${TARGET_PREFIX}ld" export AS="${TARGET_PREFIX}as" - export AR="${TARGET_PREFIX}${TARGET_AR_NM_RANLIB_PREFIX}ar" - export NM="${TARGET_PREFIX}${TARGET_AR_NM_RANLIB_PREFIX}nm" - export RANLIB="${TARGET_PREFIX}${TARGET_AR_NM_RANLIB_PREFIX}ranlib" + export AR="${TARGET_PREFIX}ar" + export NM="${TARGET_PREFIX}nm" + export RANLIB="${TARGET_PREFIX}ranlib" export OBJCOPY="${TARGET_PREFIX}objcopy" export OBJDUMP="${TARGET_PREFIX}objdump" export STRIP="${TARGET_PREFIX}strip" diff --git a/packages/lang/gcc/package.mk b/packages/lang/gcc/package.mk index 3f644bbd6b..7f91ce585b 100644 --- a/packages/lang/gcc/package.mk +++ b/packages/lang/gcc/package.mk @@ -117,6 +117,10 @@ EOF # To avoid cache trashing touch -c -t $DATE $CROSS_CXX + + # install lto plugin for binutils + mkdir -p $TOOLCHAIN/lib/bfd-plugins + ln -sf ../gcc/$TARGET_NAME/$GCC_VERSION/liblto_plugin.so $TOOLCHAIN/lib/bfd-plugins } configure_target() {