diff mbox

[3/11] Add MIPS_MAX_REGISTER_SIZE (1/4)

Message ID C9D031BD-CF5F-40DF-9309-AD7C3CAA0747@arm.com
State New
Headers show

Commit Message

Alan Hayward May 5, 2017, 8:03 a.m. UTC
> On 11 Apr 2017, at 16:37, Yao Qi <qiyaoltc@gmail.com> wrote:
> 
> Alan Hayward <Alan.Hayward@arm.com> writes:
> 
> Hi Alan,
> There are different ways of getting rid of MAX_REGISTER_SIZE, let us try
> some simple approaches first.  Some uses of MAX_REGISTER_SIZE still
> can't be removed, but let us start from easy part.
> 

Ok, patch split into multiple parts.

This part uses the new raw_supply_zeroed.

Tested on a --enable-targets=all build using make check with board files
unix and native-gdbserver.
I do not have a MIPS machine to test on.

Ok to commit?

2017-05-05  Alan Hayward  <alan.hayward@arm.com>

	* mips-linux-tdep.c (mips_supply_gregset): Use raw_supply_zeroed.
	(mips_supply_fpregset): Likewise.
	(mips64_supply_gregset): Likewise.

Comments

Yao Qi May 5, 2017, 9:44 p.m. UTC | #1
Alan Hayward <Alan.Hayward@arm.com> writes:

> Ok to commit?

Yes, it is OK.
diff mbox

Patch

diff --git a/gdb/mips-linux-tdep.c b/gdb/mips-linux-tdep.c
index 57e75b5343e1b927e9fe28dea16759f769cf4506..48a582a16c934abe6e8f87c46a6009649c606d49 100644
--- a/gdb/mips-linux-tdep.c
+++ b/gdb/mips-linux-tdep.c
@@ -133,11 +133,8 @@  mips_supply_gregset (struct regcache *regcache,
 {
   int regi;
   const mips_elf_greg_t *regp = *gregsetp;
-  char zerobuf[MAX_REGISTER_SIZE];
   struct gdbarch *gdbarch = get_regcache_arch (regcache);

-  memset (zerobuf, 0, MAX_REGISTER_SIZE);
-
   for (regi = EF_REG0 + 1; regi <= EF_REG31; regi++)
     supply_32bit_reg (regcache, regi - EF_REG0, regp + regi);

@@ -156,7 +153,7 @@  mips_supply_gregset (struct regcache *regcache,
 		    regp + EF_CP0_CAUSE);

   /* Fill the inaccessible zero register with zero.  */
-  regcache_raw_supply (regcache, MIPS_ZERO_REGNUM, zerobuf);
+  regcache->raw_supply_zeroed (MIPS_ZERO_REGNUM);
 }

 static void
@@ -245,9 +242,6 @@  mips_supply_fpregset (struct regcache *regcache,
 {
   struct gdbarch *gdbarch = get_regcache_arch (regcache);
   int regi;
-  char zerobuf[MAX_REGISTER_SIZE];
-
-  memset (zerobuf, 0, MAX_REGISTER_SIZE);

   for (regi = 0; regi < 32; regi++)
     regcache_raw_supply (regcache,
@@ -259,9 +253,8 @@  mips_supply_fpregset (struct regcache *regcache,
 		       *fpregsetp + 32);

   /* FIXME: how can we supply FCRIR?  The ABI doesn't tell us.  */
-  regcache_raw_supply (regcache,
-		       mips_regnum (gdbarch)->fp_implementation_revision,
-		       zerobuf);
+  regcache->raw_supply_zeroed
+    (mips_regnum (gdbarch)->fp_implementation_revision);
 }

 static void
@@ -379,11 +372,8 @@  mips64_supply_gregset (struct regcache *regcache,
 {
   int regi;
   const mips64_elf_greg_t *regp = *gregsetp;
-  gdb_byte zerobuf[MAX_REGISTER_SIZE];
   struct gdbarch *gdbarch = get_regcache_arch (regcache);

-  memset (zerobuf, 0, MAX_REGISTER_SIZE);
-
   for (regi = MIPS64_EF_REG0 + 1; regi <= MIPS64_EF_REG31; regi++)
     supply_64bit_reg (regcache, regi - MIPS64_EF_REG0,
 		      (const gdb_byte *) (regp + regi));
@@ -407,7 +397,7 @@  mips64_supply_gregset (struct regcache *regcache,
 		    (const gdb_byte *) (regp + MIPS64_EF_CP0_CAUSE));

   /* Fill the inaccessible zero register with zero.  */
-  regcache_raw_supply (regcache, MIPS_ZERO_REGNUM, zerobuf);
+  regcache->raw_supply_zeroed (MIPS_ZERO_REGNUM);
 }

 static void