get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2233259,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2233259/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260505230644.2710049-2-pierrick.bouvier@oss.qualcomm.com/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/14/?format=api",
        "name": "QEMU Development",
        "link_name": "qemu-devel",
        "list_id": "qemu-devel.nongnu.org",
        "list_email": "qemu-devel@nongnu.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20260505230644.2710049-2-pierrick.bouvier@oss.qualcomm.com>",
    "date": "2026-05-05T23:06:43",
    "name": "[PULL,1/2] meson.build: define stubs library per target base architecture",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "a2223dc11fddaa1dbafbf33fc46fcf7e533bb621",
    "submitter": {
        "id": 93152,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/93152/?format=api",
        "name": "Pierrick Bouvier",
        "email": "pierrick.bouvier@oss.qualcomm.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260505230644.2710049-2-pierrick.bouvier@oss.qualcomm.com/mbox/",
    "series": [
        {
            "id": 502909,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/502909/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=502909",
            "date": "2026-05-05T23:06:42",
            "name": "[PULL,1/2] meson.build: define stubs library per target base architecture",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/502909/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2233259/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2233259/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=babLKybH;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=FHLM/H+Q;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g9Dgg4xkFz1y04\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 09:07:43 +1000 (AEST)",
            "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wKOqx-0004XK-0P; Tue, 05 May 2026 19:06:59 -0400",
            "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <pierrick.bouvier@oss.qualcomm.com>)\n id 1wKOqw-0004X3-9Q\n for qemu-devel@nongnu.org; Tue, 05 May 2026 19:06:58 -0400",
            "from mx0b-0031df01.pphosted.com ([205.220.180.131])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <pierrick.bouvier@oss.qualcomm.com>)\n id 1wKOqu-0002VE-Fq\n for qemu-devel@nongnu.org; Tue, 05 May 2026 19:06:57 -0400",
            "from pps.filterd (m0279872.ppops.net [127.0.0.1])\n by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 645JiiY43187637\n for <qemu-devel@nongnu.org>; Tue, 5 May 2026 23:06:55 GMT",
            "from mail-dy1-f199.google.com (mail-dy1-f199.google.com\n [74.125.82.199])\n by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dybkkbnyh-1\n (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n for <qemu-devel@nongnu.org>; Tue, 05 May 2026 23:06:55 +0000 (GMT)",
            "by mail-dy1-f199.google.com with SMTP id\n 5a478bee46e88-2c16233ee11so7742295eec.1\n for <qemu-devel@nongnu.org>; Tue, 05 May 2026 16:06:55 -0700 (PDT)",
            "from hu-pbouvier-lv.qualcomm.com (Global_NAT1.qualcomm.com.\n [129.46.96.20]) by smtp.gmail.com with ESMTPSA id\n 5a478bee46e88-2f57038c644sm911290eec.29.2026.05.05.16.06.51\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 05 May 2026 16:06:52 -0700 (PDT)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n cc:content-transfer-encoding:content-type:date:from:in-reply-to\n :message-id:mime-version:references:subject:to; s=qcppdkim1; bh=\n QcrzCqFlvqL7QgZj1xuUqzQdM1Ng3VPnXFZc9RihYEk=; b=babLKybHMQmCAcL4\n Fbg5v0d8mv2ArIkKU6oynDVLjbDczuujpLnCsyaIimTGxZGNCVPxWCZMsu2DX9Ed\n iOKg0VyB2tUq9bHDSXgn135Q8vCEkd1ckCqZKBxeTqtxuuVKqEjRslczyInVOGyB\n FtvaFc+OIkVBPDVODxFCHrRp9gljp0DaLeOZN+G4dXwUbEXlHMqHuQyCZKzGyY0+\n AQnhr8klmHqAVCZFCe+u95PG49eMAEPpgpjSYkE4vpVDp0AyQXDNLn6+z1kdHDcu\n w3pNzO38OyKjWtMgYU8ECTiiZmRua1htbs5ZP1hLfLtzUMr4bmKTPuU2UkRfl0Pb\n QXJ1mg==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oss.qualcomm.com; s=google; t=1778022413; x=1778627213; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=QcrzCqFlvqL7QgZj1xuUqzQdM1Ng3VPnXFZc9RihYEk=;\n b=FHLM/H+QK9Ju4r8taWV+GINdKOUb1AiJGHpceyo4aZPbR/jvNOtq8rwAkQ2/wJWcmo\n ej5eAr20a/Sotl/YN4tOm6MfuSJSEs2bgILPNxoZ/k7W3YAD6Y6BX5JBSctY9y/03U0x\n DscpP1M4Rp4Y1LBu2XHDypH/KE2mFKbfHq2GwqZb0Wb8DnO0/qYi79l4PDWsOpvxf4IJ\n hHguehJwDWpRaiQw0vYIi05nWS0dhPpbjmrMMxYDvYpl63xoSQtPVrTijv/rfHUCa6EG\n qK8K/1wdIQQtmCN6PpdJZjk60Z6DgrrSMhGrhMsC+VUas74YLSiZpFlL/JWMaE8kSrDw\n ZRtg=="
        ],
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778022413; x=1778627213;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=QcrzCqFlvqL7QgZj1xuUqzQdM1Ng3VPnXFZc9RihYEk=;\n b=HNjmuVIzvYQHnSRgIRsGz4JYYQk3i72eqG5cv4yY2SrLdjo1SpsjvAuv+kulCZu6PH\n TOH/yCtQrHdWDY0VnPOGjDti1xia3BYug3hGU5jg288W+HIxJ3yEc4P94vamtvrlxX6q\n F7WDpTQ/1pBkS6n5LPGwDvc7ynT4QadudhxiiTz7lhdgLzyrQTESO+XU7ghCZ3O37hFC\n BIiSOIzDihxhMIJ8bTYONIjhdiM2YMDD8C/pxp3FURvt/+6rgI3r6obwU7uqDVAf80My\n tEiB7XRk9mEImcggizXyTNegsboU6Wf8wEcgnWsSInJncK/1OY4QxnBmwC9YY+JNOAlv\n lF9w==",
        "X-Gm-Message-State": "AOJu0Yx9NCK73gw3Tz6rEGA3EAGSLGW0J3LgOmYj3WOcyMJ4RGo5Q8hk\n DWoeubp9wzzoI4kqbp3AqZwQ/+qLa+S7SPxcapkL0dA0Sqz3Cif+HIMa7g7NyLfJ7YEwIU01Jzd\n z+5SQFXhCMYuoIj81uNyTfdUJHVdDLDOG1SuXDL6ErMKrcAoC7JxWqunbI17ccOsDktQW",
        "X-Gm-Gg": "AeBDieupLS/8X3otCbjnBEwMaueROE/VoA7nW+dlmm3fC+AlxdlIT61ZFQH9ni8X+ss\n GWxjv03CEYHy+7Cwq0AWZX1yx7jLZN6gkvMy/l5acg8z21wM9Qi0Dj8q+Loss4WdwfAChOzyKEy\n /oL3HZg0Spweq+dxZI94rQZUtGPajNZQP1i1HYZQSJlcL0t5usLl5IC/b5Rk1d+VYpCevpnMs5s\n xq82GmM87Qa4HcQ1tFh/Jl/e22KSRkdCpdeqn9qJkMOjcp2+cTk4YzxSfOI6wUANS/5tJnxueUX\n ZSlPU2zqk0yAUTkOrYnoyVQNpy4IjEgcAfLQqse5QvzmNfGP4DMm7918CVEZy7DEjjuBjtWOF60\n mTWDYYtQg682zsOljv074F4VEnUN3XemjQrh/CBZAuPgWcDVKCnTCGrG7gEr/724R9yBOdP71H7\n 9jU9gniXrZGgUwNpcU",
        "X-Received": [
            "by 2002:a05:7022:393:b0:12d:de3e:86b9 with SMTP id\n a92af1059eb24-1318eb4a50amr641867c88.41.1778022413373;\n Tue, 05 May 2026 16:06:53 -0700 (PDT)",
            "by 2002:a05:7022:393:b0:12d:de3e:86b9 with SMTP id\n a92af1059eb24-1318eb4a50amr641842c88.41.1778022412610;\n Tue, 05 May 2026 16:06:52 -0700 (PDT)"
        ],
        "From": "Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>",
        "To": "qemu-devel@nongnu.org, peter.maydell@linaro.org,\n richard.henderson@linaro.org, pbonzini@redhat.com, stefanha@redhat.com",
        "Cc": "pierrick.bouvier@oss.qualcomm.com",
        "Subject": "[PULL 1/2] meson.build: define stubs library per target base\n architecture",
        "Date": "Tue,  5 May 2026 16:06:43 -0700",
        "Message-ID": "<20260505230644.2710049-2-pierrick.bouvier@oss.qualcomm.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20260505230644.2710049-1-pierrick.bouvier@oss.qualcomm.com>",
        "References": "<20260505230644.2710049-1-pierrick.bouvier@oss.qualcomm.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNTA1MDIyNSBTYWx0ZWRfX6gN0LHwmqpf6\n 38lAxfCl+0XC0nbao/FoQ+Vj5RzOOKK1nKeYpzuXn6HE5e3pY6WlLtQ/qJZee1tXAh1VROgVTTd\n JNygnhsxaKYAxuiuFlc3M//Bh4fJt27D3FmhADEwwoESgfylKF55ki4GAw9SmYki8LIlELk/mDz\n muFbEV4pWj7HiADlnC5WafxB2N82fxD/CG1MnNCdfByMoAPCen+IHGqius5hePMp9aqMt22ILh4\n sxwh6HxRVnSLk8uRFb24nUx3/5J0cABDSP9spG9gSfFsfEOnJsIm6nx0uw7MtlP1Wy6qPH/9p5b\n nAHl7J19xALhfmrPDtwMTcBvdvePqHLemXyinNMV3GOR8zaoUAVg5Fo/KGl1qW3tL/pzYrilhpb\n 5YRX/kBXnlFSKLwKq9eI5U/SzAnFV2Dw6rC+j9dNrtlSyjt5VGCDNodqBuBSH2euiynIYUGYUzx\n 8Keszx79q5FUU4baurA==",
        "X-Authority-Analysis": "v=2.4 cv=SPBykuvH c=1 sm=1 tr=0 ts=69fa780f cx=c_pps\n a=cFYjgdjTJScbgFmBucgdfQ==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17\n a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10\n a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22\n a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=vAAjUAkajoglRl0kLfkA:9\n a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=scEy_gLbYbu1JhEsrz4S:22\n a=cvBusfyB2V15izCimMoJ:22",
        "X-Proofpoint-GUID": "7jNWo5xr5wFug6Zh5QrdXQe-931mnBZF",
        "X-Proofpoint-ORIG-GUID": "7jNWo5xr5wFug6Zh5QrdXQe-931mnBZF",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-05-05_02,2026-04-30_02,2025-10-01_01",
        "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n spamscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 malwarescore=0\n bulkscore=0 impostorscore=0 adultscore=0 lowpriorityscore=0 phishscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050225",
        "Received-SPF": "pass client-ip=205.220.180.131;\n envelope-from=pierrick.bouvier@oss.qualcomm.com;\n helo=mx0b-0031df01.pphosted.com",
        "X-Spam_score_int": "-27",
        "X-Spam_score": "-2.8",
        "X-Spam_bar": "--",
        "X-Spam_report": "(-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no",
        "X-Spam_action": "no action",
        "X-BeenThere": "qemu-devel@nongnu.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "qemu development <qemu-devel.nongnu.org>",
        "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>",
        "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>",
        "List-Post": "<mailto:qemu-devel@nongnu.org>",
        "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>",
        "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>",
        "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org",
        "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"
    },
    "content": "QEMU stubs (from stubs folder) have a unique feature: they emulate weak\nsymbols. Weak symbols are not supported on Windows with gcc. This is\nachieved by defining a static library, so the linker can pick a file\nonly when one of its symbol is needed.\n\nThe problem is that common stubs are embedded in qemuutil, which is\ndefined and created before any target code. Thus, to benefit from the\nsame feature for target code, we need to create stub static libraries\nfor each target architecture.\n\nTo keep things simple, we declare one library per target base\narchitecture. This implies that stubs are compiled only once, and we\nchoose them to be system common files. This is not a big issue, since\nstubs definition have no specific behaviour, out of returning a default\nvalue, or stopping execution, which makes this safe to link them in user\nbinaries also.\n\nReviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>\nTested-by: Philippe Mathieu-Daudé <philmd@linaro.org>\nLink: https://lore.kernel.org/qemu-devel/20260424230103.1579600-2-pierrick.bouvier@oss.qualcomm.com\nSigned-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>\n---\n meson.build | 22 +++++++++++++++++++---\n 1 file changed, 19 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/meson.build b/meson.build\nindex 4176d020c21..4dfa73576dd 100644\n--- a/meson.build\n+++ b/meson.build\n@@ -3738,6 +3738,7 @@ target_user_arch = {}\n hw_common_arch = {}\n target_common_arch = {}\n target_common_system_arch = {}\n+target_stubs_arch = {}\n \n # NOTE: the trace/ subdirectory needs the qapi_trace_events variable\n # that is filled in by qapi/.\n@@ -4143,6 +4144,7 @@ common_all = static_library('common',\n # construct common libraries per base architecture\n target_common_arch_libs = {}\n target_common_system_arch_libs = {}\n+target_stubs_arch_libs = {}\n foreach target_base_arch, config_base_arch : config_base_arch_mak\n   target_inc = [include_directories('target' / target_base_arch)]\n   inc = [common_user_inc + target_inc]\n@@ -4202,6 +4204,15 @@ foreach target_base_arch, config_base_arch : config_base_arch_mak\n       dependencies: src.all_dependencies() + common_deps + system_deps)\n     target_common_system_arch_libs += {target_base_arch: lib}\n   endif\n+\n+  if target_base_arch in target_stubs_arch\n+    src = target_stubs_arch[target_base_arch]\n+    lib = static_library('stubs_' + target_base_arch,\n+                         sources: src.all_sources() + genh,\n+                         include_directories: inc,\n+                         c_args: target_system_c_args)\n+    target_stubs_arch_libs += {target_base_arch: lib}\n+  endif\n endforeach\n \n if have_rust\n@@ -4361,6 +4372,11 @@ foreach target : target_dirs\n     objects += lib.extract_objects(src.sources())\n     arch_deps += src.dependencies()\n   endif\n+  lib_target_stubs = []\n+  if target_base_arch in target_stubs_arch_libs\n+    lib_target_stubs = [target_stubs_arch_libs[target_base_arch]]\n+  endif\n+  target_stubs = declare_dependency(link_with: lib_target_stubs)\n \n   target_specific = specific_ss.apply(config_target, strict: false)\n   arch_srcs += target_specific.sources()\n@@ -4406,14 +4422,14 @@ foreach target : target_dirs\n       'name': 'qemu-system-' + target_name,\n       'win_subsystem': 'console',\n       'sources': [main_rs, files('system/main.c')],\n-      'dependencies': [sdl]\n+      'dependencies': [sdl, target_stubs],\n     }]\n     if host_os == 'windows' and (sdl.found() or gtk.found())\n       execs += [{\n         'name': 'qemu-system-' + target_name + 'w',\n         'win_subsystem': 'windows',\n         'sources': [main_rs, files('system/main.c')],\n-        'dependencies': [sdl]\n+        'dependencies': [sdl, target_stubs],\n       }]\n     endif\n     if get_option('fuzzing')\n@@ -4430,7 +4446,7 @@ foreach target : target_dirs\n       'name': 'qemu-' + target_name,\n       'win_subsystem': 'console',\n       'sources': [],\n-      'dependencies': []\n+      'dependencies': [target_stubs]\n     }]\n   endif\n   foreach exe: execs\n",
    "prefixes": [
        "PULL",
        "1/2"
    ]
}