S390: Name "invisible" registers with the empty string instead of NULL
authorAndreas Arnez <arnez@linux.vnet.ibm.com>
Wed, 4 Mar 2015 09:40:41 +0000 (10:40 +0100)
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Wed, 4 Mar 2015 09:40:41 +0000 (10:40 +0100)
When adding vector register support to GDB, s390_register_name() was
added to suppress the right halves of the first 16 vector registers.
However, that function returned NULL instead of an empty string in such
a case.  This leads to an incomplete list of registers returned by
"complete info registers ", because completion stops at the first NULL
return value from user_reg_map_regnum_to_name().

gdb/ChangeLog:

* s390-linux-tdep.c (s390_register_name): Return empty string
instead of NULL for registers that shouldn't be visible.

gdb/ChangeLog
gdb/s390-linux-tdep.c

index 3d1a082..ed9d355 100644 (file)
@@ -1,5 +1,10 @@
 2015-03-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
 
+       * s390-linux-tdep.c (s390_register_name): Return empty string
+       instead of NULL for registers that shouldn't be visible.
+
+2015-03-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
        * s390-linux-tdep.c (s390_gdbarch_init): Use the correct syscall
        XML file for 64-bit targets.
 
index 2dfd8e4..e60951f 100644 (file)
@@ -269,15 +269,15 @@ regnum_is_vxr_full (struct gdbarch_tdep *tdep, int regnum)
          && regnum <= tdep->v0_full_regnum + 15);
 }
 
-/* Return the name of register REGNO.  Return NULL for registers that
-   shouldn't be visible.  */
+/* Return the name of register REGNO.  Return the empty string for
+   registers that shouldn't be visible.  */
 
 static const char *
 s390_register_name (struct gdbarch *gdbarch, int regnum)
 {
   if (regnum >= S390_V0_LOWER_REGNUM
       && regnum <= S390_V15_LOWER_REGNUM)
-    return NULL;
+    return "";
   return tdesc_register_name (gdbarch, regnum);
 }