commit:     d3d98b8b76d5a7073b3f91fad3adeccfb1d3d621
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jan  9 13:09:24 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jan  9 13:10:03 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d3d98b8b

app-office/libreoffice: don't speculatively devirtualize for GCC 16

GCC 16 can speculatively devirtualize for multiple targets which breaks
linking here. Workaround that for now.

Bug: https://bugs.gentoo.org/967047
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-office/libreoffice/libreoffice-25.2.7.2-r1.ebuild | 3 +++
 app-office/libreoffice/libreoffice-9999.ebuild        | 5 ++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/app-office/libreoffice/libreoffice-25.2.7.2-r1.ebuild 
b/app-office/libreoffice/libreoffice-25.2.7.2-r1.ebuild
index 29498a4de626..11cf45d545e1 100644
--- a/app-office/libreoffice/libreoffice-25.2.7.2-r1.ebuild
+++ b/app-office/libreoffice/libreoffice-25.2.7.2-r1.ebuild
@@ -467,6 +467,9 @@ src_configure() {
                strip-flags
        fi
 
+       # Workaround for bug #967047
+       tc-is-gcc && [[ $(gcc-major-version) -eq 16 ]] && append-cxxflags 
-fno-devirtualize-speculatively
+
        # Show flags set at the end
        einfo "  Used CFLAGS:    ${CFLAGS}"
        einfo "  Used LDFLAGS:   ${LDFLAGS}"

diff --git a/app-office/libreoffice/libreoffice-9999.ebuild 
b/app-office/libreoffice/libreoffice-9999.ebuild
index 345734e11c21..00624f79be98 100644
--- a/app-office/libreoffice/libreoffice-9999.ebuild
+++ b/app-office/libreoffice/libreoffice-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -446,6 +446,9 @@ src_configure() {
                strip-flags
        fi
 
+       # Workaround for bug #967047
+       tc-is-gcc && [[ $(gcc-major-version) -eq 16 ]] && append-cxxflags 
-fno-devirtualize-speculatively
+
        # Show flags set at the end
        einfo "  Used CFLAGS:    ${CFLAGS}"
        einfo "  Used LDFLAGS:   ${LDFLAGS}"

Reply via email to