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"