gdb: make gdbarch_register_reggroup_p take a const reggroup *
authorAndrew Burgess <aburgess@redhat.com>
Thu, 31 Mar 2022 11:36:06 +0000 (12:36 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Thu, 7 Apr 2022 15:01:17 +0000 (16:01 +0100)
Change gdbarch_register_reggroup_p to take a 'const struct reggroup *'
argument.  This requires a change to the gdb/gdbarch-components.py
script, regeneration of gdbarch.{c,h}, and then updates to all the
architectures that implement this method.

There should be no user visible changes after this commit.

29 files changed:
gdb/aarch64-tdep.c
gdb/alpha-tdep.c
gdb/amd64-linux-tdep.c
gdb/arm-tdep.c
gdb/csky-tdep.c
gdb/gdbarch-components.py
gdb/gdbarch-gen.h
gdb/gdbarch.c
gdb/i386-linux-tdep.c
gdb/i386-tdep.c
gdb/i386-tdep.h
gdb/ia64-tdep.c
gdb/lm32-tdep.c
gdb/m32c-tdep.c
gdb/m68hc11-tdep.c
gdb/mep-tdep.c
gdb/mips-tdep.c
gdb/msp430-tdep.c
gdb/nds32-tdep.c
gdb/reggroups.c
gdb/reggroups.h
gdb/riscv-tdep.c
gdb/rl78-tdep.c
gdb/rs6000-tdep.c
gdb/s390-tdep.c
gdb/sh-tdep.c
gdb/target-descriptions.c
gdb/target-descriptions.h
gdb/xtensa-tdep.c

index fb1434c97a30efdf1e50ac29c8b024d61289bbfc..cdeeece83c0d1350266ba53c8965b680ef972441 100644 (file)
@@ -2695,7 +2695,7 @@ aarch64_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
 
 static int
 aarch64_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                                   struct reggroup *group)
+                                   const struct reggroup *group)
 {
   aarch64_gdbarch_tdep *tdep = (aarch64_gdbarch_tdep *) gdbarch_tdep (gdbarch);
 
index 7f3af216675c3cd9e53d1851bebe27a6342e491f..f04bad6bed8476940dbd565b1994a18dc5b887fc 100644 (file)
@@ -139,7 +139,7 @@ alpha_register_type (struct gdbarch *gdbarch, int regno)
 
 static int
 alpha_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                          struct reggroup *group)
+                          const struct reggroup *group)
 {
   /* Filter out any registers eliminated, but whose regnum is 
      reserved for backward compatibility, e.g. the vfp.  */
index 88a24c176e810d3a90d6134f11d2f2e9a8a4fbe3..0e5194fbeee71d1b2a281cadcb906a8914112e22 100644 (file)
@@ -279,7 +279,7 @@ static int amd64_linux_sc_reg_offset[] =
 
 static int
 amd64_linux_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                                struct reggroup *group)
+                                const struct reggroup *group)
 { 
   if (regnum == AMD64_LINUX_ORIG_RAX_REGNUM
       || regnum == AMD64_FSBASE_REGNUM
index 3e91dd707b029c8e2d6abcf063a97c31f7078ee8..fbc0a38bff3b8cf2d2aae3c99fd9df3163327ddb 100644 (file)
@@ -9105,7 +9105,7 @@ arm_elf_osabi_sniffer (bfd *abfd)
 
 static int
 arm_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                         struct reggroup *group)
+                        const struct reggroup *group)
 {
   /* FPS register's type is INT, but belongs to float_reggroup.  Beside
      this, FPS register belongs to save_regroup, restore_reggroup, and
index 09e8fc5724698ededd6935b8d4f24025e28d3f98..f1376730c8740dd3de1db160d83c94a22ff0e9f5 100644 (file)
@@ -2063,7 +2063,7 @@ csky_add_reggroups (struct gdbarch *gdbarch)
 
 static int
 csky_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                         struct reggroup *reggroup)
+                         const struct reggroup *reggroup)
 {
   int raw_p;
 
index c820ddae7645871f210559a46051e7f9708cf37d..e8f20c83ff0ad392b6c3f0ef340a7ba23b26429d 100644 (file)
@@ -1460,7 +1460,7 @@ Is a register in a group
 """,
     type="int",
     name="register_reggroup_p",
-    params=[("int", "regnum"), ("struct reggroup *", "reggroup")],
+    params=[("int", "regnum"), ("const struct reggroup *", "reggroup")],
     predefault="default_register_reggroup_p",
     invalid=False,
 )
index 7a8721328ab376ca9e779c84508a9eee2fd7f98d..882b9057b1ac64fa3594e655355f580eaf46e4a7 100644 (file)
@@ -833,8 +833,8 @@ extern void set_gdbarch_address_class_name_to_type_flags (struct gdbarch *gdbarc
 
 /* Is a register in a group */
 
-typedef int (gdbarch_register_reggroup_p_ftype) (struct gdbarch *gdbarch, int regnum, struct reggroup *reggroup);
-extern int gdbarch_register_reggroup_p (struct gdbarch *gdbarch, int regnum, struct reggroup *reggroup);
+typedef int (gdbarch_register_reggroup_p_ftype) (struct gdbarch *gdbarch, int regnum, const struct reggroup *reggroup);
+extern int gdbarch_register_reggroup_p (struct gdbarch *gdbarch, int regnum, const struct reggroup *reggroup);
 extern void set_gdbarch_register_reggroup_p (struct gdbarch *gdbarch, gdbarch_register_reggroup_p_ftype *register_reggroup_p);
 
 /* Fetch the pointer to the ith function argument. */
index ff404f477275a68f7bff5e9e01fac0e508865910..a588bdef61ab72a10a3465deb43b7b5fb67c6e3b 100644 (file)
@@ -3632,7 +3632,7 @@ set_gdbarch_address_class_name_to_type_flags (struct gdbarch *gdbarch,
 }
 
 int
-gdbarch_register_reggroup_p (struct gdbarch *gdbarch, int regnum, struct reggroup *reggroup)
+gdbarch_register_reggroup_p (struct gdbarch *gdbarch, int regnum, const struct reggroup *reggroup)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->register_reggroup_p != NULL);
index 1f1aaa7d60a1dc4a2d2bb96e5125d74d25349c14..5d7f54194aff0dc7f093998f16bc0aeebeade1eb 100644 (file)
@@ -54,7 +54,7 @@
    group.  Put the LINUX_ORIG_EAX register in the system group.  */
 static int
 i386_linux_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                               struct reggroup *group)
+                               const struct reggroup *group)
 {
   if (regnum == I386_LINUX_ORIG_EAX_REGNUM)
     return (group == system_reggroup
index 870cacaf0d3576b63f7a9b037871b0ce824eeeff..400ccd6bebf29f1652a1966bd38068a7badcbc0c 100644 (file)
@@ -4557,7 +4557,7 @@ i386_add_reggroups (struct gdbarch *gdbarch)
 
 int
 i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                         struct reggroup *group)
+                         const struct reggroup *group)
 {
   const i386_gdbarch_tdep *tdep = (i386_gdbarch_tdep *) gdbarch_tdep (gdbarch);
   int fp_regnum_p, mmx_regnum_p, xmm_regnum_p, mxcsr_regnum_p,
index eb58dd68e73d19618937602101442b48a1425d9d..a8067cf6b6c4971335adaac27c72e1fe46424bca 100644 (file)
@@ -418,7 +418,7 @@ extern int i386_sigtramp_p (struct frame_info *this_frame);
 
 /* Return non-zero if REGNUM is a member of the specified group.  */
 extern int i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                                    struct reggroup *group);
+                                    const struct reggroup *group);
 
 /* Supply register REGNUM from the general-purpose register set REGSET
    to register cache REGCACHE.  If REGNUM is -1, do this for all
index c2d1a475bab899fe4ffa773a0695cddface78dea..69a4b4db4fd120174d13a22ce320f9dfc52ee43a 100644 (file)
@@ -322,7 +322,7 @@ ia64_ext_type (struct gdbarch *gdbarch)
 
 static int
 ia64_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                         struct reggroup *group)
+                         const struct reggroup *group)
 {
   int vector_p;
   int float_p;
index cb516e846f49a674776c1cc968a63826f2d35534..f3f1f87d6bb458e6345b52b41a48a624b4251b62 100644 (file)
@@ -73,7 +73,7 @@ lm32_add_reggroups (struct gdbarch *gdbarch)
 
 static int
 lm32_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                         struct reggroup *group)
+                         const struct reggroup *group)
 {
   if (group == general_reggroup)
     return ((regnum >= SIM_LM32_R0_REGNUM) && (regnum <= SIM_LM32_RA_REGNUM))
index 5e4844bda0ac065b124d95c35383a16ba672abe9..94087302892ad781ffdb1e725aa4b819e8ff2b24 100644 (file)
@@ -252,7 +252,7 @@ m32c_debug_info_reg_to_regnum (struct gdbarch *gdbarch, int reg_nr)
 
 static int
 m32c_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                         struct reggroup *group)
+                         const struct reggroup *group)
 {
   m32c_gdbarch_tdep *tdep = (m32c_gdbarch_tdep *) gdbarch_tdep (gdbarch);
   struct m32c_reg *reg = &tdep->regs[regnum];
index 070eeb8b3da85f312c3d8cb375375d91e0240f51..f1133fe6780a52a1cb54fa4961192a62461d0c76 100644 (file)
@@ -1372,7 +1372,7 @@ m68hc11_add_reggroups (struct gdbarch *gdbarch)
 
 static int
 m68hc11_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                            struct reggroup *group)
+                            const struct reggroup *group)
 {
   /* We must save the real hard register as well as gcc
      soft registers including the frame pointer.  */
index d16c68e6fb63cf450ed46a13c940cc341b051f27..8f2f0a3b30d9897f2e386903fffd5635415c9cf4 100644 (file)
@@ -1028,7 +1028,7 @@ static struct reggroup *mep_ccr_reggroup; /* coprocessor control */
 
 static int
 mep_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                        struct reggroup *group)
+                        const struct reggroup *group)
 {
   /* Filter reserved or unused register numbers.  */
   {
index 4bdbf0fcdb73d9d5b0b536aeab99ce6baad92fed..9157e9fa143415998a9e761472b41419b5f8c7a9 100644 (file)
@@ -698,7 +698,7 @@ mips_register_name (struct gdbarch *gdbarch, int regno)
 
 static int
 mips_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                         struct reggroup *reggroup)
+                         const struct reggroup *reggroup)
 {
   int vector_p;
   int float_p;
@@ -738,7 +738,7 @@ mips_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
 
 static int
 mips_tdesc_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                               struct reggroup *reggroup)
+                               const struct reggroup *reggroup)
 {
   int rawnum = regnum % gdbarch_num_regs (gdbarch);
   int pseudo = regnum / gdbarch_num_regs (gdbarch);
index 86277e0b186d68d7a185ed11c0fda4970d9dad48..28268a95139b50baf1335f1c84265069dbe456d7 100644 (file)
@@ -203,7 +203,7 @@ msp430_register_name (struct gdbarch *gdbarch, int regnr)
 
 static int
 msp430_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                           struct reggroup *group)
+                           const struct reggroup *group)
 {
   if (group == all_reggroup)
     return 1;
index f85485618538f27831d675120fb0d6c0f7d5cc6a..425d7d90d64f1b034c889af1c9d844e0adfd8f74 100644 (file)
@@ -368,7 +368,7 @@ nds32_add_reggroups (struct gdbarch *gdbarch)
 
 static int
 nds32_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                          struct reggroup *reggroup)
+                          const struct reggroup *reggroup)
 {
   const char *reg_name;
   const char *group_name;
index 169285b7475881888760470b2e63e1600546f311..d5a263f8109bc21bbbf6718ac68343a8914471d1 100644 (file)
@@ -190,7 +190,7 @@ reggroup_prev (struct gdbarch *gdbarch, const struct reggroup *curr)
 /* Is REGNUM a member of REGGROUP?  */
 int
 default_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                            struct reggroup *group)
+                            const struct reggroup *group)
 {
   int vector_p;
   int float_p;
index ef99483f39fbdbe1b40b41f257e9e05e3afb83ef..df8e871e365a9f70940267442cc59efb222d425a 100644 (file)
@@ -66,6 +66,6 @@ extern reggroup *reggroup_find (struct gdbarch *gdbarch, const char *name);
 
 /* Is REGNUM a member of REGGROUP?  */
 extern int default_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                                       struct reggroup *reggroup);
+                                       const struct reggroup *reggroup);
 
 #endif
index 2752937f601bfef87fb6c78da73be921ab595270..8713652b09969fb55aeffa9d6f036cab7f0e3e88 100644 (file)
@@ -1271,7 +1271,7 @@ riscv_is_unknown_csr (struct gdbarch *gdbarch, int regnum)
 
 static int
 riscv_register_reggroup_p (struct gdbarch  *gdbarch, int regnum,
-                          struct reggroup *reggroup)
+                          const struct reggroup *reggroup)
 {
   /* Used by 'info registers' and 'info registers <groupname>'.  */
 
index df04939acb1909b2bb2610d8f35292f3ea52baf9..6ea0473081dae61ad395fdb69d0f627c1555c71c 100644 (file)
@@ -586,7 +586,7 @@ rl78_g10_register_name (struct gdbarch *gdbarch, int regnr)
 
 static int
 rl78_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                         struct reggroup *group)
+                         const struct reggroup *group)
 {
   if (group == all_reggroup)
     return 1;
index 5bf43644a8e60f36bec231119d68fd07731f9094..44828bcff6d482a65fbb9ab844b8bd88bedd6c60 100644 (file)
@@ -2642,7 +2642,7 @@ rs6000_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
 
 static int
 rs6000_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                                  struct reggroup *group)
+                                  const struct reggroup *group)
 {
   ppc_gdbarch_tdep *tdep = (ppc_gdbarch_tdep *) gdbarch_tdep (gdbarch);
 
index e54348be04a4e94096905e384717d84411692f8a..14b03a167d7362c26ac6c1b913432f8d5f7fbd89 100644 (file)
@@ -1440,7 +1440,7 @@ s390_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache,
 
 static int
 s390_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                                struct reggroup *group)
+                                const struct reggroup *group)
 {
   s390_gdbarch_tdep *tdep = (s390_gdbarch_tdep *) gdbarch_tdep (gdbarch);
 
index c12d40b604cefadb48ac9f9a96a3ded9cb6a28ef..2341a9beef62748850b9d352f1bf281e8697079d 100644 (file)
@@ -1490,7 +1490,7 @@ sh_default_register_type (struct gdbarch *gdbarch, int reg_nr)
    TODO: sh2a and dsp registers.  */
 static int
 sh_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-                       struct reggroup *reggroup)
+                       const struct reggroup *reggroup)
 {
   if (gdbarch_register_name (gdbarch, regnum) == NULL
       || *gdbarch_register_name (gdbarch, regnum) == '\0')
index ae3b8211167a3d715b074fd84ae66fb0f7819df9..33277c3d02dfe4d03423f811bb3636cc22beb243 100644 (file)
@@ -1007,7 +1007,7 @@ tdesc_remote_register_number (struct gdbarch *gdbarch, int regno)
 
 int
 tdesc_register_in_reggroup_p (struct gdbarch *gdbarch, int regno,
-                             struct reggroup *reggroup)
+                             const struct reggroup *reggroup)
 {
   struct tdesc_reg *reg = tdesc_find_register (gdbarch, regno);
 
@@ -1028,7 +1028,7 @@ tdesc_register_in_reggroup_p (struct gdbarch *gdbarch, int regno,
 
 static int
 tdesc_register_reggroup_p (struct gdbarch *gdbarch, int regno,
-                          struct reggroup *reggroup)
+                          const struct reggroup *reggroup)
 {
   int num_regs = gdbarch_num_regs (gdbarch);
   int num_pseudo_regs = gdbarch_num_pseudo_regs (gdbarch);
index 9d9599770628ccf09960a049ed9d6800c12bb42a..3b90dedcd80b4be2b291236df11d9f95427af38f 100644 (file)
@@ -229,7 +229,7 @@ struct type *tdesc_find_type (struct gdbarch *gdbarch, const char *id);
    specify a group.  */
 
 int tdesc_register_in_reggroup_p (struct gdbarch *gdbarch, int regno,
-                                 struct reggroup *reggroup);
+                                 const struct reggroup *reggroup);
 
 /* Methods for constructing a target description.  */
 
index 203d2e883df7834289fd0b317bceace9bcbcd54d..62be13643b285a895fff78641bc8c07962fe5013 100644 (file)
@@ -755,7 +755,7 @@ xtensa_add_reggroups (struct gdbarch *gdbarch)
 }
 
 static int 
-xtensa_coprocessor_register_group (struct reggroup *group)
+xtensa_coprocessor_register_group (const struct reggroup *group)
 {
   int i;
 
@@ -776,7 +776,7 @@ xtensa_coprocessor_register_group (struct reggroup *group)
 static int
 xtensa_register_reggroup_p (struct gdbarch *gdbarch,
                            int regnum,
-                           struct reggroup *group)
+                           const struct reggroup *group)
 {
   xtensa_gdbarch_tdep *tdep = (xtensa_gdbarch_tdep *) gdbarch_tdep (gdbarch);
   xtensa_register_t* reg = &tdep->regmap[regnum];