S390: Name "invisible" registers with the empty string instead of NULL

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.
This commit is contained in:
Andreas Arnez 2015-03-04 10:40:41 +01:00 committed by Andreas Krebbel
parent c214c7cfd3
commit 87de11c052
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
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

View 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);
}