Fix indentation of "maint print user-registers"
authorAndreas Arnez <arnez@vnet.linux.ibm.com>
Tue, 16 Dec 2014 15:06:42 +0000 (16:06 +0100)
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Tue, 16 Dec 2014 15:06:42 +0000 (16:06 +0100)
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".

gdb/ChangeLog
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/completion.exp
gdb/user-regs.c

index 2fadb8c..7c2e6f3 100644 (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
index ece258f..4be1f71 100644 (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
index 08e1a52..9c79a29 100644 (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".
index adaa959..6cdea16 100644 (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 */