X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fppcobsd-tdep.c;h=2cc62a0db3ba58dbf1fa1266d873eb39a1cfd54b;hb=2ba163c8d19971010e22176cf688b3de80bd8f08;hp=ac60bcc8e81886ec7420af0943cfc0ca2b07f2e1;hpb=ecd75fc8eed3bde86036141228074a20e55dcfc9;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ppcobsd-tdep.c b/gdb/ppcobsd-tdep.c index ac60bcc8e8..2cc62a0db3 100644 --- a/gdb/ppcobsd-tdep.c +++ b/gdb/ppcobsd-tdep.c @@ -1,6 +1,6 @@ /* Target-dependent code for OpenBSD/powerpc. - Copyright (C) 2004-2014 Free Software Foundation, Inc. + Copyright (C) 2004-2016 Free Software Foundation, Inc. This file is part of GDB. @@ -28,9 +28,6 @@ #include "symtab.h" #include "trad-frame.h" -#include "gdb_assert.h" -#include - #include "ppc-tdep.h" #include "ppcobsd-tdep.h" #include "solib-svr4.h" @@ -71,29 +68,27 @@ ppcobsd_collect_gregset (const struct regset *regset, /* OpenBSD/powerpc register set. */ -struct regset ppcobsd_gregset = +const struct regset ppcobsd_gregset = { &ppcobsd_reg_offsets, ppcobsd_supply_gregset }; -struct regset ppcobsd_fpregset = +const struct regset ppcobsd_fpregset = { &ppcobsd_fpreg_offsets, ppc_supply_fpregset }; -/* 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 * -ppcobsd_regset_from_core_section (struct gdbarch *gdbarch, - const char *sect_name, size_t sect_size) +static void +ppcobsd_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 >= 412) - return &ppcobsd_gregset; - - return NULL; + cb (".reg", 412, &ppcobsd_gregset, NULL, cb_data); } @@ -175,7 +170,7 @@ ppcobsd_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache) int i; if (*this_cache) - return *this_cache; + return (struct trad_frame_cache *) *this_cache; cache = trad_frame_cache_zalloc (this_frame); *this_cache = cache; @@ -260,8 +255,8 @@ ppcobsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) set_solib_svr4_fetch_link_map_offsets (gdbarch, svr4_ilp32_fetch_link_map_offsets); - set_gdbarch_regset_from_core_section - (gdbarch, ppcobsd_regset_from_core_section); + set_gdbarch_iterate_over_regset_sections + (gdbarch, ppcobsd_iterate_over_regset_sections); frame_unwind_append_unwinder (gdbarch, &ppcobsd_sigtramp_frame_unwind); }