From 9c03f42b43c14c935a53737d6f9d23265ff64556 Mon Sep 17 00:00:00 2001 From: "Sascha Kuehndel (InuSasha)" Date: Sun, 6 May 2018 19:15:00 +0200 Subject: [PATCH 1/3] buildsystem: use no-lto, when lto is disabled else gcc/binultis can enable automaticly --- config/functions | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/functions b/config/functions index 319275e76f..6923723602 100644 --- a/config/functions +++ b/config/functions @@ -4,6 +4,10 @@ setup_toolchain() { TARGET_CFLAGS+=" $CFLAGS_OPTIM_LTO" TARGET_CXXFLAGS+=" $CXXFLAGS_OPTIM_LTO" TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO" + else + TARGET_CFLAGS+=" -fno-lto" + TARGET_CXXFLAGS+=" -fno-lto" + TARGET_LDFLAGS+=" -fno-lto" fi # gold flag From b7b1a677238d88f1ac3525b5c8ff0f41abc6215b Mon Sep 17 00:00:00 2001 From: "Sascha Kuehndel (InuSasha)" Date: Mon, 7 May 2018 21:55:07 +0200 Subject: [PATCH 2/3] place options at a more consistent place --- config/functions | 6 +++--- config/optimize | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/config/functions b/config/functions index 6923723602..094cc514af 100644 --- a/config/functions +++ b/config/functions @@ -5,9 +5,9 @@ setup_toolchain() { TARGET_CXXFLAGS+=" $CXXFLAGS_OPTIM_LTO" TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO" else - TARGET_CFLAGS+=" -fno-lto" - TARGET_CXXFLAGS+=" -fno-lto" - TARGET_LDFLAGS+=" -fno-lto" + TARGET_CFLAGS+=" $CFLAGS_OPTIM_NOLTO" + TARGET_CXXFLAGS+=" $CXXFLAGS_OPTIM_NOLTO" + TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_NOLTO" fi # gold flag diff --git a/config/optimize b/config/optimize index 8327922742..7d498ee537 100644 --- a/config/optimize +++ b/config/optimize @@ -35,6 +35,9 @@ HOST_CXXFLAGS="$HOST_CXXFLAGS -Wno-format-security" 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" # gold flags LDFLAGS_OPTIM_GOLD="-fuse-ld=gold" From b781dd05a64eac31e64574e0951ab1ef007b32a9 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Fri, 18 May 2018 19:35:12 +0200 Subject: [PATCH 3/3] kodi: fix build with no-lto --- packages/mediacenter/kodi/package.mk | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/mediacenter/kodi/package.mk b/packages/mediacenter/kodi/package.mk index 8b1bf709ef..b8ebd019d5 100644 --- a/packages/mediacenter/kodi/package.mk +++ b/packages/mediacenter/kodi/package.mk @@ -28,8 +28,13 @@ PKG_DEPENDS_TARGET="toolchain JsonSchemaBuilder:host TexturePacker:host Python2 PKG_SECTION="mediacenter" PKG_SHORTDESC="kodi: Kodi Mediacenter" PKG_LONGDESC="Kodi Media Center (which was formerly named Xbox Media Center or XBMC) is a free and open source cross-platform media player and home entertainment system software with a 10-foot user interface designed for the living-room TV. Its graphical user interface allows the user to easily manage video, photos, podcasts, and music from a computer, optical disk, local network, and the internet using a remote control." -# Single threaded LTO is very slow so rely on Kodi for LTO support -PKG_BUILD_FLAGS="-lto" + +# Single threaded LTO is very slow so rely on Kodi for parallel LTO support +if [ "$LTO_SUPPORT" = "yes" ] && ! build_with_debug; then + PKG_KODI_USE_LTO="-DUSE_LTO=$CONCURRENCY_MAKE_LEVEL" +else + PKG_BUILD_FLAGS="-lto" +fi get_graphicdrivers @@ -204,9 +209,6 @@ KODI_LIBDVD="$KODI_DVDCSS \ -DLIBDVDNAV_URL=$SOURCES/libdvdnav/libdvdnav-$(get_pkg_version libdvdnav).tar.gz \ -DLIBDVDREAD_URL=$SOURCES/libdvdread/libdvdread-$(get_pkg_version libdvdread).tar.gz" -# Build Kodi using parallel LTO -[ "$LTO_SUPPORT" = "yes" ] && ! build_with_debug && PKG_KODI_USE_LTO="-DUSE_LTO=$CONCURRENCY_MAKE_LEVEL" - PKG_CMAKE_OPTS_TARGET="-DNATIVEPREFIX=$TOOLCHAIN \ -DWITH_TEXTUREPACKER=$TOOLCHAIN/bin/TexturePacker \ -DDEPENDS_PATH=$PKG_BUILD/depends \