VAX: Migrate from 'regset_from_core_section' to 'iterate_over_regset_sections'
authorAndreas Arnez <arnez@linux.vnet.ibm.com>
Fri, 29 Nov 2013 17:06:09 +0000 (17:06 +0000)
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Tue, 30 Sep 2014 07:14:38 +0000 (09:14 +0200)
For VAX targets, no longer define the gdbarch method
'regset_from_core_section', but the iterator method instead.

gdb/ChangeLog:

* vax-tdep.c (vax_regset_from_core_section): Remove.
(vax_iterate_over_regset_sections): New.
(vax_gdbarch_init): Adjust gdbarch initialization.

gdb/ChangeLog
gdb/vax-tdep.c

index 97814d0b68c32e8b2d0a75bd4368d4698574de5d..a743020f4d4541a0247bf4218bef1ec2b9680316 100644 (file)
@@ -1,3 +1,9 @@
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       * vax-tdep.c (vax_regset_from_core_section): Remove.
+       (vax_iterate_over_regset_sections): New.
+       (vax_gdbarch_init): Adjust gdbarch initialization.
+
 2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
 
        * tilegx-linux-tdep.c (TILEGX_LINUX_SIZEOF_GREGSET): New macro.
index 0f470029cc17b1f78f5a9e34505ab6b94495cd13..2793261b659d05b67e3c05f40bc0fd0e15e61c2d 100644 (file)
@@ -89,17 +89,15 @@ static const struct regset vax_gregset =
   vax_supply_gregset
 };
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over core file register note sections.  */
 
-static const struct regset *
-vax_regset_from_core_section (struct gdbarch *gdbarch,
-                             const char *sect_name, size_t sect_size)
+static void
+vax_iterate_over_regset_sections (struct gdbarch *gdbarch,
+                                 iterate_over_regset_sections_cb *cb,
+                                 void *cb_data,
+                                 const struct regcache *regcache)
 {
-  if (strcmp (sect_name, ".reg") == 0 && sect_size >= VAX_NUM_REGS * 4)
-    return &vax_gregset;
-
-  return NULL;
+  cb (".reg", VAX_NUM_REGS * 4, &vax_gregset, NULL, cb_data);
 }
 \f
 /* The VAX UNIX calling convention uses R1 to pass a structure return
@@ -483,8 +481,8 @@ vax_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_pc_regnum (gdbarch, VAX_PC_REGNUM);
   set_gdbarch_ps_regnum (gdbarch, VAX_PS_REGNUM);
 
-  set_gdbarch_regset_from_core_section
-    (gdbarch, vax_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, vax_iterate_over_regset_sections);
 
   /* Frame and stack info */
   set_gdbarch_skip_prologue (gdbarch, vax_skip_prologue);