From dca2db376a077cb6adc5aeb09c953d1a285f93ee Mon Sep 17 00:00:00 2001 From: elsandosgrande Date: Fri, 22 Nov 2019 02:48:32 +0100 Subject: [PATCH 1/6] Make ${LTO} make a little more sense While this basically makes `-fwhole-program` unusable by default, it's not a bad default to have. As there is a mixture of strings and direct flags being used in ltoworkarounds.conf (one line might have `*FLAGS-=-flto*`, while another might have `*FLAGS-="${FLTO}"`), this can kind of be remedied by using only direct flags. That way, if somebody were to wish to use `-fwhole-program`, they would still be able to benifit from ltoworkarounds.conf, since the file would now definitely work with all setups, including those that might set some flags manually in make.conf, that is without using the strings from make.conf.lto.defines. Also, ${FLTO} was the only odd name out, so now it's ${LTO}. --- sys-config/ltoize/files/make.conf.lto | 2 +- sys-config/ltoize/files/make.conf.lto.defines | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys-config/ltoize/files/make.conf.lto b/sys-config/ltoize/files/make.conf.lto index b6cf5daf..6b32db8d 100644 --- a/sys-config/ltoize/files/make.conf.lto +++ b/sys-config/ltoize/files/make.conf.lto @@ -74,4 +74,4 @@ source make.conf.lto.defines #Thanks to issue #49, no action necessary for preventing stripping of static libraries -CFLAGS="-O3 ${GRAPHITE} ${DEVIRTLTO} ${IPAPTA} ${SEMINTERPOS} ${FLTO} -fuse-linker-plugin" +CFLAGS="-O3 ${GRAPHITE} ${DEVIRTLTO} ${IPAPTA} ${SEMINTERPOS} ${LTO}" diff --git a/sys-config/ltoize/files/make.conf.lto.defines b/sys-config/ltoize/files/make.conf.lto.defines index 654fef56..3ce9e696 100644 --- a/sys-config/ltoize/files/make.conf.lto.defines +++ b/sys-config/ltoize/files/make.conf.lto.defines @@ -20,7 +20,7 @@ #FLTO is of the form -flto[=n] where n is the number of threads to use during linking. #It's usually a good idea to set this to the number of hardware threads in your system -FLTO="-flto=${NTHREADS}" +LTO="-flto=${NTHREADS} -fuse-linker-plugin" #GRAPHITE contains Graphite specific optimizations and other optimizations that are disabled at O3 #but don't influence the compiler's judgement. From 2ce6432e3105e23c98eec574753c4ab786ac08eb Mon Sep 17 00:00:00 2001 From: elsandosgrande Date: Fri, 22 Nov 2019 03:09:04 +0100 Subject: [PATCH 2/6] Making ltoworkarounds.conf more uniform So... Regarding my previous commit message, LTO is the one flag that is never mentioned as a string. I got confused, but I was still correct about mixed usage. --- .../files/package.cflags/ltoworkarounds.conf | 215 +++++++++--------- 1 file changed, 107 insertions(+), 108 deletions(-) diff --git a/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf b/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf index e5a0cbcd..aad3fb66 100644 --- a/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf +++ b/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf @@ -51,7 +51,7 @@ games-emulation/mupen64plus-libretro *FLAGS-=-flto* net-p2p/cpuminer-opt *FLAGS-=-flto* x11-drivers/xf86-video-intel *FLAGS-=-flto* =dev-lang/php-7.2.0 *FLAGS-=-flto* # lto-wrapper link failure / https://github.com/InBetweenNames/gentooLTO/issues/135 sys-fs/fuse *FLAGS-=-flto* # Issue #139 and #142, it appears the symbol __fuse_read_cmd goes missing if LTO is enabled, causing linking problems on some systems. Using gold seems to help. sys-fs/fuse-common *FLAGS-=-flto* -sys-libs/glibc *FLAGS-=-flto* #Alternative: *FLAGS+=-ffat-lto-objects *FLAGS-="${IPAPTA}" Fails in configure stage with LTO enabled, checking for builtin redirect. With -ffat-lto-objects, and no -fipa-pta, we get further, but get multiple definition errors Forcing past that yields undefined symbol errors. +sys-libs/glibc *FLAGS-=-flto* #Alternative: *FLAGS+=-ffat-lto-objects *FLAGS-="-fipa-pta" Fails in configure stage with LTO enabled, checking for builtin redirect. With -ffat-lto-objects, and no -fipa-pta, we get further, but get multiple definition errors Forcing past that yields undefined symbol errors. app-emulation/wine* *FLAGS-=-flto* sys-process/criu *FLAGS-=-pipe* *FLAGS-=-flto* *FLAGS-="-fuse-linker-plugin" LDFLAGS-="-Wl,--hash-style=gnu" *FLAGS-="${GRAPHITE}" # Fewer settings may be possible. Needs testing. (Dependency of LXC.) media-video/ffmpeg *FLAGS-=-flto* #NOTE: Depending on your CPUFLAGS this may work with LTO. The SSE intrinsics seem to cause problems in some cases. Only x86 requires workaround @@ -193,19 +193,18 @@ dev-libs/openssl LTO_ENABLE_FLAGOMATIC=yes #>=sys-devel/gcc-9 *FLAGS-=-flto* BOOT_CFLAGS='"${CFLAGS}"' # BEGIN: -fipa-pta workarounds -www-client/firefox *FLAGS-="${IPAPTA}" #ICE on -fipa-pta -www-client/torbrowser *FLAGS-="${IPAPTA}" #ICE on -fipa-pta -=sys-apps/gawk-4.1.4 *FLAGS-="${IPAPTA}" # during IPA pass: pta lto1: internal compiler error: Segmentation fault -dev-qt/qtwebkit *FLAGS-="${IPAPTA}" -dev-lang/R *FLAGS-="${IPAPTA}" # during IPA pass: pta lto1: internal compiler error: Segmentation fault -sys-devel/gcc *FLAGS-="${IPAPTA}" -dev-lang/gnat-gpl *FLAGS-="${IPAPTA}" -dev-lang/php *FLAGS-="${IPAPTA}" # Segfaults when compiled with -fipa-pta -dev-lisp/sbcl *FLAGS-="${IPAPTA}" #ICE on -fipa-pta -x11-wm/bspwm *FLAGS-="${IPAPTA}" # needed for version 0.9.7 on 17.0 profile running the testing branch everywhere with GCC 8.3.0 -media-libs/libwebp *FLAGS-="${IPAPTA}" # no compilation issues, but -fipa-pta causes webp images to be displayed incorrectly -dev-qt/qtgui *FLAGS-="${IPAPTA}" # Same problem as above -dev-db/mongodb *FLAGS-="${IPAPTA}" # ICE with -fipa-pta +www-client/firefox *FLAGS-="-fipa-pta" #ICE on -fipa-pta +www-client/torbrowser *FLAGS-="-fipa-pta" #ICE on -fipa-pta +=sys-apps/gawk-4.1.4 *FLAGS-="-fipa-pta" # during IPA pass: pta lto1: internal compiler error: Segmentation fault +dev-qt/qtwebkit *FLAGS-="-fipa-pta" +dev-lang/R *FLAGS-="-fipa-pta" # during IPA pass: pta lto1: internal compiler error: Segmentation fault +sys-devel/gcc *FLAGS-="-fipa-pta" +dev-lang/gnat-gpl *FLAGS-="-fipa-pta" +dev-lang/php *FLAGS-="-fipa-pta" # Segfaults when compiled with -fipa-pta +dev-lisp/sbcl *FLAGS-="-fipa-pta" #ICE on -fipa-pta +x11-wm/bspwm *FLAGS-="-fipa-pta" # needed for version 0.9.7 on 17.0 profile running the testing branch everywhere with GCC 8.3.0 +media-libs/libwebp *FLAGS-="-fipa-pta" # no compilation issues, but -fipa-pta causes webp images to be displayed incorrectly +dev-qt/qtgui *FLAGS-="-fipa-pta" # Same problem as above # END: -fipa-pta workarounds # BEGIN: TLS dialect workarounds @@ -222,11 +221,11 @@ sys-boot/systemd-boot *FLAGS-="-mtls-dialect=gnu2" # END: TLS dialect workarounds # BEGIN: Semantic Interposition workarounds -app-misc/tracker *FLAGS-="${SEMINTERPOS}" # builds but makes gnome-base/nautilus deadlock -net-fs/autofs *FLAGS-="${SEMINTERPOS}" # builds but segfault in lookup_file.so -net-print/cups *FLAGS-="${SEMINTERPOS}" # ICE -sys-devel/llvm *FLAGS-="${SEMINTERPOS}" -sys-libs/glibc *FLAGS-="${SEMINTERPOS}" +app-misc/tracker *FLAGS-="-fno-semantic-interposition" # builds but makes gnome-base/nautilus deadlock +net-fs/autofs *FLAGS-="-fno-semantic-interposition" # builds but segfault in lookup_file.so +net-print/cups *FLAGS-="-fno-semantic-interposition" # ICE +sys-devel/llvm *FLAGS-="-fno-semantic-interposition" +sys-libs/glibc *FLAGS-="-fno-semantic-interposition" # END: Semantic Interposition Workarounds # BEGIN: No PLT workarounds @@ -249,94 +248,94 @@ net-misc/curl *FLAGS+="-fuse-ld=bfd" # END: GOLD linker workarounds # BEGIN: -fno-common workarounds -app-accessibility/at-spi2-atk *FLAGS-="${NOCOMMON}" -app-admin/logrotate *FLAGS-="${NOCOMMON}" -app-admin/syslog-ng *FLAGS-="${NOCOMMON}" -app-arch/cpio *FLAGS-="${NOCOMMON}" -app-arch/file-roller *FLAGS-="${NOCOMMON}" -app-crypt/gnupg *FLAGS-="${NOCOMMON}" -app-crypt/staticgpg *FLAGS-="${NOCOMMON}" -app-editors/neovim *FLAGS-="${NOCOMMON}" -app-text/mupdf *FLAGS-="${NOCOMMON}" -app-text/texlive-core *FLAGS-="${NOCOMMON}" -app-text/ttf2pk2 *FLAGS-="${NOCOMMON}" -dev-db/redis *FLAGS-="${NOCOMMON}" -dev-java/icedtea *FLAGS-="${NOCOMMON}" -dev-lang/R *FLAGS-="${NOCOMMON}" -dev-lang/erlang *FLAGS-="${NOCOMMON}" -dev-lang/orc *FLAGS-="${NOCOMMON}" -dev-libs/bemenu *FLAGS-="${NOCOMMON}" -dev-libs/dbus-glib *FLAGS-="${NOCOMMON}" -dev-libs/ffcall *FLAGS-="${NOCOMMON}" -dev-libs/fribidi *FLAGS-="${NOCOMMON}" -dev-libs/gobject-introspection *FLAGS-="${NOCOMMON}" -dev-libs/libltdl *FLAGS-="${NOCOMMON}" # builds but causes symbol lookup errors -dev-libs/libmspack *FLAGS-="${NOCOMMON}" -dev-libs/libpipeline *FLAGS-="${NOCOMMON}" -dev-libs/libx86emu *FLAGS-="${NOCOMMON}" -dev-python/dbus-python *FLAGS-="${NOCOMMON}" -dev-python/nautilus-python *FLAGS-="${NOCOMMON}" -dev-util/android-tools *FLAGS-="${NOCOMMON}" -dev-util/pkgconf *FLAGS-="${NOCOMMON}" -gnome-base/gnome-control-center *FLAGS-="${NOCOMMON}" -gnome-base/librsvg *FLAGS-="${NOCOMMON}" -gui-apps/wl-clipboard *FLAGS-="${NOCOMMON}" -gui-libs/wlroots *FLAGS-="${NOCOMMON}" -gui-wm/sway *FLAGS-="${NOCOMMON}" -media-gfx/imagemagick *FLAGS-="${NOCOMMON}" -media-libs/freeglut *FLAGS-="${NOCOMMON}" -media-libs/gegl *FLAGS-="${NOCOMMON}" -media-libs/glu *FLAGS-="${NOCOMMON}" -media-libs/gstreamer *FLAGS-="${NOCOMMON}" -media-libs/libv4l *FLAGS-="${NOCOMMON}" -media-libs/mesa *FLAGS-="${NOCOMMON}" -media-libs/openal *FLAGS-="${NOCOMMON}" -media-sound/musepack-tools *FLAGS-="${NOCOMMON}" -media-sound/sox *FLAGS-="${NOCOMMON}" -media-sound/wavpack *FLAGS-="${NOCOMMON}" -net-analyzer/iftop *FLAGS-="${NOCOMMON}" -net-analyzer/openvas-manager *FLAGS-="${NOCOMMON}" -net-fs/nfs-utils *FLAGS-="${NOCOMMON}" -net-libs/libmbim *FLAGS-="${NOCOMMON}" -net-libs/libqmi *FLAGS-="${NOCOMMON}" -net-libs/libtirpc *FLAGS-="${NOCOMMON}" -net-misc/curl *FLAGS-="${NOCOMMON}" -net-misc/dhcp *FLAGS-="${NOCOMMON}" -net-misc/iputils *FLAGS-="${NOCOMMON}" -net-misc/modemmanager *FLAGS-="${NOCOMMON}" -net-misc/networkmanager *FLAGS-="${NOCOMMON}" -net-misc/ntpsec *FLAGS-="${NOCOMMON}" -net-misc/socat *FLAGS-="${NOCOMMON}" -net-misc/vinagre *FLAGS-="${NOCOMMON}" -net-print/cups-filters *FLAGS-="${NOCOMMON}" -sys-apps/dtc *FLAGS-="${NOCOMMON}" -sys-apps/iproute2 *FLAGS-="${NOCOMMON}" -sys-apps/kbd *FLAGS-="${NOCOMMON}" -sys-apps/memtester *FLAGS-="${NOCOMMON}" -sys-apps/the_silver_searcher *FLAGS-="${NOCOMMON}" -sys-apps/usbredir *FLAGS-="${NOCOMMON}" -sys-boot/syslinux *FLAGS-="${NOCOMMON}" -sys-devel/bmake *FLAGS-="${NOCOMMON}" -sys-fs/squashfs-tools *FLAGS-="${NOCOMMON}" ->=sys-fs/xfsprogs-5.2.0 *FLAGS-="${NOCOMMON}" -sys-libs/gdbm *FLAGS-="${NOCOMMON}" -sys-libs/gpm *FLAGS-="${NOCOMMON}" -sys-libs/libunwind *FLAGS-="${NOCOMMON}" -sys-power/cpupower *FLAGS-="${NOCOMMON}" -sys-power/iasl *FLAGS-="${NOCOMMON}" -sys-power/upower *FLAGS-="${NOCOMMON}" -sys-process/audit *FLAGS-="${NOCOMMON}" -sys-process/htop *FLAGS-="${NOCOMMON}" -x11-base/xorg-server *FLAGS-="${NOCOMMON}" -x11-drivers/xf86-video-amdgpu *FLAGS-="${NOCOMMON}" -x11-drivers/xf86-video-ati *FLAGS-="${NOCOMMON}" -x11-drivers/xf86-video-intel *FLAGS-="${NOCOMMON}" -x11-libs/libva-intel-driver *FLAGS-="${NOCOMMON}" -x11-libs/pango *FLAGS-="${NOCOMMON}" -x11-libs/xcb-util-cursor *FLAGS-="${NOCOMMON}" -x11-libs/xcb-util-xrm *FLAGS-="${NOCOMMON}" -x11-terms/kitty *FLAGS-="${NOCOMMON}" -x11-wm/i3 *FLAGS-="${NOCOMMON}" +app-accessibility/at-spi2-atk *FLAGS-="-fno-common" +app-admin/logrotate *FLAGS-="-fno-common" +app-admin/syslog-ng *FLAGS-="-fno-common" +app-arch/cpio *FLAGS-="-fno-common" +app-arch/file-roller *FLAGS-="-fno-common" +app-crypt/gnupg *FLAGS-="-fno-common" +app-crypt/staticgpg *FLAGS-="-fno-common" +app-editors/neovim *FLAGS-="-fno-common" +app-text/mupdf *FLAGS-="-fno-common" +app-text/texlive-core *FLAGS-="-fno-common" +app-text/ttf2pk2 *FLAGS-="-fno-common" +dev-db/redis *FLAGS-="-fno-common" +dev-java/icedtea *FLAGS-="-fno-common" +dev-lang/R *FLAGS-="-fno-common" +dev-lang/erlang *FLAGS-="-fno-common" +dev-lang/orc *FLAGS-="-fno-common" +dev-libs/bemenu *FLAGS-="-fno-common" +dev-libs/dbus-glib *FLAGS-="-fno-common" +dev-libs/ffcall *FLAGS-="-fno-common" +dev-libs/fribidi *FLAGS-="-fno-common" +dev-libs/gobject-introspection *FLAGS-="-fno-common" +dev-libs/libltdl *FLAGS-="-fno-common" # builds but causes symbol lookup errors +dev-libs/libmspack *FLAGS-="-fno-common" +dev-libs/libpipeline *FLAGS-="-fno-common" +dev-libs/libx86emu *FLAGS-="-fno-common" +dev-python/dbus-python *FLAGS-="-fno-common" +dev-python/nautilus-python *FLAGS-="-fno-common" +dev-util/android-tools *FLAGS-="-fno-common" +dev-util/pkgconf *FLAGS-="-fno-common" +gnome-base/gnome-control-center *FLAGS-="-fno-common" +gnome-base/librsvg *FLAGS-="-fno-common" +gui-apps/wl-clipboard *FLAGS-="-fno-common" +gui-libs/wlroots *FLAGS-="-fno-common" +gui-wm/sway *FLAGS-="-fno-common" +media-gfx/imagemagick *FLAGS-="-fno-common" +media-libs/freeglut *FLAGS-="-fno-common" +media-libs/gegl *FLAGS-="-fno-common" +media-libs/glu *FLAGS-="-fno-common" +media-libs/gstreamer *FLAGS-="-fno-common" +media-libs/libv4l *FLAGS-="-fno-common" +media-libs/mesa *FLAGS-="-fno-common" +media-libs/openal *FLAGS-="-fno-common" +media-sound/musepack-tools *FLAGS-="-fno-common" +media-sound/sox *FLAGS-="-fno-common" +media-sound/wavpack *FLAGS-="-fno-common" +net-analyzer/iftop *FLAGS-="-fno-common" +net-analyzer/openvas-manager *FLAGS-="-fno-common" +net-fs/nfs-utils *FLAGS-="-fno-common" +net-libs/libmbim *FLAGS-="-fno-common" +net-libs/libqmi *FLAGS-="-fno-common" +net-libs/libtirpc *FLAGS-="-fno-common" +net-misc/curl *FLAGS-="-fno-common" +net-misc/dhcp *FLAGS-="-fno-common" +net-misc/iputils *FLAGS-="-fno-common" +net-misc/modemmanager *FLAGS-="-fno-common" +net-misc/networkmanager *FLAGS-="-fno-common" +net-misc/ntpsec *FLAGS-="-fno-common" +net-misc/socat *FLAGS-="-fno-common" +net-misc/vinagre *FLAGS-="-fno-common" +net-print/cups-filters *FLAGS-="-fno-common" +sys-apps/dtc *FLAGS-="-fno-common" +sys-apps/iproute2 *FLAGS-="-fno-common" +sys-apps/kbd *FLAGS-="-fno-common" +sys-apps/memtester *FLAGS-="-fno-common" +sys-apps/the_silver_searcher *FLAGS-="-fno-common" +sys-apps/usbredir *FLAGS-="-fno-common" +sys-boot/syslinux *FLAGS-="-fno-common" +sys-devel/bmake *FLAGS-="-fno-common" +sys-fs/squashfs-tools *FLAGS-="-fno-common" +>=sys-fs/xfsprogs-5.2.0 *FLAGS-="-fno-common" +sys-libs/gdbm *FLAGS-="-fno-common" +sys-libs/gpm *FLAGS-="-fno-common" +sys-libs/libunwind *FLAGS-="-fno-common" +sys-power/cpupower *FLAGS-="-fno-common" +sys-power/iasl *FLAGS-="-fno-common" +sys-power/upower *FLAGS-="-fno-common" +sys-process/audit *FLAGS-="-fno-common" +sys-process/htop *FLAGS-="-fno-common" +x11-base/xorg-server *FLAGS-="-fno-common" +x11-drivers/xf86-video-amdgpu *FLAGS-="-fno-common" +x11-drivers/xf86-video-ati *FLAGS-="-fno-common" +x11-drivers/xf86-video-intel *FLAGS-="-fno-common" +x11-libs/libva-intel-driver *FLAGS-="-fno-common" +x11-libs/pango *FLAGS-="-fno-common" +x11-libs/xcb-util-cursor *FLAGS-="-fno-common" +x11-libs/xcb-util-xrm *FLAGS-="-fno-common" +x11-terms/kitty *FLAGS-="-fno-common" +x11-wm/i3 *FLAGS-="-fno-common" # END: -fno-common workarounds #sys-devel/prelink EGIT_BRANCH="master_staging" From 1a837aa5a409a6ae454cb254cac750ff67570726 Mon Sep 17 00:00:00 2001 From: elsandosgrande Date: Sun, 8 Dec 2019 12:47:30 +0100 Subject: [PATCH 3/6] Adding workarounds, more to come later Closes #382 #381 --- sys-config/ltoize/files/package.cflags/ltoworkarounds.conf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf b/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf index aad3fb66..1b95af29 100644 --- a/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf +++ b/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf @@ -226,6 +226,7 @@ net-fs/autofs *FLAGS-="-fno-semantic-interposition" # builds but segfault in loo net-print/cups *FLAGS-="-fno-semantic-interposition" # ICE sys-devel/llvm *FLAGS-="-fno-semantic-interposition" sys-libs/glibc *FLAGS-="-fno-semantic-interposition" +app-office/libreoffice *FLAGS-="-fno-semantic-interposition" # END: Semantic Interposition Workarounds # BEGIN: No PLT workarounds @@ -247,6 +248,10 @@ games-emulation/pcsx2 *FLAGS+="-fuse-ld=bfd" net-misc/curl *FLAGS+="-fuse-ld=bfd" # END: GOLD linker workarounds +# BEGIN: GNU linker workarounds +<=media-gfx/blender-2.79b-r1 *FLAGS-="-fuse-ld=bfd" *FLAGS+="-fuse-ld=gold" +# END: GNU linker workarounds + # BEGIN: -fno-common workarounds app-accessibility/at-spi2-atk *FLAGS-="-fno-common" app-admin/logrotate *FLAGS-="-fno-common" From de86d09daf7777a1b02c266e660d569b6cdc5573 Mon Sep 17 00:00:00 2001 From: elsandosgrande Date: Sun, 8 Dec 2019 12:57:28 +0100 Subject: [PATCH 4/6] Updating repository fork --- sys-config/ltoize/files/package.cflags/ltoworkarounds.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf b/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf index 1b95af29..16672126 100644 --- a/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf +++ b/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf @@ -205,6 +205,7 @@ dev-lisp/sbcl *FLAGS-="-fipa-pta" #ICE on -fipa-pta x11-wm/bspwm *FLAGS-="-fipa-pta" # needed for version 0.9.7 on 17.0 profile running the testing branch everywhere with GCC 8.3.0 media-libs/libwebp *FLAGS-="-fipa-pta" # no compilation issues, but -fipa-pta causes webp images to be displayed incorrectly dev-qt/qtgui *FLAGS-="-fipa-pta" # Same problem as above +dev-db/mongodb *FLAGS-="-fipa-pta" # ICE with -fipa-pta # END: -fipa-pta workarounds # BEGIN: TLS dialect workarounds From 51437f546f8fd68c1575f9f8e4dc9deb04bb31c0 Mon Sep 17 00:00:00 2001 From: elsandosgrande Date: Tue, 10 Dec 2019 15:38:58 +0100 Subject: [PATCH 5/6] Adding comments to relevant lines --- sys-config/ltoize/files/package.cflags/ltoworkarounds.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf b/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf index 16672126..ede298b0 100644 --- a/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf +++ b/sys-config/ltoize/files/package.cflags/ltoworkarounds.conf @@ -227,7 +227,7 @@ net-fs/autofs *FLAGS-="-fno-semantic-interposition" # builds but segfault in loo net-print/cups *FLAGS-="-fno-semantic-interposition" # ICE sys-devel/llvm *FLAGS-="-fno-semantic-interposition" sys-libs/glibc *FLAGS-="-fno-semantic-interposition" -app-office/libreoffice *FLAGS-="-fno-semantic-interposition" +app-office/libreoffice *FLAGS-="-fno-semantic-interposition" #382 # END: Semantic Interposition Workarounds # BEGIN: No PLT workarounds @@ -250,7 +250,7 @@ net-misc/curl *FLAGS+="-fuse-ld=bfd" # END: GOLD linker workarounds # BEGIN: GNU linker workarounds -<=media-gfx/blender-2.79b-r1 *FLAGS-="-fuse-ld=bfd" *FLAGS+="-fuse-ld=gold" +<=media-gfx/blender-2.79b-r1 *FLAGS-="-fuse-ld=bfd" *FLAGS+="-fuse-ld=gold" #381 # END: GNU linker workarounds # BEGIN: -fno-common workarounds From 0bf7bc069baca117474fac9fb4e247a6a05d7796 Mon Sep 17 00:00:00 2001 From: elsandosgrande Date: Thu, 9 Jan 2020 11:23:28 +0100 Subject: [PATCH 6/6] Legacy variable support To think that **this** project would ever have the word "legacy" used anywhere... --- sys-config/ltoize/files/make.conf.lto.defines | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys-config/ltoize/files/make.conf.lto.defines b/sys-config/ltoize/files/make.conf.lto.defines index 3ce9e696..cd428f48 100644 --- a/sys-config/ltoize/files/make.conf.lto.defines +++ b/sys-config/ltoize/files/make.conf.lto.defines @@ -20,7 +20,9 @@ #FLTO is of the form -flto[=n] where n is the number of threads to use during linking. #It's usually a good idea to set this to the number of hardware threads in your system + LTO="-flto=${NTHREADS} -fuse-linker-plugin" +FLTO="${LTO}" #GRAPHITE contains Graphite specific optimizations and other optimizations that are disabled at O3 #but don't influence the compiler's judgement.