commit: 09886ee677ea97b80f1469dc7534ff6aea6247cb Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> AuthorDate: Mon Dec 21 21:18:14 2020 +0000 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> CommitDate: Mon Dec 21 23:40:52 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=09886ee6
www-client/firefox: disable loop vectorization Loop vectorization, -ftree-loop-vectorize, which will be auto-enabled when using -O3, is broken in GCC 10+. Many thanks to Dave Hughes (xaero) for running countless tests to find the issue. Bug: https://bugs.gentoo.org/758446 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org> www-client/firefox/firefox-78.6.0.ebuild | 7 +++++++ www-client/firefox/firefox-84.0.ebuild | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/www-client/firefox/firefox-78.6.0.ebuild b/www-client/firefox/firefox-78.6.0.ebuild index 2a93a2717ee..2b97950a07f 100644 --- a/www-client/firefox/firefox-78.6.0.ebuild +++ b/www-client/firefox/firefox-78.6.0.ebuild @@ -521,6 +521,7 @@ src_prepare() { src_configure() { # Show flags set at the beginning einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" einfo "Current LDFLAGS: ${LDFLAGS}" einfo "Current RUSTFLAGS: ${RUSTFLAGS}" @@ -769,6 +770,11 @@ src_configure() { if [[ -n ${disable_elf_hack} ]] ; then mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack fi + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi fi # Additional ARCH support @@ -814,6 +820,7 @@ src_configure() { # Show flags we will use einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" einfo "Build LDFLAGS: ${LDFLAGS}" einfo "Build RUSTFLAGS: ${RUSTFLAGS}" diff --git a/www-client/firefox/firefox-84.0.ebuild b/www-client/firefox/firefox-84.0.ebuild index 6d3e1b6e40d..e2bb2e85821 100644 --- a/www-client/firefox/firefox-84.0.ebuild +++ b/www-client/firefox/firefox-84.0.ebuild @@ -521,6 +521,7 @@ src_prepare() { src_configure() { # Show flags set at the beginning einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" einfo "Current LDFLAGS: ${LDFLAGS}" einfo "Current RUSTFLAGS: ${RUSTFLAGS}" @@ -767,6 +768,11 @@ src_configure() { if [[ -n ${disable_elf_hack} ]] ; then mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack fi + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi fi # Additional ARCH support @@ -813,6 +819,7 @@ src_configure() { # Show flags we will use einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" einfo "Build LDFLAGS: ${LDFLAGS}" einfo "Build RUSTFLAGS: ${RUSTFLAGS}"