From: Andreas Arnez Date: Mon, 31 Mar 2014 09:07:42 +0000 (+0000) Subject: SCORE: Replace regset_alloc() invocation by a static regset structure. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8fea322418c158d096d930c0d0057c684f1fc7ca;p=binutils-gdb.git SCORE: Replace regset_alloc() invocation by a static regset structure. Since this changes makes the only member of the tdep structure obsolete, the tdep structure is removed. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index dbff8772ac9..e3203943eac 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2014-05-21 Andreas Arnez + + * 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 * mn10300-linux-tdep.c (am33_gregset, am33_fpregset): New static diff --git a/gdb/score-tdep.c b/gdb/score-tdep.c index 078315a5b2d..c224189d16b 100644 --- a/gdb/score-tdep.c +++ b/gdb/score-tdep.c @@ -1447,6 +1447,12 @@ score7_linux_supply_gregset(const struct regset *regset, } } +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. */ @@ -1454,20 +1460,11 @@ static const struct regset * 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; } @@ -1476,7 +1473,6 @@ static struct gdbarch * 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); @@ -1484,8 +1480,7 @@ score_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) { 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); diff --git a/gdb/score-tdep.h b/gdb/score-tdep.h index b34f5a9c381..02a334ebffe 100644 --- a/gdb/score-tdep.h +++ b/gdb/score-tdep.h @@ -49,13 +49,6 @@ enum gdb_regnum /* 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. */