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.
This commit is contained in:
John Baldwin 2017-06-19 14:30:24 -07:00
parent 66953522c9
commit 325c9fd4aa
2 changed files with 13 additions and 2 deletions

View File

@ -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

View File

@ -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;