[patch] gdb/testsuite: fixes for gdb.xml/tdesc-regs.exp

Sandra Loosemore sandra@codesourcery.com
Tue Jun 16 21:08:59 GMT 2020


On 6/16/20 2:47 PM, Andrew Burgess wrote:

> I'd be interested to know more about which targets don't place any
> registers in the 'general' group.  This group is used in
> default_print_registers_info to implement 'info registers', so I'd
> like to see what this particular target has done instead.

nios2, for one.  From the original test log for nios2-linux-gnu:

maintenance print reggroups
  Group      Type
  foo        user
(gdb) FAIL: gdb.xml/tdesc-regs.exp: maintenance print reggroups

I don't have a mainline build for ARM handy but the failure reproduces 
on GDB 9 branch for arm-none-eabi.

This is Abid's original summary of his investigation in 2018:

   There are 2 reggroups maintained in the code. One is the
   default_groups which is populated in _initialize_reggroup. This group
   has 'general' group. So if you do 'maint print reggroups without
   loading anything in gdb, you will see 'general' group.

   The other group is stored in reggroups_data. This is populated when we
   load a target description xml file. So it only has group defined in
   xml file. But if has a valid group, then 'maint print reggroups' will
   not use default_groups. So that command will not print 'general' group
   if xml files did not have any.

   For x86, we have slightly different behavior. Its tdep code calls
   i386_add_reggroups which add 'general' group to reggroups_data as
   well.

   So this testcase assumes that 'general' group is always present. This
   asumption is true on x86 only not in general. So I have removed it
   from the match pattern.

-Sandra


More information about the Gdb-patches mailing list