File: skia-gcc-no-musttail.diff

package info (click to toggle)
libreoffice 4%3A26.2.0~beta1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 3,828,416 kB
  • sloc: cpp: 4,392,799; xml: 499,109; java: 254,438; python: 81,768; ansic: 33,823; perl: 30,297; javascript: 19,722; sh: 12,050; makefile: 10,836; cs: 8,865; yacc: 8,549; objc: 2,131; lex: 1,385; asm: 1,231; awk: 996; pascal: 914; csh: 20; sed: 5
file content (36 lines) | stat: -rw-r--r-- 2,124 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
diff --git a/external/skia/UnpackedTarball_skia.mk b/external/skia/UnpackedTarball_skia.mk
index 692eba0130e5..066521387d5b 100644
--- a/external/skia/UnpackedTarball_skia.mk
+++ b/external/skia/UnpackedTarball_skia.mk
@@ -44,6 +44,7 @@ skia_patches := \
 	0004-loong64-Fix-the-remaining-implicit-vector-casts.patch \
     msvc-unknown-attributes.patch.1 \
 	fix-semaphore-include.patch.1 \
+	gcc-no-musttail.diff \
 
 ifneq ($(MSYSTEM),)
 # use binary flag so patch from git-bash won't choke on mixed line-endings in patches
--- a/external/skia/gcc-no-musttail.diff	2025-11-16 13:22:36.315966137 +0100
+++ b/external/skia/gcc-no-musttail.diff	2025-11-23 08:52:51.772213670 +0100
@@ -0,0 +1,21 @@
+diff -urN skia-old/modules/skcms/src/skcms_internals.h skia/modules/skcms/src/skcms_internals.h
+--- skia-old/modules/skcms/src/skcms_internals.h	2025-11-13 07:45:02.000000000 +0100
++++ skia/modules/skcms/src/skcms_internals.h	2025-11-30 12:05:23.846221957 +0100
+@@ -53,13 +53,16 @@
+                                                  && !defined(__riscv) \
+                                                  && !defined(__powerpc__) \
+                                                  && !defined(__loongarch__) \
++                                                 && !defined(__alpha__) \
+                                                  && !defined(_WIN32) && !defined(__SYMBIAN32__)
+             #define SKCMS_HAS_MUSTTAIL 1
+         #endif
+     #elif defined(__GNUC__) && !defined(SKCMS_HAS_MUSTTAIL)
+         // GCC on riscv64 does not support our tail call functions
+         // cf. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121784
+-        #if __has_cpp_attribute(clang::musttail) && !defined(__riscv)
++	// copy the rest over from the clang case, just in case we ever built with
++	// gcc for them (which we do for alpha right now)
++        #if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && !defined(__riscv) && !defined (__powerpc__) && !defined(__loongarch__) && !defined (__alpha__)
+             #define SKCMS_HAS_MUSTTAIL 1
+         #else
+             #define SKCMS_HAS_MUSTTAIL 0