From 57832185ccd6af84cf06b20488dc462ac4eba65e Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 30 May 2018 15:54:29 +0200 Subject: [PATCH] config/functions: use gcc-ar/gcc-nm/gcc-ranlib when LTO is enabled This is needed to properly create static libs with LTO objects. Signed-off-by: Matthias Reichl --- config/functions | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/config/functions b/config/functions index c20d577ab0..a8eddc287b 100644 --- a/config/functions +++ b/config/functions @@ -1,8 +1,13 @@ setup_toolchain() { + TARGET_AR_NM_RANLIB_PREFIX="" + if [ "$LTO_SUPPORT" = "yes" ] && flag_enabled "lto" "no"; then TARGET_CFLAGS+=" $CFLAGS_OPTIM_LTO" TARGET_CXXFLAGS+=" $CXXFLAGS_OPTIM_LTO" TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO" + # static libs with lto info require gcc-ar/gcc-nm/gcc-ranlib instead of + # default binutils versions + TARGET_AR_NM_RANLIB_PREFIX="gcc-" fi # gold flag @@ -46,9 +51,9 @@ setup_toolchain() { export CPP="${TARGET_PREFIX}cpp" export LD="${TARGET_PREFIX}ld" export AS="${TARGET_PREFIX}as" - export AR="${TARGET_PREFIX}ar" - export NM="${TARGET_PREFIX}nm" - export RANLIB="${TARGET_PREFIX}ranlib" + 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 OBJCOPY="${TARGET_PREFIX}objcopy" export OBJDUMP="${TARGET_PREFIX}objdump" export STRIP="${TARGET_PREFIX}strip"