[COMMIT] More FreeBSD/sparc64 native improvements
Mark Kettenis
kettenis@gnu.org
Sun Jan 16 21:19:00 GMT 2005
This makes gcore actually work on FreeBSD/sparc64.
Committed,
Mark
Index: ChangeLog
from 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.
Index: sparc64fbsd-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/sparc64fbsd-tdep.c,v
retrieving revision 1.10
diff -u -p -r1.10 sparc64fbsd-tdep.c
--- sparc64fbsd-tdep.c 31 Jul 2004 21:53:17 -0000 1.10
+++ sparc64fbsd-tdep.c 16 Jan 2005 21:17:04 -0000
@@ -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
}
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_inf
{
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);
More information about the Gdb-patches
mailing list