From nobody Thu May 9 20:56:23 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1694558522; cv=none; d=zohomail.com; s=zohoarc; b=jwEPKyGd33tnwh9n3LkPz/TRHyuOM1LAZCYqVJ4Svxih5xs3Y4+MQ5wYcetQ4BsWmZrdJfBKuMFhIl22jXt5rzDHij/I2kqwRn+PkkR/HeJ29Dck60hhqeci9UwSDgBIXvHwf6UAAhI+Lg9JAXLRXP/JtVMlPTqf4X83l/OA3w4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694558522; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=95QVNg5HPZWQUU3gv/yGVv9Jo3t2dmNs4n1dgqSbSvE=; b=f66SGW7Xsw/uhDOmMpH9uNcY9V2YK9Oq2aX5WzCehHn9L+JJwhyx0+LV4eg4WeZutn9Gg1bXm0g13fzj9RBLhlC7fJxSJSvLCZRuq3LffqqRMnhUCkt6zAeJPjlv6WxRJkgOcqSWji0dtCgHPZTdYdBZhoZEVrQjPGBO69LVl8M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694558522582284.2828011630862; Tue, 12 Sep 2023 15:42:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgC4O-0002N3-LD; Tue, 12 Sep 2023 18:41:20 -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 1qgC4M-0002Hg-Pd for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:18 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qgC4K-00016N-KJ for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:18 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-1bc0d39b52cso46688665ad.2 for ; Tue, 12 Sep 2023 15:41:16 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:78d2:b862:10a7:d486]) by smtp.gmail.com with ESMTPSA id l13-20020a170902d34d00b001bbbc655ca1sm8996977plk.219.2023.09.12.15.41.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 15:41:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1694558475; x=1695163275; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=95QVNg5HPZWQUU3gv/yGVv9Jo3t2dmNs4n1dgqSbSvE=; b=ov8TZdiMlMwap9Kkry8Een8UlsVfn/tMLe7MZzfcfq1mP5jN9vX65/igbcmRXl29AD LaLnjNB4uyt/0PTRrXZaPDPk32ffV8OgJWzs5IScPmTgvXNI2JxEy6IlB3czQ1gYxHrn oEtWdHRk3qxI3DposaX4Xr0G8IBB8Lb1cT8hw5sRjtfaR+ytuVNBzvqBb//TQsNdiAUj fZeaHYwdPSFUm1wZ4zv4Aa9gBGgFA75luv0h3Os8lt1s/dPdp61rUk5fLqGDbhaLiqCb gK2aCYJNRDA0YTTXLhT4oA6vdF0twBMduVmpmK329CAVidCr8UPqcYlnJNSTH80+qI+f rX2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694558475; x=1695163275; 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=95QVNg5HPZWQUU3gv/yGVv9Jo3t2dmNs4n1dgqSbSvE=; b=v18/6gQasFNucQJZ5nYgIPB9OfHqz5uRc6Ir9HCQuCeZnsVCs0hMW6lDjac/eXIvC+ oRJrmKJ9bFKBNvWQdJST/ceYvSg4J6OjkgU2vy9NVXv0TKQyLOXtDjCxPS/+NGK6ztQ9 sgQpNu0773XxZzzj9eesXIGRovDBl5pRlFpxAUv+PBpqlPI62FZDNzSnTY45z5eIJ6xR d6mgvFo57ZpKDVdWutI3i6VU3XHI1uMz9+TpJWqX2fM9cZEfkMZss8uaKg2UW2vqA+h9 2YCTrlzfanuYydRdWmz3ZFne1mkZdcCNgOu43MjkGIHI8YusZNTnsMiFMBp89/KRymv8 DqVg== X-Gm-Message-State: AOJu0Yy3tCmD4EiieTHqPvqKdtKDYyAaOGLapKUU1cPQ/HOiC37tC0FN zta6YrR95kwQYIrYLmUYBLQeQw== X-Google-Smtp-Source: AGHT+IHzQUMd2Mewmi9j/mlV7jwW4T7lp/m5wO12KHHNti2S0jQ8U98oBpRbLd+BkN1fP97NUaV8xw== X-Received: by 2002:a17:902:d4c8:b0:1bb:3a7:6af7 with SMTP id o8-20020a170902d4c800b001bb03a76af7mr1479805plg.23.1694558475080; Tue, 12 Sep 2023 15:41:15 -0700 (PDT) From: Akihiko Odaki To: Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Mikhail Tyutin , Aleksandr Anenkov , qemu-devel@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Akihiko Odaki Subject: [PATCH v3 01/12] gdbstub: Fix target_xml initialization Date: Wed, 13 Sep 2023 07:40:50 +0900 Message-ID: <20230912224107.29669-2-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230912224107.29669-1-akihiko.odaki@daynix.com> References: <20230912224107.29669-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::634; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x634.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20230601.gappssmtp.com) X-ZM-MESSAGEID: 1694558524050100007 Content-Type: text/plain; charset="utf-8" target_xml is no longer a fixed-length array but a pointer to a variable-length memory. Fixes: 56e534bd11 ("gdbstub: refactor get_feature_xml") Signed-off-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- gdbstub/softmmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdbstub/softmmu.c b/gdbstub/softmmu.c index 9f0b8b5497..42645d2220 100644 --- a/gdbstub/softmmu.c +++ b/gdbstub/softmmu.c @@ -292,7 +292,7 @@ static int find_cpu_clusters(Object *child, void *opaqu= e) assert(cluster->cluster_id !=3D UINT32_MAX); process->pid =3D cluster->cluster_id + 1; process->attached =3D false; - process->target_xml[0] =3D '\0'; + process->target_xml =3D NULL; =20 return 0; } --=20 2.42.0 From nobody Thu May 9 20:56:23 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1694558522; cv=none; d=zohomail.com; s=zohoarc; b=kM3C+VD4FocecruyTZqB4vWNasjpHDaTwIzcWnTRaHIiqm7tg9uwQyJfKGoVrXk1KWOYyCVHJvpMzzxce1keGbRFUmRd78YaKhqSR86lVGtXLA9alTvKjuSLkfh9vq8ZyiJU6gqfcNWBSDOstCEQkJzyvPe7jKHVpeZ1gpzg78E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694558522; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=Owf73A2jtbtMsGA7cBmEhb5GKITEmhQO9JJT6nRhMFY=; b=dQl5dpqLuNIrXFCNJXg8ZM9REU8HRoIoErFph+vYDPvAmSZCtLrScPOCbdaHzNHAfOAnTSxf1IAC/mvs04WEfiE9wlMZFCmY/AyY1qkr7ULxFX63DTBYuzoh0sYj7hlG1HQZuuH4AszwjbiO2NkgvCWIDPBdEK24p01zFNPjqds= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694558522404150.59257789435344; Tue, 12 Sep 2023 15:42:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgC4Q-0002NU-Q1; Tue, 12 Sep 2023 18:41:22 -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 1qgC4P-0002NE-0W for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:21 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qgC4M-00016Y-FY for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:20 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-1c3cbfa40d6so16707865ad.1 for ; Tue, 12 Sep 2023 15:41:18 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:78d2:b862:10a7:d486]) by smtp.gmail.com with ESMTPSA id l13-20020a170902d34d00b001bbbc655ca1sm8996977plk.219.2023.09.12.15.41.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 15:41:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1694558477; x=1695163277; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Owf73A2jtbtMsGA7cBmEhb5GKITEmhQO9JJT6nRhMFY=; b=G0pzLWFHUZvq64ks1m66rkCTa6kGsDGcGEeo1TeX3MgzEcBK9oDud3Tc/nZ6fcdGnH QWskH3m587OG6xyOwOeYRt99uhykfpoV1kHuAPprpnQbho0Du/xoD2q8dST+bNa7Cg31 fn3Y7L+b2Yfg1daiBJFW2x4iJAKro+TEacgKBMkrVrEr96EO9r3hQgW9OBg9F3xCJgKO /NtHBhunp1DfTaH57JCSppYPpim1ycUVWuU1dzyOOBEjYLhawrHX0g0BaqHEeQBMsZPi X7NS5b32wbHzxzEReCRIS+/HCXAepVnWxrPTCkI820aq446zvJ/Mz6C5FdQC5NfuzBSm Bkmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694558477; x=1695163277; 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=Owf73A2jtbtMsGA7cBmEhb5GKITEmhQO9JJT6nRhMFY=; b=PDFA+knXoh4dkISmD2kkp7lWjbQXiC0dMLNVqJ09CtYdU0x4h9CTNZfbaJaf+5vjFm Pf9kpAIGH1aZvELsrtxVfSspHPX2f1EbMIcDHaa3V6XDk+Y0EYebf7x5B9wtmADzWDoI C22F1GyKdmDC86afYZkirJdcYSWslOwLDtlaMOwOnJF+qiAJzZVkaIOxHAVAryToXxaY J7kjzeRLkYE7SLa0ArGy9Bi5n5FLv0mZNyXWOxqPHVTWht8GmZIxZ5XTFmP1oc8fK7OW McSrEoVj1A7zo/0RXLvA6hWV/QVjB6UC8h/258syLduBbUnGnDuwZWYSyBol2VKbCIfS d+hw== X-Gm-Message-State: AOJu0YwOeimFB7HZAuaj5azsA8UHQJsIeX5YZqMrvKAxdBx+ckORywSz hdPZAnLxFV2T2cPeQv1zNvWMNg== X-Google-Smtp-Source: AGHT+IHJ73wcU+UCzygx06xw9NOesJ/j4otpl07+WeORGujBDctqFM89aqZZ1OtlYbzspPyLVKr3wQ== X-Received: by 2002:a17:902:e5c7:b0:1c3:eaa0:dc5 with SMTP id u7-20020a170902e5c700b001c3eaa00dc5mr18043plf.26.1694558477073; Tue, 12 Sep 2023 15:41:17 -0700 (PDT) From: Akihiko Odaki To: Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Mikhail Tyutin , Aleksandr Anenkov , qemu-devel@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Akihiko Odaki Subject: [PATCH v3 02/12] gdbstub: Fix target.xml response Date: Wed, 13 Sep 2023 07:40:51 +0900 Message-ID: <20230912224107.29669-3-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230912224107.29669-1-akihiko.odaki@daynix.com> References: <20230912224107.29669-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62d; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62d.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20230601.gappssmtp.com) X-ZM-MESSAGEID: 1694558523585100001 Content-Type: text/plain; charset="utf-8" It was failing to return target.xml after the first request. Fixes: 56e534bd11 ("gdbstub: refactor get_feature_xml") Signed-off-by: Akihiko Odaki --- gdbstub/gdbstub.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c index 349d348c7b..384191bcb0 100644 --- a/gdbstub/gdbstub.c +++ b/gdbstub/gdbstub.c @@ -396,8 +396,8 @@ static const char *get_feature_xml(const char *p, const= char **newp, g_string_append(xml, ""); =20 process->target_xml =3D g_string_free(xml, false); - return process->target_xml; } + return process->target_xml; } /* Is it dynamically generated by the target? */ if (cc->gdb_get_dynamic_xml) { --=20 2.42.0 From nobody Thu May 9 20:56:23 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1694558573; cv=none; d=zohomail.com; s=zohoarc; b=djUXXN3OHfN74ncg4Fb4QalVchNedm7C2AI9XQoNa8PL3GwEwThKl9uUxjYjz75PzM/jlTUwOcu593RImHM70ll5LWW2P+pdWRKe5c/vqtr0w1b1KLqhwEQ5EPusA30tEZTgL21ZRZmfnPKzwM90Mbv8yNuueLdBU01W0KUxaFQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694558573; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=cyJI6yjEyvs67kM8yJl2i3nEcJfzU2Pt8aPkvH2f3Jw=; b=TstKKJRDCTvAEW3QGsgqox9mQPc/+YYivhioi3Ums6eDMwLdxGZTs1O1+CYH6PueR331XSp9pjAZxniCKaQ5wGD2mpeI1EknsyrNQ2Lp/+LFe0H4xCZ5mQVLdAhugFzYt1AO1mO9Jgt3crd7InkYTk70GkJo90DxhZ0x1UuO1OE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 169455857376219.154321865619636; Tue, 12 Sep 2023 15:42:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgC4R-0002O0-TK; Tue, 12 Sep 2023 18:41:23 -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 1qgC4R-0002No-8D for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:23 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qgC4P-00016x-3g for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:22 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-1c3d6d88231so10083435ad.0 for ; Tue, 12 Sep 2023 15:41:20 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:78d2:b862:10a7:d486]) by smtp.gmail.com with ESMTPSA id l13-20020a170902d34d00b001bbbc655ca1sm8996977plk.219.2023.09.12.15.41.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 15:41:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1694558479; x=1695163279; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cyJI6yjEyvs67kM8yJl2i3nEcJfzU2Pt8aPkvH2f3Jw=; b=gpwqSUU6tefYVgKpkjRSZpwtRi+oDi1KN8ln52Qtfy9OYeGbIrTRrd8IlZaKk46Czo 6hoDWgvvfGuqCkN8EML8hJfj8l071Fp7/RF+YhaAM79pbvFOrDwAHY+dRYRpEIe8k2mP V5jFBlRQ8KqTkQbV9oopvNs8Xwvltld+USOkBnD5niaGGEFO7Ze9ya9u7IsOhQjIN1J7 nLSYggIzg2NdKA7PgGJPvQrHlge5h91A8Zp3NT1iszr2c9YJ9UMMNXf4FxhVHykbUscY hOJQHgbEhztILVK2EQ7EJeA0psMCBZzxGHncFRSG3aMtKTwhqB6AdIwun7gjd2MQo0eP pvUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694558479; x=1695163279; 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=cyJI6yjEyvs67kM8yJl2i3nEcJfzU2Pt8aPkvH2f3Jw=; b=eWokyKOD8HlhwZGzrPBc4nvWi1pESnK31tNuuCR6uNuCe6Y8Crw6PizpVRP39DAh4e vRtavTouEj+9K6FGPkr2mCY8IQ/UHDIJKYZZMOARN5YIOgBjm6YizJ1tE5ZGc+klVLCz f/+1T5sOb8x1YmIBmLk6k/n29wgT3AlM/A8RlUTaiuCFkqnEen6FZcSLwJZaRQGjX35g TfhgNdax7wfSjStaPFlNTR8kSTcQlD7Bm+NXR5hnu4EpsdwPntYnk0WhqeNLtqzG9Sy3 VHcT2ICS89urYBBdxegbrbw53I4veH7Q5QCk0bJDn5ggXE/qjqqtxKc50rrWswy4vZt2 6XIw== X-Gm-Message-State: AOJu0Yy98vtSXWI1osrIGz+Wg9IPg4uHVAeRwl2n4XDly1tV6T7dyMlP JU3LDI/+rH5bZRCLEuKXpCvb1Q== X-Google-Smtp-Source: AGHT+IFNEcxeo3au+c9++zLt4jbnhVVvxaK5FVcbSOUgrXhGWlGd6nA3iwv4A5CNSMVDCAGUQa3gRQ== X-Received: by 2002:a17:902:d505:b0:1b8:525a:f685 with SMTP id b5-20020a170902d50500b001b8525af685mr1083368plg.37.1694558479538; Tue, 12 Sep 2023 15:41:19 -0700 (PDT) From: Akihiko Odaki To: Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Mikhail Tyutin , Aleksandr Anenkov , qemu-devel@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Akihiko Odaki , Alexandre Iooss , Mahmoud Mandour Subject: [PATCH v3 03/12] plugins: Check if vCPU is realized Date: Wed, 13 Sep 2023 07:40:52 +0900 Message-ID: <20230912224107.29669-4-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230912224107.29669-1-akihiko.odaki@daynix.com> References: <20230912224107.29669-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62b; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62b.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20230601.gappssmtp.com) X-ZM-MESSAGEID: 1694558575764100007 Content-Type: text/plain; charset="utf-8" The created member of CPUState tells if the vCPU thread is started, and will be always false for the user space emulation that manages threads independently. Use the realized member of DeviceState, which is valid for both of the system and user space emulation. Fixes: 54cb65d858 ("plugin: add core code") Signed-off-by: Akihiko Odaki --- plugins/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/core.c b/plugins/core.c index 3c4e26c7ed..fcd33a2bff 100644 --- a/plugins/core.c +++ b/plugins/core.c @@ -64,7 +64,7 @@ static void plugin_cpu_update__locked(gpointer k, gpointe= r v, gpointer udata) CPUState *cpu =3D container_of(k, CPUState, cpu_index); run_on_cpu_data mask =3D RUN_ON_CPU_HOST_ULONG(*plugin.mask); =20 - if (cpu->created) { + if (DEVICE(cpu)->realized) { async_run_on_cpu(cpu, plugin_cpu_update__async, mask); } else { plugin_cpu_update__async(cpu, mask); --=20 2.42.0 From nobody Thu May 9 20:56:23 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1694558582; cv=none; d=zohomail.com; s=zohoarc; b=dC4PgE1ize3+/XoBwOZv5o2nf1fQ5C+t+kPR5pLDtCYF2Ub0DIE8LuRT2aJmdYo+3QTVCYRlBybbnqGxSQZK7G2yS/Oy5/FJgi9xnnjMHKQ5V4ASmaj0HX3sgrwZk8QetLftUUly2Lb0l0IQB3P/1vVrJMe87pPKZMJ7ZMbFsXY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694558582; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=2Hs61unU0rT5Xs/IozPbclEmnlWYOJEOWqFw7vuLJvQ=; b=EPdWqhlRhI9FyxaRC4VK94mLaFqIXi7noapm6DJ7Zs/UMSYj8Y88kbnhk11u8BrCc/wqig7HuLKQjAs8GkNp2WqnlfHgPqfahU7J+LXZJ9+oIWwHfBqGEzcp1dCr+5wRPw4C6Hr1RQZcLlXMhjyc1vHvFSbFHuelsPC28+VKnL8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694558582832714.1792913374114; Tue, 12 Sep 2023 15:43:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgC4V-0002Og-Ek; Tue, 12 Sep 2023 18:41:27 -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 1qgC4T-0002OX-9x for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:25 -0400 Received: from mail-pf1-x42e.google.com ([2607:f8b0:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qgC4R-00017M-0u for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:25 -0400 Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-68fcb4dc8a9so2257004b3a.2 for ; Tue, 12 Sep 2023 15:41:22 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:78d2:b862:10a7:d486]) by smtp.gmail.com with ESMTPSA id l13-20020a170902d34d00b001bbbc655ca1sm8996977plk.219.2023.09.12.15.41.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 15:41:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1694558482; x=1695163282; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2Hs61unU0rT5Xs/IozPbclEmnlWYOJEOWqFw7vuLJvQ=; b=QbKTefABaFyK/tgOPQlpymvyIf/yeibV6J82dhhcdR5iiygpp5i5WuXc9Xz9fgfrQ6 1//LPn9/UgV1PIFzQ7wzrfeonNwxHdq/PAu5pnvKXp+YIGJS27+//stICraoeA8CE3CD ui6T9ewYk5T4bRLwUYNC7TldtPWZq9ORMkERlK12VBvYMSxqNiBEI8rj7uOjEQXJ4Pi2 wdLbE2jRaUs3DKGgFHPtvRwnUh9ALB5PjTCSpcSMlYr7SOOiGE2TpE5b+ufHYjlJBIpY OcizLP9O3/C5nV8G83sgrZj9fQW4MCNHjX7vIJnoUOe/nb+jc3q+dly29E5oJJeTgQ1A rd1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694558482; x=1695163282; 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=2Hs61unU0rT5Xs/IozPbclEmnlWYOJEOWqFw7vuLJvQ=; b=hLCc4jeQhfKBtzO8H1B2SsU+IyQcYdIQt7YX/YzCHb7Ul03itGSGA3l9ArASplRbTn 3ZGKbwrS9RFxmmExPT3n9BzYnVcJlaLJdkWTLH6jEUbM0JNHvayNoISgUt/W3JRjHLkr jvw8+L1tVYEvFnWOLXYZR2Qr4a7jgBMvWBDy0AYiVjc/nbgZasPPW4M3eQOa3t3sa1h9 BPMDI1L4b6zBRI+CGq8ZQMtpAkq9NjBM/xgeeZQ9rlcz3zvgc4hc3JsJMSo38pYn/HEE djTTn2/xe812eAgUnlga1rtYeA7I6bRJWPW5+QexihuI9+Wut54fMoqw6ZPC+jsXGegR JbWw== X-Gm-Message-State: AOJu0Yz5ZyTxnIcGsgGIB2Xd8f1MHRj+N2ndRkEX+i8nwhc4V/IWzc1L 2ermFc2+qDIVXzzgACsb70btmQ== X-Google-Smtp-Source: AGHT+IGENkkdSzk4R+kSR94Tc5R6Dz46kJwj+umtZ23x+JxuZu6I28u/W8ms/Jea7DgZtRGcVWDrUQ== X-Received: by 2002:a05:6a21:7782:b0:138:60e:9bb with SMTP id bd2-20020a056a21778200b00138060e09bbmr585059pzc.28.1694558481776; Tue, 12 Sep 2023 15:41:21 -0700 (PDT) From: Akihiko Odaki To: Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Mikhail Tyutin , Aleksandr Anenkov , qemu-devel@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Akihiko Odaki , Alexandre Iooss , Mahmoud Mandour Subject: [PATCH v3 04/12] contrib/plugins: Use GRWLock in execlog Date: Wed, 13 Sep 2023 07:40:53 +0900 Message-ID: <20230912224107.29669-5-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230912224107.29669-1-akihiko.odaki@daynix.com> References: <20230912224107.29669-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::42e; envelope-from=akihiko.odaki@daynix.com; helo=mail-pf1-x42e.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20230601.gappssmtp.com) X-ZM-MESSAGEID: 1694558584029100003 execlog had the following comment: > As we could have multiple threads trying to do this we need to > serialise the expansion under a lock. Threads accessing already > created entries can continue without issue even if the ptr array > gets reallocated during resize. However, when the ptr array gets reallocated, the other threads may have a stale reference to the old buffer. This results in use-after-free. Use GRWLock to properly fix this issue. Fixes: 3d7caf145e ("contrib/plugins: add execlog to log instruction executi= on and memory access") Signed-off-by: Akihiko Odaki Reviewed-by: Alex Benn=C3=A9e --- contrib/plugins/execlog.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/contrib/plugins/execlog.c b/contrib/plugins/execlog.c index 7129d526f8..82dc2f584e 100644 --- a/contrib/plugins/execlog.c +++ b/contrib/plugins/execlog.c @@ -19,7 +19,7 @@ QEMU_PLUGIN_EXPORT int qemu_plugin_version =3D QEMU_PLUGI= N_VERSION; =20 /* Store last executed instruction on each vCPU as a GString */ static GPtrArray *last_exec; -static GMutex expand_array_lock; +static GRWLock expand_array_lock; =20 static GPtrArray *imatches; static GArray *amatches; @@ -28,18 +28,16 @@ static GArray *amatches; * Expand last_exec array. * * As we could have multiple threads trying to do this we need to - * serialise the expansion under a lock. Threads accessing already - * created entries can continue without issue even if the ptr array - * gets reallocated during resize. + * serialise the expansion under a lock. */ static void expand_last_exec(int cpu_index) { - g_mutex_lock(&expand_array_lock); + g_rw_lock_writer_lock(&expand_array_lock); while (cpu_index >=3D last_exec->len) { GString *s =3D g_string_new(NULL); g_ptr_array_add(last_exec, s); } - g_mutex_unlock(&expand_array_lock); + g_rw_lock_writer_unlock(&expand_array_lock); } =20 /** @@ -51,8 +49,10 @@ static void vcpu_mem(unsigned int cpu_index, qemu_plugin= _meminfo_t info, GString *s; =20 /* Find vCPU in array */ + g_rw_lock_reader_lock(&expand_array_lock); g_assert(cpu_index < last_exec->len); s =3D g_ptr_array_index(last_exec, cpu_index); + g_rw_lock_reader_unlock(&expand_array_lock); =20 /* Indicate type of memory access */ if (qemu_plugin_mem_is_store(info)) { @@ -80,10 +80,14 @@ static void vcpu_insn_exec(unsigned int cpu_index, void= *udata) GString *s; =20 /* Find or create vCPU in array */ + g_rw_lock_reader_lock(&expand_array_lock); if (cpu_index >=3D last_exec->len) { + g_rw_lock_reader_unlock(&expand_array_lock); expand_last_exec(cpu_index); + g_rw_lock_reader_lock(&expand_array_lock); } s =3D g_ptr_array_index(last_exec, cpu_index); + g_rw_lock_reader_unlock(&expand_array_lock); =20 /* Print previous instruction in cache */ if (s->len) { --=20 2.42.0 From nobody Thu May 9 20:56:23 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1694558573; cv=none; d=zohomail.com; s=zohoarc; b=a9D/OmL7INWl8gyxxMmVmogHhm1g18tEoVk9iuJItOisBTKBVvFZXeZURk+xZ4xA/B1RlZTpd3Ru1tPtsx5+zqwC9+Ek4oSp15KZyBagYd2NBsoAUUZlQDgg1aDcjeckfGBwNN2E5h8DUttNLSOaLyvmDojnWm6jdxSCJH3BvJk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694558573; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=CedVxHJ+oz37gJfW0cEaF8Er5xU6ptIC3yEdTuWYIg0=; b=LzYhHUtcLlFj7jKk0hLuNn0NzTX/nq9QCdFrttH1/ykBoOKcPcEUocHr6NN4JLACzn62mfuaV+gDuRgX9Ot49ayn0rAe8ZxAgP1S9YNRRk3Z/2392C64Wfgx008hcAs3fQYN5kLV0B7HF/jkXn0V+BB8rB1LbirYgZEz/oBuB8w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694558573796759.5872420586353; Tue, 12 Sep 2023 15:42:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgC4Z-0002QX-0G; Tue, 12 Sep 2023 18:41:31 -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 1qgC4X-0002P2-1g for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:29 -0400 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qgC4U-00018A-7L for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:28 -0400 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-1c0ecb9a075so45561955ad.2 for ; Tue, 12 Sep 2023 15:41:25 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:78d2:b862:10a7:d486]) by smtp.gmail.com with ESMTPSA id l13-20020a170902d34d00b001bbbc655ca1sm8996977plk.219.2023.09.12.15.41.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 15:41:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1694558485; x=1695163285; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CedVxHJ+oz37gJfW0cEaF8Er5xU6ptIC3yEdTuWYIg0=; b=SnEI7slQ17f/MOs5YixJA4vwC85BLGPKybNg2Zrs/Np2+AMOXVkHaMI6q0y4vOOgQB FWONcR5mMkxRhBJvcB9c79z4o3Idzk0Shs0W2/xVb2HudDOCAWCkdmKKWDX3ei3uniDm 3p+QK2CWUs6LiADHd40tpsvC26KLaUcZH4Ry2lp0DjKrjlqQwn/n47i0LpmTpl2vq+0A Pt2rM0FJ/nprDn5BSeGD78oPih3KxJrH4eZYjPfp06csyyeBmtrxpyQy11kkBNWKvauJ 35/IJ7qTpm80AUHHLE96chplP/OpZC1J+w9eclmsMvqd09bfWS33O97MU/D/Ix2BY/81 C8Vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694558485; x=1695163285; 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=CedVxHJ+oz37gJfW0cEaF8Er5xU6ptIC3yEdTuWYIg0=; b=QsCDcBEcfnhdW7gw2namcUdCNCYCRdy56l/KJj68nhKu1pOXlIAwo8thnbEc5D5spz pqVztbPebysws3usktLF0htbkF4PASmu5QDRP8vcLb2swbc9kd6Z04TesBChgjjANA3X xoxiz2BuFDY2s/eX3IbtkRdtTqQAGmeG8dUajJLEJOFy4cvwLb2J72Ij1FApTWgr9W8e rijND7Gtn3Cz/C8l/vCAR8NfWXXcc7zYJAlqA8H7AvAAjW3GAmgxes+ht7HbyhRLCH+a hfGRaQ2Kn1W1abk8w+OxHx1bv+mOb+nZFuY3uxYFyRkji+6EZbbum7IUtsZJloVpAdSS X7gQ== X-Gm-Message-State: AOJu0YwhA7lv1Ldd7xWBZMf0gSIfDYUo/XZVhmqWNQezZ6VKNjlp0Agw RMPoMJNrV38CGiJ3OFBV+rUQ6Q== X-Google-Smtp-Source: AGHT+IHuFEyBVdFLZ9fXkJlwPmfe00dMUQ5bguSqvCOq4WxbKkKNPJNd3y3EGpZ4VkG5ASS8yIR52g== X-Received: by 2002:a17:902:b490:b0:1c0:c0af:ba59 with SMTP id y16-20020a170902b49000b001c0c0afba59mr1054785plr.34.1694558484913; Tue, 12 Sep 2023 15:41:24 -0700 (PDT) From: Akihiko Odaki To: Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Mikhail Tyutin , Aleksandr Anenkov , qemu-devel@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Akihiko Odaki , Richard Henderson , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Thomas Huth , John Snow , Cleber Rosa Subject: [PATCH v3 05/12] gdbstub: Introduce GDBFeature structure Date: Wed, 13 Sep 2023 07:40:54 +0900 Message-ID: <20230912224107.29669-6-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230912224107.29669-1-akihiko.odaki@daynix.com> References: <20230912224107.29669-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62a; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62a.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20230601.gappssmtp.com) X-ZM-MESSAGEID: 1694558575397100005 Before this change, the information from a XML file was stored in an array that is not descriptive. Introduce a dedicated structure type to make it easier to understand and to extend with more fields. Signed-off-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Richard Henderson --- MAINTAINERS | 2 +- meson.build | 2 +- include/exec/gdbstub.h | 9 ++++-- gdbstub/gdbstub.c | 6 ++-- stubs/gdbstub.c | 6 ++-- scripts/feature_to_c.py | 48 ++++++++++++++++++++++++++++ scripts/feature_to_c.sh | 69 ----------------------------------------- 7 files changed, 63 insertions(+), 79 deletions(-) create mode 100755 scripts/feature_to_c.py delete mode 100644 scripts/feature_to_c.sh diff --git a/MAINTAINERS b/MAINTAINERS index 6111b6b4d9..61ff9234d3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2826,7 +2826,7 @@ F: include/exec/gdbstub.h F: include/gdbstub/* F: gdb-xml/ F: tests/tcg/multiarch/gdbstub/ -F: scripts/feature_to_c.sh +F: scripts/feature_to_c.py F: scripts/probe-gdb-support.py =20 Memory API diff --git a/meson.build b/meson.build index 98e68ef0b1..5c633f7e01 100644 --- a/meson.build +++ b/meson.build @@ -3683,7 +3683,7 @@ common_all =3D static_library('common', dependencies: common_all.dependencies(), name_suffix: 'fa') =20 -feature_to_c =3D find_program('scripts/feature_to_c.sh') +feature_to_c =3D find_program('scripts/feature_to_c.py') =20 if targetos =3D=3D 'darwin' entitlement =3D find_program('scripts/entitlement.sh') diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h index 16a139043f..705be2c5d7 100644 --- a/include/exec/gdbstub.h +++ b/include/exec/gdbstub.h @@ -10,6 +10,11 @@ #define GDB_WATCHPOINT_READ 3 #define GDB_WATCHPOINT_ACCESS 4 =20 +typedef struct GDBFeature { + const char *xmlname; + const char *xml; +} GDBFeature; + =20 /* Get or set a register. Returns the size of the register. */ typedef int (*gdb_get_reg_cb)(CPUArchState *env, GByteArray *buf, int reg); @@ -48,7 +53,7 @@ void gdb_set_stop_cpu(CPUState *cpu); */ bool gdb_has_xml(void); =20 -/* in gdbstub-xml.c, generated by scripts/feature_to_c.sh */ -extern const char *const xml_builtin[][2]; +/* in gdbstub-xml.c, generated by scripts/feature_to_c.py */ +extern const GDBFeature gdb_static_features[]; =20 #endif diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c index 384191bcb0..12f4d07046 100644 --- a/gdbstub/gdbstub.c +++ b/gdbstub/gdbstub.c @@ -408,11 +408,11 @@ static const char *get_feature_xml(const char *p, con= st char **newp, } } /* Is it one of the encoded gdb-xml/ files? */ - for (int i =3D 0; xml_builtin[i][0]; i++) { - const char *name =3D xml_builtin[i][0]; + for (int i =3D 0; gdb_static_features[i].xmlname; i++) { + const char *name =3D gdb_static_features[i].xmlname; if ((strncmp(name, p, len) =3D=3D 0) && strlen(name) =3D=3D len) { - return xml_builtin[i][1]; + return gdb_static_features[i].xml; } } =20 diff --git a/stubs/gdbstub.c b/stubs/gdbstub.c index 2b7aee50d3..580e20702b 100644 --- a/stubs/gdbstub.c +++ b/stubs/gdbstub.c @@ -1,6 +1,6 @@ #include "qemu/osdep.h" -#include "exec/gdbstub.h" /* xml_builtin */ +#include "exec/gdbstub.h" /* gdb_static_features */ =20 -const char *const xml_builtin[][2] =3D { - { NULL, NULL } +const GDBFeature gdb_static_features[] =3D { + { NULL } }; diff --git a/scripts/feature_to_c.py b/scripts/feature_to_c.py new file mode 100755 index 0000000000..bcbcb83beb --- /dev/null +++ b/scripts/feature_to_c.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: GPL-2.0-or-later + +import os, sys + +def writeliteral(indent, bytes): + sys.stdout.write(' ' * indent) + sys.stdout.write('"') + quoted =3D True + + for c in bytes: + if not quoted: + sys.stdout.write('\n') + sys.stdout.write(' ' * indent) + sys.stdout.write('"') + quoted =3D True + + if c =3D=3D b'"'[0]: + sys.stdout.write('\\"') + elif c =3D=3D b'\\'[0]: + sys.stdout.write('\\\\') + elif c =3D=3D b'\n'[0]: + sys.stdout.write('\\n"') + quoted =3D False + elif c >=3D 32 and c < 127: + sys.stdout.write(c.to_bytes(1, 'big').decode()) + else: + sys.stdout.write(f'\{c:03o}') + + if quoted: + sys.stdout.write('"') + +sys.stdout.write('#include "qemu/osdep.h"\n' \ + '#include "exec/gdbstub.h"\n' \ + '\n' + 'const GDBFeature gdb_static_features[] =3D {\n') + +for input in sys.argv[1:]: + with open(input, 'rb') as file: + read =3D file.read() + + sys.stdout.write(' {\n') + writeliteral(8, bytes(os.path.basename(input), 'utf-8')) + sys.stdout.write(',\n') + writeliteral(8, read) + sys.stdout.write('\n },\n') + +sys.stdout.write(' { NULL }\n};\n') diff --git a/scripts/feature_to_c.sh b/scripts/feature_to_c.sh deleted file mode 100644 index c1f67c8f6a..0000000000 --- a/scripts/feature_to_c.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/sh - -# Convert text files to compilable C arrays. -# -# Copyright (C) 2007 Free Software Foundation, Inc. -# -# This file is part of GDB. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . - -if test -z "$1"; then - echo "Usage: $0 INPUTFILE..." - exit 1 -fi - -for input; do - arrayname=3Dxml_feature_$(echo $input | sed 's,.*/,,; s/[-.]/_/g') - - ${AWK:-awk} 'BEGIN { n =3D 0 - printf "#include \"qemu/osdep.h\"\n" - print "static const char '$arrayname'[] =3D {" - for (i =3D 0; i < 255; i++) - _ord_[sprintf("%c", i)] =3D i - } { - split($0, line, ""); - printf " " - for (i =3D 1; i <=3D length($0); i++) { - c =3D line[i] - if (c =3D=3D "'\''") { - printf "'\''\\'\'''\'', " - } else if (c =3D=3D "\\") { - printf "'\''\\\\'\'', " - } else if (_ord_[c] >=3D 32 && _ord_[c] < 127) { - printf "'\''%s'\'', ", c - } else { - printf "'\''\\%03o'\'', ", _ord_[c] - } - if (i % 10 =3D=3D 0) - printf "\n " - } - printf "'\''\\n'\'', \n" - } END { - print " 0 };" - }' < $input -done - -echo -echo '#include "exec/gdbstub.h"' -echo "const char *const xml_builtin[][2] =3D {" - -for input; do - basename=3D$(echo $input | sed 's,.*/,,') - arrayname=3Dxml_feature_$(echo $input | sed 's,.*/,,; s/[-.]/_/g') - echo " { \"$basename\", $arrayname }," -done - -echo " { (char *)0, (char *)0 }" -echo "};" --=20 2.42.0 From nobody Thu May 9 20:56:23 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1694558576; cv=none; d=zohomail.com; s=zohoarc; b=GSbuQe/fsAzyJpfeGEAR1oHmvmerDmzIaH2F43pfo+TLzVqrNRS4/87c0m+01s9KJwJ4os8fiE0xWLKuDbCuOiXr5wtUkfS7QcNqbP2FdVZQH5hAp4+/sOVA+B/Gu4VZpX8Sz7Ycyjvh+FVXWkEUr6My3ohAjZOj7R+5Ny1KY/0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694558576; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=H0ux6zXnF8QbZYj0sOR52aBDTFuqL60bkneT20E5OaM=; b=k4qa0nLqCdtidrMo6JvaHPBmyo30FttAn6bFesrEPzpEYv/kzVtBPg/qVb+8VayPfSNFLTcB5uQiAO8f2VpCYJCwoqPJtLwZpazuYDzsrH4vS3OMOWp4OKh0G4rfy2c9K01nk9eKcfCgOx71ige4Ylrq5AuhRg/UDQhesqd+ujU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694558576721143.71302711673695; Tue, 12 Sep 2023 15:42:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgC4b-0002ZS-Ie; Tue, 12 Sep 2023 18:41:33 -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 1qgC4Z-0002Uo-OB for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:31 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qgC4W-00018T-IZ for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:31 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1c09673b006so42995275ad.1 for ; Tue, 12 Sep 2023 15:41:28 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:78d2:b862:10a7:d486]) by smtp.gmail.com with ESMTPSA id l13-20020a170902d34d00b001bbbc655ca1sm8996977plk.219.2023.09.12.15.41.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 15:41:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1694558487; x=1695163287; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=H0ux6zXnF8QbZYj0sOR52aBDTFuqL60bkneT20E5OaM=; b=Zcqi3TVsPwqKUD3MRT81zC5q0rPWrrq4Q9V/5f033HgYcECyKzB9BPOEn2ctZmulNm xwLBJwJE24yM78U94sRciNPty80ucup94vYKE/bwVnXdvqM02twwjfO5i8hDuybpWeTn f5B6E9cjGdCjJSRFOxmy3/ulHs8MVBxEQjqEHi4xEbpO0Vqy3ziWqrlwP6lb9wtjssQ7 hea+CMt5sMm861F+jBng9zEfdIX1krgTPCEMqJshtT0OPM5SGwYGjHX5fD2gimyp7REG s3qiDEFb24rB7IJYzPARH3nMl6QSpr1rNIU3ohCp2UxUfzjd3Wcwsnauf1d8qsU6xUAb vHJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694558487; x=1695163287; 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=H0ux6zXnF8QbZYj0sOR52aBDTFuqL60bkneT20E5OaM=; b=tRqQ80GD0aZMHY4Ha9xGqIl3tPMB7bzV7cJP84lOOWXmJCgCv/1GK7YkaC4UHiud1u vhOWePwiY2y1YClTSt+LmNIzavLDPwuluFId/YI9vl3AYfIxsp7WBaTxXX4r24jAu++W lFYcmFxXAJOfFF2WakU+mkKa6OldnPqKjVs6oOt76wpFImQGrC0k7M6jEZANSui0q1IA S4B0GnQyJSZk5m9pQ8QU5vmEMaU4htuvJxEtJIh6DvzF8l1id4c0zZP99PhcU2QQ7F8/ QTJUmgiEHSvmAHi++Cy5TzQKFDElYZzUPYWyklsxQ5p1g2SYNpplahmLDVhl+Jw98h+z ssSw== X-Gm-Message-State: AOJu0YzSptFCQrkH2tCtFPa0vC9Lnb4OftDGgJ7f8OXfrQnHxI1/E9Pm 66XFKxTs5sM+Zj/EXjoZTgvIdA== X-Google-Smtp-Source: AGHT+IF1JHr2yhceeRbbHBmXUjE1ZbMqi5N8MdlStT9aWvV7Aot386QLD+UHRoYKWUfWWubhMd/t5w== X-Received: by 2002:a17:903:22c9:b0:1c0:9d6f:9d28 with SMTP id y9-20020a17090322c900b001c09d6f9d28mr1356064plg.11.1694558487322; Tue, 12 Sep 2023 15:41:27 -0700 (PDT) From: Akihiko Odaki To: Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Mikhail Tyutin , Aleksandr Anenkov , qemu-devel@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Akihiko Odaki , Richard Henderson , Peter Maydell , qemu-arm@nongnu.org (open list:ARM TCG CPUs) Subject: [PATCH v3 06/12] target/arm: Move the reference to arm-core.xml Date: Wed, 13 Sep 2023 07:40:55 +0900 Message-ID: <20230912224107.29669-7-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230912224107.29669-1-akihiko.odaki@daynix.com> References: <20230912224107.29669-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62c; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62c.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20230601.gappssmtp.com) X-ZM-MESSAGEID: 1694558577830100015 Content-Type: text/plain; charset="utf-8" Some subclasses overwrite gdb_core_xml_file member but others don't. Always initialize the member in the subclasses for consistency. This especially helps for AArch64; in a following change, the file specified by gdb_core_xml_file is always looked up even if it's going to be overwritten later. Looking up arm-core.xml results in an error as it will not be embedded in the AArch64 build. Signed-off-by: Akihiko Odaki Reviewed-by: Richard Henderson --- target/arm/cpu.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 0bb0585441..6ff6ff2d55 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -2389,7 +2389,6 @@ static void arm_cpu_class_init(ObjectClass *oc, void = *data) cc->sysemu_ops =3D &arm_sysemu_ops; #endif cc->gdb_num_core_regs =3D 26; - cc->gdb_core_xml_file =3D "arm-core.xml"; cc->gdb_arch_name =3D arm_gdb_arch_name; cc->gdb_get_dynamic_xml =3D arm_gdb_get_dynamic_xml; cc->gdb_stop_before_watchpoint =3D true; @@ -2411,8 +2410,10 @@ static void arm_cpu_instance_init(Object *obj) static void cpu_register_class_init(ObjectClass *oc, void *data) { ARMCPUClass *acc =3D ARM_CPU_CLASS(oc); + CPUClass *cc =3D CPU_CLASS(acc); =20 acc->info =3D data; + cc->gdb_core_xml_file =3D "arm-core.xml"; } =20 void arm_cpu_register(const ARMCPUInfo *info) --=20 2.42.0 From nobody Thu May 9 20:56:23 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1694558574; cv=none; d=zohomail.com; s=zohoarc; b=T50UJ44WbVbMYo7PQdIZkjUzquaPmmC6vLB9huZK28NUimFN+SuzHKwo+STeAUvVPUWYbGpfNsJhB2riCF/MlTuoyzembz4a01yQTrNIdc1ta2ufVF4EM5QPgfQKJhPPAhXtsern8T99913+MB962SFc/wOKbgDIL2eED36JiX0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694558574; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=k/YKq4wnvg2qIgTbMwp6QJwopVfOdxBAFQMm/Ze0iPE=; b=h3IS5KH1wNQ9zotgtwO6qgEdO39NzVpqK2c+2dmaDIoOnaadK1hywdrJh//hhz3wo2IkoiPAfeKk77FpOjZE/Ef3xFCs2HeMbg0xsi6uShEEGQq35DXZTYnacrpF3zsMFOfTsUf0tgZ8DaHN5s1tkPRx/7yAcOkfgTD0DFiCJ1A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694558574080413.74213105242814; Tue, 12 Sep 2023 15:42:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgC4j-0002eC-Be; Tue, 12 Sep 2023 18:41:41 -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 1qgC4h-0002dt-Nr for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:39 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qgC4c-00019C-Ff for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:39 -0400 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-1bf55a81eeaso43092645ad.0 for ; Tue, 12 Sep 2023 15:41:34 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:78d2:b862:10a7:d486]) by smtp.gmail.com with ESMTPSA id l13-20020a170902d34d00b001bbbc655ca1sm8996977plk.219.2023.09.12.15.41.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 15:41:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1694558493; x=1695163293; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=k/YKq4wnvg2qIgTbMwp6QJwopVfOdxBAFQMm/Ze0iPE=; b=RU1kGbjkFfee4ol4hXfaXfR49GHdW6YN/dw0dcs9kQq6tPAUdedkrOjBaXOWHJbpG0 V+ZM6p0DqJGMrFpggUE+AI28nESQUAf0QqM5uDeG1QoWxUgRWWeUAWgF9GE+hOG/XgI3 /9G+WT5vkPF7TvfxvDwO0VyLABnHcctDOmiZAtguNNIMvN8vCgN5K4RAGnOe9ff2YKuL v+vRKPGBd+LmXoA/cH+0GgWcLBDANoaU+EF6cmqKLBxkg4ya1UdER7pOKgBQmHdzd57b 4rgtybyA9rjqkjN2JOjkwpgqwTuzo6xP0ZmH74iaf9Wn3j3rJwiFIMF7V1sFU2M2ZXQ6 kLgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694558493; x=1695163293; 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=k/YKq4wnvg2qIgTbMwp6QJwopVfOdxBAFQMm/Ze0iPE=; b=aYexhPZ+v6UUATK4Qot2aGbiwacOLoMi467STeYjRmRILrcf6DK/eZYp3HkOtQYxh5 UJn7ylV+AB5plraSWqBEclXtK2MiNh7Fo2cdyWbI8mNrdTW9LLV8TTiJF5FhrmFZE50Q YA90oDMBesYnwtvOIgbnOPHWEtEuOYmCk1Fqh8tIX8NoW44L3C4ZFbDRbEB7G4UKZG/w kDE5afKbLghNr9/Atxo8qSMnCJymAFl1Kdz4xb0542Y3dlobdFexZTWBgkoPeNb5FHAm kf1gWMsjgMJluAORAfW0xUB1rYS5C0074DetndqeocCbUhV2wYtmqw5c4VJZJqnmdgUI TFTA== X-Gm-Message-State: AOJu0YzyBTGZZU/R4qYC4XJ4RCk8b+wzM+uWnUJlXbPWZb5nMc+g6kxp krHXalhOuFgS2/S9Xvlcs3sh2w== X-Google-Smtp-Source: AGHT+IHX0RD+iIToge+0jCf4ocPglhvNJ0y8SNdXPpqaFJnlaRVgV0r26Fcekofw2zrEDBNEkHWDGg== X-Received: by 2002:a17:902:ea11:b0:1bc:73bf:304c with SMTP id s17-20020a170902ea1100b001bc73bf304cmr1555631plg.48.1694558493399; Tue, 12 Sep 2023 15:41:33 -0700 (PDT) From: Akihiko Odaki To: Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Mikhail Tyutin , Aleksandr Anenkov , qemu-devel@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Akihiko Odaki , Eduardo Habkost , Marcel Apfelbaum , Yanan Wang , Peter Maydell , Song Gao , Xiaojuan Yang , Daniel Henrique Barboza , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , David Gibson , Greg Kurz , Nicholas Piggin , Palmer Dabbelt , Alistair Francis , Bin Meng , Weiwei Li , Liu Zhiwei , Thomas Huth , Richard Henderson , David Hildenbrand , Ilya Leoshkevich , Bastian Koppelmann , qemu-arm@nongnu.org (open list:ARM TCG CPUs), qemu-ppc@nongnu.org (open list:PowerPC TCG CPUs), qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs), qemu-s390x@nongnu.org (open list:S390 general arch...) Subject: [PATCH v3 07/12] hw/core/cpu: Return static value with gdb_arch_name() Date: Wed, 13 Sep 2023 07:40:56 +0900 Message-ID: <20230912224107.29669-8-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230912224107.29669-1-akihiko.odaki@daynix.com> References: <20230912224107.29669-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::636; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x636.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20230601.gappssmtp.com) X-ZM-MESSAGEID: 1694558576230100009 All implementations of gdb_arch_name() returns dynamic duplicates of static strings. It's also unlikely that there will be an implementation of gdb_arch_name() that returns a truly dynamic value due to the nature of the function returning a well-known identifiers. Qualify the value gdb_arch_name() with const and make all of its implementations return static strings. Signed-off-by: Akihiko Odaki Reviewed-by: Alex Benn=C3=A9e --- include/hw/core/cpu.h | 2 +- target/ppc/internal.h | 2 +- gdbstub/gdbstub.c | 3 +-- target/arm/cpu.c | 6 +++--- target/arm/cpu64.c | 4 ++-- target/i386/cpu.c | 6 +++--- target/loongarch/cpu.c | 8 ++++---- target/ppc/gdbstub.c | 6 +++--- target/riscv/cpu.c | 6 +++--- target/s390x/cpu.c | 4 ++-- target/tricore/cpu.c | 4 ++-- 11 files changed, 25 insertions(+), 26 deletions(-) diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index fdcbe87352..4f5c7eb04e 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -164,7 +164,7 @@ struct CPUClass { vaddr (*gdb_adjust_breakpoint)(CPUState *cpu, vaddr addr); =20 const char *gdb_core_xml_file; - gchar * (*gdb_arch_name)(CPUState *cpu); + const gchar * (*gdb_arch_name)(CPUState *cpu); const char * (*gdb_get_dynamic_xml)(CPUState *cpu, const char *xmlname= ); =20 void (*disas_set_info)(CPUState *cpu, disassemble_info *info); diff --git a/target/ppc/internal.h b/target/ppc/internal.h index 57acb3212c..974b37aa60 100644 --- a/target/ppc/internal.h +++ b/target/ppc/internal.h @@ -221,7 +221,7 @@ void destroy_ppc_opcodes(PowerPCCPU *cpu); =20 /* gdbstub.c */ void ppc_gdb_init(CPUState *cs, PowerPCCPUClass *ppc); -gchar *ppc_gdb_arch_name(CPUState *cs); +const gchar *ppc_gdb_arch_name(CPUState *cs); =20 /** * prot_for_access_type: diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c index 12f4d07046..9db4af41c1 100644 --- a/gdbstub/gdbstub.c +++ b/gdbstub/gdbstub.c @@ -380,10 +380,9 @@ static const char *get_feature_xml(const char *p, cons= t char **newp, ""); =20 if (cc->gdb_arch_name) { - g_autofree gchar *arch =3D cc->gdb_arch_name(cpu); g_string_append_printf(xml, "%s", - arch); + cc->gdb_arch_name(cpu)); } g_string_append(xml, "gdb_core_xml_file); diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 6ff6ff2d55..a13c609249 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -2316,15 +2316,15 @@ static Property arm_cpu_properties[] =3D { DEFINE_PROP_END_OF_LIST() }; =20 -static gchar *arm_gdb_arch_name(CPUState *cs) +static const gchar *arm_gdb_arch_name(CPUState *cs) { ARMCPU *cpu =3D ARM_CPU(cs); CPUARMState *env =3D &cpu->env; =20 if (arm_feature(env, ARM_FEATURE_IWMMXT)) { - return g_strdup("iwmmxt"); + return "iwmmxt"; } - return g_strdup("arm"); + return "arm"; } =20 #ifndef CONFIG_USER_ONLY diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 96158093cc..6b91aab6b7 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -743,9 +743,9 @@ static void aarch64_cpu_finalizefn(Object *obj) { } =20 -static gchar *aarch64_gdb_arch_name(CPUState *cs) +static const gchar *aarch64_gdb_arch_name(CPUState *cs) { - return g_strdup("aarch64"); + return "aarch64"; } =20 static void aarch64_cpu_class_init(ObjectClass *oc, void *data) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 00f913b638..5678b52472 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -5914,12 +5914,12 @@ static void x86_cpu_load_model(X86CPU *cpu, X86CPUM= odel *model) memset(&env->user_features, 0, sizeof(env->user_features)); } =20 -static gchar *x86_gdb_arch_name(CPUState *cs) +static const gchar *x86_gdb_arch_name(CPUState *cs) { #ifdef TARGET_X86_64 - return g_strdup("i386:x86-64"); + return "i386:x86-64"; #else - return g_strdup("i386"); + return "i386"; #endif } =20 diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c index 27fc6e1f33..f88cfa93ce 100644 --- a/target/loongarch/cpu.c +++ b/target/loongarch/cpu.c @@ -763,9 +763,9 @@ static void loongarch_cpu_class_init(ObjectClass *c, vo= id *data) #endif } =20 -static gchar *loongarch32_gdb_arch_name(CPUState *cs) +static const gchar *loongarch32_gdb_arch_name(CPUState *cs) { - return g_strdup("loongarch32"); + return "loongarch32"; } =20 static void loongarch32_cpu_class_init(ObjectClass *c, void *data) @@ -777,9 +777,9 @@ static void loongarch32_cpu_class_init(ObjectClass *c, = void *data) cc->gdb_arch_name =3D loongarch32_gdb_arch_name; } =20 -static gchar *loongarch64_gdb_arch_name(CPUState *cs) +static const gchar *loongarch64_gdb_arch_name(CPUState *cs) { - return g_strdup("loongarch64"); + return "loongarch64"; } =20 static void loongarch64_cpu_class_init(ObjectClass *c, void *data) diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c index 2ad11510bf..778ef73bd7 100644 --- a/target/ppc/gdbstub.c +++ b/target/ppc/gdbstub.c @@ -589,12 +589,12 @@ static int gdb_set_vsx_reg(CPUPPCState *env, uint8_t = *mem_buf, int n) return 0; } =20 -gchar *ppc_gdb_arch_name(CPUState *cs) +const gchar *ppc_gdb_arch_name(CPUState *cs) { #if defined(TARGET_PPC64) - return g_strdup("powerpc:common64"); + return "powerpc:common64"; #else - return g_strdup("powerpc:common"); + return "powerpc:common"; #endif } =20 diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 6b93b04453..ef8faaaff5 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -1939,17 +1939,17 @@ static Property riscv_cpu_properties[] =3D { DEFINE_PROP_END_OF_LIST(), }; =20 -static gchar *riscv_gdb_arch_name(CPUState *cs) +static const gchar *riscv_gdb_arch_name(CPUState *cs) { RISCVCPU *cpu =3D RISCV_CPU(cs); CPURISCVState *env =3D &cpu->env; =20 switch (riscv_cpu_mxl(env)) { case MXL_RV32: - return g_strdup("riscv:rv32"); + return "riscv:rv32"; case MXL_RV64: case MXL_RV128: - return g_strdup("riscv:rv64"); + return "riscv:rv64"; default: g_assert_not_reached(); } diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c index df167493c3..cf4b5e43f2 100644 --- a/target/s390x/cpu.c +++ b/target/s390x/cpu.c @@ -284,9 +284,9 @@ static void s390_cpu_initfn(Object *obj) #endif } =20 -static gchar *s390_gdb_arch_name(CPUState *cs) +static const gchar *s390_gdb_arch_name(CPUState *cs) { - return g_strdup("s390:64-bit"); + return "s390:64-bit"; } =20 static Property s390x_cpu_properties[] =3D { diff --git a/target/tricore/cpu.c b/target/tricore/cpu.c index 133a9ac70e..44e3ba6f0e 100644 --- a/target/tricore/cpu.c +++ b/target/tricore/cpu.c @@ -29,9 +29,9 @@ static inline void set_feature(CPUTriCoreState *env, int = feature) env->features |=3D 1ULL << feature; } =20 -static gchar *tricore_gdb_arch_name(CPUState *cs) +static const gchar *tricore_gdb_arch_name(CPUState *cs) { - return g_strdup("tricore"); + return "tricore"; } =20 static void tricore_cpu_set_pc(CPUState *cs, vaddr value) --=20 2.42.0 From nobody Thu May 9 20:56:23 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1694558549; cv=none; d=zohomail.com; s=zohoarc; b=f7gC19WEyQUm+++ch0Mc8ZzyvtFmNGvNy6sz+zei4Sh1udu9dOhDPG9KW5FxBI68U0/Wi2WlEawrM8n3mKtZ6hBF9V08rI7T4sWHvR75shjDlbKY+zlXZjyNUk/R3sjMd5r7aPzUg1NxH3fSPCHO7IRz4aobYQrfrsdAqnNwnOY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694558549; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=Gn8CX4mhnvAoaMxtFet23WVmn0SlXVQfcTqFqfgAkrg=; b=MpG5St3SBrK9T5gUKTQYPh3jkK/cZGeMnATWZ4If+KU0WTfM0TDwFPj9nbeHYYGUucw1aBBsSeS3bsv/HqoTdhJMnBJss3LKbPgFGtiARnA/SvLVnAhah6ps+FeOm0CLbm2gGC88yEAMh2Rw9MX8dtn4sr8icX/NHdh0DByIKtc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694558549722117.16005058468124; Tue, 12 Sep 2023 15:42:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgC4k-0002ew-B6; Tue, 12 Sep 2023 18:41:42 -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 1qgC4h-0002dc-Gp for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:39 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qgC4e-0001A2-IN for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:39 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1bf7423ef3eso46668135ad.3 for ; Tue, 12 Sep 2023 15:41:36 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:78d2:b862:10a7:d486]) by smtp.gmail.com with ESMTPSA id l13-20020a170902d34d00b001bbbc655ca1sm8996977plk.219.2023.09.12.15.41.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 15:41:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1694558495; x=1695163295; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Gn8CX4mhnvAoaMxtFet23WVmn0SlXVQfcTqFqfgAkrg=; b=OMUCAXSq6aerb+TiWYLYmL7Ox1kSN/legeB8q1R9b2w3rMtknCAzFUwpHeEaXpk+rj L2Lnel5j9R09XvF2fWO7b6dwwRlYkpPaMhkgrqMTrUdqCWLAFqMVNszemv0PDUYiyv/8 vGZTlPAkjOEMAiSMIl+XCRVpW8qryeEu3l1qCcnPFMv8mB3T9MqAEJTU7fdCnGh7RwBc j4MF20mmJTtFWSHt17LDNc1ttGbFAvMOPyhDsCvhypmiK1A/V1n9pBp/rjrEPPgIu/yb MCWDhFT7OmX2d5l93r1J5Fs3k2zamt6vWVgFqQk8C//MMdyJLiavBQ/9ZddJmQc9HpXE pxvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694558495; x=1695163295; 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=Gn8CX4mhnvAoaMxtFet23WVmn0SlXVQfcTqFqfgAkrg=; b=l+va7I7VBrMCmcXNiZjjKmGI7kT5AXRbMOD8khwJTv/wZXK85+tOaTjQSG7z/8jZbK HtfKI0DpodZ0YTc9/P+NvrOtj/4pJF/5W1E048ReB48yxrN/TARJbh3nNVl5F2vsQQ3X S2JlBDaT4WywWFpe79xCk6uAMBGs3Qku/OrqdaPFHOELHaXTNZ6OnlT0ToqOr5Odiby0 B5V+N8O0ewGe+4XPRREEwjeQJgLTYyC/toM9CQSuw1gfMRqDMtviU2nyP4s2SZ3pkyHD vHEBrArex5BPkZM/Ffzk1kkDpnD9rkW+kJmgvBbzo6ezGPmC4bzqE6FfWjODlqKN3biL nH2Q== X-Gm-Message-State: AOJu0YxX6SOcOB00ErX2GqAJyAn0F5Fk+40W1NvoCFDoI6S6MDVTT9Cy FOgYt99zEOiNtrKvGOWDI5ayZg== X-Google-Smtp-Source: AGHT+IGja6aIdv0yGUrDK2hXaSSBZ1pgxLxyVv1dkHY31QL4kmcgGvyPbgibZXbiRQ4f/8yz7AL8Nw== X-Received: by 2002:a17:902:d34d:b0:1c3:4361:ca1e with SMTP id l13-20020a170902d34d00b001c34361ca1emr1155754plk.38.1694558495389; Tue, 12 Sep 2023 15:41:35 -0700 (PDT) From: Akihiko Odaki To: Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Mikhail Tyutin , Aleksandr Anenkov , qemu-devel@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Akihiko Odaki Subject: [PATCH v3 08/12] gdbstub: Use g_markup_printf_escaped() Date: Wed, 13 Sep 2023 07:40:57 +0900 Message-ID: <20230912224107.29669-9-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230912224107.29669-1-akihiko.odaki@daynix.com> References: <20230912224107.29669-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62f; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62f.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20230601.gappssmtp.com) X-ZM-MESSAGEID: 1694558551548100003 Content-Type: text/plain; charset="utf-8" g_markup_printf_escaped() is a safer alternative to simple printf() as it automatically escapes values. Signed-off-by: Akihiko Odaki --- gdbstub/gdbstub.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c index 9db4af41c1..a4f2bf3723 100644 --- a/gdbstub/gdbstub.c +++ b/gdbstub/gdbstub.c @@ -373,28 +373,34 @@ static const char *get_feature_xml(const char *p, con= st char **newp, if (strncmp(p, "target.xml", len) =3D=3D 0) { if (!process->target_xml) { GDBRegisterState *r; - GString *xml =3D g_string_new(""); + g_autoptr(GPtrArray) xml =3D g_ptr_array_new_with_free_func(g_= free); =20 - g_string_append(xml, - "" - ""); + g_ptr_array_add( + xml, + g_strdup("" + "" + "")); =20 if (cc->gdb_arch_name) { - g_string_append_printf(xml, - "%s", - cc->gdb_arch_name(cpu)); + g_ptr_array_add( + xml, + g_markup_printf_escaped("%s", + cc->gdb_arch_name(cpu))); } - g_string_append(xml, "gdb_core_xml_file); - g_string_append(xml, "\"/>"); + g_ptr_array_add( + xml, + g_markup_printf_escaped("", + cc->gdb_core_xml_file)); for (r =3D cpu->gdb_regs; r; r =3D r->next) { - g_string_append(xml, "xml); - g_string_append(xml, "\"/>"); + g_ptr_array_add( + xml, + g_markup_printf_escaped("", + r->xml)); } - g_string_append(xml, ""); + g_ptr_array_add(xml, g_strdup("")); + g_ptr_array_add(xml, NULL); =20 - process->target_xml =3D g_string_free(xml, false); + process->target_xml =3D g_strjoinv(NULL, (void *)xml->pdata); } return process->target_xml; } --=20 2.42.0 From nobody Thu May 9 20:56:23 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1694558603; cv=none; d=zohomail.com; s=zohoarc; b=NY+0bba/KO5q/nzq+s/JVjLx7wBgNXpsuyppvr4MKjWY9vPneqApEkK1hk3667M5v6jn5MZlAthtZEnC/y8gkimuKHyKsGyTeHeqiWROtNVX52/MymvDH394U/4AIx49Kz9G3pH1PrOnTM8esMI9YIyjQiMq5F80JcrjtTJiPqE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694558603; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=qUVjTcjkNZmdhwavklqNnzqJkSIaiyxihMzM0GkWlyU=; b=mXAU116PJNxTO3P8/leq10U/IKQtMWLazBRh9DRd5dC3+zKKudmkBlwRIW+v1BJ//98VCu3YjWd3TsvvLRxd8LImmZxnnM4SrmKL33m2TeBy0WG4UW0dpVSzoi5ZHwS86T/9qyCw2d1chXjAw0pBelJPv2LDvQJwJJmeIqbH0j8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694558603091625.7167546167914; Tue, 12 Sep 2023 15:43:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgC4l-0002ft-ET; Tue, 12 Sep 2023 18:41:43 -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 1qgC4j-0002eA-6v for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:41 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qgC4g-0001Ac-Ta for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:40 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1bf7a6509deso42915205ad.3 for ; Tue, 12 Sep 2023 15:41:38 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:78d2:b862:10a7:d486]) by smtp.gmail.com with ESMTPSA id l13-20020a170902d34d00b001bbbc655ca1sm8996977plk.219.2023.09.12.15.41.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 15:41:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1694558497; x=1695163297; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qUVjTcjkNZmdhwavklqNnzqJkSIaiyxihMzM0GkWlyU=; b=L16HHbbwdNI5YodBI9IkvJLShReAsoemCT4McdA1yPynm/69TTAsxMb8+kDHW/g48E m4tJAE3vf2YSs7uUCjbO1Ip7FcgjNiCPLi+1It5gvVSL3CbXRqNrIaSzSFJs69kl2uWQ bzGbYyppqf7pOUoYjc99ZKhQu0rzMkxBrcfSjhsrs5NH6esuXPOQDEN7/OUGCC1yrAEn bGU9m9f58bM8whclf6N98fRCq+bxC91ROKkyapBMuG3qYfAdnykgBIjyqLmE5fTK4Wcj tx/3IeLevsC9HplUHxoxZh7ZSf/vSb7ccz+GfT5wHCl7WClpgB1iBe0qIVoK0+HiJCQW f01g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694558497; x=1695163297; 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=qUVjTcjkNZmdhwavklqNnzqJkSIaiyxihMzM0GkWlyU=; b=Q2gr4OTOFzwA+YF2N9mtuhaBhfYXa2gayYTCjFB57jUy/YZALVwgKXKqArP6DdmyR2 QL7GcrDAzmR9vyAIFfPYP5DS7Es2y9/lD1WjDwNqeUxf+dtsBibsePzKgQdvyFqgJn4v TWU3YhhITrNFGWjT2/AZlmkXHc4M08SwTOk9878M9v7o3oEdMxgDWXgUDT04BmWjkzHU HpEwV99z+ZzxS5BZMZFhMr5XIunyV1cWxLDq6fVuWLfE+mSHToNGDSFT9i7BN0e0ancY JO6Hj996Z8NPcsxM0X8zhlFOlMLF5wnykzIxVWxcj4lUa0qci4Dk0IilwLwazgAnW8v3 Be+w== X-Gm-Message-State: AOJu0Yyq/gct8c0j//FSR5AVklCAzD2Ka7RTAdZIihcvUe9UXH4KuSYu bG+Is++NAjsWCLF91Q0OqaxSNQ== X-Google-Smtp-Source: AGHT+IG2nbzABz+c+CMqzZPhKJhBEfkgWTxlp3sD/pBZI1VhAGcfZZmGkwuua0HR3rZDxiah+fFh9Q== X-Received: by 2002:a17:902:7892:b0:1c0:e6e1:4a11 with SMTP id q18-20020a170902789200b001c0e6e14a11mr980553pll.54.1694558497679; Tue, 12 Sep 2023 15:41:37 -0700 (PDT) From: Akihiko Odaki To: Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Mikhail Tyutin , Aleksandr Anenkov , qemu-devel@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Akihiko Odaki , Peter Maydell , qemu-arm@nongnu.org (open list:ARM TCG CPUs) Subject: [PATCH v3 09/12] target/arm: Remove references to gdb_has_xml Date: Wed, 13 Sep 2023 07:40:58 +0900 Message-ID: <20230912224107.29669-10-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230912224107.29669-1-akihiko.odaki@daynix.com> References: <20230912224107.29669-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62c; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62c.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20230601.gappssmtp.com) X-ZM-MESSAGEID: 1694558605106100003 GDB has XML support since 6.7 which was released in 2007. It's time to remove support for old GDB versions without XML support. Signed-off-by: Akihiko Odaki Acked-by: Alex Benn=C3=A9e --- target/arm/gdbstub.c | 32 ++------------------------------ 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/target/arm/gdbstub.c b/target/arm/gdbstub.c index 8fc8351df7..b7ace24bfc 100644 --- a/target/arm/gdbstub.c +++ b/target/arm/gdbstub.c @@ -46,21 +46,7 @@ int arm_cpu_gdb_read_register(CPUState *cs, GByteArray *= mem_buf, int n) /* Core integer register. */ return gdb_get_reg32(mem_buf, env->regs[n]); } - if (n < 24) { - /* FPA registers. */ - if (gdb_has_xml()) { - return 0; - } - return gdb_get_zeroes(mem_buf, 12); - } - switch (n) { - case 24: - /* FPA status register. */ - if (gdb_has_xml()) { - return 0; - } - return gdb_get_reg32(mem_buf, 0); - case 25: + if (n =3D=3D 25) { /* CPSR, or XPSR for M-profile */ if (arm_feature(env, ARM_FEATURE_M)) { return gdb_get_reg32(mem_buf, xpsr_read(env)); @@ -100,21 +86,7 @@ int arm_cpu_gdb_write_register(CPUState *cs, uint8_t *m= em_buf, int n) env->regs[n] =3D tmp; return 4; } - if (n < 24) { /* 16-23 */ - /* FPA registers (ignored). */ - if (gdb_has_xml()) { - return 0; - } - return 12; - } - switch (n) { - case 24: - /* FPA status register (ignored). */ - if (gdb_has_xml()) { - return 0; - } - return 4; - case 25: + if (n =3D=3D 25) { /* CPSR, or XPSR for M-profile */ if (arm_feature(env, ARM_FEATURE_M)) { /* --=20 2.42.0 From nobody Thu May 9 20:56:23 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1694558545; cv=none; d=zohomail.com; s=zohoarc; b=m3CYnttzfRy6tLki3z378aH7RHiYIIyRthO1i90PeuindZQJWNghlgvo8VIOSQSvf1OkAi/3+nyaqv4ZggNcOftiRX3uLt07W/uMWUs+SkWDp9m7KvhJGglkqS6By9LDqiIFh2QpTnoLaJMOAxsgTVkFdaIWVBXTYmxmWKztBbQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694558545; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=VSSZHlR4v/0tPaKsbN/N18QMFmibLFOOUdSapeItbE0=; b=EjVF9AePwwlPe/NrIpvRaRhFx5AzjJTd7jqUmNhytGf5QRn7k05DT0jtXH4niTClB5HU18lYEPTZY5R7AwFKdFBX62LdGQ/bl0gk8r+PmsWFSN8ZN+oMGe80ebf8aPCWbrPjUWJTz4pfbCDmh8/eijpfEQyLfX+23NxZfAgO59M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694558545269293.01091912620143; Tue, 12 Sep 2023 15:42:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgC4n-0002gf-NI; Tue, 12 Sep 2023 18:41:45 -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 1qgC4l-0002g9-Ry for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:43 -0400 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qgC4j-0001BE-Nu for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:43 -0400 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-1c09673b006so42996535ad.1 for ; Tue, 12 Sep 2023 15:41:41 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:78d2:b862:10a7:d486]) by smtp.gmail.com with ESMTPSA id l13-20020a170902d34d00b001bbbc655ca1sm8996977plk.219.2023.09.12.15.41.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 15:41:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1694558500; x=1695163300; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=VSSZHlR4v/0tPaKsbN/N18QMFmibLFOOUdSapeItbE0=; b=O9oYYnsjibvjGrHTnDjK+0Kk/zHB5FR0ARxsiB+e19vUPNNb/v3MW18GJGD9VCSvq5 yPbsj8MbP11wZcJUoWwzUM2L2DxOliOdiZsJEajerONYiKbuuKF0yR8sNR5jeAEVKqVY QgEbK6tOQmBEVTBXWQJmiONj8HotyCa/lYUJTEW223Rs2SjJZ/LBbWC/4UN6HDFZdNMq qYgv832rRtt5Q1xHC3tT6bi8phvDTk4h5B3wCHbOoN7aU6uUQVXHLn4GYkGaz7uh4K0M owX09jObSc8VLvFKzWd+Wn6MLUTnuGARlpFT+NRWq67Kz0scsqOC1P8dtmauTrj7p//2 54cA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694558500; x=1695163300; 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=VSSZHlR4v/0tPaKsbN/N18QMFmibLFOOUdSapeItbE0=; b=kVrwyIwgdWQUocWlC1mWzgT1umHfj3SsfAxrZeRb/ReyVQUJBr1BxjC9eeGsSpeq5w TMtmket5WHYh1ogaakJOv35V1DCHmYBt/Ic18JOKas/RkypRhHmnmIWskQgGXYN9Z2JS YNDQFLOEdCgpyDmbN+v6EUsSm6QxAlyhnFWwl4QMltb6IH3lrXgDlBBd4gUpjHmpxG8k sjqyjv4BbkjJfpbXnq8rrtV4sZG/2mdd9MiNTHrRauF95UrYovWdJ7ceOr2AAd9vPk7v RVl6gThoAdVEQYq0I9Xhop0FxorP4T111qBMALUD5KevplG636PuWsos33+qoN5RQHSd egGw== X-Gm-Message-State: AOJu0Yz31ju7A6oiOMISWKfULpBmpnwJbyWY/GToSiFPVu+gMeetXDXA YZpc/Oz4yp0lLoOKILpKjrc/8w== X-Google-Smtp-Source: AGHT+IFoGv+RnFVkLzhpcKRdQ98dKiXfDtIinCGxU38X4CXqAhkPDtxczlGk+Bb+6f0cNbMDoAYWtg== X-Received: by 2002:a17:902:eccd:b0:1b8:5aba:509d with SMTP id a13-20020a170902eccd00b001b85aba509dmr1141100plh.21.1694558500590; Tue, 12 Sep 2023 15:41:40 -0700 (PDT) From: Akihiko Odaki To: Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Mikhail Tyutin , Aleksandr Anenkov , qemu-devel@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Akihiko Odaki , Daniel Henrique Barboza , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , David Gibson , Greg Kurz , Nicholas Piggin , qemu-ppc@nongnu.org (open list:PowerPC TCG CPUs) Subject: [PATCH v3 10/12] target/ppc: Remove references to gdb_has_xml Date: Wed, 13 Sep 2023 07:40:59 +0900 Message-ID: <20230912224107.29669-11-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230912224107.29669-1-akihiko.odaki@daynix.com> References: <20230912224107.29669-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62a; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62a.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20230601.gappssmtp.com) X-ZM-MESSAGEID: 1694558547265100007 Content-Type: text/plain; charset="utf-8" GDB has XML support since 6.7 which was released in 2007. It's time to remove support for old GDB versions without XML support. Signed-off-by: Akihiko Odaki --- target/ppc/gdbstub.c | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c index 778ef73bd7..ec5731e5d6 100644 --- a/target/ppc/gdbstub.c +++ b/target/ppc/gdbstub.c @@ -54,12 +54,6 @@ static int ppc_gdb_register_len(int n) case 0 ... 31: /* gprs */ return sizeof(target_ulong); - case 32 ... 63: - /* fprs */ - if (gdb_has_xml()) { - return 0; - } - return 8; case 66: /* cr */ case 69: @@ -74,12 +68,6 @@ static int ppc_gdb_register_len(int n) case 68: /* ctr */ return sizeof(target_ulong); - case 70: - /* fpscr */ - if (gdb_has_xml()) { - return 0; - } - return sizeof(target_ulong); default: return 0; } @@ -132,9 +120,6 @@ int ppc_cpu_gdb_read_register(CPUState *cs, GByteArray = *buf, int n) if (n < 32) { /* gprs */ gdb_get_regl(buf, env->gpr[n]); - } else if (n < 64) { - /* fprs */ - gdb_get_reg64(buf, *cpu_fpr_ptr(env, n - 32)); } else { switch (n) { case 64: @@ -158,9 +143,6 @@ int ppc_cpu_gdb_read_register(CPUState *cs, GByteArray = *buf, int n) case 69: gdb_get_reg32(buf, cpu_read_xer(env)); break; - case 70: - gdb_get_reg32(buf, env->fpscr); - break; } } mem_buf =3D buf->data + buf->len - r; --=20 2.42.0 From nobody Thu May 9 20:56:23 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1694558544; cv=none; d=zohomail.com; s=zohoarc; b=WjLOJCp/VJOh+AvWwjLFf67FvyE7OKXBdbO8cvHsDtBX4Yf9i9pY87buQCHZvsB+/l+3kPwd+OSkRwClmFUPDQf3+TRQv3Tlvub8hWDrrBhPWC6Q7xh/Y39MtqNHF7nYOOqy0leFQyH7xjh4CCo8iYyOwvss9gWfwUQo4U89XnQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694558544; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=pN7w6OyUOseMxgrm0jA21wfUfRH3D26uspX8jJXC++8=; b=XAvV7km80Twh/nWXECdEcrEtBcWQ+CsSPVetKUKoCFbsZHkulEg6/j53N8dGAr+2hFOjLGczDRkLbYuv1H4IeprXeiDshIIaRnS5i/E/S/RngoCKr3de7v1drCt694SyrXpbqIFCKZr9G6wSCbn9XqaWdb4j3h9F699fJBY53EM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694558544929748.7282690909014; Tue, 12 Sep 2023 15:42:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgC4p-0002hE-4F; Tue, 12 Sep 2023 18:41:47 -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 1qgC4n-0002gk-QM for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:45 -0400 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qgC4l-0001Bd-Im for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:45 -0400 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-1c39bc0439bso2599215ad.0 for ; Tue, 12 Sep 2023 15:41:43 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:78d2:b862:10a7:d486]) by smtp.gmail.com with ESMTPSA id l13-20020a170902d34d00b001bbbc655ca1sm8996977plk.219.2023.09.12.15.41.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 15:41:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1694558502; x=1695163302; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pN7w6OyUOseMxgrm0jA21wfUfRH3D26uspX8jJXC++8=; b=Q60p8DG4JWoNgvGTyUdmUla3kipLyPwVruWYbGSdlmAeMcbmlxIUc3FfUiaFd13ADX FU1iKfXJo4akWyPb9UBOHT8ikNIimYNZA7VBQA59kqwR9fN2HCItxYkgUL0MOgRSkduJ zQxxAmp7KnnXb3Gw2SeGWkTPmNlgDPS7dXeNAZ2niiHiJmsRKj1R9hxJxfYX9FbJe/r2 H0Pkwm33cpbodxXsB7p885dFM7HcUXSTzNnYrTjgpi1Vmc1XtxCRMX3bmsu0wc10UA0T NcJDnBtWY4hadc705ASzYm+oMvYc7fTu11zzq8lMtFh4WLYoY1sitX1RNUzOeCPE3HdL Agpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694558502; x=1695163302; 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=pN7w6OyUOseMxgrm0jA21wfUfRH3D26uspX8jJXC++8=; b=o4ClISXP2F7D+/54BIwnYZVv9qA/HidppbnaQLLHY0DdOm3OMoE/S2FPS8ylHATbge rBb97yfUAzx/BPszDNa2s2bUaQvtpf0ZsKjQ+rzQiPJYS3hP0sfUF8HNb1h0MmFZk7n1 ATYy8sKC0Os5d3tIq5vLjWY57QADTJCnmoDZJiLe4tEI9WJFQ7wiks89KedtuKwQTLYo ysMS2SHcjtH7UNlEAEUWB+zrNrjQ0kv2uotqAhoLMLtt/LpWbwA7koKltUbgdlh2H9VC pNgWFRcx81CSIv/jq+BRDM4OqKz0rX9uVgrV9uILKWAfWhstwXbmhffQmHR+6C9kXzy9 6heA== X-Gm-Message-State: AOJu0Yw6fsqV6un4UvnUAYqXhZDmdKyYixApU4hl4ga/ygcZR9KJx6hb SXXFwSHjUng7XToQMMn7RABhLQ== X-Google-Smtp-Source: AGHT+IGKyxNuIoxO+lAiXbOH/iH1tw5pO5jQBwiOW4+7PXjxTle7iHVk+KTyKhLNKHUOWFV4aZjxag== X-Received: by 2002:a17:902:ea04:b0:1bd:d510:78fb with SMTP id s4-20020a170902ea0400b001bdd51078fbmr4740470plg.3.1694558502503; Tue, 12 Sep 2023 15:41:42 -0700 (PDT) From: Akihiko Odaki To: Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Mikhail Tyutin , Aleksandr Anenkov , qemu-devel@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Akihiko Odaki Subject: [PATCH v3 11/12] gdbstub: Remove gdb_has_xml variable Date: Wed, 13 Sep 2023 07:41:00 +0900 Message-ID: <20230912224107.29669-12-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230912224107.29669-1-akihiko.odaki@daynix.com> References: <20230912224107.29669-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62a; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62a.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20230601.gappssmtp.com) X-ZM-MESSAGEID: 1694558545843100001 Content-Type: text/plain; charset="utf-8" GDB has XML support since 6.7 which was released in 2007. It's time to remove support for old GDB versions without XML support. Signed-off-by: Akihiko Odaki --- gdbstub/internals.h | 2 -- include/exec/gdbstub.h | 8 -------- gdbstub/gdbstub.c | 15 --------------- 3 files changed, 25 deletions(-) diff --git a/gdbstub/internals.h b/gdbstub/internals.h index fee243081f..7128c4aa85 100644 --- a/gdbstub/internals.h +++ b/gdbstub/internals.h @@ -32,8 +32,6 @@ enum { typedef struct GDBProcess { uint32_t pid; bool attached; - - /* If gdb sends qXfer:features:read:target.xml this will be populated = */ char *target_xml; } GDBProcess; =20 diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h index 705be2c5d7..1a01c35f8e 100644 --- a/include/exec/gdbstub.h +++ b/include/exec/gdbstub.h @@ -45,14 +45,6 @@ int gdbserver_start(const char *port_or_device); =20 void gdb_set_stop_cpu(CPUState *cpu); =20 -/** - * gdb_has_xml() - report of gdb supports modern target descriptions - * - * This will report true if the gdb negotiated qXfer:features:read - * target descriptions. - */ -bool gdb_has_xml(void); - /* in gdbstub-xml.c, generated by scripts/feature_to_c.py */ extern const GDBFeature gdb_static_features[]; =20 diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c index a4f2bf3723..177dce9ba2 100644 --- a/gdbstub/gdbstub.c +++ b/gdbstub/gdbstub.c @@ -349,11 +349,6 @@ static CPUState *gdb_get_cpu(uint32_t pid, uint32_t ti= d) } } =20 -bool gdb_has_xml(void) -{ - return !!gdb_get_cpu_process(gdbserver_state.g_cpu)->target_xml; -} - static const char *get_feature_xml(const char *p, const char **newp, GDBProcess *process) { @@ -1086,11 +1081,6 @@ static void handle_set_reg(GArray *params, void *use= r_ctx) { int reg_size; =20 - if (!gdb_get_cpu_process(gdbserver_state.g_cpu)->target_xml) { - gdb_put_packet(""); - return; - } - if (params->len !=3D 2) { gdb_put_packet("E22"); return; @@ -1107,11 +1097,6 @@ static void handle_get_reg(GArray *params, void *use= r_ctx) { int reg_size; =20 - if (!gdb_get_cpu_process(gdbserver_state.g_cpu)->target_xml) { - gdb_put_packet(""); - return; - } - if (!params->len) { gdb_put_packet("E14"); return; --=20 2.42.0 From nobody Thu May 9 20:56:23 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1694558562; cv=none; d=zohomail.com; s=zohoarc; b=dOEjpP+5Gp4RRu0Cp+NH4O1ndBsXXO94P4RePz1fqNJYdSIELrD8JvPFIoSEIrG/XBhBYYUdl+m940fe+mm6lo2BBqok0eqDwlErJHvLMMqI8nPatN+1YmW1P54oMdLrBLe6AbkrGV5wT81YPfUQ/QgaYSP8Ho/euH0EMd9yZX4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694558562; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=YR6f2ljT/PkMnpwGwuqVmtD8rXDReW0mqLVfL5y4OQE=; b=WuEcnS9vPq3UoH1wQzlBAzog12gVyKa60gmCy3Vq8ZqkhxUjqOEdFRGKMxoGSOkr+Xyo73igSYYD08UCXYC/+7hTPYkPXmx3MRvsOeV7LF9/BloDKKz0PKMk6cstIgBy+CJQBKUAm85k31u+GZjP4VpXV3UnfHRrTIVW/T13NvM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694558562636358.12491016448666; Tue, 12 Sep 2023 15:42:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgC4r-0002hf-PB; Tue, 12 Sep 2023 18:41:49 -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 1qgC4q-0002hS-7I for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:48 -0400 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qgC4n-0001C1-Uf for qemu-devel@nongnu.org; Tue, 12 Sep 2023 18:41:47 -0400 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-1bf092a16c9so54347925ad.0 for ; Tue, 12 Sep 2023 15:41:45 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:78d2:b862:10a7:d486]) by smtp.gmail.com with ESMTPSA id l13-20020a170902d34d00b001bbbc655ca1sm8996977plk.219.2023.09.12.15.41.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 15:41:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1694558505; x=1695163305; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YR6f2ljT/PkMnpwGwuqVmtD8rXDReW0mqLVfL5y4OQE=; b=dYpnyL3EKYuoIMesORAX1Fe7qywVke/hXOqbAL4/H3EiMmeuso1LNCyQE7n1pVSv3r kJtLmE8rZbxLH+6/Aj1F+2L3/vgvjP06/DtfnZDB8vDnBTDiggekFpYnX6jL9YTd2Pv1 ccJZH1cK54xpJ0VEIEKpR954T10GAmG+8CVC3I9b7ydnYT3dThe3dMfxazUSqnKuERvE IHvB0qMzO690xe6TaK4v3HI5qZYo6eBImzC4dLwgQLLgHcHWvNMw2ToXeZMBYezfZOXM 039Zh4CRln0/J1WEvGxHrhyZuK3EdMea5dwQjf2OSdfHOZEz+mWmfmb7j6CMoOnRYTlI 3r4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694558505; x=1695163305; 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=YR6f2ljT/PkMnpwGwuqVmtD8rXDReW0mqLVfL5y4OQE=; b=rSc8j0rDB025fSN61P2STMqtMwyHcQ+T/7UanRfnhh23hDKbAGnzWNVA3OGKwMBvxe O7XZnvBG2IzmGrK7rtCpokdsF9WC/zu8IPsLpogNdtFK6rh55BZlzyZXIHUDwg+Q7Brp 32TWSQXwY/lrf12tKS958MXZ7rb1+drgzCgD/EEAYZ5Jk2wrx1z8TFHZhFv9WfWn8K5U ZnRZ+OmOP42s6lnFm85WmIQ2Eazur5TGA0ytWcTHCzBHYRKaigluFyFlfBLGHhuhHoK3 lC3EHOLdivPvTe7RT6aRmffqecosVpdoNKS9EcZJScUUGYFhAKceJu7TdPFO2z0g0hnr H6QA== X-Gm-Message-State: AOJu0YxGDJfBNq19JCZnYhreJLDsU3igBArYCJakQQZKcSWsR6V2M5A3 8+nD5n/d4VDQVQpe1i3ajWy1FYmEyLZkrD7He8g= X-Google-Smtp-Source: AGHT+IEkxlzDGnz/EG6d9BmGQ6SyQ01bzEjHa/3aGrapWlGs32zIhZyK/A7uGTy4DKsdCMALiLDcAA== X-Received: by 2002:a17:902:7c8a:b0:1c3:2532:ac6a with SMTP id y10-20020a1709027c8a00b001c32532ac6amr1017475pll.33.1694558504919; Tue, 12 Sep 2023 15:41:44 -0700 (PDT) From: Akihiko Odaki To: Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Mikhail Tyutin , Aleksandr Anenkov , qemu-devel@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Akihiko Odaki , Eduardo Habkost , Marcel Apfelbaum , Yanan Wang Subject: [PATCH v3 12/12] gdbstub: Replace gdb_regs with an array Date: Wed, 13 Sep 2023 07:41:01 +0900 Message-ID: <20230912224107.29669-13-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230912224107.29669-1-akihiko.odaki@daynix.com> References: <20230912224107.29669-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62a; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62a.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20230601.gappssmtp.com) X-ZM-MESSAGEID: 1694558563050100001 Content-Type: text/plain; charset="utf-8" An array is a more appropriate data structure than a list for gdb_regs since it is initialized only with append operation and read-only after initialization. Signed-off-by: Akihiko Odaki --- include/hw/core/cpu.h | 2 +- gdbstub/gdbstub.c | 34 ++++++++++++++++++++-------------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index 4f5c7eb04e..c84c631242 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -375,7 +375,7 @@ struct CPUState { =20 CPUJumpCache *tb_jmp_cache; =20 - struct GDBRegisterState *gdb_regs; + GArray *gdb_regs; int gdb_num_regs; int gdb_num_g_regs; QTAILQ_ENTRY(CPUState) node; diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c index 177dce9ba2..9810d15278 100644 --- a/gdbstub/gdbstub.c +++ b/gdbstub/gdbstub.c @@ -51,7 +51,6 @@ typedef struct GDBRegisterState { gdb_get_reg_cb get_reg; gdb_set_reg_cb set_reg; const char *xml; - struct GDBRegisterState *next; } GDBRegisterState; =20 GDBState gdbserver_state; @@ -386,7 +385,8 @@ static const char *get_feature_xml(const char *p, const= char **newp, xml, g_markup_printf_escaped("", cc->gdb_core_xml_file)); - for (r =3D cpu->gdb_regs; r; r =3D r->next) { + for (guint i =3D 0; i < cpu->gdb_regs->len; i++) { + r =3D &g_array_index(cpu->gdb_regs, GDBRegisterState, i); g_ptr_array_add( xml, g_markup_printf_escaped("", @@ -430,7 +430,8 @@ static int gdb_read_register(CPUState *cpu, GByteArray = *buf, int reg) return cc->gdb_read_register(cpu, buf, reg); } =20 - for (r =3D cpu->gdb_regs; r; r =3D r->next) { + for (guint i =3D 0; i < cpu->gdb_regs->len; i++) { + r =3D &g_array_index(cpu->gdb_regs, GDBRegisterState, i); if (r->base_reg <=3D reg && reg < r->base_reg + r->num_regs) { return r->get_reg(env, buf, reg - r->base_reg); } @@ -448,7 +449,8 @@ static int gdb_write_register(CPUState *cpu, uint8_t *m= em_buf, int reg) return cc->gdb_write_register(cpu, mem_buf, reg); } =20 - for (r =3D cpu->gdb_regs; r; r =3D r->next) { + for (guint i =3D 0; i < cpu->gdb_regs->len; i++) { + r =3D &g_array_index(cpu->gdb_regs, GDBRegisterState, i); if (r->base_reg <=3D reg && reg < r->base_reg + r->num_regs) { return r->set_reg(env, mem_buf, reg - r->base_reg); } @@ -461,17 +463,22 @@ void gdb_register_coprocessor(CPUState *cpu, int num_regs, const char *xml, int g_pos) { GDBRegisterState *s; - GDBRegisterState **p; - - p =3D &cpu->gdb_regs; - while (*p) { - /* Check for duplicates. */ - if (strcmp((*p)->xml, xml) =3D=3D 0) - return; - p =3D &(*p)->next; + guint i; + + if (cpu->gdb_regs) { + for (i =3D 0; i < cpu->gdb_regs->len; i++) { + /* Check for duplicates. */ + s =3D &g_array_index(cpu->gdb_regs, GDBRegisterState, i); + if (strcmp(s->xml, xml) =3D=3D 0) + return; + } + } else { + cpu->gdb_regs =3D g_array_new(false, false, sizeof(GDBRegisterStat= e)); + i =3D 0; } =20 - s =3D g_new0(GDBRegisterState, 1); + g_array_set_size(cpu->gdb_regs, i + 1); + s =3D &g_array_index(cpu->gdb_regs, GDBRegisterState, i); s->base_reg =3D cpu->gdb_num_regs; s->num_regs =3D num_regs; s->get_reg =3D get_reg; @@ -480,7 +487,6 @@ void gdb_register_coprocessor(CPUState *cpu, =20 /* Add to end of list. */ cpu->gdb_num_regs +=3D num_regs; - *p =3D s; if (g_pos) { if (g_pos !=3D s->base_reg) { error_report("Error: Bad gdb register numbering for '%s', " --=20 2.42.0