diff options
author | Andreas Arnez <arnez@linux.vnet.ibm.com> | 2014-03-31 09:07:42 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2014-05-21 17:49:17 +0200 |
commit | 8fea322418c158d096d930c0d0057c684f1fc7ca (patch) | |
tree | 8b231f0d499a87c4687af366998414ee8d302806 /gdb | |
parent | 245342432eaccc1cb2375af4ce0bd8a636c411aa (diff) | |
download | gdb-8fea322418c158d096d930c0d0057c684f1fc7ca.zip gdb-8fea322418c158d096d930c0d0057c684f1fc7ca.tar.gz gdb-8fea322418c158d096d930c0d0057c684f1fc7ca.tar.bz2 |
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.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/score-tdep.c | 21 | ||||
-rw-r--r-- | gdb/score-tdep.h | 7 |
3 files changed, 17 insertions, 20 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index dbff877..e320394 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,14 @@ 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 regset structures. (am33_regset_from_core_section): Remove dynamic regset diff --git a/gdb/score-tdep.c b/gdb/score-tdep.c index 078315a..c224189 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 b34f5a9..02a334e 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. */ |