aboutsummaryrefslogtreecommitdiff
path: root/gdb/rx-tdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/rx-tdep.c')
-rw-r--r--gdb/rx-tdep.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/gdb/rx-tdep.c b/gdb/rx-tdep.c
index 2d20aed..73e708b 100644
--- a/gdb/rx-tdep.c
+++ b/gdb/rx-tdep.c
@@ -68,16 +68,16 @@ enum rx_frame_type {
};
/* Architecture specific data. */
-struct gdbarch_tdep
+struct rx_gdbarch_tdep : gdbarch_tdep
{
/* The ELF header flags specify the multilib used. */
- int elf_flags;
+ int elf_flags = 0;
/* Type of PSW and BPSW. */
- struct type *rx_psw_type;
+ struct type *rx_psw_type = nullptr;
/* Type of FPSW. */
- struct type *rx_fpsw_type;
+ struct type *rx_fpsw_type = nullptr;
};
/* This structure holds the results of a prologue analysis. */
@@ -944,7 +944,6 @@ static struct gdbarch *
rx_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
{
struct gdbarch *gdbarch;
- struct gdbarch_tdep *tdep;
int elf_flags;
tdesc_arch_data_up tdesc_data;
const struct target_desc *tdesc = info.target_desc;
@@ -963,7 +962,10 @@ rx_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
arches != NULL;
arches = gdbarch_list_lookup_by_info (arches->next, &info))
{
- if (gdbarch_tdep (arches->gdbarch)->elf_flags != elf_flags)
+ rx_gdbarch_tdep *tdep
+ = (rx_gdbarch_tdep *) gdbarch_tdep (arches->gdbarch);
+
+ if (tdep->elf_flags != elf_flags)
continue;
return arches->gdbarch;
@@ -994,7 +996,7 @@ rx_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
gdb_assert(tdesc_data != NULL);
- tdep = XCNEW (struct gdbarch_tdep);
+ rx_gdbarch_tdep *tdep = new rx_gdbarch_tdep;
gdbarch = gdbarch_alloc (&info, tdep);
tdep->elf_flags = elf_flags;