[packages/libreoffice] i686 build fix

arekm arekm at pld-linux.org
Thu Jul 23 22:52:05 CEST 2026


commit 3e37821b9bdddfbdeacdbf51d7835976f373eae6
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Thu Jul 23 22:51:58 2026 +0200

    i686 build fix

 libreoffice.spec            |  2 ++
 skia-i386-no-musttail.patch | 21 +++++++++++++++++++++
 2 files changed, 23 insertions(+)
---
diff --git a/libreoffice.spec b/libreoffice.spec
index 98bd87c..6cca212 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -108,6 +108,7 @@ Source33:	https://dev-www.libreoffice.org/src/libcmis-0.6.3.tar.xz
 # Source33-md5:	db918c32cc03c4b92e91b701477e876f
 Patch1:		jvm-path.patch
 Patch3:		%{name}-qt6.patch
+Patch4:		skia-i386-no-musttail.patch
 URL:		https://www.documentfoundation.org/
 BuildRequires:	/usr/bin/getopt
 %{?with_firebird:BuildRequires:	Firebird-devel >= 3.0.0.0}
@@ -3022,6 +3023,7 @@ Biblioteka do zagnieżdzania LibreOffice w aplikacjach Java.
 %setup -q -a1 -a2 -a3
 %patch -P 1 -p1
 %patch -P 3 -p1
+%patch -P 4 -p1
 
 for dir in *-%{version}; do
 	[ -f $dir/ChangeLog ] && %{__mv} $dir/ChangeLog ChangeLog-$dir
diff --git a/skia-i386-no-musttail.patch b/skia-i386-no-musttail.patch
new file mode 100644
index 0000000..d06293c
--- /dev/null
+++ b/skia-i386-no-musttail.patch
@@ -0,0 +1,21 @@
+Disable skcms [[clang::musttail]] on 32-bit x86 (i686).
+
+GCC 15 recognizes [[clang::musttail]], so skcms turns it on for GCC, but on
+i386 GCC cannot produce the guaranteed tail call for the 16-byte-aligned
+vector stage parameters and errors out with "cannot tail-call: tail call
+production failed". musttail is an optional, performance-only feature in
+skcms (it does not affect correctness); the header already disables it for
+arm/riscv/ppc/loongarch/wasm/windows for the same reason. Pre-defining
+SKCMS_HAS_MUSTTAIL=0 for INTEL (32-bit x86) takes that sanctioned fallback
+path, since skcms_internals.h guards every branch with
+!defined(SKCMS_HAS_MUSTTAIL).
+
+--- a/external/skia/Library_skia.mk
++++ b/external/skia/Library_skia.mk
+@@ -23,6 +23,7 @@
+     -DSK_USER_CONFIG_HEADER="<$(BUILDDIR)/config_host/config_skia.h>" \
+     $(if $(filter INTEL,$(CPUNAME)),$(if $(filter WNT,$(OS)),-DSK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE2,-DSK_CPU_SSE_LEVEL=0)) \
+     $(if $(filter X86_64,$(CPUNAME)),-DSK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE2) \
++    $(if $(filter INTEL,$(CPUNAME)),-DSKCMS_HAS_MUSTTAIL=0) \
+     -DSK_ENABLE_SKSL_IN_RASTER_PIPELINE \
+ ))
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/libreoffice.git/commitdiff/3e37821b9bdddfbdeacdbf51d7835976f373eae6



More information about the pld-cvs-commit mailing list