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.
+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
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. */