diff --git a/config/functions b/config/functions index a8eddc287b..ced0dbe608 100644 --- a/config/functions +++ b/config/functions @@ -2,9 +2,9 @@ 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" + 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" # static libs with lto info require gcc-ar/gcc-nm/gcc-ranlib instead of # default binutils versions TARGET_AR_NM_RANLIB_PREFIX="gcc-" diff --git a/config/optimize b/config/optimize index 7d498ee537..5d0b8efab0 100644 --- a/config/optimize +++ b/config/optimize @@ -32,12 +32,12 @@ HOST_CFLAGS="$HOST_CFLAGS -Wno-format-security" HOST_CXXFLAGS="$HOST_CXXFLAGS -Wno-format-security" # lto flags -CFLAGS_OPTIM_LTO="-flto -ffat-lto-objects" -CXXFLAGS_OPTIM_LTO="-flto -ffat-lto-objects" -LDFLAGS_OPTIM_LTO="-fuse-linker-plugin -flto" -CFLAGS_OPTIM_NOLTO="-fno-lto" -CXXFLAGS_OPTIM_NOLTO="-fno-lto" -LDFLAGS_OPTIM_NOLTO="-fno-lto" +FLAGS_OPTIM_LTO_NO_PARALLEL="-flto" +FLAGS_OPTIM_LTO_PARALLEL="-flto=${CONCURRENCY_MAKE_LEVEL}" +FLAGS_OPTIM_LTO_NO_FAT="-fno-fat-lto-objects" +FLAGS_OPTIM_LTO_FAT="-ffat-lto-objects" +FLAGS_OPTIM_LTO_OFF="-fno-lto" +LDFLAGS_OPTIM_LTO_COMMON="-fuse-linker-plugin" # gold flags LDFLAGS_OPTIM_GOLD="-fuse-ld=gold"