get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2225641/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "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"
    ]
}