diff options
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-issues-with-latest-Clang.patch | 251 | ||||
| -rw-r--r-- | meta/recipes-sato/webkit/webkitgtk_2.44.3.bb | 1 |
2 files changed, 252 insertions, 0 deletions
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-issues-with-latest-Clang.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-issues-with-latest-Clang.patch new file mode 100644 index 0000000000..2be899fea8 --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-issues-with-latest-Clang.patch | |||
| @@ -0,0 +1,251 @@ | |||
| 1 | From 257ed304fb3e71d412568dcbed7129c145812fdf Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 2 Sep 2024 21:38:12 -0700 | ||
| 4 | Subject: [PATCH] Fix build issues with latest Clang | ||
| 5 | https://bugs.webkit.org/show_bug.cgi?id=276198 rdar://130933637 | ||
| 6 | |||
| 7 | Reviewed by Yusuke Suzuki. | ||
| 8 | |||
| 9 | The use of the template keyword to reference template members without a template argument list was deprecated in the C++ standard. | ||
| 10 | e.g. `foo.template bar()` nows needs to be `foo.template bar<>()`. I ran into a different issue with `std::reference_wrapper` that | ||
| 11 | blocked me from going any further, which AFAICT is a bug on the Clang side. | ||
| 12 | |||
| 13 | This 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 | |||
| 34 | Canonical link: https://commits.webkit.org/280700@main | ||
| 35 | |||
| 36 | Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/62b6e2db547e#diff-136d848d7c1b400da9b486916b67592b54e5abf7c66ac247697a93ae2fb743a9] | ||
| 37 | Signed-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 | diff --git a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp b/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp | ||
| 49 | index 42a4eae7..dd987726 100644 | ||
| 50 | --- a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp | ||
| 51 | +++ b/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp | ||
| 52 | @@ -22930,8 +22930,10 @@ IGNORE_CLANG_WARNINGS_END | ||
| 53 | return m_out.shl(m_out.zeroExtPtr(structureID), m_out.constIntPtr(StructureID::encodeShiftAmount)); | ||
| 54 | #else | ||
| 55 | LValue maskedStructureID = structureID; | ||
| 56 | - if constexpr (structureHeapAddressSize < 4 * GB) | ||
| 57 | - maskedStructureID = m_out.bitAnd(structureID, m_out.constInt32(StructureID::structureIDMask)); | ||
| 58 | + if constexpr (structureHeapAddressSize < 4 * GB) { | ||
| 59 | + static_assert(static_cast<uint32_t>(StructureID::structureIDMask) == StructureID::structureIDMask); | ||
| 60 | + maskedStructureID = m_out.bitAnd(structureID, m_out.constInt32(static_cast<uint32_t>(StructureID::structureIDMask))); | ||
| 61 | + } | ||
| 62 | return m_out.bitOr(m_out.constIntPtr(startOfStructureHeap()), m_out.zeroExtPtr(maskedStructureID)); | ||
| 63 | #endif | ||
| 64 | } | ||
| 65 | diff --git a/Source/JavaScriptCore/jit/AssemblyHelpers.cpp b/Source/JavaScriptCore/jit/AssemblyHelpers.cpp | ||
| 66 | index c939d27a..982dc46f 100644 | ||
| 67 | --- a/Source/JavaScriptCore/jit/AssemblyHelpers.cpp | ||
| 68 | +++ b/Source/JavaScriptCore/jit/AssemblyHelpers.cpp | ||
| 69 | @@ -677,8 +677,10 @@ void AssemblyHelpers::emitNonNullDecodeZeroExtendedStructureID(RegisterID source | ||
| 70 | if constexpr (structureHeapAddressSize >= 4 * GB) { | ||
| 71 | ASSERT(structureHeapAddressSize == 4 * GB); | ||
| 72 | move(source, dest); | ||
| 73 | - } else | ||
| 74 | - and32(TrustedImm32(StructureID::structureIDMask), source, dest); | ||
| 75 | + } else { | ||
| 76 | + static_assert(static_cast<uint32_t>(StructureID::structureIDMask) == StructureID::structureIDMask); | ||
| 77 | + and32(TrustedImm32(static_cast<uint32_t>(StructureID::structureIDMask)), source, dest); | ||
| 78 | + } | ||
| 79 | or64(TrustedImm64(startOfStructureHeap()), dest); | ||
| 80 | #else // not CPU(ADDRESS64) | ||
| 81 | move(source, dest); | ||
| 82 | diff --git a/Source/JavaScriptCore/llint/InPlaceInterpreter.cpp b/Source/JavaScriptCore/llint/InPlaceInterpreter.cpp | ||
| 83 | index b9442b4f..a1d5a6c4 100644 | ||
| 84 | --- a/Source/JavaScriptCore/llint/InPlaceInterpreter.cpp | ||
| 85 | +++ b/Source/JavaScriptCore/llint/InPlaceInterpreter.cpp | ||
| 86 | @@ -43,8 +43,8 @@ namespace JSC { namespace IPInt { | ||
| 87 | do { \ | ||
| 88 | void* base = reinterpret_cast<void*>(ipint_unreachable_validate); \ | ||
| 89 | void* ptr = reinterpret_cast<void*>(ipint_ ## name ## _validate); \ | ||
| 90 | - void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr(); \ | ||
| 91 | - void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr(); \ | ||
| 92 | + void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr<>(); \ | ||
| 93 | + void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr<>(); \ | ||
| 94 | RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \ | ||
| 95 | } while (false); | ||
| 96 | |||
| 97 | @@ -52,8 +52,8 @@ do { \ | ||
| 98 | do { \ | ||
| 99 | void* base = reinterpret_cast<void*>(ipint_i32_trunc_sat_f32_s_validate); \ | ||
| 100 | void* ptr = reinterpret_cast<void*>(ipint_ ## name ## _validate); \ | ||
| 101 | - void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr(); \ | ||
| 102 | - void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr(); \ | ||
| 103 | + void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr<>(); \ | ||
| 104 | + void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr<>(); \ | ||
| 105 | RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \ | ||
| 106 | } while (false); | ||
| 107 | |||
| 108 | @@ -61,8 +61,8 @@ do { \ | ||
| 109 | do { \ | ||
| 110 | void* base = reinterpret_cast<void*>(ipint_simd_v128_load_mem_validate); \ | ||
| 111 | void* ptr = reinterpret_cast<void*>(ipint_ ## name ## _validate); \ | ||
| 112 | - void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr(); \ | ||
| 113 | - void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr(); \ | ||
| 114 | + void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr<>(); \ | ||
| 115 | + void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr<>(); \ | ||
| 116 | RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \ | ||
| 117 | } while (false); | ||
| 118 | |||
| 119 | @@ -70,8 +70,8 @@ do { \ | ||
| 120 | do { \ | ||
| 121 | void* base = reinterpret_cast<void*>(ipint_memory_atomic_notify_validate); \ | ||
| 122 | void* ptr = reinterpret_cast<void*>(ipint_ ## name ## _validate); \ | ||
| 123 | - void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr(); \ | ||
| 124 | - void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr(); \ | ||
| 125 | + void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr<>(); \ | ||
| 126 | + void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr<>(); \ | ||
| 127 | RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \ | ||
| 128 | } while (false); | ||
| 129 | |||
| 130 | diff --git a/Source/JavaScriptCore/llint/LLIntData.h b/Source/JavaScriptCore/llint/LLIntData.h | ||
| 131 | index 97de867e..87a2971d 100644 | ||
| 132 | --- a/Source/JavaScriptCore/llint/LLIntData.h | ||
| 133 | +++ b/Source/JavaScriptCore/llint/LLIntData.h | ||
| 134 | @@ -217,7 +217,7 @@ ALWAYS_INLINE LLIntCode getCodeFunctionPtr(OpcodeID opcodeID) | ||
| 135 | #if COMPILER(MSVC) | ||
| 136 | return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).taggedPtr()); | ||
| 137 | #else | ||
| 138 | - return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).template taggedPtr()); | ||
| 139 | + return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).template taggedPtr<>()); | ||
| 140 | #endif | ||
| 141 | } | ||
| 142 | |||
| 143 | @@ -227,7 +227,7 @@ ALWAYS_INLINE LLIntCode getWide16CodeFunctionPtr(OpcodeID opcodeID) | ||
| 144 | #if COMPILER(MSVC) | ||
| 145 | return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).taggedPtr()); | ||
| 146 | #else | ||
| 147 | - return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).template taggedPtr()); | ||
| 148 | + return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).template taggedPtr<>()); | ||
| 149 | #endif | ||
| 150 | } | ||
| 151 | |||
| 152 | @@ -237,7 +237,7 @@ ALWAYS_INLINE LLIntCode getWide32CodeFunctionPtr(OpcodeID opcodeID) | ||
| 153 | #if COMPILER(MSVC) | ||
| 154 | return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).taggedPtr()); | ||
| 155 | #else | ||
| 156 | - return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).template taggedPtr()); | ||
| 157 | + return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).template taggedPtr<>()); | ||
| 158 | #endif | ||
| 159 | } | ||
| 160 | #else // not ENABLE(JIT) | ||
| 161 | @@ -361,7 +361,7 @@ ALWAYS_INLINE LLIntCode getCodeFunctionPtr(WasmOpcodeID opcodeID) | ||
| 162 | #if COMPILER(MSVC) | ||
| 163 | return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).taggedPtr()); | ||
| 164 | #else | ||
| 165 | - return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).template taggedPtr()); | ||
| 166 | + return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).template taggedPtr<>()); | ||
| 167 | #endif | ||
| 168 | } | ||
| 169 | |||
| 170 | @@ -371,7 +371,7 @@ ALWAYS_INLINE LLIntCode getWide16CodeFunctionPtr(WasmOpcodeID opcodeID) | ||
| 171 | #if COMPILER(MSVC) | ||
| 172 | return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).taggedPtr()); | ||
| 173 | #else | ||
| 174 | - return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).template taggedPtr()); | ||
| 175 | + return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).template taggedPtr<>()); | ||
| 176 | #endif | ||
| 177 | } | ||
| 178 | |||
| 179 | @@ -381,7 +381,7 @@ ALWAYS_INLINE LLIntCode getWide32CodeFunctionPtr(WasmOpcodeID opcodeID) | ||
| 180 | #if COMPILER(MSVC) | ||
| 181 | return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).taggedPtr()); | ||
| 182 | #else | ||
| 183 | - return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).template taggedPtr()); | ||
| 184 | + return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).template taggedPtr<>()); | ||
| 185 | #endif | ||
| 186 | } | ||
| 187 | #else // not ENABLE(JIT) | ||
| 188 | diff --git a/Source/JavaScriptCore/llint/LLIntThunks.cpp b/Source/JavaScriptCore/llint/LLIntThunks.cpp | ||
| 189 | index 13269469..e41fa5b8 100644 | ||
| 190 | --- a/Source/JavaScriptCore/llint/LLIntThunks.cpp | ||
| 191 | +++ b/Source/JavaScriptCore/llint/LLIntThunks.cpp | ||
| 192 | @@ -227,7 +227,7 @@ ALWAYS_INLINE void* untaggedPtr(void* ptr) | ||
| 193 | #if COMPILER(MSVC) | ||
| 194 | return CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).untaggedPtr(); | ||
| 195 | #else | ||
| 196 | - return CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr(); | ||
| 197 | + return CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr<>(); | ||
| 198 | #endif | ||
| 199 | } | ||
| 200 | |||
| 201 | diff --git a/Source/JavaScriptCore/parser/Nodes.h b/Source/JavaScriptCore/parser/Nodes.h | ||
| 202 | index 01af81b7..70b87088 100644 | ||
| 203 | --- a/Source/JavaScriptCore/parser/Nodes.h | ||
| 204 | +++ b/Source/JavaScriptCore/parser/Nodes.h | ||
| 205 | @@ -1,7 +1,7 @@ | ||
| 206 | /* | ||
| 207 | * Copyright (C) 1999-2000 Harri Porten (porten@kde.org) | ||
| 208 | * Copyright (C) 2001 Peter Kelly (pmk@post.com) | ||
| 209 | - * Copyright (C) 2003-2019 Apple Inc. All rights reserved. | ||
| 210 | + * Copyright (C) 2003-2024 Apple Inc. All rights reserved. | ||
| 211 | * Copyright (C) 2007 Cameron Zwarich (cwzwarich@uwaterloo.ca) | ||
| 212 | * Copyright (C) 2007 Maks Orlovich | ||
| 213 | * Copyright (C) 2007 Eric Seidel <eric@webkit.org> | ||
| 214 | @@ -29,6 +29,7 @@ | ||
| 215 | #include "ImplementationVisibility.h" | ||
| 216 | #include "JITCode.h" | ||
| 217 | #include "Label.h" | ||
| 218 | +#include "ModuleScopeData.h" | ||
| 219 | #include "ParserArena.h" | ||
| 220 | #include "ParserModes.h" | ||
| 221 | #include "ParserTokens.h" | ||
| 222 | @@ -49,7 +50,6 @@ namespace JSC { | ||
| 223 | class FunctionMetadataNode; | ||
| 224 | class FunctionParameters; | ||
| 225 | class ModuleAnalyzer; | ||
| 226 | - class ModuleScopeData; | ||
| 227 | class PropertyListNode; | ||
| 228 | class ReadModifyResolveNode; | ||
| 229 | class RegisterID; | ||
| 230 | diff --git a/Source/JavaScriptCore/runtime/JSCast.h b/Source/JavaScriptCore/runtime/JSCast.h | ||
| 231 | index a44b6e38..e5664a8b 100644 | ||
| 232 | --- a/Source/JavaScriptCore/runtime/JSCast.h | ||
| 233 | +++ b/Source/JavaScriptCore/runtime/JSCast.h | ||
| 234 | @@ -236,7 +236,7 @@ template<typename Target, typename From> | ||
| 235 | bool inherits(From* from) | ||
| 236 | { | ||
| 237 | using Dispatcher = InheritsTraits<Target>; | ||
| 238 | - return Dispatcher::template inherits(from); | ||
| 239 | + return Dispatcher::template inherits<>(from); | ||
| 240 | } | ||
| 241 | |||
| 242 | } // namespace JSCastingHelpers | ||
| 243 | @@ -245,7 +245,7 @@ template<typename To, typename From> | ||
| 244 | To jsDynamicCast(From* from) | ||
| 245 | { | ||
| 246 | using Dispatcher = JSCastingHelpers::InheritsTraits<typename std::remove_cv<typename std::remove_pointer<To>::type>::type>; | ||
| 247 | - if (LIKELY(Dispatcher::template inherits(from))) | ||
| 248 | + if (LIKELY(Dispatcher::template inherits<>(from))) | ||
| 249 | return static_cast<To>(from); | ||
| 250 | return nullptr; | ||
| 251 | } | ||
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.44.3.bb b/meta/recipes-sato/webkit/webkitgtk_2.44.3.bb index 90fb7a1d42..00431407fa 100644 --- a/meta/recipes-sato/webkit/webkitgtk_2.44.3.bb +++ b/meta/recipes-sato/webkit/webkitgtk_2.44.3.bb | |||
| @@ -16,6 +16,7 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ | |||
| 16 | file://no-musttail-arm.patch \ | 16 | file://no-musttail-arm.patch \ |
| 17 | file://t6-not-declared.patch \ | 17 | file://t6-not-declared.patch \ |
| 18 | file://30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch \ | 18 | file://30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch \ |
| 19 | file://0001-Fix-build-issues-with-latest-Clang.patch \ | ||
| 19 | " | 20 | " |
| 20 | SRC_URI[sha256sum] = "dc82d042ecaca981a4852357c06e5235743319cf10a94cd36ad41b97883a0b54" | 21 | SRC_URI[sha256sum] = "dc82d042ecaca981a4852357c06e5235743319cf10a94cd36ad41b97883a0b54" |
| 21 | 22 | ||
