* amd64obsd-tdep.c (amd64obsd_init_abi): Don't set
authorMark Kettenis <kettenis@gnu.org>
Sat, 17 Dec 2011 15:45:56 +0000 (15:45 +0000)
committerMark Kettenis <kettenis@gnu.org>
Sat, 17 Dec 2011 15:45:56 +0000 (15:45 +0000)
regset_from_core_section.
(amd64obsd_core_init_abi): New function that sets
regset_from_core_section.
(_initialize_amd64obsd_tdep): Use amd64obsd_core_init_abi for
traditional core dumps.

gdb/ChangeLog
gdb/amd64obsd-tdep.c

index 296feb7e2e232c5fb7e501aa06d6e56a64de1418..f73ed04196ad2f25d08fc4ea53bb6ff92fd17e8c 100644 (file)
@@ -1,3 +1,12 @@
+2011-12-17  Mark Kettenis  <kettenis@gnu.org>
+
+       * amd64obsd-tdep.c (amd64obsd_init_abi): Don't set
+       regset_from_core_section.
+       (amd64obsd_core_init_abi): New function that sets
+       regset_from_core_section.
+       (_initialize_amd64obsd_tdep): Use amd64obsd_core_init_abi for
+       traditional core dumps.
+
 2011-12-17  Mark Kettenis  <kettenis@gnu.org>
 
        * amd64obsd-tdep.c (amd64obsd_sigtramp_p): Detect new signal
index e66cd2b1794d85cfd3cf86ce09dcd44e22cadc27..4d592e2049655b5f643ecf42fdb7341558ab2d3a 100644 (file)
@@ -466,9 +466,6 @@ amd64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   tdep->gregset_num_regs = ARRAY_SIZE (amd64obsd_r_reg_offset);
   tdep->sizeof_gregset = 24 * 8;
 
-  set_gdbarch_regset_from_core_section (gdbarch,
-                                       amd64obsd_regset_from_core_section);
-
   tdep->jb_pc_offset = 7 * 8;
 
   tdep->sigtramp_p = amd64obsd_sigtramp_p;
@@ -487,6 +484,17 @@ amd64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   /* Unwind kernel trap frames correctly.  */
   frame_unwind_prepend_unwinder (gdbarch, &amd64obsd_trapframe_unwind);
 }
+
+/* Traditional (a.out) NetBSD-style core dumps.  */
+
+static void
+amd64obsd_core_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+  amd64obsd_init_abi (info, gdbarch);
+
+  set_gdbarch_regset_from_core_section
+    (gdbarch, amd64obsd_regset_from_core_section);
+}
 \f
 
 /* Provide a prototype to silence -Wmissing-prototypes.  */
@@ -503,5 +511,5 @@ _initialize_amd64obsd_tdep (void)
 
   /* OpenBSD uses traditional (a.out) NetBSD-style core dumps.  */
   gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64,
-                         GDB_OSABI_NETBSD_AOUT, amd64obsd_init_abi);
+                         GDB_OSABI_NETBSD_AOUT, amd64obsd_core_init_abi);
 }