From c6d41a6f5380624846daca4d9aad5988b3946cbd Mon Sep 17 00:00:00 2001 From: Andreas Arnez Date: Fri, 29 Nov 2013 16:57:54 +0000 Subject: 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'. --- gdb/sh-linux-tdep.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gdb/sh-linux-tdep.c') diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c index 19cba41..2cc9fb8 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); -- cgit v1.1