gcc: install lto plugin for binutils ar/nm/ranlib

config/functions: setup_toolchain(): remove $TARGET_AR_NM_RANLIB_PREFIX handling
This commit is contained in:
mglae 2018-08-24 20:06:34 +02:00
parent ae62e44b59
commit e8cb05bf23
2 changed files with 7 additions and 10 deletions

View File

@ -1,24 +1,17 @@
setup_toolchain() { setup_toolchain() {
TARGET_AR_NM_RANLIB_PREFIX=""
if [ "$LTO_SUPPORT" = "yes" ]; then if [ "$LTO_SUPPORT" = "yes" ]; then
if flag_enabled "lto-parallel" "no"; then if flag_enabled "lto-parallel" "no"; then
TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT"
TARGET_CXXFLAGS+=" $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" 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 elif flag_enabled "lto-fat" "no"; then
TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_FAT" TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_FAT"
TARGET_CXXFLAGS+=" $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_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_NO_PARALLEL"
TARGET_AR_NM_RANLIB_PREFIX="gcc-"
elif flag_enabled "lto" "no"; then elif flag_enabled "lto" "no"; then
TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" 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_CXXFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT"
TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_NO_PARALLEL" TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_NO_PARALLEL"
TARGET_AR_NM_RANLIB_PREFIX="gcc-"
fi fi
fi fi
@ -69,9 +62,9 @@ setup_toolchain() {
export CPP="${TARGET_PREFIX}cpp" export CPP="${TARGET_PREFIX}cpp"
export LD="${TARGET_PREFIX}ld" export LD="${TARGET_PREFIX}ld"
export AS="${TARGET_PREFIX}as" export AS="${TARGET_PREFIX}as"
export AR="${TARGET_PREFIX}${TARGET_AR_NM_RANLIB_PREFIX}ar" export AR="${TARGET_PREFIX}ar"
export NM="${TARGET_PREFIX}${TARGET_AR_NM_RANLIB_PREFIX}nm" export NM="${TARGET_PREFIX}nm"
export RANLIB="${TARGET_PREFIX}${TARGET_AR_NM_RANLIB_PREFIX}ranlib" export RANLIB="${TARGET_PREFIX}ranlib"
export OBJCOPY="${TARGET_PREFIX}objcopy" export OBJCOPY="${TARGET_PREFIX}objcopy"
export OBJDUMP="${TARGET_PREFIX}objdump" export OBJDUMP="${TARGET_PREFIX}objdump"
export STRIP="${TARGET_PREFIX}strip" export STRIP="${TARGET_PREFIX}strip"

View File

@ -117,6 +117,10 @@ EOF
# To avoid cache trashing # To avoid cache trashing
touch -c -t $DATE $CROSS_CXX 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() { configure_target() {