summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGyorgy Sarvari <skandigraun@gmail.com>2025-10-16 10:28:29 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-10-27 11:37:43 +0000
commit2111e3d4af7a3ce7e712a5b009c05c19fa797d8a (patch)
treea4560fc57be334ae3d449237134a51f385bb51bb
parentc84658c9a1cd75fb72ccd6892eabe8338b0ee18c (diff)
downloadpoky-2111e3d4af7a3ce7e712a5b009c05c19fa797d8a.tar.gz
webkitgtk: upgrade 2.48.5 -> 2.50.0
Dropped fix-armv7-compilation.patch, because it is included in this release. Dropped no-musttail-arm.patch, because it has been solved by project (a bit differently)[1] Added a new backported patch, fix-musl-compilation.patch to avoid build error when compiling with musl libc: .../Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c:52:10: fatal error: execinfo.h: No such file or directory | 52 | #include <execinfo.h> | | ^~~~~~~~~~~~ Another patch, fix_op_instanceof_handler_for_32-bit_C-loop_build.patch is under review by upstream. It fixes compiling for 32-bit targets by fixing the following error: error: label 'op_instanceof_return_location' used but not defined [1]: https://github.com/WebKit/WebKit/blob/webkitgtk-2.50.0/Source/WTF/wtf/Compiler.h#L280 Changelog: 2.50.0: - Fix rendering with software rasterization enabled. - Fix WebAudio issues after idling for a minute. - Fix several crashes and rendering issues. 2.49.90: - Add support for font collection / fragment identifiers. - Fix web process deadlock on exit. - Fix stuttering when playing WebP animations - Fix CSS animations with cubic-bezier timing function. - Do not start the MemoryPressureMonitor if it's disabled - Translation updates: Polish, Slovenian. - Fix several crashes and rendering issues. 2.49.4: - Enable CSS property font-variant-emoji is now enabled by default. - Improve emoji font selection. - Add SVT-AV1 encoder support to media backend. - Show device scale factor in webkit://gpu. - Fix font rendering of composed characters with certain fonts. - Fix handling of font synthesis properties (bold/italic). - Fix documentation of WebKitDeviceInfoPermissionRequest. - Fix several crashes and rendering issues. 2.49.3: - Add new API to get the theme color of a WebKitWebView. - Fix rendering with GTK 3. - Notify automation session on abnormal disconnections. - Fix a crash by ensuring SkiaRecordingResult is destroyed on the main thread. - Fix build on s390x. - Fix the build with GTK 3. - Fix several crashes and rendering issues. 2.49.2: - Enable damage propagation to the UI process by default. - Pass available input devices from UI process to web process for Interaction Media Features. - Always have a fallback when domain does not have known base. - Fix URL after HSTS upgrade in case of redirection. - Fix rendering when device scale factor change comes before the web view geometry update. - Ensure web view is focused on tap gesture. - Fix a crash when setting WEBKIT_SKIA_GPU_PAINTING_THREADS=0. - Fix several crashes and rendering issues. - Translation updates: Brazilian Portuguese, Swedish. 2.49.1: - Change threaded rendering implementation to use Skia API instead of WebCore display list that is not thread safe. This also allowed to improve performance by recording layers once and replaying every dirty region in different worker threads. - Added hybrid rendering mode that tries to use the GPU worker threads, but if they are all busy the CPU worker threads are used if possible. - Add volume locking support to media player. - Add support for tracing counters with Sysprof. - Fix several crashes and rendering issues. (From OE-Core rev: 4caf886da6c9d74298aab0b953c0540dc2f49942) Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/fix-armv7-compilation.patch32
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/fix-musl-compilation.patch94
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/fix_op_instanceof_handler_for_32-bit_C-loop_build.patch122
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/no-musttail-arm.patch34
-rw-r--r--meta/recipes-sato/webkit/webkitgtk_2.50.0.bb (renamed from meta/recipes-sato/webkit/webkitgtk_2.48.5.bb)6
5 files changed, 219 insertions, 69 deletions
diff --git a/meta/recipes-sato/webkit/webkitgtk/fix-armv7-compilation.patch b/meta/recipes-sato/webkit/webkitgtk/fix-armv7-compilation.patch
deleted file mode 100644
index a857d55ae4..0000000000
--- a/meta/recipes-sato/webkit/webkitgtk/fix-armv7-compilation.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From 7999ecd5ee4ea3123f7e75634d2bc57f57ca7070 Mon Sep 17 00:00:00 2001
2From: Justin Michaud <jmichaud@igalia.com>
3Date: Wed, 6 Aug 2025 21:14:26 +0300
4Subject: [PATCH] REGRESSION(2.48.5): [WPE][GTK] Does not compile on ARMv7
5 https://bugs.webkit.org/show_bug.cgi?id=296921
6
7Unreviewed build fix.
8
9* Source/JavaScriptCore/llint/WebAssembly.asm: Replace addq with addp
10 for sp on armv7
11
12Canonical link: https://commits.webkit.org/290945.344@webkitglib/2.48
13
14Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/7999ecd5ee4ea3123f7e75634d2bc57f57ca7070]
15Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
16---
17 Source/JavaScriptCore/llint/WebAssembly.asm | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/Source/JavaScriptCore/llint/WebAssembly.asm b/Source/JavaScriptCore/llint/WebAssembly.asm
21index 1ac3e2accf3c..bd9041404eb1 100644
22--- a/Source/JavaScriptCore/llint/WebAssembly.asm
23+++ b/Source/JavaScriptCore/llint/WebAssembly.asm
24@@ -736,7 +736,7 @@ if JSVALUE64
25 storep memoryBase, Callee[cfr]
26 else
27 loadp [sp], ws0
28- addq 2 * SlotSize, sp
29+ addp 2 * SlotSize, sp
30 storep ws0, Callee[cfr]
31 end
32
diff --git a/meta/recipes-sato/webkit/webkitgtk/fix-musl-compilation.patch b/meta/recipes-sato/webkit/webkitgtk/fix-musl-compilation.patch
new file mode 100644
index 0000000000..c0112cad18
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk/fix-musl-compilation.patch
@@ -0,0 +1,94 @@
1From 820e4bb46d7e72ba2b14b15819166919c2e81205 Mon Sep 17 00:00:00 2001
2From: Adrian Perez de Castro <aperez@igalia.com>
3Date: Wed, 15 Oct 2025 00:58:59 +0300
4Subject: [PATCH] [libpas] Build fails with libc implementations that lack
5 execinfo.h https://bugs.webkit.org/show_bug.cgi?id=300701
6
7Reviewed by NOBODY (OOPS!).
8
9Change guards to use backtrace() and execinfo.h on Linux only when using
10glibc as the C library. The PlayStation and Windows cases no longer need
11to be matched, as they are neither Linux nor Darwin, both of which are now
12explicitly listed. The Android check is kept as it was.
13
14* Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c:
15* Source/bmalloc/libpas/src/test/PGMTests.cpp:
16(addPGMTests):
17
18
19Fixes the following error in OE, when compiled with musl:
20
21| ${UNPACKDIR}/webkitgtk-2.50.0/Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c:52:10: fatal error: execinfo.h: No such file or directory
22| 52 | #include <execinfo.h>
23
24
25Upstream-Status: Backport [https://github.com/WebKit/WebKit/pull/52300]
26Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
27
28---
29 .../pas_probabilistic_guard_malloc_allocator.c | 4 ++--
30 Source/bmalloc/libpas/src/test/PGMTests.cpp | 13 ++++++-------
31 2 files changed, 8 insertions(+), 9 deletions(-)
32
33diff --git a/Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c b/Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c
34index ff3adefa7dcc..58ec32eb4fed 100644
35--- a/Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c
36+++ b/Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c
37@@ -43,8 +43,8 @@
38 #include <unistd.h>
39 #endif
40
41-/* PlayStation does not currently support the backtrace API. Android API versions < 33 don't, either. Windows does not either. */
42-#if !PAS_PLATFORM(PLAYSTATION) && (!PAS_OS(ANDROID) || __ANDROID_API__ >= 33) && !PAS_OS(WINDOWS)
43+/* PlayStation does not currently support the backtrace API. Android API versions < 33 don't, either. Windows does not either. Linux only with GLibc and not uCLibc/Musl. */
44+#if (PAS_OS(ANDROID) && __ANDROID_API__ >= 33) || PAS_OS(DARWIN) || (PAS_OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
45 #include <execinfo.h>
46 #else
47 size_t backtrace(void** buffer, size_t size)
48diff --git a/Source/bmalloc/libpas/src/test/PGMTests.cpp b/Source/bmalloc/libpas/src/test/PGMTests.cpp
49index 0432f46ba3b0..dfbf957a3421 100644
50--- a/Source/bmalloc/libpas/src/test/PGMTests.cpp
51+++ b/Source/bmalloc/libpas/src/test/PGMTests.cpp
52@@ -43,9 +43,9 @@
53 #include "pas_report_crash.h"
54 #include "pas_root.h"
55
56-#if !PAS_PLATFORM(PLAYSTATION)
57+#if (PAS_OS(ANDROID) && __ANDROID_API__ >= 33) || PAS_OS(DARWIN) || (PAS_OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
58 #include <execinfo.h>
59-#endif // !PAS_PLATFORM(PLAYSTATION)
60+#endif
61
62 using namespace std;
63
64@@ -383,8 +383,7 @@ void testPGMMetadataVectorManagementFewDeallocations()
65 pas_heap_lock_unlock();
66 }
67
68-/* Backtrace API is currently not supported on PlayStation. */
69-#if !PAS_PLATFORM(PLAYSTATION)
70+#if (PAS_OS(ANDROID) && __ANDROID_API__ >= 33) || PAS_OS(DARWIN) || (PAS_OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
71 void testPGMMetadataDoubleFreeBehavior()
72 {
73 pas_probabilistic_guard_malloc_initialize_pgm_as_enabled(1);
74@@ -583,7 +582,7 @@ void testPGMAllocMetadataOnly()
75 CHECK(!dealloc_metadata);
76 }
77 }
78-#endif // !PAS_PLATFORM(PLAYSTATION)
79+#endif
80
81 } // anonymous namespace
82
83@@ -598,9 +597,9 @@ void addPGMTests()
84 ADD_TEST(testPGMMetadataVectorManagement());
85 ADD_TEST(testPGMMetadataVectorManagementFewDeallocations());
86 ADD_TEST(testPGMMetadataVectorManagementRehash());
87-#if !PAS_PLATFORM(PLAYSTATION)
88+#if (PAS_OS(ANDROID) && __ANDROID_API__ >= 33) || PAS_OS(DARWIN) || (PAS_OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
89 ADD_TEST(testPGMMetadataDoubleFreeBehavior());
90 ADD_TEST(testPGMBmallocAllocationBacktrace());
91 ADD_TEST(testPGMAllocMetadataOnly());
92-#endif // !PAS_PLATFORM(PLAYSTATION)
93+#endif
94 }
diff --git a/meta/recipes-sato/webkit/webkitgtk/fix_op_instanceof_handler_for_32-bit_C-loop_build.patch b/meta/recipes-sato/webkit/webkitgtk/fix_op_instanceof_handler_for_32-bit_C-loop_build.patch
new file mode 100644
index 0000000000..aa3b53e1bb
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk/fix_op_instanceof_handler_for_32-bit_C-loop_build.patch
@@ -0,0 +1,122 @@
1From 0000000000000000000000000000000000000000 Fri Sep 19 11:55:30 2025
2From: amaxcz <amaxcz@gmail.com>
3Date: Fri, 19 Sep 2025 11:55:30 +0000
4Subject: [PATCH] JSC: fix op_instanceof handler for 32-bit C-loop build
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9JSC: fix op_instanceof handler for 32-bit C-loop build
10
11Fixes missing 'op_instanceof' handler in LowLevelInterpreter32_64.asm
12which breaks 32‑bit builds.
13
14* No ChangeLog (raw external patch).
15
16Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=299166]
17Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
18
19--- ./Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm 2025-08-08 11:17:51.552549400 +0200
20+++ ./Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm 2025-09-19 12:34:26.253563496 +0200
21@@ -3445,4 +3445,97 @@
22 slowPathOp(mod)
23
24 llintSlowPathOp(has_structure_with_flags)
25-llintSlowPathOp(instanceof)
26+
27+llintOpWithMetadata(op_instanceof, OpInstanceof, macro (size, get, dispatch, metadata, return)
28+
29+ macro getAndLoadConstantOrVariable(fieldName, tagReg, payloadReg)
30+ get(fieldName, t5)
31+ loadConstantOrVariable(size, t5, tagReg, payloadReg)
32+ end
33+
34+ macro isObject(field, falseLabel)
35+ getAndLoadConstantOrVariable(field, t0, t1)
36+ bineq t0, CellTag, falseLabel
37+ bbneq JSCell::m_type[t1], ObjectType, falseLabel
38+ end
39+
40+ macro overridesHasInstance(hasInstanceField, constructorField, trueLabel)
41+ getAndLoadConstantOrVariable(hasInstanceField, t0, t1)
42+ bineq t0, CellTag, trueLabel
43+ loadp CodeBlock[cfr], t2
44+ loadp CodeBlock::m_globalObject[t2], t2
45+ loadp JSGlobalObject::m_functionProtoHasInstanceSymbolFunction[t2], t2
46+ bpneq t1, t2, trueLabel
47+
48+ get(constructorField, t5)
49+ loadConstantOrVariablePayload(size, t5, CellTag, t1, trueLabel)
50+ btbz JSCell::m_flags[t1], ImplementsDefaultHasInstance, trueLabel
51+ end
52+
53+ macro storeValue(tagReg, payloadReg, fieldName)
54+ move tagReg, t0
55+ move payloadReg, t1
56+ get(fieldName, t5)
57+ storei t0, TagOffset[cfr, t5, 8]
58+ storei t1, PayloadOffset[cfr, t5, 8]
59+ end
60+
61+.getHasInstance:
62+ isObject(m_constructor, .throwStaticError)
63+ get(m_constructor, t5)
64+ metadata(t2, t6)
65+ loadConstantOrVariablePayload(size, t5, CellTag, t3, .getHasInstanceSlow)
66+ performGetByIDHelper(OpInstanceof, m_hasInstanceModeMetadata, m_hasInstanceValueProfile, .getHasInstanceSlow, size,
67+ macro (resultTag, resultPayload)
68+ storeValue(resultTag, resultPayload, m_hasInstanceOrPrototype)
69+ jmp .getPrototype
70+ end)
71+ jmp .getPrototype
72+
73+.getHasInstanceSlow:
74+ callSlowPath(_llint_slow_path_get_hasInstance_from_instanceof)
75+ branchIfException(_llint_throw_from_slow_path_trampoline)
76+ jmp .getPrototype
77+
78+.getHasInstanceInlinedGetterOSRReturnPoint:
79+ # This path is taken when exiting to the LLInt from an inlined getter for Symbol.hasInstance.
80+ getterSetterOSRExitReturnPoint(op_instanceof, size)
81+ valueProfile(size, OpInstanceof, m_hasInstanceValueProfile, r1, r0, t2)
82+ storeValue(r1, r0, m_hasInstanceOrPrototype)
83+
84+.getPrototype:
85+ overridesHasInstance(m_hasInstanceOrPrototype, m_constructor, .instanceofCustom)
86+ isObject(m_value, .false)
87+ get(m_constructor, t5)
88+ metadata(t2, t6)
89+ loadConstantOrVariablePayload(size, t5, CellTag, t3, .getPrototypeSlow)
90+ performGetByIDHelper(OpInstanceof, m_prototypeModeMetadata, m_prototypeValueProfile, .getPrototypeSlow, size,
91+ macro (resultTag, resultPayload)
92+ storeValue(resultTag, resultPayload, m_hasInstanceOrPrototype)
93+ jmp .instanceof
94+ end)
95+ jmp .instanceof
96+
97+.getPrototypeSlow:
98+ callSlowPath(_llint_slow_path_get_prototype_from_instanceof)
99+ branchIfException(_llint_throw_from_slow_path_trampoline)
100+ jmp .instanceof
101+
102+.instanceof:
103+ callSlowPath(_llint_slow_path_instanceof_from_instanceof)
104+ dispatch()
105+
106+.throwStaticError:
107+ callSlowPath(_slow_path_throw_static_error_from_instanceof)
108+ dispatch()
109+
110+.instanceofCustom:
111+ callSlowPath(_slow_path_instanceof_custom_from_instanceof)
112+ dispatch()
113+
114+.false:
115+ get(m_dst, t5)
116+ storei BooleanTag, TagOffset[cfr, t5, 8]
117+ storei 0, PayloadOffset[cfr, t5, 8]
118+ dispatch()
119+end)
120
121--
1222.45.0
diff --git a/meta/recipes-sato/webkit/webkitgtk/no-musttail-arm.patch b/meta/recipes-sato/webkit/webkitgtk/no-musttail-arm.patch
deleted file mode 100644
index 367e6b8342..0000000000
--- a/meta/recipes-sato/webkit/webkitgtk/no-musttail-arm.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From 4602261fa44d6bbb4c3698c79e08a6a40a6edc5a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 12 Jan 2024 09:21:39 -0800
4Subject: [PATCH] clang/arm: Do not use MUST_TAIL_CALL
5
6This causes clang-17 to crash see [1]
7this code is new in webkit 2.42[2] thats why we do not see the crash in older webkit
8
9[1] https://github.com/llvm/llvm-project/issues/67767
10[2] https://github.com/WebKit/WebKit/commit/4d816460b765acd8aef90ab474615850b91ecc35
11
12Upstream-Status: Inappropriate [work around to avoid clang compiler crash]
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14
15Update context for webkitgtk 2.48.0.
16
17Signed-off-by: Kai Kang <kai.kang@windriver.com>
18---
19 Source/WTF/wtf/Compiler.h | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22diff --git a/Source/WTF/wtf/Compiler.h b/Source/WTF/wtf/Compiler.h
23index 16e416d..68dd9a0 100644
24--- a/Source/WTF/wtf/Compiler.h
25+++ b/Source/WTF/wtf/Compiler.h
26@@ -293,7 +293,7 @@
27 #if COMPILER(CLANG)
28 #if __SIZEOF_POINTER__ == 8
29 #if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute)
30-#if __has_cpp_attribute(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32)
31+#if __has_cpp_attribute(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32) && !defined(__arm__)
32 #define MUST_TAIL_CALL [[clang::musttail]]
33 #define HAVE_MUST_TAIL_CALL 1
34 #endif
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.48.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.50.0.bb
index 46031322b9..5389bf17db 100644
--- a/meta/recipes-sato/webkit/webkitgtk_2.48.5.bb
+++ b/meta/recipes-sato/webkit/webkitgtk_2.50.0.bb
@@ -13,14 +13,14 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
13 file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ 13 file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
14 file://reproducibility.patch \ 14 file://reproducibility.patch \
15 file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \ 15 file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \
16 file://no-musttail-arm.patch \
17 file://t6-not-declared.patch \ 16 file://t6-not-declared.patch \
18 file://sys_futex.patch \ 17 file://sys_futex.patch \
19 file://0001-Fix-build-errors-on-RISCV-https-bugs.webkit.org-show.patch \ 18 file://0001-Fix-build-errors-on-RISCV-https-bugs.webkit.org-show.patch \
20 file://fix-ftbfs-riscv64.patch \ 19 file://fix-ftbfs-riscv64.patch \
21 file://fix-armv7-compilation.patch \ 20 file://fix-musl-compilation.patch \
21 file://fix_op_instanceof_handler_for_32-bit_C-loop_build.patch \
22 " 22 "
23SRC_URI[sha256sum] = "bb64ed9d1cfd58e8b5e89ccad71dd31adfed56336bad7695031ad0b668e1987c" 23SRC_URI[sha256sum] = "e564b8099f9a3ae32409539b290bbd2ad084e99b6d22d4aac5e51e4554df8bc2"
24 24
25inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen 25inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen
26 26