)]}'
{
  "commit": "e7d69e72bfd16113a6bbbebfb8a92126245a4106",
  "tree": "6bc1c8d392f18dde3e1e499bc7bd455a3e5dc43b",
  "parents": [
    "07c316ecaa2e47721b5e1281456e6b8b0d15c7ba"
  ],
  "author": {
    "name": "Andrew Burgess",
    "email": "aburgess@redhat.com",
    "time": "Thu Mar 31 10:10:54 2022 +0100"
  },
  "committer": {
    "name": "Andrew Burgess",
    "email": "aburgess@redhat.com",
    "time": "Thu Apr 07 16:01:18 2022 +0100"
  },
  "message": "gdb: always add the default register groups\n\nThere\u0027s a set of 7 default register groups.  If we don\u0027t add any\ngdbarch specific register groups during gdbarch initialisation, then\nwhen we iterate over the register groups using reggroup_next and\nreggroup_prev we will make use of these 7 default groups.  See the use\nof default_groups in gdb/reggroups.c for details on this.\n\nHowever, if the gdbarch adds its own groups during gdbarch\ninitialisation, then these groups will be used in preference to the\ndefault groups.\n\nA problem arises though if the particular architecture makes use of\nthe target description mechanism.  If the default target\ndescription(s) (i.e. those internal to GDB that are used when the user\ndoesn\u0027t provide their own) don\u0027t mention any additional register\ngroups then the default register groups will be used.\n\nBut if the target description does mention additional groups then the\ndefault groups are not used, and instead, the groups from the target\ndescription are used.\n\nThe problem with this is that what usually happens is that the target\ndescription will mention additional groups, e.g. groups for special\nregisters.  Most architectures that use target descriptions work\naround this by adding all (or most) of the default register groups in\nall cases.  See i386_add_reggroups, aarch64_add_reggroups,\nriscv_add_reggroups, xtensa_add_reggroups, and others.\n\nIn this patch, my suggestion is that we should just add the default\nregister groups for every architecture, always.  This change is in\ngdb/reggroups.c.\n\nAll the remaining changes are me updating the various architectures to\nnot add the default groups themselves.\n\nSo, where will this change be visible to the user?  I think the\nfollowing commands will possibly change:\n\n* info registers / info all-registers:\n\n  The user can provide a register group to these commands.  For example,\n  on csky, we previously never added the \u0027vector\u0027 group.  Now, as a\n  default group, this will be available, but (presumably) will not\n  contain any registers.  I don\u0027t think this is necessarily a bad\n  thing, there\u0027s something to be said for having some consistent\n  defaults available.  There are other architectures that didn\u0027t add\n  all 7 of the defaults, which will now have gained additional groups.\n\n* maint print reggroups\n\n  This prints the set of all available groups.  As a maintenance\n  command I\u0027m less concerned with the output changing here.\n  Obviously, for the architectures that didn\u0027t previously add all the\n  defaults, this list just got bigger.\n\n* maint print register-groups\n\n  This prints all the registers, and the groups they are in.  If the\n  defaults were not previously being added then a register (obviously)\n  can\u0027t appear in one of the default groups.  Now the groups are\n  available then registers might be in more groups than previously.\n  However, this is again a maintenance command, so I\u0027m less concerned\n  about this changing.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cdeeece83c0d1350266ba53c8965b680ef972441",
      "old_mode": 33188,
      "old_path": "gdb/aarch64-tdep.c",
      "new_id": "98eaeaf8ca41a55734b7ffc2b7f1e48ede052475",
      "new_mode": 33188,
      "new_path": "gdb/aarch64-tdep.c"
    },
    {
      "type": "modify",
      "old_id": "d6da2886c499151459ab26623cfa24e413888e96",
      "old_mode": 33188,
      "old_path": "gdb/arc-tdep.c",
      "new_id": "98bd1c4bc0a6ea775bc7767bfe671233a5f9c3c8",
      "new_mode": 33188,
      "new_path": "gdb/arc-tdep.c"
    },
    {
      "type": "modify",
      "old_id": "f1376730c8740dd3de1db160d83c94a22ff0e9f5",
      "old_mode": 33188,
      "old_path": "gdb/csky-tdep.c",
      "new_id": "feb416a2406847d2f821f3ddc80f119ab87af89b",
      "new_mode": 33188,
      "new_path": "gdb/csky-tdep.c"
    },
    {
      "type": "modify",
      "old_id": "400ccd6bebf29f1652a1966bd38068a7badcbc0c",
      "old_mode": 33188,
      "old_path": "gdb/i386-tdep.c",
      "new_id": "99a81b98da113cafa1047487bcd580d3bc224f7a",
      "new_mode": 33188,
      "new_path": "gdb/i386-tdep.c"
    },
    {
      "type": "modify",
      "old_id": "f3f1f87d6bb458e6345b52b41a48a624b4251b62",
      "old_mode": 33188,
      "old_path": "gdb/lm32-tdep.c",
      "new_id": "4a781c394e9569115b5a66282ff9773ee76a372e",
      "new_mode": 33188,
      "new_path": "gdb/lm32-tdep.c"
    },
    {
      "type": "modify",
      "old_id": "94087302892ad781ffdb1e725aa4b819e8ff2b24",
      "old_mode": 33188,
      "old_path": "gdb/m32c-tdep.c",
      "new_id": "5a767c9ed523fe28a38612c14fdfee7dcec787fb",
      "new_mode": 33188,
      "new_path": "gdb/m32c-tdep.c"
    },
    {
      "type": "modify",
      "old_id": "f1133fe6780a52a1cb54fa4961192a62461d0c76",
      "old_mode": 33188,
      "old_path": "gdb/m68hc11-tdep.c",
      "new_id": "9d978d8801804f8fb5cb03ce115e7a521f0ba1de",
      "new_mode": 33188,
      "new_path": "gdb/m68hc11-tdep.c"
    },
    {
      "type": "modify",
      "old_id": "8f2f0a3b30d9897f2e386903fffd5635415c9cf4",
      "old_mode": 33188,
      "old_path": "gdb/mep-tdep.c",
      "new_id": "1ab01c6cbb3d689331423cf1b7dc94b90138e589",
      "new_mode": 33188,
      "new_path": "gdb/mep-tdep.c"
    },
    {
      "type": "modify",
      "old_id": "425d7d90d64f1b034c889af1c9d844e0adfd8f74",
      "old_mode": 33188,
      "old_path": "gdb/nds32-tdep.c",
      "new_id": "a94a03ab2ab2997ac33d6232fb7a5f4bc99dce34",
      "new_mode": 33188,
      "new_path": "gdb/nds32-tdep.c"
    },
    {
      "type": "modify",
      "old_id": "9f7fa2f169f0c643045a75fed5cef3146268dd4b",
      "old_mode": 33188,
      "old_path": "gdb/or1k-tdep.c",
      "new_id": "2b906fa69d3170b69474d731ac7f07b0c432e6ec",
      "new_mode": 33188,
      "new_path": "gdb/or1k-tdep.c"
    },
    {
      "type": "modify",
      "old_id": "6c38ca743f4c916a9938f44e9528221038d69e5a",
      "old_mode": 33188,
      "old_path": "gdb/reggroups.c",
      "new_id": "74b981fb5e9030a4cac6c42ce16a707c5ce039a1",
      "new_mode": 33188,
      "new_path": "gdb/reggroups.c"
    },
    {
      "type": "modify",
      "old_id": "8713652b09969fb55aeffa9d6f036cab7f0e3e88",
      "old_mode": 33188,
      "old_path": "gdb/riscv-tdep.c",
      "new_id": "79b8135103941646a8ae9478b3c2f96454b8c8ae",
      "new_mode": 33188,
      "new_path": "gdb/riscv-tdep.c"
    },
    {
      "type": "modify",
      "old_id": "62be13643b285a895fff78641bc8c07962fe5013",
      "old_mode": 33188,
      "old_path": "gdb/xtensa-tdep.c",
      "new_id": "6e478ee893d67414d2a559ad77886f6a3a04d945",
      "new_mode": 33188,
      "new_path": "gdb/xtensa-tdep.c"
    }
  ]
}
