summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2025-03-18 18:05:15 -0700
committerKhem Raj <raj.khem@gmail.com>2025-03-18 18:06:54 -0700
commitf9f74b1c844c7bb51edd058c53fb6fc62e0590dd (patch)
treea73f4d496bc75ded9fb038227aa8c53756c1d020
parentd9c5ae5c03b8d33555cb973dba833673380e741c (diff)
downloadmeta-openembedded-f9f74b1c844c7bb51edd058c53fb6fc62e0590dd.tar.gz
webkitgtk3: Upgrade to 2.48.0
* Drop backports already present in this release * Add couple of patches to fix build with clang-20 * Refresh patches e.g. no-musttail-arm.patch Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-Cherry-pick-292304-main-7ffc29624258-.-https-bugs.we.patch75
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-EnumTraits.h-error-no-matching-function-for-call-to-.patch77
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-Fix-build-issues-with-latest-Clang.patch237
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch35
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-Support-ICU-76.1-build.patch36
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch65
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/fff1b1773bff2ef7c3b867ab019d69faa36c010d.patch33
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch24
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3_2.48.0.bb (renamed from meta-oe/recipes-support/webkitgtk/webkitgtk3_2.44.3.bb)11
9 files changed, 171 insertions, 422 deletions
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-Cherry-pick-292304-main-7ffc29624258-.-https-bugs.we.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-Cherry-pick-292304-main-7ffc29624258-.-https-bugs.we.patch
new file mode 100644
index 0000000000..5cbb1035b2
--- /dev/null
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-Cherry-pick-292304-main-7ffc29624258-.-https-bugs.we.patch
@@ -0,0 +1,75 @@
1From 83093455d02d73a327cea502d974aac82b59ad17 Mon Sep 17 00:00:00 2001
2From: Adrian Perez de Castro <aperez@igalia.com>
3Date: Tue, 18 Mar 2025 07:39:01 -0700
4Subject: [PATCH] Cherry-pick 292304@main (7ffc29624258).
5 https://bugs.webkit.org/show_bug.cgi?id=289953
6
7 [GTK][WPE] Use _LIBCPP_HARDENING_MODE with newer libc++ versions
8 https://bugs.webkit.org/show_bug.cgi?id=289953
9
10 Reviewed by Alicia Boya Garcia.
11
12 * Source/cmake/OptionsCommon.cmake: Add a new check for the libc++
13 version, if it is 19 or newer, use the new _LIBCPP_HARDENING_MODE
14 macro, otherwise for older versions keep _LIBCPP_ENABLE_ASSERTIONS.
15
16 Canonical link: https://commits.webkit.org/292304@main
17
18Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/2c105443d41e5ce3de3a4cac2ed8a07ebd134459]
19
20Canonical link: https://commits.webkit.org/290945.71@webkitglib/2.48
21
22Signed-off-by: Khem Raj <raj.khem@gmail.com>
23---
24 Source/cmake/OptionsCommon.cmake | 24 +++++++++++++++++++-----
25 1 file changed, 19 insertions(+), 5 deletions(-)
26
27diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake
28index f6cf5ee..3178674 100644
29--- a/Source/cmake/OptionsCommon.cmake
30+++ b/Source/cmake/OptionsCommon.cmake
31@@ -229,8 +229,22 @@ set(CXX_STDLIB_TEST_SOURCE "
32 ")
33 check_cxx_source_compiles("${CXX_STDLIB_TEST_SOURCE}" CXX_STDLIB_IS_LIBCPP)
34 if (CXX_STDLIB_IS_LIBCPP)
35- set(CXX_STDLIB_VARIANT "LIBCPP")
36- set(CXX_STDLIB_ASSERTIONS_MACRO _LIBCPP_ENABLE_ASSERTIONS)
37+ set(CXX_STDLIB_TEST_SOURCE "
38+ #include <utility>
39+ #if _LIBCPP_VERSION >= 190000
40+ int main() { }
41+ #else
42+ #error libc++ is older than 19.x
43+ #endif
44+ ")
45+ check_cxx_source_compiles("${CXX_STDLIB_TEST_SOURCE}" CXX_STDLIB_IS_LIBCPP_19_OR_NEWER)
46+ if (CXX_STDLIB_IS_LIBCPP_19_OR_NEWER)
47+ set(CXX_STDLIB_VARIANT "LIBCPP 19+")
48+ set(CXX_STDLIB_ASSERTIONS_MACRO _LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE)
49+ else ()
50+ set(CXX_STDLIB_VARIANT "LIBCPP <19")
51+ set(CXX_STDLIB_ASSERTIONS_MACRO _LIBCPP_ENABLE_ASSERTIONS=1)
52+ endif ()
53 else ()
54 set(CXX_STDLIB_TEST_SOURCE "
55 #include <utility>
56@@ -239,7 +253,7 @@ else ()
57 check_cxx_source_compiles("${CXX_STDLIB_TEST_SOURCE}" CXX_STDLIB_IS_GLIBCXX)
58 if (CXX_STDLIB_IS_GLIBCXX)
59 set(CXX_STDLIB_VARIANT "GLIBCXX")
60- set(CXX_STDLIB_ASSERTIONS_MACRO _GLIBCXX_ASSERTIONS)
61+ set(CXX_STDLIB_ASSERTIONS_MACRO _GLIBCXX_ASSERTIONS=1)
62 endif ()
63 endif ()
64 message(STATUS "C++ standard library in use: ${CXX_STDLIB_VARIANT}")
65@@ -255,8 +269,8 @@ option(USE_CXX_STDLIB_ASSERTIONS
66
67 if (USE_CXX_STDLIB_ASSERTIONS)
68 if (CXX_STDLIB_ASSERTIONS_MACRO)
69- message(STATUS " Assertions enabled, ${CXX_STDLIB_ASSERTIONS_MACRO}=1")
70- add_compile_definitions("${CXX_STDLIB_ASSERTIONS_MACRO}=1")
71+ message(STATUS " Assertions enabled, ${CXX_STDLIB_ASSERTIONS_MACRO}")
72+ add_compile_definitions("${CXX_STDLIB_ASSERTIONS_MACRO}")
73 else ()
74 message(STATUS " Assertions disabled, CXX_STDLIB_ASSERTIONS_MACRO undefined")
75 endif ()
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-EnumTraits.h-error-no-matching-function-for-call-to-.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-EnumTraits.h-error-no-matching-function-for-call-to-.patch
new file mode 100644
index 0000000000..5b83d9e7eb
--- /dev/null
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-EnumTraits.h-error-no-matching-function-for-call-to-.patch
@@ -0,0 +1,77 @@
1From 7d159a631ae55c10a0b7a92cf031200a11629736 Mon Sep 17 00:00:00 2001
2From: Fujii Hironori <Hironori.Fujii@sony.com>
3Date: Tue, 18 Mar 2025 10:25:47 +0900
4Subject: [PATCH] EnumTraits.h: error: no matching function for call to
5 'enumName' with Clang 20 https://bugs.webkit.org/show_bug.cgi?id=289669
6
7Reviewed by NOBODY (OOPS!).
8
9Clang 20 couldn't compile EnumTraits.h.
10
11> wtf/EnumTraits.h:212:33: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'V'
12
13An invalid enum value can't be specifed to the template parameter `V`.
14
15> template<auto V> constexpr std::span<const char> enumName()
16
17The upstream Magic Enum C++ has a template variable `is_enum_constexpr_static_cast_valid<E, V>` to check a enum value is valid.
18<https://github.com/Neargye/magic_enum/blob/a413fcc9c46a020a746907136a384c227f3cd095/include/magic_enum/magic_enum.hpp#L624-L634>
19
20Imported the template variable.
21
22* Source/WTF/wtf/EnumTraits.h:
23(WTF::enumName):
24(WTF::makeEnumNames):
25
26Upstream-Status: Submitted [https://github.com/WebKit/WebKit/pull/42597]
27Signed-off-by: Khem Raj <raj.khem@gmail.com>
28---
29 Source/WTF/wtf/EnumTraits.h | 21 ++++++++++++++++++++-
30 1 file changed, 20 insertions(+), 1 deletion(-)
31
32diff --git a/Source/WTF/wtf/EnumTraits.h b/Source/WTF/wtf/EnumTraits.h
33index 0d33e39a..95e6318b 100644
34--- a/Source/WTF/wtf/EnumTraits.h
35+++ b/Source/WTF/wtf/EnumTraits.h
36@@ -152,6 +152,16 @@ constexpr bool isZeroBasedContiguousEnum()
37 #pragma clang diagnostic ignored "-Wenum-constexpr-conversion"
38 #endif
39
40+#if COMPILER(CLANG) && __clang_major__ >= 16
41+template <typename E, auto V, typename = void>
42+inline constexpr bool isEnumConstexprStaticCastValid = false;
43+template <typename E, auto V>
44+inline constexpr bool isEnumConstexprStaticCastValid<E, V, std::void_t<std::integral_constant<E, static_cast<E>(V)>>> = true;
45+#else
46+template <typename, auto>
47+inline constexpr bool isEnumConstexprStaticCastValid = true;
48+#endif
49+
50 template<typename E>
51 constexpr std::span<const char> enumTypeNameImpl()
52 {
53@@ -215,6 +225,15 @@ constexpr std::span<const char> enumName()
54 return result;
55 }
56
57+template<typename E, auto V>
58+constexpr std::span<const char> enumName()
59+{
60+ if constexpr (isEnumConstexprStaticCastValid<E, V>)
61+ return enumName<static_cast<E>(V)>();
62+ else
63+ return { };
64+}
65+
66 template<typename E>
67 constexpr std::underlying_type_t<E> enumNamesMin()
68 {
69@@ -264,7 +283,7 @@ constexpr auto makeEnumNames(std::index_sequence<Is...>)
70 {
71 constexpr auto min = enumNamesMin<E>();
72 return std::array<std::span<const char>, sizeof...(Is)> {
73- enumName<static_cast<E>(static_cast<std::underlying_type_t<E>>(Is) + min)>()...
74+ enumName<E, static_cast<std::underlying_type_t<E>>(Is) + min>()...
75 };
76 }
77
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-Fix-build-issues-with-latest-Clang.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-Fix-build-issues-with-latest-Clang.patch
deleted file mode 100644
index 6ef9835c2c..0000000000
--- a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-Fix-build-issues-with-latest-Clang.patch
+++ /dev/null
@@ -1,237 +0,0 @@
1From 257ed304fb3e71d412568dcbed7129c145812fdf Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 2 Sep 2024 21:38:12 -0700
4Subject: [PATCH] Fix build issues with latest Clang
5 https://bugs.webkit.org/show_bug.cgi?id=276198 rdar://130933637
6
7Reviewed by Yusuke Suzuki.
8
9The use of the template keyword to reference template members without a template argument list was deprecated in the C++ standard.
10e.g. `foo.template bar()` nows needs to be `foo.template bar<>()`. I ran into a different issue with `std::reference_wrapper` that
11blocked me from going any further, which AFAICT is a bug on the Clang side.
12
13This also fixes a few other warnings that popped up while building with the new Clang denoted inline
14
15* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
16(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): Clang didn't like the implicit static_cast<int32_t>(UINT32_MAX) so make it explicit with a static_assert no data was lost.
17* Source/JavaScriptCore/jit/AssemblyHelpers.cpp:
18(JSC::AssemblyHelpers::emitNonNullDecodeZeroExtendedStructureID): Clang didn't like the implicit static_cast<int32_t>(UINT32_MAX) so make it explicit with a static_assert no data was lost.
19* Source/JavaScriptCore/llint/InPlaceInterpreter.cpp:
20* Source/JavaScriptCore/llint/LLIntData.h:
21(JSC::LLInt::getCodeFunctionPtr):
22(JSC::LLInt::getWide16CodeFunctionPtr):
23(JSC::LLInt::getWide32CodeFunctionPtr):
24* Source/JavaScriptCore/parser/Nodes.h: Missing definition of ModuleScopeData added include.
25* Source/JavaScriptCore/runtime/JSCast.h:
26(JSC::JSCastingHelpers::inherits):
27(JSC::jsDynamicCast):
28* Source/ThirdParty/libwebrtc/Source/third_party/boringssl/src/crypto/bio/connect.c:
29(conn_callback_ctrl): Had a warning about an incompatible function type. Seems like this is intentional suppressed the warning.
30* Source/WTF/wtf/cf/TypeCastsCF.h: Had a warning about extra namespace qualification. I just moved it out of the namespace. That said, it feels like this warning shouldn't apply to macro expansions...
31* Source/WebCore/PAL/ThirdParty/libavif/ThirdParty/dav1d/src/decode.c:
32(decode_b): Had a warning about different types on the middle/right of a ternary expression. I just pushed the comparison inside the ternary.
33
34Canonical link: https://commits.webkit.org/280700@main
35
36Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/62b6e2db547e#diff-136d848d7c1b400da9b486916b67592b54e5abf7c66ac247697a93ae2fb743a9]
37Signed-off-by: Khem Raj <raj.khem@gmail.com>
38---
39 Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp | 6 ++++--
40 Source/JavaScriptCore/jit/AssemblyHelpers.cpp | 6 ++++--
41 .../JavaScriptCore/llint/InPlaceInterpreter.cpp | 16 ++++++++--------
42 Source/JavaScriptCore/llint/LLIntData.h | 12 ++++++------
43 Source/JavaScriptCore/llint/LLIntThunks.cpp | 2 +-
44 Source/JavaScriptCore/parser/Nodes.h | 4 ++--
45 Source/JavaScriptCore/runtime/JSCast.h | 4 ++--
46 7 files changed, 27 insertions(+), 23 deletions(-)
47
48--- a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
49+++ b/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
50@@ -22930,8 +22930,10 @@ IGNORE_CLANG_WARNINGS_END
51 return m_out.shl(m_out.zeroExtPtr(structureID), m_out.constIntPtr(StructureID::encodeShiftAmount));
52 #else
53 LValue maskedStructureID = structureID;
54- if constexpr (structureHeapAddressSize < 4 * GB)
55- maskedStructureID = m_out.bitAnd(structureID, m_out.constInt32(StructureID::structureIDMask));
56+ if constexpr (structureHeapAddressSize < 4 * GB) {
57+ static_assert(static_cast<uint32_t>(StructureID::structureIDMask) == StructureID::structureIDMask);
58+ maskedStructureID = m_out.bitAnd(structureID, m_out.constInt32(static_cast<uint32_t>(StructureID::structureIDMask)));
59+ }
60 return m_out.bitOr(m_out.constIntPtr(startOfStructureHeap()), m_out.zeroExtPtr(maskedStructureID));
61 #endif
62 }
63--- a/Source/JavaScriptCore/jit/AssemblyHelpers.cpp
64+++ b/Source/JavaScriptCore/jit/AssemblyHelpers.cpp
65@@ -677,8 +677,10 @@ void AssemblyHelpers::emitNonNullDecodeZ
66 if constexpr (structureHeapAddressSize >= 4 * GB) {
67 ASSERT(structureHeapAddressSize == 4 * GB);
68 move(source, dest);
69- } else
70- and32(TrustedImm32(StructureID::structureIDMask), source, dest);
71+ } else {
72+ static_assert(static_cast<uint32_t>(StructureID::structureIDMask) == StructureID::structureIDMask);
73+ and32(TrustedImm32(static_cast<uint32_t>(StructureID::structureIDMask)), source, dest);
74+ }
75 or64(TrustedImm64(startOfStructureHeap()), dest);
76 #else // not CPU(ADDRESS64)
77 move(source, dest);
78--- a/Source/JavaScriptCore/llint/InPlaceInterpreter.cpp
79+++ b/Source/JavaScriptCore/llint/InPlaceInterpreter.cpp
80@@ -43,8 +43,8 @@ namespace JSC { namespace IPInt {
81 do { \
82 void* base = reinterpret_cast<void*>(ipint_unreachable_validate); \
83 void* ptr = reinterpret_cast<void*>(ipint_ ## name ## _validate); \
84- void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr(); \
85- void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr(); \
86+ void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr<>(); \
87+ void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr<>(); \
88 RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \
89 } while (false);
90
91@@ -52,8 +52,8 @@ do { \
92 do { \
93 void* base = reinterpret_cast<void*>(ipint_i32_trunc_sat_f32_s_validate); \
94 void* ptr = reinterpret_cast<void*>(ipint_ ## name ## _validate); \
95- void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr(); \
96- void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr(); \
97+ void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr<>(); \
98+ void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr<>(); \
99 RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \
100 } while (false);
101
102@@ -61,8 +61,8 @@ do { \
103 do { \
104 void* base = reinterpret_cast<void*>(ipint_simd_v128_load_mem_validate); \
105 void* ptr = reinterpret_cast<void*>(ipint_ ## name ## _validate); \
106- void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr(); \
107- void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr(); \
108+ void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr<>(); \
109+ void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr<>(); \
110 RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \
111 } while (false);
112
113@@ -70,8 +70,8 @@ do { \
114 do { \
115 void* base = reinterpret_cast<void*>(ipint_memory_atomic_notify_validate); \
116 void* ptr = reinterpret_cast<void*>(ipint_ ## name ## _validate); \
117- void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr(); \
118- void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr(); \
119+ void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr<>(); \
120+ void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr<>(); \
121 RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \
122 } while (false);
123
124--- a/Source/JavaScriptCore/llint/LLIntData.h
125+++ b/Source/JavaScriptCore/llint/LLIntData.h
126@@ -217,7 +217,7 @@ ALWAYS_INLINE LLIntCode getCodeFunctionP
127 #if COMPILER(MSVC)
128 return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).taggedPtr());
129 #else
130- return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).template taggedPtr());
131+ return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).template taggedPtr<>());
132 #endif
133 }
134
135@@ -227,7 +227,7 @@ ALWAYS_INLINE LLIntCode getWide16CodeFun
136 #if COMPILER(MSVC)
137 return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).taggedPtr());
138 #else
139- return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).template taggedPtr());
140+ return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).template taggedPtr<>());
141 #endif
142 }
143
144@@ -237,7 +237,7 @@ ALWAYS_INLINE LLIntCode getWide32CodeFun
145 #if COMPILER(MSVC)
146 return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).taggedPtr());
147 #else
148- return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).template taggedPtr());
149+ return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).template taggedPtr<>());
150 #endif
151 }
152 #else // not ENABLE(JIT)
153@@ -361,7 +361,7 @@ ALWAYS_INLINE LLIntCode getCodeFunctionP
154 #if COMPILER(MSVC)
155 return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).taggedPtr());
156 #else
157- return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).template taggedPtr());
158+ return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).template taggedPtr<>());
159 #endif
160 }
161
162@@ -371,7 +371,7 @@ ALWAYS_INLINE LLIntCode getWide16CodeFun
163 #if COMPILER(MSVC)
164 return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).taggedPtr());
165 #else
166- return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).template taggedPtr());
167+ return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).template taggedPtr<>());
168 #endif
169 }
170
171@@ -381,7 +381,7 @@ ALWAYS_INLINE LLIntCode getWide32CodeFun
172 #if COMPILER(MSVC)
173 return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).taggedPtr());
174 #else
175- return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).template taggedPtr());
176+ return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).template taggedPtr<>());
177 #endif
178 }
179 #else // not ENABLE(JIT)
180--- a/Source/JavaScriptCore/llint/LLIntThunks.cpp
181+++ b/Source/JavaScriptCore/llint/LLIntThunks.cpp
182@@ -227,7 +227,7 @@ ALWAYS_INLINE void* untaggedPtr(void* pt
183 #if COMPILER(MSVC)
184 return CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).untaggedPtr();
185 #else
186- return CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr();
187+ return CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr<>();
188 #endif
189 }
190
191--- a/Source/JavaScriptCore/parser/Nodes.h
192+++ b/Source/JavaScriptCore/parser/Nodes.h
193@@ -1,7 +1,7 @@
194 /*
195 * Copyright (C) 1999-2000 Harri Porten (porten@kde.org)
196 * Copyright (C) 2001 Peter Kelly (pmk@post.com)
197- * Copyright (C) 2003-2019 Apple Inc. All rights reserved.
198+ * Copyright (C) 2003-2024 Apple Inc. All rights reserved.
199 * Copyright (C) 2007 Cameron Zwarich (cwzwarich@uwaterloo.ca)
200 * Copyright (C) 2007 Maks Orlovich
201 * Copyright (C) 2007 Eric Seidel <eric@webkit.org>
202@@ -29,6 +29,7 @@
203 #include "ImplementationVisibility.h"
204 #include "JITCode.h"
205 #include "Label.h"
206+#include "ModuleScopeData.h"
207 #include "ParserArena.h"
208 #include "ParserModes.h"
209 #include "ParserTokens.h"
210@@ -49,7 +50,6 @@ namespace JSC {
211 class FunctionMetadataNode;
212 class FunctionParameters;
213 class ModuleAnalyzer;
214- class ModuleScopeData;
215 class PropertyListNode;
216 class ReadModifyResolveNode;
217 class RegisterID;
218--- a/Source/JavaScriptCore/runtime/JSCast.h
219+++ b/Source/JavaScriptCore/runtime/JSCast.h
220@@ -236,7 +236,7 @@ template<typename Target, typename From>
221 bool inherits(From* from)
222 {
223 using Dispatcher = InheritsTraits<Target>;
224- return Dispatcher::template inherits(from);
225+ return Dispatcher::template inherits<>(from);
226 }
227
228 } // namespace JSCastingHelpers
229@@ -245,7 +245,7 @@ template<typename To, typename From>
230 To jsDynamicCast(From* from)
231 {
232 using Dispatcher = JSCastingHelpers::InheritsTraits<typename std::remove_cv<typename std::remove_pointer<To>::type>::type>;
233- if (LIKELY(Dispatcher::template inherits(from)))
234+ if (LIKELY(Dispatcher::template inherits<>(from)))
235 return static_cast<To>(from);
236 return nullptr;
237 }
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch
deleted file mode 100644
index e6a43c2fff..0000000000
--- a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1From fb81a5de7798eb7f68e0de1c281671553e1aa19d Mon Sep 17 00:00:00 2001
2From: Michael Catanzaro <mcatanzaro@redhat.com>
3Date: Mon, 5 Feb 2024 11:00:49 -0600
4Subject: [PATCH] =?UTF-8?q?LowLevelInterpreter.cpp:339:21:=20error:=20?=
5 =?UTF-8?q?=E2=80=98t6=E2=80=99=20was=20not=20declared=20in=20this=20scope?=
6 =?UTF-8?q?=20https://bugs.webkit.org/show=5Fbug.cgi=3Fid=3D268739?=
7MIME-Version: 1.0
8Content-Type: text/plain; charset=UTF-8
9Content-Transfer-Encoding: 8bit
10
11Unreviewed build fix. Seems a backport went badly, and we didn't notice
12because the code is architecture-specific.
13
14* Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:
15(JSC::CLoop::execute):
16
17Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/3d5373575695b293b8559155431d0079a6153aff]
18Signed-off-by: Khem Raj <raj.khem@gmail.com>
19---
20 Source/JavaScriptCore/llint/LowLevelInterpreter.cpp | 2 --
21 1 file changed, 2 deletions(-)
22
23diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
24index 75cecbbd..b1020ea4 100644
25--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
26+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
27@@ -336,8 +336,6 @@ JSValue CLoop::execute(OpcodeID entryOpcodeID, void* executableAddress, VM* vm,
28 UNUSED_VARIABLE(t2);
29 UNUSED_VARIABLE(t3);
30 UNUSED_VARIABLE(t5);
31- UNUSED_VARIABLE(t6);
32- UNUSED_VARIABLE(t7);
33
34 struct StackPointerScope {
35 StackPointerScope(CLoopStack& stack)
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-Support-ICU-76.1-build.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-Support-ICU-76.1-build.patch
deleted file mode 100644
index 31535e7ae2..0000000000
--- a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-Support-ICU-76.1-build.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From 57b80aa00be614218552fda67b2bf8d535b4f4cf Mon Sep 17 00:00:00 2001
2From: Jason Schonberg <schonm@gmail.com>
3Date: Wed, 20 Nov 2024 11:05:52 -0500
4Subject: [PATCH] Support ICU 76.1 build
5
6https://bugs.webkit.org/show_bug.cgi?id=282120
7
8Reviewed by Yusuke Suzuki.
9
10In ICU 76.1 an additional macro `U_SHOW_CPLUSPLUS_HEADER_API` was added to
11control visibility of the C++ API within ICU. Set this value to `0` since WebKit
12wants to only use the C API.
13
14* Source/WTF/wtf/Platform.h:
15
16Canonical link: https://commits.webkit.org/285727@main
17
18Upstream-Status: Backport [ from webkitgtk-2.47.1 https://github.com/WebKit/WebKit/commit/63f7badbada070ebaadd318b2801818ecf7e7ea0 ]
19
20Signed-off-by: Jason Schonberg <schonm@gmail.com>
21---
22 Source/WTF/wtf/Platform.h | 1 +
23 1 file changed, 1 insertion(+)
24
25diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
26index 23070df2..51a8dce9 100644
27--- a/Source/WTF/wtf/Platform.h
28+++ b/Source/WTF/wtf/Platform.h
29@@ -115,6 +115,7 @@
30 /* ICU configuration. Some of these match ICU defaults on some platforms, but we would like them consistently set everywhere we build WebKit. */
31 #define U_HIDE_DEPRECATED_API 1
32 #define U_SHOW_CPLUSPLUS_API 0
33+#define U_SHOW_CPLUSPLUS_HEADER_API 0
34 #ifdef __cplusplus
35 #define UCHAR_TYPE char16_t
36 #endif
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch
deleted file mode 100644
index b2e40a88c8..0000000000
--- a/meta-oe/recipes-support/webkitgtk/webkitgtk3/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch
+++ /dev/null
@@ -1,65 +0,0 @@
1From 1523e00a2a76e285262c8aa3721b5d99f3f2d612 Mon Sep 17 00:00:00 2001
2From: Thomas Devoogdt <thomas.devoogdt@barco.com>
3Date: Mon, 16 Jan 2023 17:03:30 +0100
4Subject: [PATCH] REGRESSION(257865@main): B3Validate.cpp: fix
5
6 !ENABLE(WEBASSEMBLY_B3JIT)
7
8https://bugs.webkit.org/show_bug.cgi?id=250681
9
10Reviewed by NOBODY (OOPS!).
11
12WasmTypeDefinition.h isn't included if not ENABLE(WEBASSEMBLY_B3JIT).
13Also, toB3Type and simdScalarType are not defined if it is included.
14
15Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
16
17Upstream-Status: Inappropriate [https://bugs.launchpad.net/ubuntu/+source/webkit2gtk/+bug/2008798]
18---
19 Source/JavaScriptCore/b3/B3Validate.cpp | 12 +++++++++---
20 1 file changed, 9 insertions(+), 3 deletions(-)
21
22diff --git a/Source/JavaScriptCore/b3/B3Validate.cpp b/Source/JavaScriptCore/b3/B3Validate.cpp
23index eaaa3749..1d089783 100644
24--- a/Source/JavaScriptCore/b3/B3Validate.cpp
25+++ b/Source/JavaScriptCore/b3/B3Validate.cpp
26@@ -47,6 +47,12 @@
27 #include <wtf/StringPrintStream.h>
28 #include <wtf/text/CString.h>
29
30+#if ENABLE(WEBASSEMBLY) && ENABLE(WEBASSEMBLY_B3JIT)
31+#define simdScalarTypeToB3Type(type) toB3Type(Wasm::simdScalarType(type))
32+#else
33+#define simdScalarTypeToB3Type(type) B3::Type()
34+#endif
35+
36 namespace JSC { namespace B3 {
37
38 namespace {
39@@ -454,7 +460,7 @@ public:
40 case VectorExtractLane:
41 VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
42 VALIDATE(value->numChildren() == 1, ("At ", *value));
43- VALIDATE(value->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
44+ VALIDATE(value->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
45 VALIDATE(value->child(0)->type() == V128, ("At ", *value));
46 break;
47 case VectorReplaceLane:
48@@ -462,7 +468,7 @@ public:
49 VALIDATE(value->numChildren() == 2, ("At ", *value));
50 VALIDATE(value->type() == V128, ("At ", *value));
51 VALIDATE(value->child(0)->type() == V128, ("At ", *value));
52- VALIDATE(value->child(1)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
53+ VALIDATE(value->child(1)->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
54 break;
55 case VectorDupElement:
56 VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
57@@ -484,7 +490,7 @@ public:
58 VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
59 VALIDATE(value->numChildren() == 1, ("At ", *value));
60 VALIDATE(value->type() == V128, ("At ", *value));
61- VALIDATE(value->child(0)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
62+ VALIDATE(value->child(0)->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
63 break;
64
65 case VectorPopcnt:
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/fff1b1773bff2ef7c3b867ab019d69faa36c010d.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/fff1b1773bff2ef7c3b867ab019d69faa36c010d.patch
deleted file mode 100644
index 3d76aa4e4d..0000000000
--- a/meta-oe/recipes-support/webkitgtk/webkitgtk3/fff1b1773bff2ef7c3b867ab019d69faa36c010d.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From fff1b1773bff2ef7c3b867ab019d69faa36c010d Mon Sep 17 00:00:00 2001
2From: Michael Catanzaro <mcatanzaro@redhat.com>
3Date: Wed, 3 Jul 2024 13:36:54 -0700
4Subject: [PATCH] WebKitDOMEventTarget.h:95: Warning: WebKit2WebExtension:
5 invalid "scope" annotation: only valid on callback parameters
6 https://bugs.webkit.org/show_bug.cgi?id=276180
7
8Unreviewed build fix.
9
10Emmanuele recommends using (type gpointer) for the GCallback parameter
11of webkit_dom_event_target_remove_event_listener, since it won't be
12called and is therefore not functioning as a callback.
13
14* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEventTarget.h:
15
16Canonical link: https://commits.webkit.org/280639@main
17Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/fff1b1773bff2ef7c3b867ab019d69faa36c010d]
18Signed-off-by: Khem Raj <raj.khem@gmail.com>
19---
20 .../InjectedBundle/API/gtk/DOM/WebKitDOMEventTarget.h | 2 +-
21 1 file changed, 1 insertion(+), 1 deletion(-)
22
23--- a/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEventTarget.h
24+++ b/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEventTarget.h
25@@ -92,7 +92,7 @@ WEBKIT_DEPRECATED gboolean webkit_dom_e
26 * webkit_dom_event_target_remove_event_listener:
27 * @target: A #WebKitDOMEventTarget
28 * @event_name: A #gchar
29- * @handler: (scope call): A #GCallback
30+ * @handler: (type gpointer): A #GCallback
31 * @use_capture: A #gboolean
32 *
33 * Returns: a #gboolean
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch
index 37bc6538c3..367e6b8342 100644
--- a/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch
@@ -1,6 +1,6 @@
1From c50f2277509f2e6f087cda2eaf323eaf569aad8d Mon Sep 17 00:00:00 2001 1From 4602261fa44d6bbb4c3698c79e08a6a40a6edc5a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 30 Sep 2023 12:42:06 -0700 3Date: Fri, 12 Jan 2024 09:21:39 -0800
4Subject: [PATCH] clang/arm: Do not use MUST_TAIL_CALL 4Subject: [PATCH] clang/arm: Do not use MUST_TAIL_CALL
5 5
6This causes clang-17 to crash see [1] 6This causes clang-17 to crash see [1]
@@ -9,22 +9,26 @@ this code is new in webkit 2.42[2] thats why we do not see the crash in older we
9[1] https://github.com/llvm/llvm-project/issues/67767 9[1] https://github.com/llvm/llvm-project/issues/67767
10[2] https://github.com/WebKit/WebKit/commit/4d816460b765acd8aef90ab474615850b91ecc35 10[2] https://github.com/WebKit/WebKit/commit/4d816460b765acd8aef90ab474615850b91ecc35
11 11
12Upstream-Status: Pending 12Upstream-Status: Inappropriate [work around to avoid clang compiler crash]
13Signed-off-by: Khem Raj <raj.khem@gmail.com> 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>
14--- 18---
15 Source/WTF/wtf/Compiler.h | 2 +- 19 Source/WTF/wtf/Compiler.h | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-) 20 1 file changed, 1 insertion(+), 1 deletion(-)
17 21
18diff --git a/Source/WTF/wtf/Compiler.h b/Source/WTF/wtf/Compiler.h 22diff --git a/Source/WTF/wtf/Compiler.h b/Source/WTF/wtf/Compiler.h
19index 449ca502..daac29d7 100644 23index 16e416d..68dd9a0 100644
20--- a/Source/WTF/wtf/Compiler.h 24--- a/Source/WTF/wtf/Compiler.h
21+++ b/Source/WTF/wtf/Compiler.h 25+++ b/Source/WTF/wtf/Compiler.h
22@@ -321,7 +321,7 @@ 26@@ -293,7 +293,7 @@
23 /* MUST_TAIL_CALL */ 27 #if COMPILER(CLANG)
24 28 #if __SIZEOF_POINTER__ == 8
25 #if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute) 29 #if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute)
26-#if __has_cpp_attribute(clang::musttail) 30-#if __has_cpp_attribute(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32)
27+#if __has_cpp_attribute(clang::musttail) && !defined(__arm__) 31+#if __has_cpp_attribute(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32) && !defined(__arm__)
28 #define MUST_TAIL_CALL [[clang::musttail]] 32 #define MUST_TAIL_CALL [[clang::musttail]]
29 #endif 33 #define HAVE_MUST_TAIL_CALL 1
30 #endif 34 #endif
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.44.3.bb b/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.48.0.bb
index 07fa0d06f7..9a4101c4b4 100644
--- a/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.44.3.bb
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.48.0.bb
@@ -17,13 +17,10 @@ SRC_URI = "https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \
17 file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ 17 file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
18 file://reproducibility.patch \ 18 file://reproducibility.patch \
19 file://no-musttail-arm.patch \ 19 file://no-musttail-arm.patch \
20 file://0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch \ 20 file://0001-Cherry-pick-292304-main-7ffc29624258-.-https-bugs.we.patch \
21 file://30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch \ 21 file://0001-EnumTraits.h-error-no-matching-function-for-call-to-.patch \
22 file://0001-Fix-build-issues-with-latest-Clang.patch \
23 file://fff1b1773bff2ef7c3b867ab019d69faa36c010d.patch \
24 file://0001-Support-ICU-76.1-build.patch \
25 " 22 "
26SRC_URI[sha256sum] = "dc82d042ecaca981a4852357c06e5235743319cf10a94cd36ad41b97883a0b54" 23SRC_URI[sha256sum] = "94904a55cf12d44a4e36ceadafff02d46da73d76be9b4769f34cbfdf0eebf88e"
27 24
28inherit 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
29 26
@@ -92,6 +89,8 @@ PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette"
92PACKAGECONFIG[webrtc] = "-DENABLE_WEB_RTC=ON,-DENABLE_WEB_RTC=OFF" 89PACKAGECONFIG[webrtc] = "-DENABLE_WEB_RTC=ON,-DENABLE_WEB_RTC=OFF"
93PACKAGECONFIG[bubblewrap] = "-DENABLE_BUBBLEWRAP_SANDBOX=ON -DBWRAP_EXECUTABLE=${bindir}/bwrap -DDBUS_PROXY_EXECUTABLE=${bindir}/xdg-dbus-proxy,-DENABLE_BUBBLEWRAP_SANDBOX=OFF,,bubblewrap xdg-dbus-proxy" 90PACKAGECONFIG[bubblewrap] = "-DENABLE_BUBBLEWRAP_SANDBOX=ON -DBWRAP_EXECUTABLE=${bindir}/bwrap -DDBUS_PROXY_EXECUTABLE=${bindir}/xdg-dbus-proxy,-DENABLE_BUBBLEWRAP_SANDBOX=OFF,,bubblewrap xdg-dbus-proxy"
94PACKAGECONFIG[backtrace] = "-DUSE_LIBBACKTRACE=ON,-DUSE_LIBBACKTRACE=OFF,libbacktrace" 91PACKAGECONFIG[backtrace] = "-DUSE_LIBBACKTRACE=ON,-DUSE_LIBBACKTRACE=OFF,libbacktrace"
92PACKAGECONFIG[sysprof-capture] = "-DUSE_SYSTEM_SYSPROF_CAPTURE=YES,-DUSE_SYSTEM_SYSPROF_CAPTURE=NO,sysprof"
93PACKAGECONFIG[speech] = "-DENABLE_SPEECH_SYNTHESIS=ON,-DENABLE_SPEECH_SYNTHESIS=OFF,flite"
95 94
96EXTRA_OECMAKE = " \ 95EXTRA_OECMAKE = " \
97 -DPORT=GTK \ 96 -DPORT=GTK \