From patchwork Fri Aug 10 02:52:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pedro Franco de Carvalho X-Patchwork-Id: 28820 Received: (qmail 85069 invoked by alias); 10 Aug 2018 02:52:40 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 85042 invoked by uid 89); 10 Aug 2018 02:52:40 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-27.6 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 spammy=20180731, 2018-07-31, Hx-languages-length:2863, vrsave X-HELO: mx0a-001b2d01.pphosted.com Received: from mx0b-001b2d01.pphosted.com (HELO mx0a-001b2d01.pphosted.com) (148.163.158.5) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 10 Aug 2018 02:52:38 +0000 Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w7A2n4RY097189 for ; Thu, 9 Aug 2018 22:52:37 -0400 Received: from e17.ny.us.ibm.com (e17.ny.us.ibm.com [129.33.205.207]) by mx0a-001b2d01.pphosted.com with ESMTP id 2krxrpww06-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 09 Aug 2018 22:52:37 -0400 Received: from localhost by e17.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 9 Aug 2018 22:52:36 -0400 Received: from b01cxnp22034.gho.pok.ibm.com (9.57.198.24) by e17.ny.us.ibm.com (146.89.104.204) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Thu, 9 Aug 2018 22:52:34 -0400 Received: from b01ledav005.gho.pok.ibm.com (b01ledav005.gho.pok.ibm.com [9.57.199.110]) by b01cxnp22034.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w7A2qWNR15007830 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 10 Aug 2018 02:52:32 GMT Received: from b01ledav005.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E009AAE05F; Thu, 9 Aug 2018 22:52:29 -0400 (EDT) Received: from b01ledav005.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B2C33AE05C; Thu, 9 Aug 2018 22:52:29 -0400 (EDT) Received: from pedro.localdomain (unknown [9.85.189.55]) by b01ledav005.gho.pok.ibm.com (Postfix) with ESMTP; Thu, 9 Aug 2018 22:52:29 -0400 (EDT) Received: by pedro.localdomain (Postfix, from userid 1000) id CF75C3C0534; Thu, 9 Aug 2018 23:52:29 -0300 (-03) From: Pedro Franco de Carvalho To: gdb-patches@sourceware.org Cc: uweigand@de.ibm.com, edjunior@gmail.com Subject: [PATCH v2 02/12] [PowerPC] Don't zero-initialize vector register buffers Date: Thu, 9 Aug 2018 23:52:00 -0300 In-Reply-To: <20180810025210.6942-1-pedromfc@linux.ibm.com> References: <20180810025210.6942-1-pedromfc@linux.ibm.com> x-cbid: 18081002-0040-0000-0000-0000045C7543 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00009516; HX=3.00000242; KW=3.00000007; PH=3.00000004; SC=3.00000266; SDB=6.01071497; UDB=6.00551796; IPR=6.00851231; MB=3.00022623; MTD=3.00000008; XFM=3.00000015; UTC=2018-08-10 02:52:36 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18081002-0041-0000-0000-000008637946 Message-Id: <20180810025210.6942-3-pedromfc@linux.ibm.com> Now that linux-tdep.c already zero-initializes the buffer used for generating core file notes, there is no need to do this in the linux collect functions for the vector regset. The memsets in gdbserver were not useful to begin with. gdb/ChangeLog: YYYY-MM-DD Pedro Franco de Carvalho * ppc-linux-tdep.c (ppc_linux_collect_vrregset): Remove. (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): Replace ppc_linux_collect_vrregset by regcache_collect_regset. gdb/gdbserver/ChangeLog: 2018-07-31 Pedro Franco de Carvalho * linux-ppc-low.c (ppc_fill_vrregset): Remove memset calls. --- gdb/gdbserver/linux-ppc-low.c | 4 ---- gdb/ppc-linux-tdep.c | 22 ++-------------------- 2 files changed, 2 insertions(+), 24 deletions(-) diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c index 47428c1529..d1ab69fac9 100644 --- a/gdb/gdbserver/linux-ppc-low.c +++ b/gdb/gdbserver/linux-ppc-low.c @@ -495,13 +495,9 @@ ppc_fill_vrregset (struct regcache *regcache, void *buf) if (__BYTE_ORDER == __BIG_ENDIAN) vscr_offset = 12; - /* Zero-pad the unused bytes in the fields for vscr and vrsave in - case they get displayed somewhere. */ - memset (®set[32 * 16], 0, 16); collect_register_by_name (regcache, "vscr", ®set[32 * 16 + vscr_offset]); - memset (®set[33 * 16], 0, 16); collect_register_by_name (regcache, "vrsave", ®set[33 * 16]); } diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c index 33a0b5a83b..b9bd775695 100644 --- a/gdb/ppc-linux-tdep.c +++ b/gdb/ppc-linux-tdep.c @@ -444,24 +444,6 @@ ppc_linux_collect_gregset (const struct regset *regset, } } -static void -ppc_linux_collect_vrregset (const struct regset *regset, - const struct regcache *regcache, - int regnum, void *buf, size_t len) -{ - gdb_byte *vrregs = (gdb_byte *) buf; - - /* Zero-pad the unused bytes in the fields for vscr and vrsave - in case they get displayed somewhere (e.g. in core files). */ - if (regnum == PPC_VSCR_REGNUM || regnum == -1) - memset (&vrregs[32 * 16], 0, 16); - - if (regnum == PPC_VRSAVE_REGNUM || regnum == -1) - memset (&vrregs[33 * 16], 0, 16); - - regcache_collect_regset (regset, regcache, regnum, buf, len); -} - /* Regset descriptions. */ static const struct ppc_reg_offsets ppc32_linux_reg_offsets = { @@ -544,13 +526,13 @@ static const struct regcache_map_entry ppc32_be_linux_vrregmap[] = static const struct regset ppc32_le_linux_vrregset = { ppc32_le_linux_vrregmap, regcache_supply_regset, - ppc_linux_collect_vrregset + regcache_collect_regset }; static const struct regset ppc32_be_linux_vrregset = { ppc32_be_linux_vrregmap, regcache_supply_regset, - ppc_linux_collect_vrregset + regcache_collect_regset }; static const struct regcache_map_entry ppc32_linux_vsxregmap[] =