aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2017-06-19 14:30:24 -0700
committerJohn Baldwin <jhb@FreeBSD.org>2017-06-19 14:40:22 -0700
commit325c9fd4aa054118b80c621262f10fc6ffe98e25 (patch)
tree86ec5e22c5ed088c31e6c249498f89670cdf244d
parent66953522c9061874047d2e9832c206af783c971c (diff)
downloadgdb-325c9fd4aa054118b80c621262f10fc6ffe98e25.zip
gdb-325c9fd4aa054118b80c621262f10fc6ffe98e25.tar.gz
gdb-325c9fd4aa054118b80c621262f10fc6ffe98e25.tar.bz2
Don't throw an error in 'info registers' for unavailable MIPS registers.
'info registers' for MIPS throws an error and when it first encounters an unavailable register. This does not match other architectures which annotate unavailable registers and continue to print out the values of subsequent registers. Replace the error by displaying an aligned "<unavailable>". This string is truncated to "<unavl>" when displaying a 32-bit register. gdb/ChangeLog: * mips-tdep.c (print_gp_register_row): Don't error for unavailable registers.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/mips-tdep.c10
2 files changed, 13 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c7cf410..4e091d7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2017-06-19 John Baldwin <jhb@FreeBSD.org>
+
+ * mips-tdep.c (print_gp_register_row): Don't error for unavailable
+ registers.
+
2017-06-19 Pedro Alves <palves@redhat.com>
* dwarf2read.c (write_psymtabs_to_index): Construct file_closer
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index 3ff2dab..c1800e4 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -6542,8 +6542,14 @@ print_gp_register_row (struct ui_file *file, struct frame_info *frame,
value = get_frame_register_value (frame, regnum);
if (value_optimized_out (value)
|| !value_entirely_available (value))
- error (_("can't read register %d (%s)"),
- regnum, gdbarch_register_name (gdbarch, regnum));
+ {
+ fprintf_filtered (file, "%*s ",
+ (int) mips_abi_regsize (gdbarch) * 2,
+ (mips_abi_regsize (gdbarch) == 4 ? "<unavl>"
+ : "<unavailable>"));
+ col++;
+ continue;
+ }
raw_buffer = value_contents_all (value);
/* pad small registers */
for (byte = 0;