[PowerPC] Don't zero-initialize vector register buffers

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:
2018-10-26  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>

	* 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-10-26  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>

	* linux-ppc-low.c (ppc_fill_vrregset): Remove memset calls.
This commit is contained in:
Pedro Franco de Carvalho 2018-10-26 09:37:53 -03:00
parent afde3032dd
commit 5c849b222b
4 changed files with 12 additions and 24 deletions

View File

@ -1,3 +1,9 @@
2018-10-26 Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
* 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.
2018-10-26 Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
* linux-tdep.c (linux_collect_regset_section_cb): Use

View File

@ -1,3 +1,7 @@
2018-10-26 Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
* linux-ppc-low.c (ppc_fill_vrregset): Remove memset calls.
2018-10-10 Sergio Durigan Junior <sergiodj@redhat.com>
Simon Marchi <simark@simark.ca>

View File

@ -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 (&regset[32 * 16], 0, 16);
collect_register_by_name (regcache, "vscr",
&regset[32 * 16 + vscr_offset]);
memset (&regset[33 * 16], 0, 16);
collect_register_by_name (regcache, "vrsave", &regset[33 * 16]);
}

View File

@ -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[] =