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 <hias@horus.com>
This commit is contained in:
Matthias Reichl 2018-05-30 15:54:29 +02:00
parent 034d192b4b
commit 57832185cc

View File

@ -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"