From patchwork Sun Mar 9 10:31:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 871869 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp503732wri; Sun, 9 Mar 2025 03:33:35 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXWUSHz6XF1S5U2KWgIRlicy2p2sBeTFGL5n8SIjLasXqA4LfqoHvx7ZUwId/3DVG+EnX4IJA==@linaro.org X-Google-Smtp-Source: AGHT+IHiXpLpcLhJKNLQYNo43MSJmORYE3VmGwTpwY+bkTWVReANebRQkKJydRi0mxsxwbx3Gsvs X-Received: by 2002:a05:622a:5d0a:b0:474:d06a:6118 with SMTP id d75a77b69052e-476623891d7mr73838351cf.2.1741516415006; Sun, 09 Mar 2025 03:33:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1741516414; cv=none; d=google.com; s=arc-20240605; b=QcpkQrr2XjLa++Z4BtUsnKdbtuCG8xQ0VixuxWFkaU0EQxJSpbucMj2hmI4rQXiiey 7hGHZu8xUcQuz2Uo/sYWPihiph+8rlMJTJLztAsuWTElVvxz66odjGhViQEhG/qI3kNZ Xa+0hBeApm3fkq+C0gjgmU0bpKUdIgLMVu8cHPocBzGnNVGLnSG0lkqnDotj/UBCju17 f8c9sj+xJ+cNrpLE1Y2LIPsXHGLhWAzNm26+Plwp+QWwIige5vkMBh2jaZV55KN0CNxf DrJqBVIiePynN1+SAr2JU7xDzQq9JVfQgWEP/h0j7AoQhdINgCmmfghPtYr+Rgwa/7mF zVQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=dMUKogfKyzAz46Y4Z8OW5xUGWyWP2F2XLF8CrapiAvY=; fh=81ihEdxQ+u/LyfB+2JrLjECglEnr1cygbyoFbuVKNq8=; b=BNSQLR8ZNQmz9Xew+ZUI3KhLr5kPGvUyXZkuXNLyd640/+KBeEbmRTyJknod1WiU9G l0lYiPZGAHqsE+qS1ioMsySqptgIMF9xWdOxyyBvrWpCqAABd50cah7hp5Bb5aGdy4Ym pzJPfpIKm8sIiuE2WLMy0YzHWBPqfp5+Prxo/6VYbjT59eNb0KgipW27aKy+uwqysSE7 V1sIuv+QBuqlv39opD49KLmD+fYGrjS8J4IkHMPwPVgu0JQbnvalVVim1K/hEzH0ZjVt EUNe/MHRP9aL/uhLoPxpuY5dVvsS6JoJT/QQuz6qeR7fn5gRpjbmMUCWVXTrGRcRaJGq 8/JQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=S1F9lOjC; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4751d983726si71299301cf.17.2025.03.09.03.33.34 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 09 Mar 2025 03:33:34 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=S1F9lOjC; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1trDxS-0000pq-D7; Sun, 09 Mar 2025 06:32:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1trDxB-0000Bq-F2 for qemu-devel@nongnu.org; Sun, 09 Mar 2025 06:32:18 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1trDx9-00045r-Cb for qemu-devel@nongnu.org; Sun, 09 Mar 2025 06:32:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1741516334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dMUKogfKyzAz46Y4Z8OW5xUGWyWP2F2XLF8CrapiAvY=; b=S1F9lOjCctdCtdqIPB9Jry2i/riAmjCL79E/orUy3hvaRDIXQIs20yczyrMfDXaox4ETBG jUHpg/vpostIhSgaekFd/+QStsyjv9ZfDng9+5p08sm+mEUrTSCQm3C0dBZXDDtZg7xEsd BxZa3fy/NP5oWgI5fnbWVCZrRBoZQbU= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-364-STkgT4KGN5m1HWmZ2CCzfg-1; Sun, 09 Mar 2025 06:32:13 -0400 X-MC-Unique: STkgT4KGN5m1HWmZ2CCzfg-1 X-Mimecast-MFC-AGG-ID: STkgT4KGN5m1HWmZ2CCzfg_1741516332 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-43cf3168b87so1391965e9.2 for ; Sun, 09 Mar 2025 03:32:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741516332; x=1742121132; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dMUKogfKyzAz46Y4Z8OW5xUGWyWP2F2XLF8CrapiAvY=; b=xK8wfSgDiv3NZ7d/XSSLzflAJj8ug+f12XWYUmklKtS9q0YB9Mf2E+EWwGXcpeyYQT K3Do665ywQwIIcNOdHS7v+SKQu7tX6Uz8oAw2RLUSPSYRy/tm7zUYiF7MtBhLwF/eQQ1 /V6SnW77vs7w7zz/5p/Z3rJgThmpKBQaDjPIPzOQ81pWebILzqXQbN7nliJn1qNL3Ssy 3bIRsAoTo1Vi7IhFzaE9YDXhTWwDmzuRceLpZlXntrDQ1+phxRFt5WLyjSFT1YD3dla0 9hnf381sUUb8YwiqF/F3vQbCOEbzGfvxIys70D57MKMrfKrTIiwwF22EG5oMncjugUyZ Wydw== X-Gm-Message-State: AOJu0YzCZLEow6RZDjpO6okyNKkfhw9gNu3LxEP0N/P3MWtzwFXeI5vf 3gfW+sW+4N8kfYH1gCiaJsBABX6fU/1dDpgTOGk3ABr20kjSxBEcRrRRxwQMhnCuGsufS0ImK+q 8+Uktu6GLbsi5aifarpl5u4uFkqX4j8J+nLB0bCpUV4jzYolhKGaMzJ1etnDY3ZZZY1B6A+f8BR cj8vSq4Ehj4iduCe4RrTeO2vCijk91uwDnk+X+pMY= X-Gm-Gg: ASbGncvd/doq8C1ME56KJOUrGzy1e+6jK07gg4QejOcEwpHAW1OBdw+rLab0PRPeWB6 /6kxgjcOyTIZUX3CGXcMfXuxFU+3hMuPxCKdYhBrvAZEn1Qf4CUUoEcXfXxDEcELZlc6B8ME4Ca Yxx7vZsnecaJa5vwixwEP+VERCGzlsSFIlAQWNT6enFN3BelCkSPBPC+rdc0ust4vkwZ0jB13/N wFR8U/FM1msP5Jyr9Jyj7I5XgQyw2vVHnkx7+kudT41cZwOz20j2MFxjzFTZdB/xjaOgsJnCLvI 1BXt8eNK4IFVHesx4hA+ZA== X-Received: by 2002:a05:600c:19cd:b0:43c:f1b8:16ad with SMTP id 5b1f17b1804b1-43cf1b81b78mr9503155e9.30.1741516331920; Sun, 09 Mar 2025 03:32:11 -0700 (PDT) X-Received: by 2002:a05:600c:19cd:b0:43c:f1b8:16ad with SMTP id 5b1f17b1804b1-43cf1b81b78mr9503005e9.30.1741516331476; Sun, 09 Mar 2025 03:32:11 -0700 (PDT) Received: from [192.168.10.48] ([176.206.122.167]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ce3d5a0e2sm58130275e9.12.2025.03.09.03.32.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 Mar 2025 03:32:10 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , =?utf-8?q?Daniel_?= =?utf-8?q?P=2E_Berrang=C3=A9?= Subject: [PULL 24/25] meson.build: default to -gsplit-dwarf for debug info Date: Sun, 9 Mar 2025 11:31:18 +0100 Message-ID: <20250309103120.1116448-25-pbonzini@redhat.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250309103120.1116448-1-pbonzini@redhat.com> References: <20250309103120.1116448-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; 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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org From: Alex Bennée This option is supported by both gcc (since 4.7) and clang (since 7.0). Not only does this make the linkers job easier by reducing the amount of ELF it needs to parse it also reduces the total build size quite considerably. In my case a default build went from 5.8G to 3.9G (vs 1.9G for --disable-debug-info). The --disable-split-debug option allows distros to keep all the info together for ease of packaging. Signed-off-by: Alex Bennée Reviewed-by: Daniel P. Berrangé Link: https://lore.kernel.org/r/20250306161631.2477685-1-alex.bennee@linaro.org Signed-off-by: Paolo Bonzini --- meson.build | 6 ++++++ meson_options.txt | 2 ++ scripts/meson-buildoptions.sh | 2 ++ 3 files changed, 10 insertions(+) diff --git a/meson.build b/meson.build index 6da4eb317c2..4899d896de0 100644 --- a/meson.build +++ b/meson.build @@ -601,6 +601,10 @@ if get_option('tsan') qemu_ldflags = ['-fsanitize=thread'] + qemu_ldflags endif +if get_option('debug') and get_option('split_debug') + qemu_cflags += '-gsplit-dwarf' +endif + # Detect support for PT_GNU_RELRO + DT_BIND_NOW. # The combination is known as "full relro", because .got.plt is read-only too. qemu_ldflags += cc.get_supported_link_arguments('-Wl,-z,relro', '-Wl,-z,now') @@ -4583,6 +4587,8 @@ if have_rust summary_info += {'bindgen': bindgen.full_path()} summary_info += {'bindgen version': bindgen.version()} endif +# option_cflags is purely for the summary display, meson will pass +# -g/-O options directly option_cflags = (get_option('debug') ? ['-g'] : []) if get_option('optimization') != 'plain' option_cflags += ['-O' + get_option('optimization')] diff --git a/meson_options.txt b/meson_options.txt index 59d973bca00..3432123fee2 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -362,6 +362,8 @@ option('debug_mutex', type: 'boolean', value: false, description: 'mutex debugging support') option('debug_stack_usage', type: 'boolean', value: false, description: 'measure coroutine stack usage') +option('split_debug', type: 'boolean', value: true, + description: 'split debug info from object files') option('qom_cast_debug', type: 'boolean', value: true, description: 'cast debugging support') option('slirp_smbd', type : 'feature', value : 'auto', diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh index 3e8e00852b2..aca6e688302 100644 --- a/scripts/meson-buildoptions.sh +++ b/scripts/meson-buildoptions.sh @@ -504,6 +504,8 @@ _meson_option_parse() { --disable-strict-rust-lints) printf "%s" -Dstrict_rust_lints=false ;; --enable-strip) printf "%s" -Dstrip=true ;; --disable-strip) printf "%s" -Dstrip=false ;; + --enable-split-debug) printf "%s" -Dsplit_debug=true ;; + --disable-split-debug) printf "%s" -Dsplit_debug=false ;; --sysconfdir=*) quote_sh "-Dsysconfdir=$2" ;; --enable-tcg) printf "%s" -Dtcg=enabled ;; --disable-tcg) printf "%s" -Dtcg=disabled ;; From patchwork Sun Mar 9 10:31:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 871870 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp503766wri; Sun, 9 Mar 2025 03:33:46 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV30JkmEQQg5KPdp4SDcXl47410mviLwKG+4nkY5wY/afzAcGbfZu/Oa/63M2ZFwY0f3h/mNA==@linaro.org X-Google-Smtp-Source: AGHT+IFLG4awuGLl63lkuTgTQQ5++mOD9VVUoQvc1dZ/ROXr8iGIAjvGWyuOl2eFANMwZ/fuazE5 X-Received: by 2002:a05:620a:31a1:b0:7ac:b95b:7107 with SMTP id af79cd13be357-7c53c875e19mr922678085a.12.1741516425920; Sun, 09 Mar 2025 03:33:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1741516425; cv=none; d=google.com; s=arc-20240605; b=dCK1I9ZpK5apwBRytjLT+WYxI8yR5nJ3TOf/sD9lFJLCyRQkPEcWxvBHujQciP9NM0 QtIW/qR7VYcyWyjZ5WveV25Lbj9//kUOzaHgihUqHL23lBTIzvEHbGYpDNhqWcatsky3 EA3bvjSMt3L4D9cm41XtuKwwj+CpjZ6v3BCOZUft8BMwHnnkLHZmVeO8JNOMdkmzCy4E 51KqHtF5ZiH2fwGlOEV+NXag04WqntWoIYgc1KVi4XbFvmaXisa24RDZ/ljlmNucFFc8 PzzzqUbB6UjJRcHuYL8yQdqSXi/WlxEEZbsVVkpskcH+z5UwB8qMS472abzvubzVDlZ6 MXYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=04PJRmuUiucourfgT/J1T0+xS+Kfg0driBOXjjm6/8k=; fh=alZCUczDNtN4yFLy44SM1yTUliPrh8AgZa0GP8izqo4=; b=WMaDbYFoYrEpLf5ryQNYo3tAUAVapMuCTvxDU6k2L/MxzN5Jdg5Lfz/rihH6pYnLRZ ATSycp4rm7ahMag8jLCVM7WJyBcM1HA0l76yQD8hVk7TJaM07IdRsecEdpipGWPZ5NPZ Y9ziBvDibUjKiW4idNBq91tA1hJDYb2WYwzcYRsU0z9fogc/4w7zFvA98sO35U0GBdv1 YydOb74l+pCpPg5FilpOx5zL9eYYiI8Qy4783Tta9Y7XDd+CPN77eFwCpfdDvtQDRXlf w295y1bM1EOd3917TDwosOo4uJ08S6C9iMXbJZY+1u0eI7m5k0SkKXmNaYumGrvLrDh3 o4cQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=BWelvljq; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c3e536a9ebsi703311585a.174.2025.03.09.03.33.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 09 Mar 2025 03:33:45 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=BWelvljq; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1trDxN-0000Yx-Bk; Sun, 09 Mar 2025 06:32:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1trDxD-0000FV-KB for qemu-devel@nongnu.org; Sun, 09 Mar 2025 06:32:19 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1trDxB-00046B-Vn for qemu-devel@nongnu.org; Sun, 09 Mar 2025 06:32:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1741516337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=04PJRmuUiucourfgT/J1T0+xS+Kfg0driBOXjjm6/8k=; b=BWelvljqiE9D3vhlod2js8v/a3OokgjKOY3rbvMpwPJjCk4T/yZEE9axHibkQJ2M2wxFDx XbDU08d/2zEucEwSLWYQ8fd0RH4NJezFquWc6l8yJfQII23hwgSmicFU2BgVGXqsaTFInP p3J3ZXOw6XFp2SaPq3L5mfXcCLozD/A= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-410-eU8B3-oANgWy4P1-lqIYUg-1; Sun, 09 Mar 2025 06:32:16 -0400 X-MC-Unique: eU8B3-oANgWy4P1-lqIYUg-1 X-Mimecast-MFC-AGG-ID: eU8B3-oANgWy4P1-lqIYUg_1741516335 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-43cf6c03535so373155e9.0 for ; Sun, 09 Mar 2025 03:32:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741516334; x=1742121134; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=04PJRmuUiucourfgT/J1T0+xS+Kfg0driBOXjjm6/8k=; b=faId3iJ5Tiw7USSCs99JUB1wPkTFTmMpHWA1PbIeRMPl1m3IreoLGu6uYkysmlBAz1 X+VkE2nbW/IAOabxXcuR8vRmOgEAAldlgne95sfsk5JXrkpMm2FwJ85r3yKOiMc9CBJk 3aQk625iGdj/Ttx1IBmh4zvesYxiwI4O096htUSCEkDyw6AOqK3XWhWP3CvLWBVeswy4 /jiEsZcOL6K454BzZhOUbDCo88SAMT+r20mFIQ8EIvIixeF5pH6AvwG5IedJDTS6SsqC reauUiWZf91h2Hjf5r0eDfGbFlJzP3M3B4T+DI9v5GyQq8sgU1OrHvqWG6beCdRVcclb Q2bw== X-Gm-Message-State: AOJu0YxzPqodbSzChPhy08w0nCX1o1oi+hpSloKU37ApzWYZdLBEpTon 5eLTyiw4YFEaLIDsu0M5n+cMtYyOrRenmbGKoVzGUBbjZMMvewBapY3P2cpUgfwDBYJZKaH43VX nmLjfRmsTzuYEGKpeYGLtFMoP/p0tJgQpGpoJoNuc7a0dm7zDsf2xJrSYxOKI0RTu/+7oGpLFBG jcV5qGP1oX8LZDGoWKZmYVnQs51kJCLVY+FJp8HyA= X-Gm-Gg: ASbGncuBDGQaXRf8KvU6HHHVNOwZItAeFTOFZj58m56FZTqeCXvRNDuZFAcVbREJ4x+ GkBGnlQc9vy3Mc/FAjWRFdqjZz98HnnyJmNlm/Eh2S1a9ox1HziXmDM4uQ7DlsIl1StjUiGwhLu ljHJ/ClmHa7ZJIa0KeT1l+Qk2WgK3NqMvMEjnw3+LdSOA8Mhgy1jnnV8vwIrpJDCPBzZPXcw47e GTNav4Io+UByPa/KBZpThfxM1Kyd0J/IBjwvqkbXv/0mp9v/cGwDdKrpxm2emEy2UVCnCj5KgVh MeKgDwtlcZ/+vC0o5Jqlmw== X-Received: by 2002:a05:600c:3510:b0:43b:cf12:2ca5 with SMTP id 5b1f17b1804b1-43c601d9145mr57763075e9.8.1741516334382; Sun, 09 Mar 2025 03:32:14 -0700 (PDT) X-Received: by 2002:a05:600c:3510:b0:43b:cf12:2ca5 with SMTP id 5b1f17b1804b1-43c601d9145mr57762905e9.8.1741516333928; Sun, 09 Mar 2025 03:32:13 -0700 (PDT) Received: from [192.168.10.48] ([176.206.122.167]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43bdd9471b7sm109267005e9.34.2025.03.09.03.32.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 Mar 2025 03:32:12 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Peter Maydell , =?utf-8?q?Philippe_Mathieu-Dau?= =?utf-8?q?d=C3=A9?= Subject: [PULL 25/25] rust: pl011: Allow NULL chardev argument to pl011_create() Date: Sun, 9 Mar 2025 11:31:19 +0100 Message-ID: <20250309103120.1116448-26-pbonzini@redhat.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250309103120.1116448-1-pbonzini@redhat.com> References: <20250309103120.1116448-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; 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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org From: Peter Maydell It's valid for the caller to pass a NULL chardev to pl011_create(); this means "don't set the chardev property on the device", which in turn means "act like there's no chardev". All the chardev frontend APIs (in C, at least) accept a NULL pointer to mean "do nothing". This fixes some failures in 'make check-functional' when Rust support is enabled. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé Link: https://lore.kernel.org/r/20250307190051.3274226-1-peter.maydell@linaro.org Signed-off-by: Paolo Bonzini --- rust/hw/char/pl011/src/device.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rust/hw/char/pl011/src/device.rs b/rust/hw/char/pl011/src/device.rs index af93ae8bebe..f137b49feaf 100644 --- a/rust/hw/char/pl011/src/device.rs +++ b/rust/hw/char/pl011/src/device.rs @@ -648,10 +648,12 @@ pub fn post_load(&self, _version_id: u32) -> Result<(), ()> { // SAFETY: The callers promise that they have owned references. // They do not gift them to pl011_create, so use `Owned::from`. let irq = unsafe { Owned::::from(&*irq) }; - let chr = unsafe { Owned::::from(&*chr) }; let dev = PL011State::new(); - dev.prop_set_chr("chardev", &chr); + if !chr.is_null() { + let chr = unsafe { Owned::::from(&*chr) }; + dev.prop_set_chr("chardev", &chr); + } dev.sysbus_realize(); dev.mmio_map(0, addr); dev.connect_irq(0, &irq);