{"id":2174141,"url":"http://patchwork.ozlabs.org/api/patches/2174141/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20251215075000.335043-6-pbonzini@redhat.com/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/projects/14/?format=json","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":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20251215075000.335043-6-pbonzini@redhat.com>","list_archive_url":null,"date":"2025-12-15T07:49:54","name":"[05/11] rust: only link the Rust part of the code into devices","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"85ed40d25b177b836abfd721228291113a90c05f","submitter":{"id":2701,"url":"http://patchwork.ozlabs.org/api/people/2701/?format=json","name":"Paolo Bonzini","email":"pbonzini@redhat.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20251215075000.335043-6-pbonzini@redhat.com/mbox/","series":[{"id":485356,"url":"http://patchwork.ozlabs.org/api/series/485356/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=485356","date":"2025-12-15T07:49:50","name":"First batch of Meson/Rust build system changes","version":1,"mbox":"http://patchwork.ozlabs.org/series/485356/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2174141/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2174141/checks/","tags":{},"related":[],"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 (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=FyrEag3K;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=google header.b=YMs/Fg4j;\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=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.gnu.org (lists.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 4dVC1F3N2Dz1y15\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 15 Dec 2025 18:51:13 +1100 (AEDT)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1vV3M6-0000lF-KQ; Mon, 15 Dec 2025 02:50:54 -0500","from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <pbonzini@redhat.com>)\n id 1vV3Lb-0000bt-Is\n for qemu-devel@nongnu.org; Mon, 15 Dec 2025 02:50:23 -0500","from us-smtp-delivery-124.mimecast.com ([170.10.133.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <pbonzini@redhat.com>)\n id 1vV3La-0000mU-3F\n for qemu-devel@nongnu.org; Mon, 15 Dec 2025 02:50:23 -0500","from mail-wr1-f69.google.com (mail-wr1-f69.google.com\n [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-140--hFRVLgJMPm3PP2Q3GUCdw-1; Mon, 15 Dec 2025 02:50:19 -0500","by mail-wr1-f69.google.com with SMTP id\n ffacd0b85a97d-430fcb6b2ebso414461f8f.2\n for <qemu-devel@nongnu.org>; Sun, 14 Dec 2025 23:50:19 -0800 (PST)","from [192.168.10.48] ([151.95.145.106])\n by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-430f268d459sm12450206f8f.32.2025.12.14.23.50.14\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Sun, 14 Dec 2025 23:50:14 -0800 (PST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1765785021;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=DPzOYGOdSS2nqdUVmE3Appt8FioAsNxMPjypO5wkIkE=;\n b=FyrEag3K3VF4p1wAuyPulpAdgG8pa4nL68QeIJzPfyrXj9e+wuyetKY9dvEn3MPkeZ9nyp\n 4E4gHbgCt1pQrL4cvkVzfR7a4ZdGTmSnto5X473UM1D8Us48xioTSNS1e4A+Pqn2ki+rtV\n leXril7HOBKM4Lmy4tJt2u4Dz6ggu6U=","v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=redhat.com; s=google; t=1765785016; x=1766389816; 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=DPzOYGOdSS2nqdUVmE3Appt8FioAsNxMPjypO5wkIkE=;\n b=YMs/Fg4jUGRm87fgou4XR/Bhrrleyr1EP8Xv3B2BcnY4oXeLfgNSpFpk/OHr9wHz6q\n SQ4BHFNujcWzeyFquq+xc54K7IlN2qqwfDvucnm+Os7n+D+WKeQB8kw/wGd2qu/IGyDI\n /hEsPNTzUNCf75sLMCBH5xihMnHF1OXN+L+DB7DiqlQ2H+i+tHLdeOnuSslotreFjno2\n kLNHTP3LpVD5JF0VMljsDo2rHBH9NkL+W3Um2ZCE6ze5fPWftbLT8wEMWv2rayVIqRN3\n wsbOpDlxkTrFVSRC+x2w5rUZEGKvxv80WqQquADqMZKl+Nlh0rywPYb7fS4xMgm0CDX4\n HSBQ=="],"X-MC-Unique":"-hFRVLgJMPm3PP2Q3GUCdw-1","X-Mimecast-MFC-AGG-ID":"-hFRVLgJMPm3PP2Q3GUCdw_1765785018","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1765785016; x=1766389816;\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=DPzOYGOdSS2nqdUVmE3Appt8FioAsNxMPjypO5wkIkE=;\n b=h0g/gP05axahD3W825pT6fz5iVavfEoLtrZWkGSp1y2OsJHeEo9y/Qly50PZkAULDE\n WALsdT4gONdMAxRB1nUSzeu+qjCvuf7jmH61LYdQuBspjC/n3TcYiMKEGXA/0MBZVg47\n W8vd2o1J1crBhdRegxmWbguVEEmPuGnNVvunAPyowcbQrd5Jcljw0MLW5ZEp0zc/tp0K\n RUBzqbGrMfD+W1XtH3a+/5J/+d/WrIhhOW/MsuSkDCfEfx8PdkW5fGnnJfhjFAuSJNNx\n KER3DbDQw7Ov2c6iLr76FV+k+9L1WmouOFlv17WgGenj1KoipdeakRW2ZShn1ZgjGfv5\n ciiw==","X-Gm-Message-State":"AOJu0Ywl3F5Qq1AyQiNwBBpYbZKgFuQt0mpOBTuCqOCd2R7Q+s5Eqy3i\n s19h2wt7/gJXLDB/47AnSo0xmdEEk+pTpvat+jl/FlJY5LLetK/QsaGQ0VTr7LspyHZVlb1rqqV\n Iywk4KfdrU/+UbiO6F2g/b4OPPpvc06SBa0k+JY+KmdAXkBaUEc2ysd9CnFci/3gWx/fv6hUUz+\n 67AWx0r9QxW1NXgne0GfQtJRsCAqGqaNqXufDEARam","X-Gm-Gg":"AY/fxX6M5V/A2v7uomLEbfPv8A2Fs9jZiBot3VTdFiAENUfpMe66cdggEwURpi8qoA7\n lMKxPkIiYZ1bbaUAiG1zkbBL/ow2cxfYm4AsYtwt2QKKmvpVY9kZWfQYYvNi9ko8CIv1RjpA8OP\n y65G8bPw2ZKTc3GgiUasimgZlKHu9/0KGjBAtUdH+xeOE2cRq+o7HpP1DzPcwHrjhcPkQJbsvEu\n ZKyarFiDcidlRNRUQ1oijc4qDO/eMmfV1ZCZ5AgdKedyW06I1HKWpK0rBIh+iZQvIpABNMQc9M7\n ZV4Gch+dMeG93kdvYnDG4gwHyOzRqTpXBPPTe92WXGypH4PZ2NELlsDW6Y4l+VwOunwsLp/MKkE\n +YavDWw2uoHYZjWGM/8Q6kGj3e0NJGOXD9Sk/YfK7YgmIEd43k5v7w69IbY7i7qlz/YD8gJ3eK2\n JBTt6OnrynZ3WdVQA=","X-Received":["by 2002:a5d:5f91:0:b0:431:53:1f49 with SMTP id\n ffacd0b85a97d-431005325c2mr859102f8f.41.1765785016244;\n Sun, 14 Dec 2025 23:50:16 -0800 (PST)","by 2002:a5d:5f91:0:b0:431:53:1f49 with SMTP id\n ffacd0b85a97d-431005325c2mr859076f8f.41.1765785015766;\n Sun, 14 Dec 2025 23:50:15 -0800 (PST)"],"X-Google-Smtp-Source":"\n AGHT+IEVf+fWNJzbUzqsCwn5/tL5jAU1Nzlfoy2ugnNqNplrJxc7rJ26wxp+hA28DEWucIkVMS2sQQ==","From":"Paolo Bonzini <pbonzini@redhat.com>","To":"qemu-devel@nongnu.org","Cc":"qemu-rust@nongnu.org,\n\tmarcandre.lureau@redhat.com","Subject":"[PATCH 05/11] rust: only link the Rust part of the code into devices","Date":"Mon, 15 Dec 2025 08:49:54 +0100","Message-ID":"<20251215075000.335043-6-pbonzini@redhat.com>","X-Mailer":"git-send-email 2.52.0","In-Reply-To":"<20251215075000.335043-1-pbonzini@redhat.com>","References":"<20251215075000.335043-1-pbonzini@redhat.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=170.10.133.124;\n envelope-from=pbonzini@redhat.com;\n helo=us-smtp-delivery-124.mimecast.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,\n RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,\n SPF_HELO_PASS=-0.001,\n SPF_PASS=-0.001 autolearn=unavailable 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-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":"Do not include libqemuutil in the device crates for the same\nreason as in the previous commit.  Static libraries like qemuutil\nare sensitive to their position on the command line and rustc does not\nalways get it right.\n\nIf rustc places the library too early on the command line, the stubs\nare included in the final link product, which results in duplicate\nsymbols.\n\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>\n---\n rust/hw/char/pl011/meson.build | 18 ++++++++++--------\n rust/hw/timer/hpet/meson.build | 18 +++++++++---------\n 2 files changed, 19 insertions(+), 17 deletions(-)","diff":"diff --git a/rust/hw/char/pl011/meson.build b/rust/hw/char/pl011/meson.build\nindex 33b91f21911..9c0e8290e9a 100644\n--- a/rust/hw/char/pl011/meson.build\n+++ b/rust/hw/char/pl011/meson.build\n@@ -28,20 +28,22 @@ _libpl011_rs = static_library(\n   ),\n   override_options: ['rust_std=2021', 'build.rust_std=2021'],\n   rust_abi: 'rust',\n+  link_with: [\n+    _util_rs,\n+    _migration_rs,\n+    _bql_rs,\n+    _qom_rs,\n+    _chardev_rs,\n+    _system_rs,\n+    _hwcore_rs,\n+    _trace_rs\n+  ],\n   dependencies: [\n     bilge_rs,\n     bilge_impl_rs,\n     bits_rs,\n     common_rs,\n     glib_sys_rs,\n-    util_rs,\n-    migration_rs,\n-    bql_rs,\n-    qom_rs,\n-    chardev_rs,\n-    system_rs,\n-    hwcore_rs,\n-    trace_rs\n   ],\n )\n \ndiff --git a/rust/hw/timer/hpet/meson.build b/rust/hw/timer/hpet/meson.build\nindex 9a3dd62caa3..3bb7ce2a6ca 100644\n--- a/rust/hw/timer/hpet/meson.build\n+++ b/rust/hw/timer/hpet/meson.build\n@@ -3,16 +3,16 @@ _libhpet_rs = static_library(\n   files('src/lib.rs'),\n   override_options: ['rust_std=2021', 'build.rust_std=2021'],\n   rust_abi: 'rust',\n-  dependencies: [\n-    common_rs,\n-    util_rs,\n-    migration_rs,\n-    bql_rs,\n-    qom_rs,\n-    system_rs,\n-    hwcore_rs,\n-    trace_rs,\n+  link_with: [\n+    _util_rs,\n+    _migration_rs,\n+    _bql_rs,\n+    _qom_rs,\n+    _system_rs,\n+    _hwcore_rs,\n+    _trace_rs,\n   ],\n+  dependencies: [common_rs],\n )\n \n rust_devices_ss.add(when: 'CONFIG_X_HPET_RUST', if_true: [declare_dependency(\n","prefixes":["05/11"]}