[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:
parent
afde3032dd
commit
5c849b222b
|
@ -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>
|
2018-10-26 Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
|
||||||
|
|
||||||
* linux-tdep.c (linux_collect_regset_section_cb): Use
|
* linux-tdep.c (linux_collect_regset_section_cb): Use
|
||||||
|
|
|
@ -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>
|
2018-10-10 Sergio Durigan Junior <sergiodj@redhat.com>
|
||||||
Simon Marchi <simark@simark.ca>
|
Simon Marchi <simark@simark.ca>
|
||||||
|
|
||||||
|
|
|
@ -495,13 +495,9 @@ ppc_fill_vrregset (struct regcache *regcache, void *buf)
|
||||||
if (__BYTE_ORDER == __BIG_ENDIAN)
|
if (__BYTE_ORDER == __BIG_ENDIAN)
|
||||||
vscr_offset = 12;
|
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",
|
collect_register_by_name (regcache, "vscr",
|
||||||
®set[32 * 16 + vscr_offset]);
|
®set[32 * 16 + vscr_offset]);
|
||||||
|
|
||||||
memset (®set[33 * 16], 0, 16);
|
|
||||||
collect_register_by_name (regcache, "vrsave", ®set[33 * 16]);
|
collect_register_by_name (regcache, "vrsave", ®set[33 * 16]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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. */
|
/* Regset descriptions. */
|
||||||
static const struct ppc_reg_offsets ppc32_linux_reg_offsets =
|
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 = {
|
static const struct regset ppc32_le_linux_vrregset = {
|
||||||
ppc32_le_linux_vrregmap,
|
ppc32_le_linux_vrregmap,
|
||||||
regcache_supply_regset,
|
regcache_supply_regset,
|
||||||
ppc_linux_collect_vrregset
|
regcache_collect_regset
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct regset ppc32_be_linux_vrregset = {
|
static const struct regset ppc32_be_linux_vrregset = {
|
||||||
ppc32_be_linux_vrregmap,
|
ppc32_be_linux_vrregmap,
|
||||||
regcache_supply_regset,
|
regcache_supply_regset,
|
||||||
ppc_linux_collect_vrregset
|
regcache_collect_regset
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct regcache_map_entry ppc32_linux_vsxregmap[] =
|
static const struct regcache_map_entry ppc32_linux_vsxregmap[] =
|
||||||
|
|
Loading…
Reference in New Issue