From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.polymtl.ca (smtp.polymtl.ca [132.207.4.11]) by sourceware.org (Postfix) with ESMTPS id CCF233858D1E for ; Wed, 8 Nov 2023 05:26:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CCF233858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=polymtl.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=polymtl.ca ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CCF233858D1E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=132.207.4.11 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699421205; cv=none; b=Da3idqOVw1RvdtGDUre4m0OHV/jA/ZScR76h8FgVOCXleX/DkbXiII392ffeB/Iw9kVR0QkMhZOA9Z0Hu1sJDEIWCfOIONiHMKNeNR4RGDVa3McTTXTaWJ88BvpFXkzcH5y6XxuwmKQy8q3k3XVZ6yxblkGW8OF+BJ2+YTxjkJo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699421205; c=relaxed/simple; bh=DU9DM9nfYtlLQ3rbsGkja66Y3p6dmMo0O2qVAF1nDJg=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=DfcRtqAC3QCLLNmtWWc4yCxdjScK0YcMEcZ2DDGYikWeNYWyWKT9AqykLY+RjMblI7wKumkxGSxbTs1/WPyGcUYhPitifWvrrFMkAFb1xpHwN9KFt4Eemn3r0O5boMzHeEuu8dSNWdkjNBt0KqyDZX3gWNSZU0iq6PZhgHKb/b0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from simark.ca (simark.ca [158.69.221.121]) (authenticated bits=0) by smtp.polymtl.ca (8.14.7/8.14.7) with ESMTP id 3A85Qc58017727 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 8 Nov 2023 00:26:43 -0500 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.polymtl.ca 3A85Qc58017727 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=polymtl.ca; s=default; t=1699421203; bh=lLfomCDvGm5FOJktWeNLkJX2YbJot4f1CcNuq9iHuos=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NOsGffboSzamZf7NQqFhbD4G+Cg8HusvU6mAdF8vhGIKlA+hvsABpCb9kXD6HTNUk vaz6FJZKVUMMNw3OQxt1LhRKp3VEH9+RuO80yqzu/8xhPmjrb+SNKnMgiypQtOdUO5 wMGiBz6b2aukgQM5OIjRgiovOCrn6MsXj1pfUZa8= Received: from simark.localdomain (modemcable238.237-201-24.mc.videotron.ca [24.201.237.238]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 580DE1E1C3; Wed, 8 Nov 2023 00:16:37 -0500 (EST) From: Simon Marchi To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 20/24] gdb: add missing raw register read in aarch64_sme_pseudo_register_write Date: Wed, 8 Nov 2023 00:01:04 -0500 Message-ID: <20231108051222.1275306-21-simon.marchi@polymtl.ca> X-Mailer: git-send-email 2.42.1 In-Reply-To: <20231108051222.1275306-1-simon.marchi@polymtl.ca> References: <20231108051222.1275306-1-simon.marchi@polymtl.ca> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Poly-FromMTA: (simark.ca [158.69.221.121]) at Wed, 8 Nov 2023 05:26:38 +0000 X-Spam-Status: No, score=-3188.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: From: Simon Marchi It seems like the intention here is to read the contents of the ZA register and only write part of it. However, there's no actual read of the ZA register, so it looks like we'll write uninitialized bytes to the target, for the portion of the raw register where we don't write the pseudo register. Add a call to raw_read to fix this. I don't know how to test this though. Change-Id: I7548240bd4324f6a3b729a1ebf7502fae5a46e9e --- gdb/aarch64-tdep.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c index e9f5bdd141c8..ff159c412ced 100644 --- a/gdb/aarch64-tdep.c +++ b/gdb/aarch64-tdep.c @@ -3337,6 +3337,7 @@ aarch64_sme_pseudo_register_write (struct gdbarch *gdbarch, /* Fetch the contents of ZA. */ size_t svl = sve_vl_from_vq (tdep->sme_svq); gdb::byte_vector za (std::pow (svl, 2)); + regcache->raw_read (tdep->sme_za_regnum, za, 1.0f); /* Copy the requested data. */ for (int chunks = 0; chunks < offsets.chunks; chunks++) -- 2.42.1