+2014-05-21 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * score-tdep.c (score7_linux_gregset): New static regset
+ structure.
+ (score7_linux_regset_from_core_section): Remove dynamic regset
+ allocation.
+ (score_gdbarch_init): Drop allocation of tdep structure.
+ * score-tdep.h (struct gdbarch_tdep): Remove declaration.
+
2014-05-21 Andreas Arnez <arnez@linux.vnet.ibm.com>
* mn10300-linux-tdep.c (am33_gregset, am33_fpregset): New static
}
}
+static const struct regset score7_linux_gregset =
+ {
+ NULL,
+ score7_linux_supply_gregset, NULL
+ };
+
/* Return the appropriate register set from the core section identified
by SECT_NAME and SECT_SIZE. */
score7_linux_regset_from_core_section(struct gdbarch *gdbarch,
const char *sect_name, size_t sect_size)
{
- struct gdbarch_tdep *tdep;
-
gdb_assert (gdbarch != NULL);
gdb_assert (sect_name != NULL);
- tdep = gdbarch_tdep (gdbarch);
-
if (strcmp(sect_name, ".reg") == 0 && sect_size == sizeof(elf_gregset_t))
- {
- if (tdep->gregset == NULL)
- tdep->gregset = regset_alloc (gdbarch,
- score7_linux_supply_gregset, NULL);
- return tdep->gregset;
- }
+ return &score7_linux_gregset;
return NULL;
}
score_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
{
struct gdbarch *gdbarch;
- struct gdbarch_tdep *tdep;
target_mach = info.bfd_arch_info->mach;
arches = gdbarch_list_lookup_by_info (arches, &info);
{
return (arches->gdbarch);
}
- tdep = xcalloc(1, sizeof(struct gdbarch_tdep));
- gdbarch = gdbarch_alloc (&info, tdep);
+ gdbarch = gdbarch_alloc (&info, NULL);
set_gdbarch_short_bit (gdbarch, 16);
set_gdbarch_int_bit (gdbarch, 32);
/* Forward declarations. */
struct regset;
-/* Target-dependent structure in gdbarch */
-struct gdbarch_tdep
-{
- /* Cached core file helpers. */
- struct regset *gregset;
-};
-
/* Linux Core file support (dirty hack)
S+core Linux register set definition, copy from S+core Linux. */