diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/sparc64fbsd-tdep.c | 24 |
2 files changed, 27 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2a47610..ed79ba9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2005-01-16 Mark Kettenis <kettenis@gnu.org> + * sparc64fbsd-tdep.c: Update copyright year. + (sparc64fbsd_collect_gregset, sparc64fbsd_collect_fpregset): New + functions. + (sparc64fbsd_init_abi): Create register sets with collect + functions. + * sparc64fbsd-nat.c: Include "fbsd-nat.h". (_initialize_sparc64fbsd_nat): Add some extra features to the generic SPARC target. diff --git a/gdb/sparc64fbsd-tdep.c b/gdb/sparc64fbsd-tdep.c index 5d3af00..7cd3d7c 100644 --- a/gdb/sparc64fbsd-tdep.c +++ b/gdb/sparc64fbsd-tdep.c @@ -1,6 +1,6 @@ /* Target-dependent code for FreeBSD/sparc64. - Copyright 2003, 2004 Free Software Foundation, Inc. + Copyright 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GDB. @@ -58,12 +58,28 @@ sparc64fbsd_supply_gregset (const struct regset *regset, } static void +sparc64fbsd_collect_gregset (const struct regset *regset, + const struct regcache *regcache, + int regnum, void *gregs, size_t len) +{ + sparc64_collect_gregset (&sparc64fbsd_gregset, regcache, regnum, gregs); +} + +static void sparc64fbsd_supply_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len) { sparc64_supply_fpregset (regcache, regnum, fpregs); } + +static void +sparc64fbsd_collect_fpregset (const struct regset *regset, + const struct regcache *regcache, + int regnum, void *fpregs, size_t len) +{ + sparc64_collect_fpregset (regcache, regnum, fpregs); +} /* Signal trampolines. */ @@ -199,10 +215,12 @@ sparc64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); - tdep->gregset = regset_alloc (gdbarch, sparc64fbsd_supply_gregset, NULL); + tdep->gregset = regset_alloc (gdbarch, sparc64fbsd_supply_gregset, + sparc64fbsd_collect_gregset); tdep->sizeof_gregset = 256; - tdep->fpregset = regset_alloc (gdbarch, sparc64fbsd_supply_fpregset, NULL); + tdep->fpregset = regset_alloc (gdbarch, sparc64fbsd_supply_fpregset, + sparc64fbsd_collect_fpregset); tdep->sizeof_fpregset = 272; frame_unwind_append_sniffer (gdbarch, sparc64fbsd_sigtramp_frame_sniffer); |