[PATCH] Fix reading core dumps on OpenBSD/amd64

Mark Kettenis mark.kettenis@xs4all.nl
Sat Dec 17 18:32:00 GMT 2011


For some reason I mussed OpenBSD/amd64 when adjusting GDB for the new
ELF core dumps that OpenBSD provides.  Fixed by the diff below which
I'll probably commit to the branch as well.


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.

 
Index: amd64obsd-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/amd64obsd-tdep.c,v
retrieving revision 1.35
diff -u -p -r1.35 amd64obsd-tdep.c
--- amd64obsd-tdep.c	17 Dec 2011 12:22:06 -0000	1.35
+++ amd64obsd-tdep.c	17 Dec 2011 15:41:17 -0000
@@ -466,9 +466,6 @@ amd64obsd_init_abi (struct gdbarch_info 
   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 
   /* 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);
+}
 
 
 /* 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);
 }



More information about the Gdb-patches mailing list