gdb: rename gdbarch_tdep struct to fix g++ 4.8 build
authorAndrew Burgess <aburgess@redhat.com>
Mon, 25 Jul 2022 11:07:11 +0000 (12:07 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Tue, 26 Jul 2022 11:04:07 +0000 (12:04 +0100)
After the commit:

  commit 08106042d9f5fdff60c129bf33190639f1a98b2a
  Date:   Thu May 19 13:20:17 2022 +0100

      gdb: move the type cast into gdbarch_tdep

GDB would no longer build using g++ 4.8.  The issue appears to be some
confusion caused by GDB having 'struct gdbarch_tdep', but also a
templated function called 'gdbarch_tdep'.  Prior to the above commit
the gdbarch_tdep function was not templated, and this compiled just
fine.  Note that the above commit compiles just fine with later
versions of g++, so this issue was clearly fixed at some point, though
I've not tried to track down exactly when.

In this commit I propose to fix the g++ 4.8 build problem by renaming
'struct gdbarch_tdep' to 'struct gdbarch_tdep_base'.  This rename
better represents that the struct is only ever used as a base class,
and removes the overloading of the name, which allows GDB to build
with g++ 4.8.

I've also updated the comment on 'struct gdbarch_tdep_base' to fix a
typo, and the comment on the 'gdbarch_tdep' function, to mention that
in maintainer mode a run-time type check is performed.

45 files changed:
gdb/aarch64-tdep.h
gdb/alpha-tdep.h
gdb/arc-tdep.h
gdb/arch-utils.c
gdb/arm-tdep.h
gdb/avr-tdep.c
gdb/bfin-tdep.h
gdb/bpf-tdep.c
gdb/cris-tdep.h
gdb/csky-tdep.h
gdb/frv-tdep.c
gdb/ft32-tdep.h
gdb/gdbarch.c
gdb/gdbarch.h
gdb/gdbarch.py
gdb/hppa-tdep.h
gdb/i386-tdep.h
gdb/ia64-tdep.h
gdb/lm32-tdep.c
gdb/loongarch-tdep.h
gdb/m32c-tdep.c
gdb/m32r-tdep.h
gdb/m68hc11-tdep.c
gdb/m68k-tdep.h
gdb/mep-tdep.c
gdb/microblaze-tdep.h
gdb/mips-tdep.h
gdb/mn10300-tdep.h
gdb/moxie-tdep.h
gdb/msp430-tdep.c
gdb/nds32-tdep.h
gdb/nios2-tdep.h
gdb/or1k-tdep.c
gdb/ppc-tdep.h
gdb/riscv-tdep.h
gdb/rl78-tdep.c
gdb/rx-tdep.c
gdb/s12z-tdep.c
gdb/s390-tdep.h
gdb/sh-tdep.h
gdb/sparc-tdep.h
gdb/tic6x-tdep.h
gdb/v850-tdep.c
gdb/xtensa-tdep.h
gdb/z80-tdep.c

index b85a3d33cc9c4f7a2407097291a975ce3476982e..5bdd733dce3235d4624202e516122decd03de534 100644 (file)
@@ -60,7 +60,7 @@ struct regset;
 #define AARCH64_DISPLACED_MODIFIED_INSNS 1
 
 /* Target-dependent structure in gdbarch.  */
-struct aarch64_gdbarch_tdep : gdbarch_tdep
+struct aarch64_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Lowest address at which instructions will appear.  */
   CORE_ADDR lowest_pc = 0;
index 420ea1adc9c7887dedf9a196bfe44d4a424bed71..bc4a84072493027c8a0dac24e501859077f5b238 100644 (file)
@@ -70,7 +70,7 @@ struct regcache;
 #define ALPHA_NUM_ARG_REGS   6
 
 /* Target-dependent structure in gdbarch.  */
-struct alpha_gdbarch_tdep : gdbarch_tdep
+struct alpha_gdbarch_tdep : gdbarch_tdep_base
 {
   CORE_ADDR vm_min_address = 0;        /* Used by alpha_heuristic_proc_start.  */
 
index 53e5d8476fc2709e9d5fd3b4e9061b9f34251bd3..eba435f62f09a8a081dcaf60059196640fa3f890 100644 (file)
@@ -121,7 +121,7 @@ extern bool arc_debug;
 
 /* Target-dependent information.  */
 
-struct arc_gdbarch_tdep : gdbarch_tdep
+struct arc_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Offset to PC value in jump buffer.  If this is negative, longjmp
      support will be disabled.  */
index 360b8d694beae7b83ad54a96705046370b30d13e..4e55b2797b9bfd949916aefc54211a5cd2481509 100644 (file)
@@ -1200,7 +1200,7 @@ gdbarch_free (struct gdbarch *arch)
 
 /* See gdbarch.h.  */
 
-struct gdbarch_tdep *
+struct gdbarch_tdep_base *
 gdbarch_tdep_1 (struct gdbarch *gdbarch)
 {
   if (gdbarch_debug >= 2)
index 0fc4774a20c237a684c12ebd4a06356eb51ef85e..67dd1151da4cd3dd38bb517449d1a323d24d1eb9 100644 (file)
@@ -87,7 +87,7 @@ enum struct_return
 };
 
 /* Target-dependent structure in gdbarch.  */
-struct arm_gdbarch_tdep : gdbarch_tdep
+struct arm_gdbarch_tdep : gdbarch_tdep_base
 {
   /* The ABI for this architecture.  It should never be set to
      ARM_ABI_AUTO.  */
index 4722f7ee748a8452c2cdb023287b457aef687d74..357f5bb8f2dc4c5954a9a1a3a3160d881d7b1098 100644 (file)
@@ -189,7 +189,7 @@ struct avr_unwind_cache
   trad_frame_saved_reg *saved_regs;
 };
 
-struct avr_gdbarch_tdep : gdbarch_tdep
+struct avr_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Number of bytes stored to the stack by call instructions.
      2 bytes for avr1-5 and avrxmega1-5, 3 bytes for avr6 and avrxmega6-7.  */
index b7e3b9b327c0d282545abdea1663290a22cce772..267149684e05efa4fdbb86f08928f52c146de76d 100644 (file)
@@ -96,7 +96,7 @@ enum bfin_abi
 };
 
 /* Target-dependent structure in gdbarch.  */
-struct bfin_gdbarch_tdep : gdbarch_tdep
+struct bfin_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Which ABI is in use?  */
   enum bfin_abi bfin_abi {};
index 09030cf8fa18c0c0280f649ecdadaa6665d32c54..a5df478063ccbd5b189e9523ea2cd3c1413a14f8 100644 (file)
@@ -58,7 +58,7 @@ enum bpf_regnum
 #define BPF_NUM_REGS   (BPF_PC_REGNUM + 1)
 
 /* Target-dependent structure in gdbarch.  */
-struct bpf_gdbarch_tdep : gdbarch_tdep
+struct bpf_gdbarch_tdep : gdbarch_tdep_base
 {
 };
 
index 0b1801afa043670b222399966664df07a8b10348..981515a4e9fdf8c8b80941282a06fd4cfae43142 100644 (file)
@@ -26,7 +26,7 @@
 #include "gdbarch.h"
 
 /* CRIS architecture specific information.  */
-struct cris_gdbarch_tdep : gdbarch_tdep
+struct cris_gdbarch_tdep : gdbarch_tdep_base
 {
   unsigned int cris_version = 0;
   const char *cris_mode = nullptr;
index 4cfc0a5d086d920317c78d3b94f99f4025304592..54000ab8287ed648b5298350c1280bef65514eda 100644 (file)
@@ -31,7 +31,7 @@ enum lr_type_t
 };
 
 /* Target-dependent structure in gdbarch.  */
-struct csky_gdbarch_tdep : gdbarch_tdep
+struct csky_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Save FPU, VDSP ABI.  */
   unsigned int fpu_abi;
index 34f437764a9fcfaa82f32e551784ff97259c1592..55a6cfd96180708af6c6010bb846f64c146b3fa6 100644 (file)
@@ -68,7 +68,7 @@ struct frv_unwind_cache               /* was struct frame_extra_info */
    of structures, each of which gives all the necessary info for one
    register.  Don't stick parallel arrays in here --- that's so
    Fortran.  */
-struct frv_gdbarch_tdep : gdbarch_tdep
+struct frv_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Which ABI is in use?  */
   enum frv_abi frv_abi {};
index e66a417198ebc02ed62b7de1e532e119a492cd68..e9befaba9d434ef18fa186199d8f90e358672650 100644 (file)
@@ -22,7 +22,7 @@
 
 #include "gdbarch.h"
 
-struct ft32_gdbarch_tdep : gdbarch_tdep
+struct ft32_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Type for a pointer to a function.  Used for the type of PC.  */
   struct type *pc_type = nullptr;
index 5d14aec14550faf4f0f3940b09c0ae2367e5a69c..d4ea5d33c9c234e5ea7ace6f3414e3175119bc8f 100644 (file)
@@ -43,7 +43,7 @@ struct gdbarch
   const struct target_desc * target_desc;
 
   /* target specific vector.  */
-  struct gdbarch_tdep *tdep;
+  struct gdbarch_tdep_base *tdep;
   gdbarch_dump_tdep_ftype *dump_tdep;
 
   /* per-architecture data-pointers.  */
@@ -258,7 +258,7 @@ struct gdbarch
 
 struct gdbarch *
 gdbarch_alloc (const struct gdbarch_info *info,
-              struct gdbarch_tdep *tdep)
+              struct gdbarch_tdep_base *tdep)
 {
   struct gdbarch *gdbarch;
 
index 16c73915c6426e25684d0637c77a4967df150272..324958469a7ee2b10079dca5d5cd11ad6e957378 100644 (file)
@@ -61,11 +61,11 @@ struct inferior;
 
 /* The base class for every architecture's tdep sub-class.  The virtual
    destructor ensures the class has RTTI information, which allows
-   gdb::checked_static_cast to be used, the gdbarch_tdep the function.  */
+   gdb::checked_static_cast to be used in the gdbarch_tdep function.  */
 
-struct gdbarch_tdep
+struct gdbarch_tdep_base
 {
-  virtual ~gdbarch_tdep() = default;
+  virtual ~gdbarch_tdep_base() = default;
 };
 
 /* The architecture associated with the inferior through the
@@ -151,20 +151,23 @@ using read_core_file_mappings_loop_ftype =
 #include "gdbarch-gen.h"
 
 /* An internal function that should _only_ be called from gdbarch_tdep.
-   Returns the gdbarch_tdep field held within GDBARCH.  */
+   Returns the gdbarch_tdep_base field held within GDBARCH.  */
 
-extern struct gdbarch_tdep *gdbarch_tdep_1 (struct gdbarch *gdbarch);
+extern struct gdbarch_tdep_base *gdbarch_tdep_1 (struct gdbarch *gdbarch);
 
-/* Return the gdbarch_tdep object held within GDBARCH cast to the type
-   TDepType, which should be a sub-class of gdbarch_tdep.  There is no
-   checking done that the gdbarch_tdep within GDBARCH actually is of the
-   type TDepType, we just assume the caller knows what they are doing.  */
+/* Return the gdbarch_tdep_base object held within GDBARCH cast to the type
+   TDepType, which should be a sub-class of gdbarch_tdep_base.
+
+   When GDB is compiled in maintainer mode a run-time check is performed
+   that the gdbarch_tdep_base within GDBARCH really is of type TDepType.
+   When GDB is compiled in release mode the run-time check is not
+   performed, and we assume the caller knows what they are doing.  */
 
 template<typename TDepType>
 static inline TDepType *
 gdbarch_tdep (struct gdbarch *gdbarch)
 {
-  struct gdbarch_tdep *tdep = gdbarch_tdep_1 (gdbarch);
+  struct gdbarch_tdep_base *tdep = gdbarch_tdep_1 (gdbarch);
   return gdb::checked_static_cast<TDepType *> (tdep);
 }
 
@@ -293,7 +296,7 @@ extern struct gdbarch_list *gdbarch_list_lookup_by_info (struct gdbarch_list *ar
    parameters.  set_gdbarch_*() functions are called to complete the
    initialization of the object.  */
 
-extern struct gdbarch *gdbarch_alloc (const struct gdbarch_info *info, struct gdbarch_tdep *tdep);
+extern struct gdbarch *gdbarch_alloc (const struct gdbarch_info *info, struct gdbarch_tdep_base *tdep);
 
 
 /* Helper function.  Free a partially-constructed ``struct gdbarch''.
index 8956a9c38aa5c1bbea2e03239b619ade3f63124a..bb08081af5ac32905e24964136d9a35e36e14c19 100755 (executable)
@@ -267,7 +267,7 @@ with open("gdbarch.c", "w") as f:
         print(f"  {c.type} {c.name};", file=f)
     print(file=f)
     print("  /* target specific vector.  */", file=f)
-    print("  struct gdbarch_tdep *tdep;", file=f)
+    print("  struct gdbarch_tdep_base *tdep;", file=f)
     print("  gdbarch_dump_tdep_ftype *dump_tdep;", file=f)
     print(file=f)
     print("  /* per-architecture data-pointers.  */", file=f)
@@ -290,7 +290,7 @@ with open("gdbarch.c", "w") as f:
     print(file=f)
     print("struct gdbarch *", file=f)
     print("gdbarch_alloc (const struct gdbarch_info *info,", file=f)
-    print("           struct gdbarch_tdep *tdep)", file=f)
+    print("           struct gdbarch_tdep_base *tdep)", file=f)
     print("{", file=f)
     print("  struct gdbarch *gdbarch;", file=f)
     print("", file=f)
index f1e24a272c4dbf47475e56a702d2ee318b1208bf..c2c9e0e0b5eff190aebbfd1c20d2e99647044614 100644 (file)
@@ -84,7 +84,7 @@ enum hppa_regnum
 #define HPPA_INSN_SIZE 4
 
 /* Target-dependent structure in gdbarch.  */
-struct hppa_gdbarch_tdep : gdbarch_tdep
+struct hppa_gdbarch_tdep : gdbarch_tdep_base
 {
   /* The number of bytes in an address.  For now, this field is designed
      to allow us to differentiate hppa32 from hppa64 targets.  */
index a8067cf6b6c4971335adaac27c72e1fe46424bca..cd77e0308e09c2847cad711db0defa07b4da9a02 100644 (file)
@@ -57,7 +57,7 @@ enum struct_return
 };
 
 /* i386 architecture specific information.  */
-struct i386_gdbarch_tdep : gdbarch_tdep
+struct i386_gdbarch_tdep : gdbarch_tdep_base
 {
   /* General-purpose registers.  */
   int *gregset_reg_offset = 0;
index 675d0d871b2ae87db109b36c65e71c48755878cd..f06974fd2960e35ba50ce9b45538d48c58b8f810 100644 (file)
@@ -229,7 +229,7 @@ struct ia64_infcall_ops
   void (*set_function_addr) (struct regcache *regcache, CORE_ADDR func_addr);
 };
 
-struct ia64_gdbarch_tdep : gdbarch_tdep
+struct ia64_gdbarch_tdep : gdbarch_tdep_base
 {
   CORE_ADDR (*sigcontext_register_address) (struct gdbarch *, CORE_ADDR, int)
     = nullptr;
index 4a781c394e9569115b5a66282ff9773ee76a372e..4cbff537fab883ccabf13decea647faba6b59bf1 100644 (file)
@@ -43,7 +43,7 @@
 #define LM32_REG2(insn)         ((insn >> 11) & 0x1f)
 #define LM32_IMM16(insn)        ((((long)insn & 0xffff) << 16) >> 16)
 
-struct lm32_gdbarch_tdep : gdbarch_tdep
+struct lm32_gdbarch_tdep : gdbarch_tdep_base
 {
   /* gdbarch target dependent data here.  Currently unused for LM32.  */
 };
index e35b6cf4c7a217caaea4f99ceff710bd186c1ee1..c5527f7d148f0f9f9c17a12506d18476896c93db 100644 (file)
@@ -32,7 +32,7 @@ extern const struct regset loongarch_gregset;
 extern const struct regset loongarch_fpregset;
 
 /* Target-dependent structure in gdbarch.  */
-struct loongarch_gdbarch_tdep : gdbarch_tdep
+struct loongarch_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Features about the abi that impact how the gdbarch is configured.  */
   struct loongarch_gdbarch_features abi_features;
index 37456d16cb369921d0232cb6388627649f30b303..30f716b6969a47e8b7ee375caf480ef8bbdecee5 100644 (file)
@@ -96,7 +96,7 @@ struct m32c_reg
 #define M32C_MAX_DWARF_REGNUM (40)
 
 
-struct m32c_gdbarch_tdep : gdbarch_tdep
+struct m32c_gdbarch_tdep : gdbarch_tdep_base
 {
   /* All the registers for this variant, indexed by GDB register
      number, and the number of registers present.  */
index 1fa143adc74e65640054c569ab7e13a4a06b3f67..09d5b245770636f9987ab76efc0215460ae8d82f 100644 (file)
@@ -22,7 +22,7 @@
 
 #include "gdbarch.h"
 
-struct m32r_gdbarch_tdep : gdbarch_tdep
+struct m32r_gdbarch_tdep : gdbarch_tdep_base
 {
   /* gdbarch target dependent data here.  Currently unused for M32R.  */
 };
index 9eb18b937be13acbc2a88fda830716bdee1bf21e..7ea1f9a5b9173f5db8a92b4fd8fb0e87f9dea53e 100644 (file)
@@ -124,7 +124,7 @@ enum insn_return_kind {
 #define M68HC12_HARD_PC_REGNUM  (SOFT_D32_REGNUM+1)
 
 struct insn_sequence;
-struct m68gc11_gdbarch_tdep : gdbarch_tdep
+struct m68gc11_gdbarch_tdep : gdbarch_tdep_base
   {
     /* Stack pointer correction value.  For 68hc11, the stack pointer points
        to the next push location.  An offset of 1 must be applied to obtain
index c70a26e8554901fd8a325d3db80029316f69d8b5..785e3fdb84fe9e2eaa6da66580689fa0226e5655 100644 (file)
@@ -69,7 +69,7 @@ enum m68k_flavour
 
 /* Target-dependent structure in gdbarch.  */
 
-struct m68k_gdbarch_tdep : gdbarch_tdep
+struct m68k_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Offset to PC value in the jump buffer.  If this is negative,
      longjmp support will be disabled.  */
index d5ba78c6df9d42567cb7c03a1108a0748820460b..170b4b0746086a4c3b8be4642ca00245dab6ea4a 100644 (file)
      options are present on the current processor.  */
 
 
-struct mep_gdbarch_tdep : gdbarch_tdep
+struct mep_gdbarch_tdep : gdbarch_tdep_base
 {
   /* A CGEN cpu descriptor for this BFD architecture and machine.
 
index 4d90e8785dc796db0a4f0da094326be6daf15e8c..48b2581fcc7e45238525b25849a0e6a639bf6ee2 100644 (file)
@@ -23,7 +23,7 @@
 #include "gdbarch.h"
 
 /* Microblaze architecture-specific information.  */
-struct microblaze_gdbarch_tdep : gdbarch_tdep
+struct microblaze_gdbarch_tdep : gdbarch_tdep_base
 {
 };
 
index 4d2664d42731a8ca984380f759bf18e86efd3503..24ed678a52160b8528af3438e687870b4b543af4 100644 (file)
@@ -93,7 +93,7 @@ enum mips_fpu_type
 };
 
 /* MIPS specific per-architecture information.  */
-struct mips_gdbarch_tdep : gdbarch_tdep
+struct mips_gdbarch_tdep : gdbarch_tdep_base
 {
   /* from the elf header */
   int elf_flags = 0;
index 87b861ead90c002cc8dc87a15a7b94f324ff06bb..dacfb9d294891f2f26337147f26848862cf5d158 100644 (file)
@@ -76,7 +76,7 @@ enum frame_kind {
 };
 
 /* mn10300 private data.  */
-struct mn10300_gdbarch_tdep : gdbarch_tdep
+struct mn10300_gdbarch_tdep : gdbarch_tdep_base
 {
   int am33_mode;
 };
index 91d007fd72336a59e70227dafa27ab9223655024..69bb5d0fa3a8fd4fc7b9323829e88eec874d6b51 100644 (file)
@@ -22,7 +22,7 @@
 
 #include "gdbarch.h"
 
-struct moxie_gdbarch_tdep : gdbarch_tdep
+struct moxie_gdbarch_tdep : gdbarch_tdep_base
 {
   /* gdbarch target dependent data here.  Currently unused for MOXIE.  */
 };
index 4ae8b3d56267c7b2a0317d404d5d49052a280122..cf4106d1a345c58cb7118eeb6ce24579d02b6764 100644 (file)
@@ -105,7 +105,7 @@ enum
 
 /* Architecture specific data.  */
 
-struct msp430_gdbarch_tdep : gdbarch_tdep
+struct msp430_gdbarch_tdep : gdbarch_tdep_base
 {
   /* The ELF header flags specify the multilib used.  */
   int elf_flags = 0;
index 2cabd6a173f5c4e85bdd95d66595daf6f5d1776c..e68017b46670a9afddd1156be6df710eaf751a38 100644 (file)
@@ -42,7 +42,7 @@ enum nds32_regnum
   NDS32_FD0_REGNUM = NDS32_NUM_REGS,
 };
 
-struct nds32_gdbarch_tdep : gdbarch_tdep
+struct nds32_gdbarch_tdep : gdbarch_tdep_base
 {
   /* The guessed FPU configuration.  */
   int fpu_freg = 0;
index b8913ed1baa15bd358f964db4cfcdc90452bd64a..cbf2599f5c09c01e4ffec157c887ca3bb65adeff 100644 (file)
@@ -69,7 +69,7 @@
 #define NIOS2_CDX_OPCODE_SIZE 2
 
 /* Target-dependent structure in gdbarch.  */
-struct nios2_gdbarch_tdep : gdbarch_tdep
+struct nios2_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Assumes FRAME is stopped at a syscall (trap) instruction; returns
      the expected next PC.  */
index 4699b755d42c7a6707fbf8f3bd70df432281d794..360a7cb36c13bbee0122ba234af990f87479f04d 100644 (file)
@@ -63,7 +63,7 @@ show_or1k_debug (struct ui_file *file, int from_tty,
 
 /* The target-dependent structure for gdbarch.  */
 
-struct or1k_gdbarch_tdep : gdbarch_tdep
+struct or1k_gdbarch_tdep : gdbarch_tdep_base
 {
   int bytes_per_word = 0;
   int bytes_per_address = 0;
index 80a7dd080a2ad253495868362a322c909fb40b43..44f63b145c608e83a5d2290124945cc31952732c 100644 (file)
@@ -205,7 +205,7 @@ enum powerpc_long_double_abi
   POWERPC_LONG_DOUBLE_LAST
 };
 
-struct ppc_gdbarch_tdep : gdbarch_tdep
+struct ppc_gdbarch_tdep : gdbarch_tdep_base
   {
     int wordsize = 0;          /* Size in bytes of fixed-point word.  */
     int soft_float = 0;                /* Avoid FP registers for arguments?  */
index ac4b4b7144d05d755f2b756554da50797ebcdb4c..826a002ef92e7f06f5056b3b37627061c780d923 100644 (file)
@@ -76,7 +76,7 @@ enum
 };
 
 /* RISC-V specific per-architecture information.  */
-struct riscv_gdbarch_tdep : gdbarch_tdep
+struct riscv_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Features about the target hardware that impact how the gdbarch is
      configured.  Two gdbarch instances are compatible only if this field
index 2462e7a191d15bf24bf74e82fb346e736c069333..be668bfa6fe6350c4ab225c860ff290031044bd0 100644 (file)
@@ -210,7 +210,7 @@ enum
 
 /* Architecture specific data.  */
 
-struct rl78_gdbarch_tdep : gdbarch_tdep
+struct rl78_gdbarch_tdep : gdbarch_tdep_base
 {
   /* The ELF header flags specify the multilib used.  */
   int elf_flags = 0;
index c67d4057195de36bb253908576b7e3c9c226a507..989d90096bdbcd57fcf58af14af107e7f46209c0 100644 (file)
@@ -69,7 +69,7 @@ enum rx_frame_type {
 };
 
 /* Architecture specific data.  */
-struct rx_gdbarch_tdep : gdbarch_tdep
+struct rx_gdbarch_tdep : gdbarch_tdep_base
 {
   /* The ELF header flags specify the multilib used.  */
   int elf_flags = 0;
index 4e33faaea9a5163e369166035ac55e50853662f8..5e49c615f1b277301a44f27bbe9574a9b2a2264a 100644 (file)
@@ -458,7 +458,7 @@ constexpr gdb_byte s12z_break_insn[] = {0x00};
 
 typedef BP_MANIPULATION (s12z_break_insn) s12z_breakpoint;
 
-struct s12z_gdbarch_tdep : gdbarch_tdep
+struct s12z_gdbarch_tdep : gdbarch_tdep_base
 {
 };
 
index ac08da1c7c814e5e06b8b166e2685082540ec44d..f51423cb0185d5f41ccc746a99983a7d3e94f9fc 100644 (file)
@@ -38,7 +38,7 @@ enum s390_vector_abi_kind
 
 /* The tdep structure.  */
 
-struct s390_gdbarch_tdep : gdbarch_tdep
+struct s390_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Target description.  */
   const struct target_desc *tdesc = nullptr;
index bc0383fb07596fdee8c4d505625726822676b869..54aa7ff828f211f0b833d43616a1167cfd7b1f24 100644 (file)
@@ -91,7 +91,7 @@ struct sh_corefile_regmap
   unsigned int offset;
 };
 
-struct sh_gdbarch_tdep : gdbarch_tdep
+struct sh_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Non-NULL when debugging from a core file.  Provides the offset
      where each general-purpose register is stored inside the associated
index 36ff5349a0acdc5140f2759a05bd18b4b68447f3..f2070f10e12685b5f2ae0f9c1b1cf421c18e0f46 100644 (file)
@@ -57,7 +57,7 @@ struct sparc_fpregmap
 
 /* SPARC architecture-specific information.  */
 
-struct sparc_gdbarch_tdep : gdbarch_tdep
+struct sparc_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Register numbers for the PN and nPC registers.  The definitions
      for (64-bit) UltraSPARC differ from the (32-bit) SPARC
index d9b9644f8df88f08d8938fe5c9f5595785b89822..ebfd6e686fafb8516dc0046fb486242c4bce31b7 100644 (file)
@@ -46,7 +46,7 @@ extern const gdb_byte tic6x_bkpt_illegal_opcode_be[];
 extern const gdb_byte tic6x_bkpt_illegal_opcode_le[];
 
 /* Target-dependent structure in gdbarch.  */
-struct tic6x_gdbarch_tdep : gdbarch_tdep
+struct tic6x_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Return the expected next PC if FRAME is stopped at a syscall
      instruction.  */
index 4de5faa6a47c89bb90764cbf4ee0a8924e4dd033..f7094e37a9266a03e86a47af8c5dd949045cf932 100644 (file)
@@ -265,7 +265,7 @@ enum v850_abi
 
 /* Architecture specific data.  */
 
-struct v850_gdbarch_tdep : gdbarch_tdep
+struct v850_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Fields from the ELF header.  */
   int e_flags = 0;
index 1840ef98b494bec8da55391ef5338ea0c2e386e8..da7a7080afd2c441d8ec0abbfaced66666964ab8 100644 (file)
@@ -167,7 +167,7 @@ struct ctype_cache
 
 /*  Xtensa-specific target dependencies.  */
 
-struct xtensa_gdbarch_tdep : gdbarch_tdep
+struct xtensa_gdbarch_tdep : gdbarch_tdep_base
 {
   xtensa_gdbarch_tdep (xtensa_register_t *regmap)
     : regmap (regmap)
index 6a11883e7b44bfac0934863d06cb90181f7bbc00..1ab375c5014ea848f6f902b3db14bbb7489d54c8 100644 (file)
@@ -55,7 +55,7 @@ __gdb_break_handler:
      next frame - frame of caller, which has called current function
 */
 
-struct z80_gdbarch_tdep : gdbarch_tdep
+struct z80_gdbarch_tdep : gdbarch_tdep_base
 {
   /* Number of bytes used for address:
       2 bytes for all Z80 family