This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[COMMIT] More FreeBSD/sparc64 native improvements
- From: Mark Kettenis <kettenis at gnu dot org>
- To: gdb-patches at sources dot redhat dot com
- Date: Sun, 16 Jan 2005 22:19:03 +0100 (CET)
- Subject: [COMMIT] More FreeBSD/sparc64 native improvements
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);