X-Git-Url: http://drtracing.org/?a=blobdiff_plain;ds=sidebyside;f=gdb%2Famd64obsd-tdep.c;h=94463180b488e8543054fd863a136cdebdbca490;hb=93ffa5b939aef24f7530a8a400f877bfb24f0a73;hp=e66cd2b1794d85cfd3cf86ce09dcd44e22cadc27;hpb=0dcddd842290db06a165943ea7a5e335bd3f3ccb;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/amd64obsd-tdep.c b/gdb/amd64obsd-tdep.c index e66cd2b179..94463180b4 100644 --- a/gdb/amd64obsd-tdep.c +++ b/gdb/amd64obsd-tdep.c @@ -1,7 +1,6 @@ /* Target-dependent code for OpenBSD/amd64. - Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011 - Free Software Foundation, Inc. + Copyright (C) 2003-2014 Free Software Foundation, Inc. This file is part of GDB. @@ -31,8 +30,9 @@ #include "trad-frame.h" #include "gdb_assert.h" -#include "gdb_string.h" +#include +#include "obsd-tdep.h" #include "amd64-tdep.h" #include "i387-tdep.h" #include "solib-svr4.h" @@ -102,7 +102,7 @@ amd64obsd_sigtramp_p (struct frame_info *this_frame) }; size_t buflen = (sizeof sigreturn) + 1; gdb_byte *buf; - char *name; + const char *name; /* If the function has a valid symbol name, it isn't a trampoline. */ @@ -361,7 +361,7 @@ amd64obsd_trapframe_cache (struct frame_info *this_frame, void **this_cache) struct trad_frame_cache *cache; CORE_ADDR func, sp, addr; ULONGEST cs; - char *name; + const char *name; int i; if (*this_cache) @@ -426,7 +426,7 @@ amd64obsd_trapframe_sniffer (const struct frame_unwind *self, void **this_prologue_cache) { ULONGEST cs; - char *name; + const char *name; /* Check Current Privilege Level and bail out if we're not executing in kernel space. */ @@ -460,15 +460,13 @@ amd64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); amd64_init_abi (info, gdbarch); + obsd_init_abi (info, gdbarch); /* Initialize general-purpose register set details. */ tdep->gregset_reg_offset = amd64obsd_r_reg_offset; 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 +485,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 +512,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); }