diff options
author | Mark Kettenis <kettenis@gnu.org> | 2011-12-17 15:45:56 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@gnu.org> | 2011-12-17 15:45:56 +0000 |
commit | a3e3e961b47d7a2105c419e3b3f5583fb0647a31 (patch) | |
tree | d4b843e1faf1b47c301a8ccfb81c181e74fa4a53 | |
parent | 2c9d87964db3d31554f2dce6c68d7b68db7edfa0 (diff) | |
download | gdb-a3e3e961b47d7a2105c419e3b3f5583fb0647a31.zip gdb-a3e3e961b47d7a2105c419e3b3f5583fb0647a31.tar.gz gdb-a3e3e961b47d7a2105c419e3b3f5583fb0647a31.tar.bz2 |
* 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.
-rw-r--r-- | gdb/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/amd64obsd-tdep.c | 16 |
2 files changed, 21 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 296feb7..f73ed04 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,14 @@ 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 trampoline to be introduced in OpenBSD 5.0. diff --git a/gdb/amd64obsd-tdep.c b/gdb/amd64obsd-tdep.c index e66cd2b..4d592e2 100644 --- a/gdb/amd64obsd-tdep.c +++ b/gdb/amd64obsd-tdep.c @@ -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); +} /* 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); } |