summaryrefslogtreecommitdiff
path: root/gdb/sh-linux-tdep.c
diff options
context:
space:
mode:
authorAndreas Arnez <arnez@linux.vnet.ibm.com>2013-11-29 16:57:54 +0000
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>2014-09-30 09:14:37 +0200
commitc6d41a6f5380624846daca4d9aad5988b3946cbd (patch)
tree2b96ea0f4a9284751f93a77ddbc6acd275e56b91 /gdb/sh-linux-tdep.c
parent9845a0b521d8a9a117d37dbfdec56677dd7cdae8 (diff)
downloadbinutils-gdb-c6d41a6f5380624846daca4d9aad5988b3946cbd.tar.gz
SH: Migrate from 'regset_from_core_section' to 'iterate_over_regset_sections'
For Super-H targets, no longer define the gdbarch method 'regset_from_core_section', but the iterator method instead. gdb/ChangeLog: * sh-linux-tdep.c (sh_linux_init_abi): Set tdep fields 'sizeof_gregset' and 'sizeof_fpregset'. * sh-tdep.c (sh_regset_from_core_section): Remove. (sh_iterate_over_regset_sections): New. (sh_gdbarch_init): Adjust gdbarch initialization. * sh-tdep.h (struct gdbarch_tdep): New fields sizeof_gregset and sizeof_fpregset. * shnbsd-tdep.c (shnbsd_init_abi): Set tdep field 'sizeof_gregset'.
Diffstat (limited to 'gdb/sh-linux-tdep.c')
-rw-r--r--gdb/sh-linux-tdep.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c
index 19cba4167ac..2cc9fb8c823 100644
--- a/gdb/sh-linux-tdep.c
+++ b/gdb/sh-linux-tdep.c
@@ -200,8 +200,12 @@ sh_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+ /* Remember regset characteristics. The sizes should match
+ elf_gregset_t and elf_fpregset_t from Linux. */
tdep->core_gregmap = (struct sh_corefile_regmap *)gregs_table;
+ tdep->sizeof_gregset = 92;
tdep->core_fpregmap = (struct sh_corefile_regmap *)fpregs_table;
+ tdep->sizeof_fpregset = 136;
tramp_frame_prepend_unwinder (gdbarch, &sh_linux_sigreturn_tramp_frame);
tramp_frame_prepend_unwinder (gdbarch, &sh_linux_rt_sigreturn_tramp_frame);