gdb/riscv: Use correct regnum in riscv_linux_nat_target::fetch_registers
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.
This commit is contained in:
parent
0a640d7196
commit
ee67fd7f3f
|
@ -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>
|
2018-10-23 Hafiz Abid Qadeer <abidh@codesourcery.com>
|
||||||
|
|
||||||
* regcache.c (cooked_read_test): Add CSKY to the list of
|
* regcache.c (cooked_read_test): Add CSKY to the list of
|
||||||
|
|
|
@ -201,10 +201,8 @@ riscv_linux_nat_target::fetch_registers (struct regcache *regcache, int regnum)
|
||||||
|
|
||||||
if ((regnum == RISCV_CSR_MISA_REGNUM)
|
if ((regnum == RISCV_CSR_MISA_REGNUM)
|
||||||
|| (regnum == -1))
|
|| (regnum == -1))
|
||||||
{
|
/* TODO: Need to add a ptrace call for this. */
|
||||||
/* TODO: Need to add a ptrace call for this. */
|
regcache->raw_supply_zeroed (RISCV_CSR_MISA_REGNUM);
|
||||||
regcache->raw_supply_zeroed (regnum);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Access to other CSRs has potential security issues, don't support them for
|
/* Access to other CSRs has potential security issues, don't support them for
|
||||||
now. */
|
now. */
|
||||||
|
|
Loading…
Reference in New Issue