Fix indentation of "maint print user-registers"

This fixes a failure of the test case "complete 'info registers '" in
completion.exp on architectures where the user registers have numbers
above 99.  In that case the output of "maint print user-registers" was
no longer indented, and the regexp in the test case failed to add them
to the list of expected completion results.  The fix also swaps the
columns "Name" and "Nr", such that the indentation is always the same,
and to be consistent with the output of "maint print registers".

gdb/ChangeLog:

	* user-regs.c (maintenance_print_user_registers): Swap "Nr" and
	"Name" columns.  Assure that the output is always indented.

gdb/testsuite/ChangeLog:

	* gdb.base/completion.exp: Adjust to format changes of "maint
	print user-registers".
This commit is contained in:
Andreas Arnez 2014-12-16 16:06:42 +01:00 committed by Andreas Krebbel
parent 033539e268
commit 25dda427ec
4 changed files with 15 additions and 8 deletions

View File

@ -1,3 +1,8 @@
2014-12-16 Andreas Arnez <arnez@vnet.linux.ibm.com>
* user-regs.c (maintenance_print_user_registers): Swap "Nr" and
"Name" columns. Assure that the output is always indented.
2014-12-16 Joel Brobecker <brobecker@adacore.com>
* nat/linux-ptrace.h (PTRACE_O_EXITKILL): Define if not

View File

@ -1,3 +1,8 @@
2014-12-16 Andreas Arnez <arnez@vnet.linux.ibm.com>
* gdb.base/completion.exp: Adjust to format changes of "maint
print user-registers".
2014-12-16 Catalin Udma <catalin.udma@freescale.com>
PR server/17457

View File

@ -145,17 +145,14 @@ set regs_output [capture_command_output "mt print registers" \
append regs_output "\n"
append regs_output [capture_command_output "mt print reggroups" \
".*Group.*Type\[^\n]*\n"]
append regs_output "\n"
append regs_output [capture_command_output "mt print user-registers" \
".*Name.*Nr\[^\n]*\n"]
set all_regs {}
foreach {- reg} [regexp -all -inline -line {^\s+(\w+)} $regs_output] {
lappend all_regs $reg
}
set regs_output [capture_command_output "mt print user-registers" \
".*Nr.*Name\[^\n]*\n"]
foreach {- reg} [regexp -all -inline -line {^\s+\d+\s+(\w+)} $regs_output] {
lappend all_regs $reg
}
set all_regs [join [lsort -unique $all_regs]]
# ... and then compare them to the completion of "info registers".

View File

@ -229,9 +229,9 @@ maintenance_print_user_registers (char *args, int from_tty)
regs = gdbarch_data (gdbarch, user_regs_data);
regnum = gdbarch_num_regs (gdbarch) + gdbarch_num_pseudo_regs (gdbarch);
fprintf_unfiltered (gdb_stdout, " Nr Name\n");
fprintf_unfiltered (gdb_stdout, " %-11s %3s\n", "Name", "Nr");
for (reg = regs->first; reg != NULL; reg = reg->next, ++regnum)
fprintf_unfiltered (gdb_stdout, "%3d %s\n", regnum, reg->name);
fprintf_unfiltered (gdb_stdout, " %-11s %3d\n", reg->name, regnum);
}
extern initialize_file_ftype _initialize_user_regs; /* -Wmissing-prototypes */