gdb/riscv: Use correct regnum in riscv_linux_nat_target::fetch_registers
authorAndrew Burgess <andrew.burgess@embecosm.com>
Thu, 25 Oct 2018 11:03:31 +0000 (12:03 +0100)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Thu, 25 Oct 2018 11:03:31 +0000 (12:03 +0100)
In riscv_linux_nat_target::fetch_registers, if we are asked to supply
all registers (regnum parameter is -1), then we currently end up
calling regcache::raw_supply_zeroed with the regnum -1, which is
invalid.  Instead we should be passing the regnum of the specific
register we wish to supply zeroed, in this case RISCV_CSR_MISA_REGNUM.

I removed the extra { ... } block in line with the coding standard
while editing this area.

gdb/ChangeLog:

* riscv-linux-nat.c (riscv_linux_nat_target::fetch_registers):
Pass correct regnum to raw_supply_zeroed.

gdb/ChangeLog
gdb/riscv-linux-nat.c

index ba3bf66..14de366 100644 (file)
@@ -1,3 +1,8 @@
+2018-10-25  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * riscv-linux-nat.c (riscv_linux_nat_target::fetch_registers):
+       Pass correct regnum to raw_supply_zeroed.
+
 2018-10-23  Hafiz Abid Qadeer  <abidh@codesourcery.com>
 
        * regcache.c (cooked_read_test): Add CSKY to the list of
index 7dbfe65..c09121d 100644 (file)
@@ -201,10 +201,8 @@ riscv_linux_nat_target::fetch_registers (struct regcache *regcache, int regnum)
 
   if ((regnum == RISCV_CSR_MISA_REGNUM)
       || (regnum == -1))
-    {
-      /* TODO: Need to add a ptrace call for this.  */
-      regcache->raw_supply_zeroed (regnum);
-    }
+    /* TODO: Need to add a ptrace call for this.  */
+    regcache->raw_supply_zeroed (RISCV_CSR_MISA_REGNUM);
 
   /* Access to other CSRs has potential security issues, don't support them for
      now.  */