Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2225641/?format=api
{ "id": 2225641, "url": "http://patchwork.ozlabs.org/api/patches/2225641/?format=api", "web_url": "http://patchwork.ozlabs.org/project/buildroot/patch/20260421102843.160108-1-thomas@devoogdt.com/", "project": { "id": 27, "url": "http://patchwork.ozlabs.org/api/projects/27/?format=api", "name": "Buildroot development", "link_name": "buildroot", "list_id": "buildroot.buildroot.org", "list_email": "buildroot@buildroot.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260421102843.160108-1-thomas@devoogdt.com>", "list_archive_url": null, "date": "2026-04-21T10:28:43", "name": "[v1] package/webkitgtk: bump to 2.52.3", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "d41a5a1db4e92bcfba0fd0f526e593c6994bddc0", "submitter": { "id": 84152, "url": "http://patchwork.ozlabs.org/api/people/84152/?format=api", "name": "Thomas Devoogdt", "email": "thomas@devoogdt.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/buildroot/patch/20260421102843.160108-1-thomas@devoogdt.com/mbox/", "series": [ { "id": 500776, "url": "http://patchwork.ozlabs.org/api/series/500776/?format=api", "web_url": "http://patchwork.ozlabs.org/project/buildroot/list/?series=500776", "date": "2026-04-21T10:28:43", "name": "[v1] package/webkitgtk: bump to 2.52.3", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/500776/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2225641/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2225641/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<buildroot-bounces@buildroot.org>", "X-Original-To": [ "incoming-buildroot@patchwork.ozlabs.org", "buildroot@buildroot.org" ], "Delivered-To": [ "patchwork-incoming-buildroot@legolas.ozlabs.org", "buildroot@buildroot.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=buildroot.org header.i=@buildroot.org\n header.a=rsa-sha256 header.s=default header.b=dDvO5eQR;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org\n (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org;\n envelope-from=buildroot-bounces@buildroot.org; receiver=patchwork.ozlabs.org)" ], "Received": [ "from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g0JVZ2Y4yz1yGs\n\tfor <incoming-buildroot@patchwork.ozlabs.org>;\n Tue, 21 Apr 2026 20:28:54 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id EDC6F83E65;\n\tTue, 21 Apr 2026 10:28:52 +0000 (UTC)", "from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id gdIG7bp3OLSQ; Tue, 21 Apr 2026 10:28:51 +0000 (UTC)", "from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 7A57083E6B;\n\tTue, 21 Apr 2026 10:28:51 +0000 (UTC)", "from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n by lists1.osuosl.org (Postfix) with ESMTP id CC952257\n for <buildroot@buildroot.org>; Tue, 21 Apr 2026 10:28:50 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n by smtp3.osuosl.org (Postfix) with ESMTP id BD963606FA\n for <buildroot@buildroot.org>; Tue, 21 Apr 2026 10:28:50 +0000 (UTC)", "from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id sm4AjulcYBmI for <buildroot@buildroot.org>;\n Tue, 21 Apr 2026 10:28:49 +0000 (UTC)", "from mail-wr1-f49.google.com (mail-wr1-f49.google.com\n [209.85.221.49])\n by smtp3.osuosl.org (Postfix) with ESMTPS id D843A606F7\n for <buildroot@buildroot.org>; Tue, 21 Apr 2026 10:28:48 +0000 (UTC)", "by mail-wr1-f49.google.com with SMTP id\n ffacd0b85a97d-43eb05b1875so2380481f8f.3\n for <buildroot@buildroot.org>; Tue, 21 Apr 2026 03:28:48 -0700 (PDT)", "from KORLIN44614.barco.com (d528f5fdd.static.telenet.be.\n [82.143.95.221]) by smtp.googlemail.com with ESMTPSA id\n ffacd0b85a97d-43fe4dc26a3sm41250948f8f.15.2026.04.21.03.28.45\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 21 Apr 2026 03:28:45 -0700 (PDT)" ], "X-Virus-Scanned": [ "amavis at osuosl.org", "amavis at osuosl.org" ], "X-Comment": "SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=buildroot-bounces@buildroot.org;\n receiver=<UNKNOWN> ", "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 smtp1.osuosl.org 7A57083E6B", "OpenDKIM Filter v2.11.0 smtp3.osuosl.org D843A606F7" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=buildroot.org;\n\ts=default; t=1776767331;\n\tbh=1mdW6Kh7n/IVEHHT0x8sYEZPoM5wJYMnp3712cvwsNQ=;\n\th=From:To:Cc:Date:Subject:List-Id:List-Unsubscribe:List-Archive:\n\t List-Post:List-Help:List-Subscribe:From;\n\tb=dDvO5eQRdBJCpeUXE5zMzxWW9PCM2426bDQUygEh5gd5b9Pbk3GG/SOAj0ZdsdMWT\n\t DaEkhKUGP9MJXc1biqfhoytDaHoKJM88RlqsDohbCanK5TxIgzYya1+jTsxFRhzIuu\n\t EbKY8aENZXJCnsKdWDu3njdxVHiailVIzsPhWSp0sWmzbj5k4NddrTXTVwe7ClWhh2\n\t Q5MmWNO2ms0KMRCcJ0/yXdzxbhW640bhGV7Hrj9eLj3N3FcQxbJs1Wz4/xpARNAzf9\n\t q0rFS+vDhHBs3F9E8796q70KjnB1LnhHhdkbCJ13vCLeIj5vYZLlj/LSlp849sruM1\n\t pICPP5+P5Rp0g==", "Received-SPF": "Pass (mailfrom) identity=mailfrom; client-ip=209.85.221.49;\n helo=mail-wr1-f49.google.com; envelope-from=thomas.devoogdt@gmail.com;\n receiver=<UNKNOWN>", "DMARC-Filter": "OpenDMARC Filter v1.4.2 smtp3.osuosl.org D843A606F7", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776767326; x=1777372126;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=OdqVKIJ7A1g6WNSnR7CEjCT6R5QePAEYh+p9BKMm9Tk=;\n b=NREEBarTnYzZeuQ1Hg7a/4QF80eD2r6H4EIYfGk0GY6k3drhiPiJwtqHNeqN5Js37b\n zJKxv2qQo/ecWsunqoplVUrklppImde5mnuQCla/v07iE2CNG5sW6PLPZYN58bVKElBJ\n /Ue8pvpOnpNpFjrJIi7CyOXpKJ1pkA/fo/HysG6uSNNsUoqBnjO66Z4RcSQXvdPJWdY8\n zTCvKw1QocaQf3AdJ8wnh6TZ627zKMNWFUiZLnHimG4Uo649kD6z1SOQBGiH5mOHOp/I\n tzWsfoJSAocXCtuscHpOooFllvUMpVAgLS9w9HpKAkqTUGjh1NktzyiXV9jzSkmda/xW\n NVUQ==", "X-Gm-Message-State": "AOJu0YxvJUONhQYqB3hoBikMicwtuYRffymWdpRnu35gBWAzgo62aunI\n 26Di2PZZ81aDe0eSXKiqzWMsZBPTvogMBeoP9USjuNs+NWZZHNbGLgd7zTJUWePi", "X-Gm-Gg": "AeBDievauwdLZTpUcaq/x4gK3UDgeUlVOgNGfufgAFMKesDgBuQlObjXdkPnajmzdnf\n XkRsyW0xSA6a5zzLHYvJ3aIIsvhblp7YylR0vUxCf05RcHNol37ftFjuq8iwgYjJgz9JvWxBiiw\n SN/3xjh4wQ9mrrMyxMy+CWR6glb6bvvem+VrTSivPPdYaRrftz/I85IVtsyVPBULCQhBaNPoQQF\n rDG2Wm1Ga3wB4gbRTHBErvdsGOHSLcMVBCZhrfXxgLXcnMfBHdXbw/elcbeS+TZJTzrdpSAQHmi\n MVtW/H9G4YZJ5mnWP65tRqAzva5BSDxdydRy2buxvHtwKOzIzaK08jXcwAbTr2Tsx7zBSd6I/zs\n on2DHPJjBRolu8S+Fxb1Tm2fA5bx5yXhWzD1hjNHpSsaQZ0fEMtfn1fqV4f+xOdVf60OT8rL+Bs\n yo13tVHKBxApXrCJURlRsYzDoEi3u/F3UhRRUhtzBSuEnLl3kQ+JNjEDof4G22mwYajv/Aie+C3\n kFxJG9ADLYyG0x+L+FG/0YkvKOpxHPnEdRJa7AS/NfSPqYghmCnQcg8CyeQ/sMeZisWURcGSBh9\n sHIRecmCIU51PQJqgZU=", "X-Received": "by 2002:a5d:64e3:0:b0:43e:aa88:f1a1 with SMTP id\n ffacd0b85a97d-43fe3dfd649mr27176218f8f.30.1776767326027;\n Tue, 21 Apr 2026 03:28:46 -0700 (PDT)", "From": "Thomas Devoogdt <thomas@devoogdt.com>", "To": "buildroot@buildroot.org", "Cc": "Adrian Perez de Castro <aperez@igalia.com>,\n Thomas Devoogdt <thomas.devoogdt@barco.com>", "Date": "Tue, 21 Apr 2026 12:28:43 +0200", "Message-ID": "<20260421102843.160108-1-thomas@devoogdt.com>", "X-Mailer": "git-send-email 2.43.0", "MIME-Version": "1.0", "X-Mailman-Original-Authentication-Results": "smtp3.osuosl.org;\n dmarc=none (p=none dis=none)\n header.from=devoogdt.com", "Subject": "[Buildroot] [PATCH v1] package/webkitgtk: bump to 2.52.3", "X-BeenThere": "buildroot@buildroot.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "Discussion and development of buildroot <buildroot.buildroot.org>", "List-Unsubscribe": "<https://lists.buildroot.org/mailman/options/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=unsubscribe>", "List-Archive": "<http://lists.buildroot.org/pipermail/buildroot/>", "List-Post": "<mailto:buildroot@buildroot.org>", "List-Help": "<mailto:buildroot-request@buildroot.org?subject=help>", "List-Subscribe": "<https://lists.buildroot.org/mailman/listinfo/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=subscribe>", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Errors-To": "buildroot-bounces@buildroot.org", "Sender": "\"buildroot\" <buildroot-bounces@buildroot.org>" }, "content": "From: Thomas Devoogdt <thomas.devoogdt@barco.com>\n\nThis is a major release to 2.52.x, see highlights:\n\nhttps://webkitgtk.org/2026/03/18/webkitgtk-2.52-highlights.html\n\nOther news:\n\nhttps://webkitgtk.org/news.html\n\nChanges:\n\n- Use USE_GSTREAMER rather than ENABLE_{VIDEO,WEB_{AUDIO,CODECS}}.\n Move USE_GSTREAMER_GL while at it.\n See https://github.com/WebKit/WebKit/commit/92179a19a0f189ff7ddcf0e1d2792804b65653d3.\n\n- Add 0001-JSC-Fix-ENABLE-JIT-build.patch to fix some undefined symbols.\n\nSigned-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>\n---\n .../0001-JSC-Fix-ENABLE-JIT-build.patch | 331 ++++++++++++++++++\n package/webkitgtk/webkitgtk.hash | 6 +-\n package/webkitgtk/webkitgtk.mk | 24 +-\n 3 files changed, 343 insertions(+), 18 deletions(-)\n create mode 100644 package/webkitgtk/0001-JSC-Fix-ENABLE-JIT-build.patch", "diff": "diff --git a/package/webkitgtk/0001-JSC-Fix-ENABLE-JIT-build.patch b/package/webkitgtk/0001-JSC-Fix-ENABLE-JIT-build.patch\nnew file mode 100644\nindex 00000000000..c8779688e4d\n--- /dev/null\n+++ b/package/webkitgtk/0001-JSC-Fix-ENABLE-JIT-build.patch\n@@ -0,0 +1,331 @@\n+From ad28ad528d433cff1fec831d922e569bf446773e Mon Sep 17 00:00:00 2001\n+From: Shu-yu Guo <syg@apple.com>\n+Date: Fri, 17 Apr 2026 15:57:23 -0700\n+Subject: [PATCH] [JSC] Fix !ENABLE(JIT) build\n+ https://bugs.webkit.org/show_bug.cgi?id=306638 rdar://169822205\n+\n+Reviewed by Yusuke Suzuki.\n+\n+* Source/JavaScriptCore/jit/ExecutableAllocator.h:\n+(JSC::performJITMemcpy):\n+* Source/JavaScriptCore/llint/InPlaceInterpreter.asm:\n+* Source/JavaScriptCore/llint/LLIntData.cpp:\n+(JSC::LLInt::initialize):\n+* Source/JavaScriptCore/wasm/WasmCallee.cpp:\n+* Source/WTF/wtf/PlatformEnable.h:\n+\n+Canonical link: https://commits.webkit.org/311492@main\n+\n+(cherry picked from commit e7ae451260d742f70f63bd07ed1484331d534b3f)\n+Upstream: https://github.com/WebKit/WebKit/pull/58096\n+Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>\n+---\n+ .../JavaScriptCore/jit/ExecutableAllocator.h | 8 ++\n+ .../llint/InPlaceInterpreter.asm | 8 +-\n+ Source/JavaScriptCore/llint/LLIntData.cpp | 81 +++++++++++++++----\n+ Source/JavaScriptCore/wasm/WasmCallee.cpp | 18 ++++-\n+ Source/WTF/wtf/PlatformEnable.h | 2 +-\n+ 5 files changed, 93 insertions(+), 24 deletions(-)\n+\n+diff --git a/Source/JavaScriptCore/jit/ExecutableAllocator.h b/Source/JavaScriptCore/jit/ExecutableAllocator.h\n+index 3e8efce28cfe..cb81579c8703 100644\n+--- a/Source/JavaScriptCore/jit/ExecutableAllocator.h\n++++ b/Source/JavaScriptCore/jit/ExecutableAllocator.h\n+@@ -390,6 +390,14 @@ WTF_ALLOW_UNSAFE_BUFFER_USAGE_BEGIN\n+ WTF_ALLOW_UNSAFE_BUFFER_USAGE_END\n+ }\n+ \n++template<RepatchingInfo>\n++inline void* performJITMemcpy(void *dst, const void *src, size_t n)\n++{\n++WTF_ALLOW_UNSAFE_BUFFER_USAGE_BEGIN\n++ return memcpy(dst, src, n);\n++WTF_ALLOW_UNSAFE_BUFFER_USAGE_END\n++}\n++\n+ inline bool isJITPC(void*) { return false; }\n+ #endif // ENABLE(JIT)\n+ \n+diff --git a/Source/JavaScriptCore/llint/InPlaceInterpreter.asm b/Source/JavaScriptCore/llint/InPlaceInterpreter.asm\n+index 64db9cdb21df..dac1faa5260a 100644\n+--- a/Source/JavaScriptCore/llint/InPlaceInterpreter.asm\n++++ b/Source/JavaScriptCore/llint/InPlaceInterpreter.asm\n+@@ -420,7 +420,7 @@ end\n+ \n+ # OSR\n+ macro ipintPrologueOSR(increment)\n+-if JIT\n++if WEBASSEMBLY_BBQJIT\n+ loadp UnboxedWasmCalleeStackSlot[cfr], ws0\n+ baddis increment, Wasm::IPIntCallee::m_tierUpCounter + Wasm::IPIntTierUpCounter::m_counter[ws0], .continue\n+ \n+@@ -457,11 +457,11 @@ end\n+ if ARMv7\n+ break # FIXME: ipint support.\n+ end # ARMv7\n+-end # JIT\n++end # WEBASSEMBLY_BBQJIT\n+ end\n+ \n+ macro ipintLoopOSR(increment)\n+-if JIT and not ARMv7\n++if WEBASSEMBLY_BBQJIT and not ARMv7\n+ validateOpcodeConfig(ws0)\n+ loadp UnboxedWasmCalleeStackSlot[cfr], ws0\n+ baddis increment, Wasm::IPIntCallee::m_tierUpCounter + Wasm::IPIntTierUpCounter::m_counter[ws0], .continue\n+@@ -492,7 +492,7 @@ end\n+ end\n+ \n+ macro ipintEpilogueOSR(increment)\n+-if JIT and not ARMv7\n++if WEBASSEMBLY_BBQJIT and not ARMv7\n+ loadp UnboxedWasmCalleeStackSlot[cfr], ws0\n+ baddis increment, Wasm::IPIntCallee::m_tierUpCounter + Wasm::IPIntTierUpCounter::m_counter[ws0], .continue\n+ \n+diff --git a/Source/JavaScriptCore/llint/LLIntData.cpp b/Source/JavaScriptCore/llint/LLIntData.cpp\n+index 5d7c88f72571..2509dc4132f3 100644\n+--- a/Source/JavaScriptCore/llint/LLIntData.cpp\n++++ b/Source/JavaScriptCore/llint/LLIntData.cpp\n+@@ -199,8 +199,28 @@ void initialize()\n+ #if CPU(ARM64E)\n+ \n+ #if ENABLE(JIT_CAGE)\n+- if (Options::useJITCage())\n++ if (Options::useJITCage()) {\n+ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::jitCagePtr)] = jitCagePtrThunk().code().taggedPtr();\n++#if ENABLE(WEBASSEMBLY)\n++ // JSPI JITCage gates\n++ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::jspiResignReturnPCs)] = jspiResignReturnPCsThunk().code().taggedPtr();\n++ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::jspiExecuteSliceEntry)] = jspiExecuteSliceEntryThunk().code().taggedPtr();\n++ // jspiExitImplantedSlice is stored untagged because it's used as a return address\n++ // (not as a jump target) and will be signed by JITCage with the stack pointer diversifier.\n++ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::jspiExitImplantedSlice)] = jspiExitImplantedSliceThunk().code().untaggedPtr();\n++#endif // ENABLE(WEBASSEMBLY)\n++ }\n++#endif\n++\n++#if ENABLE(JIT)\n++#define INITIALIZE_JS_GATE_JIT_PATH(name, tag) \\\n++ if (Options::useJIT()) { \\\n++ codeRef8.construct(createJSGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(LLInt::getCodeFunctionPtr<CFunctionPtrTag>(name##_return_location)), tag, #name)); \\\n++ codeRef16.construct(createJSGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(LLInt::getWide16CodeFunctionPtr<CFunctionPtrTag>(name##_return_location)), tag, #name \"_wide16\")); \\\n++ codeRef32.construct(createJSGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(LLInt::getWide32CodeFunctionPtr<CFunctionPtrTag>(name##_return_location)), tag, #name \"_wide32\")); \\\n++ } else\n++#else\n++#define INITIALIZE_JS_GATE_JIT_PATH(name, tag)\n+ #endif\n+ \n+ #define INITIALIZE_JS_GATE(name, tag) \\\n+@@ -208,11 +228,7 @@ void initialize()\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<NativeToJITGatePtrTag>> codeRef8; \\\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<NativeToJITGatePtrTag>> codeRef16; \\\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<NativeToJITGatePtrTag>> codeRef32; \\\n+- if (Options::useJIT()) { \\\n+- codeRef8.construct(createJSGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(LLInt::getCodeFunctionPtr<CFunctionPtrTag>(name##_return_location)), tag, #name)); \\\n+- codeRef16.construct(createJSGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(LLInt::getWide16CodeFunctionPtr<CFunctionPtrTag>(name##_return_location)), tag, #name \"_wide16\")); \\\n+- codeRef32.construct(createJSGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(LLInt::getWide32CodeFunctionPtr<CFunctionPtrTag>(name##_return_location)), tag, #name \"_wide32\")); \\\n+- } else { \\\n++ INITIALIZE_JS_GATE_JIT_PATH(name, tag) { \\\n+ codeRef8.construct(LLInt::getCodeRef<NativeToJITGatePtrTag>(js_trampoline_##name)); \\\n+ codeRef16.construct(LLInt::getWide16CodeRef<NativeToJITGatePtrTag>(js_trampoline_##name)); \\\n+ codeRef32.construct(LLInt::getWide32CodeRef<NativeToJITGatePtrTag>(js_trampoline_##name)); \\\n+@@ -226,16 +242,23 @@ void initialize()\n+ \n+ #if ENABLE(WEBASSEMBLY)\n+ \n++#if ENABLE(JIT)\n++#define INITIALIZE_WASM_GATE_JIT_PATH(name, tag) \\\n++ if (Options::useJIT()) { \\\n++ codeRef8.construct(createWasmGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(LLInt::getCodeFunctionPtr<CFunctionPtrTag>(name##_return_location)), tag, #name)); \\\n++ codeRef16.construct(createWasmGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(LLInt::getWide16CodeFunctionPtr<CFunctionPtrTag>(name##_return_location)), tag, #name \"_wide16\")); \\\n++ codeRef32.construct(createWasmGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(LLInt::getWide32CodeFunctionPtr<CFunctionPtrTag>(name##_return_location)), tag, #name \"_wide32\")); \\\n++ } else\n++#else\n++#define INITIALIZE_WASM_GATE_JIT_PATH(name, tag)\n++#endif\n++\n+ #define INITIALIZE_WASM_GATE(name, tag) \\\n+ do { \\\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<NativeToJITGatePtrTag>> codeRef8; \\\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<NativeToJITGatePtrTag>> codeRef16; \\\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<NativeToJITGatePtrTag>> codeRef32; \\\n+- if (Options::useJIT()) { \\\n+- codeRef8.construct(createWasmGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(LLInt::getCodeFunctionPtr<CFunctionPtrTag>(name##_return_location)), tag, #name)); \\\n+- codeRef16.construct(createWasmGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(LLInt::getWide16CodeFunctionPtr<CFunctionPtrTag>(name##_return_location)), tag, #name \"_wide16\")); \\\n+- codeRef32.construct(createWasmGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(LLInt::getWide32CodeFunctionPtr<CFunctionPtrTag>(name##_return_location)), tag, #name \"_wide32\")); \\\n+- } else { \\\n++ INITIALIZE_WASM_GATE_JIT_PATH(name, tag) { \\\n+ codeRef8.construct(LLInt::getCodeRef<NativeToJITGatePtrTag>(wasm_trampoline_##name)); \\\n+ codeRef16.construct(LLInt::getWide16CodeRef<NativeToJITGatePtrTag>(wasm_trampoline_##name)); \\\n+ codeRef32.construct(LLInt::getWide32CodeRef<NativeToJITGatePtrTag>(wasm_trampoline_##name)); \\\n+@@ -253,10 +276,12 @@ void initialize()\n+ // This is key to entering the interpreter.\n+ {\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<VMEntryToJITGatePtrTag>> codeRef;\n++#if ENABLE(JIT)\n+ if (Options::useJIT()) {\n+ auto gateCodeRef = createJSGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(&vmEntryToJavaScriptGateAfter), JSEntryPtrTag, \"vmEntryToJavaScript\");\n+ codeRef.construct(gateCodeRef.retagged<VMEntryToJITGatePtrTag>());\n+ } else\n++#endif\n+ codeRef.construct(MacroAssemblerCodeRef<VMEntryToJITGatePtrTag>::createSelfManagedCodeRef(CodePtr<VMEntryToJITGatePtrTag>::fromTaggedPtr(retagCodePtr<void*, CFunctionPtrTag, VMEntryToJITGatePtrTag>(&vmEntryToJavaScriptTrampoline))));\n+ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::vmEntryToJavaScript)] = codeRef.get().code().taggedPtr();\n+ }\n+@@ -268,79 +293,103 @@ void initialize()\n+ \n+ {\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<NativeToJITGatePtrTag>> codeRef;\n++#if ENABLE(JIT)\n+ if (Options::useJIT())\n+ codeRef.construct(createTailCallGate(JSEntryPtrTag, true));\n+ else\n++#endif\n+ codeRef.construct(MacroAssemblerCodeRef<NativeToJITGatePtrTag>::createSelfManagedCodeRef(CodePtr<NativeToJITGatePtrTag>::fromTaggedPtr(retagCodePtr<void*, CFunctionPtrTag, NativeToJITGatePtrTag>(&tailCallJSEntryTrampoline))));\n+ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::tailCallJSEntryPtrTag)]= codeRef.get().code().taggedPtr();\n+ }\n+ {\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<NativeToJITGatePtrTag>> codeRef;\n++#if ENABLE(JIT)\n+ if (Options::useJIT())\n+ codeRef.construct(createTailCallGate(JSEntryPtrTag, true));\n+ else\n++#endif\n+ codeRef.construct(MacroAssemblerCodeRef<NativeToJITGatePtrTag>::createSelfManagedCodeRef(CodePtr<NativeToJITGatePtrTag>::fromTaggedPtr(retagCodePtr<void*, CFunctionPtrTag, NativeToJITGatePtrTag>(&tailCallJSEntrySlowPathTrampoline))));\n+ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::tailCallJSEntrySlowPathPtrTag)] = codeRef.get().code().taggedPtr();\n+ }\n+ {\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<NativeToJITGatePtrTag>> codeRef;\n++#if ENABLE(JIT)\n+ if (Options::useJIT())\n+ codeRef.construct(createTailCallGate(JSEntryPtrTag, false));\n+ else\n++#endif\n+ codeRef.construct(MacroAssemblerCodeRef<NativeToJITGatePtrTag>::createSelfManagedCodeRef(CodePtr<NativeToJITGatePtrTag>::fromTaggedPtr(retagCodePtr<void*, CFunctionPtrTag, NativeToJITGatePtrTag>(&tailCallWithoutUntagJSEntryTrampoline))));\n+ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::tailCallWithoutUntagJSEntryPtrTag)]= codeRef.get().code().taggedPtr();\n+ }\n+ {\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<NativeToJITGatePtrTag>> codeRef;\n++#if ENABLE(JIT)\n+ if (Options::useJIT())\n+ codeRef.construct(createWasmTailCallGate(WasmEntryPtrTag));\n+ else\n++#endif\n+ codeRef.construct(MacroAssemblerCodeRef<NativeToJITGatePtrTag>::createSelfManagedCodeRef(CodePtr<NativeToJITGatePtrTag>::fromTaggedPtr(retagCodePtr<void*, CFunctionPtrTag, NativeToJITGatePtrTag>(&wasmTailCallTrampoline))));\n+ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::wasmTailCallWasmEntryPtrTag)]= codeRef.get().code().taggedPtr();\n+ }\n+ {\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<NativeToJITGatePtrTag>> codeRef;\n++#if ENABLE(JIT)\n+ if (Options::useJIT())\n+ codeRef.construct(createWasmTailCallGate(WasmEntryPtrTag));\n+ else\n++#endif\n+ codeRef.construct(MacroAssemblerCodeRef<NativeToJITGatePtrTag>::createSelfManagedCodeRef(CodePtr<NativeToJITGatePtrTag>::fromTaggedPtr(retagCodePtr<void*, CFunctionPtrTag, NativeToJITGatePtrTag>(&wasmTailCallTrampoline))));\n+ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::wasmIPIntTailCallWasmEntryPtrTag)]= codeRef.get().code().taggedPtr();\n+ }\n+ {\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<NativeToJITGatePtrTag>> codeRef;\n++#if ENABLE(JIT)\n+ if (Options::useJIT())\n+ codeRef.construct(exceptionHandlerGateThunk());\n+ else\n++#endif\n+ codeRef.construct(MacroAssemblerCodeRef<NativeToJITGatePtrTag>::createSelfManagedCodeRef(CodePtr<NativeToJITGatePtrTag>::fromTaggedPtr(retagCodePtr<void*, CFunctionPtrTag, NativeToJITGatePtrTag>(&exceptionHandlerTrampoline))));\n+ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::exceptionHandler)] = codeRef.get().code().taggedPtr();\n+ }\n+ {\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<NativeToJITGatePtrTag>> codeRef;\n++#if ENABLE(JIT)\n+ if (Options::useJIT())\n+ codeRef.construct(returnFromLLIntGateThunk());\n+ else\n++#endif\n+ codeRef.construct(MacroAssemblerCodeRef<NativeToJITGatePtrTag>::createSelfManagedCodeRef(CodePtr<NativeToJITGatePtrTag>::fromTaggedPtr(retagCodePtr<void*, CFunctionPtrTag, NativeToJITGatePtrTag>(&returnFromLLIntTrampoline))));\n+ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::returnFromLLInt)] = codeRef.get().code().taggedPtr();\n+ }\n+ \n++#if ENABLE(JIT)\n+ if (Options::useJIT()) {\n+ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::loopOSREntry)] = loopOSREntryGateThunk().code().taggedPtr();\n+ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::entryOSREntry)] = entryOSREntryGateThunk().code().taggedPtr();\n+ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::wasmOSREntry)] = wasmOSREntryGateThunk().code().taggedPtr();\n+- } else {\n++ } else\n++#endif\n++ {\n+ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::loopOSREntry)] = LLInt::getCodeRef<NativeToJITGatePtrTag>(loop_osr_entry_gate).code().taggedPtr();\n+ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::entryOSREntry)] = nullptr;\n+ g_jscConfig.llint.gateMap[static_cast<unsigned>(Gate::wasmOSREntry)] = nullptr;\n+ }\n+ \n++#if ENABLE(JIT)\n++#define INITIALIZE_TAG_AND_UNTAG_THUNKS_JIT_PATH(name) \\\n++ if (Options::useJIT()) { \\\n++ tagCodeRef.construct(tagGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(name##TagGateAfter))); \\\n++ untagCodeRef.construct(untagGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(name##UntagGateAfter))); \\\n++ } else\n++#else\n++#define INITIALIZE_TAG_AND_UNTAG_THUNKS_JIT_PATH(name)\n++#endif\n++\n+ #define INITIALIZE_TAG_AND_UNTAG_THUNKS(name) \\\n+ do { \\\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<NativeToJITGatePtrTag>> tagCodeRef; \\\n+ static LazyNeverDestroyed<MacroAssemblerCodeRef<NativeToJITGatePtrTag>> untagCodeRef; \\\n+- if (Options::useJIT()) { \\\n+- tagCodeRef.construct(tagGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(name##TagGateAfter))); \\\n+- untagCodeRef.construct(untagGateThunk(retagCodePtr<void*, CFunctionPtrTag, OperationPtrTag>(name##UntagGateAfter))); \\\n+- } else { \\\n++ INITIALIZE_TAG_AND_UNTAG_THUNKS_JIT_PATH(name) { \\\n+ tagCodeRef.construct(LLInt::getCodeRef<NativeToJITGatePtrTag>(js_trampoline_##name##_tag)); \\\n+ untagCodeRef.construct(LLInt::getCodeRef<NativeToJITGatePtrTag>(js_trampoline_##name##_untag)); \\\n+ } \\\n+diff --git a/Source/JavaScriptCore/wasm/WasmCallee.cpp b/Source/JavaScriptCore/wasm/WasmCallee.cpp\n+index 94a845ab47e4..b689f00143ab 100644\n+--- a/Source/JavaScriptCore/wasm/WasmCallee.cpp\n++++ b/Source/JavaScriptCore/wasm/WasmCallee.cpp\n+@@ -55,13 +55,25 @@ WTF_MAKE_COMPACT_TZONE_ALLOCATED_IMPL(Callee);\n+ WTF_MAKE_COMPACT_TZONE_ALLOCATED_IMPL(JITCallee);\n+ WTF_MAKE_COMPACT_TZONE_ALLOCATED_IMPL(JSToWasmCallee);\n+ WTF_MAKE_COMPACT_TZONE_ALLOCATED_IMPL(WasmToJSCallee);\n++WTF_MAKE_COMPACT_TZONE_ALLOCATED_IMPL(IPIntCallee);\n++WTF_MAKE_COMPACT_TZONE_ALLOCATED_IMPL(WasmBuiltinCallee);\n++\n++#if ENABLE(JIT)\n+ WTF_MAKE_COMPACT_TZONE_ALLOCATED_IMPL(JSToWasmICCallee);\n++#endif\n++\n++#if ENABLE(WEBASSEMBLY_BBQJIT) || ENABLE(WEBASSEMBLY_OMGJIT)\n+ WTF_MAKE_COMPACT_TZONE_ALLOCATED_IMPL(OptimizingJITCallee);\n++#endif\n++\n++#if ENABLE(WEBASSEMBLY_BBQJIT)\n++WTF_MAKE_COMPACT_TZONE_ALLOCATED_IMPL(BBQCallee);\n++#endif\n++\n++#if ENABLE(WEBASSEMBLY_OMGJIT)\n+ WTF_MAKE_COMPACT_TZONE_ALLOCATED_IMPL(OMGCallee);\n+ WTF_MAKE_COMPACT_TZONE_ALLOCATED_IMPL(OMGOSREntryCallee);\n+-WTF_MAKE_COMPACT_TZONE_ALLOCATED_IMPL(BBQCallee);\n+-WTF_MAKE_COMPACT_TZONE_ALLOCATED_IMPL(IPIntCallee);\n+-WTF_MAKE_COMPACT_TZONE_ALLOCATED_IMPL(WasmBuiltinCallee);\n++#endif\n+ \n+ Callee::Callee(Wasm::CompilationMode compilationMode)\n+ : NativeCallee(NativeCallee::Category::Wasm, ImplementationVisibility::Private)\n+diff --git a/Source/WTF/wtf/PlatformEnable.h b/Source/WTF/wtf/PlatformEnable.h\n+index 9c20eb45de48..1561e5ecc85a 100644\n+--- a/Source/WTF/wtf/PlatformEnable.h\n++++ b/Source/WTF/wtf/PlatformEnable.h\n+@@ -1006,7 +1006,7 @@\n+ #define ENABLE_JIT_OPERATION_DISASSEMBLY 1\n+ #endif\n+ \n+-#if CPU(ARM64E)\n++#if CPU(ARM64E) && ENABLE(JIT)\n+ #define ENABLE_JIT_SIGN_ASSEMBLER_BUFFER 1\n+ #endif\n+ \n+-- \n+2.43.0\n+\ndiff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash\nindex 77bdc5485bc..03b8d0a9bec 100644\n--- a/package/webkitgtk/webkitgtk.hash\n+++ b/package/webkitgtk/webkitgtk.hash\n@@ -1,6 +1,6 @@\n-# From https://webkitgtk.org/releases/webkitgtk-2.50.5.tar.xz.sums\n-sha1 e93f7efa9fbc7304cc159c35d8e76d7febab2515 webkitgtk-2.50.5.tar.xz\n-sha256 8737631bac3e9c7ad3e5208f9370e076c09d9c45b39980021ce54edadcc6f94f webkitgtk-2.50.5.tar.xz\n+# From https://webkitgtk.org/releases/webkitgtk-2.52.3.tar.xz.sums\n+sha1 17f9b127618040a5f3fcbb70e37ea16ab6d69b0b webkitgtk-2.52.3.tar.xz\n+sha256 5b3e0d174e63dcc28848b1194e0e7448d5948c3c2427ecd931c2c5be5261aebb webkitgtk-2.52.3.tar.xz\n \n # Hashes for license files:\n sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE\ndiff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk\nindex 26c70ae6c8c..d5b7639ee61 100644\n--- a/package/webkitgtk/webkitgtk.mk\n+++ b/package/webkitgtk/webkitgtk.mk\n@@ -4,7 +4,7 @@\n #\n ################################################################################\n \n-WEBKITGTK_VERSION = 2.50.5\n+WEBKITGTK_VERSION = 2.52.3\n WEBKITGTK_SITE = https://www.webkitgtk.org/releases\n WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz\n WEBKITGTK_INSTALL_STAGING = YES\n@@ -56,16 +56,16 @@ WEBKITGTK_CONF_OPTS += -DENABLE_BUBBLEWRAP_SANDBOX=OFF\n endif\n \n ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y)\n-WEBKITGTK_CONF_OPTS += \\\n-\t-DENABLE_VIDEO=ON \\\n-\t-DENABLE_WEB_AUDIO=ON \\\n-\t-DENABLE_WEB_CODECS=ON\n+WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER=ON\n WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-bad gst1-plugins-base\n else\n-WEBKITGTK_CONF_OPTS += \\\n-\t-DENABLE_VIDEO=OFF \\\n-\t-DENABLE_WEB_AUDIO=OFF \\\n-\t-DENABLE_WEB_CODECS=OFF\n+WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER=OFF\n+endif\n+\n+ifeq ($(BR2_PACKAGE_WEBKITGTK_USE_GSTREAMER_GL),y)\n+WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=ON\n+else\n+WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=OFF\n endif\n \n ifeq ($(BR2_PACKAGE_WEBKITGTK_WEBDRIVER),y)\n@@ -160,12 +160,6 @@ else\n WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=OFF\n endif\n \n-ifeq ($(BR2_PACKAGE_WEBKITGTK_USE_GSTREAMER_GL),y)\n-WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=ON\n-else\n-WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=OFF\n-endif\n-\n ifeq ($(BR2_INIT_SYSTEMD),y)\n WEBKITGTK_CONF_OPTS += -DENABLE_JOURNALD_LOG=ON\n WEBKITGTK_DEPENDENCIES += systemd\n", "prefixes": [ "v1" ] }