+2020-06-25 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * riscv-tdep.c (riscv_print_registers_info): Loop over all
+ registers, not just the known core set of registers.
+
2020-06-25 Andrew Burgess <andrew.burgess@embecosm.com>
* riscv-tdep.c (riscv_register_name): Return NULL for duplicate
else
reggroup = general_reggroup;
- for (regnum = 0; regnum <= RISCV_LAST_REGNUM; ++regnum)
+ for (regnum = 0; regnum < gdbarch_num_cooked_regs (gdbarch); ++regnum)
{
/* Zero never changes, so might as well hide by default. */
if (regnum == RISCV_ZERO_REGNUM && !print_all)
+2020-06-25 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * gdb.arch/riscv-tdesc-regs.exp: New test cases.
+
2020-06-25 Andrew Burgess <andrew.burgess@embecosm.com>
* gdb.arch/riscv-tdesc-regs.exp: Extend test case.
gdb_test "info registers \$dscratch0" "dscratch0\[ \t\]+.*"
gdb_test "info registers \$dscratch" "dscratch\[ \t\]+.*"
-foreach rgroup {all save restore} {
+foreach rgroup {x_all all save restore} {
# Now use 'info registers all' to see how many times the floating
# point status registers show up in the output.
array set reg_counts {}
- set test "info registers $rgroup"
+ if {$rgroup == "x_all"} {
+ set test "info all-registers"
+ } else {
+ set test "info registers $rgroup"
+ }
gdb_test_multiple $test $test {
-re ".*info registers all\r\n" {
verbose -log "Skip to first register"
set count 0
}
if {($reg == "unknown_csr" || $reg == "dscratch") \
- && $rgroup != "all"} {
+ && $rgroup != "all" && $rgroup != "x_all"} {
gdb_assert {$count == 0} \
"register $reg not seen in reggroup $rgroup"
} else {