match the ptrace(2) layout. */
/* From <machine/reg.h>. */
-const struct sparc_gregset sparc64obsd_gregset =
+const struct sparc_gregmap sparc64obsd_gregmap =
{
0 * 8, /* "tstate" */
1 * 8, /* %pc */
4 /* sizeof (%y) */
};
-const struct sparc_gregset sparc64obsd_core_gregset =
+const struct sparc_gregmap sparc64obsd_core_gregmap =
{
0 * 8, /* "tstate" */
1 * 8, /* %pc */
if (len < 832)
{
- sparc64_supply_gregset (&sparc64obsd_gregset, regcache, regnum, gregs);
+ sparc64_supply_gregset (&sparc64obsd_gregmap, regcache, regnum, gregs);
return;
}
- sparc64_supply_gregset (&sparc64obsd_core_gregset, regcache, regnum, gregs);
- sparc64_supply_fpregset (&sparc64_bsd_fpregset, regcache, regnum, fpregs);
+ sparc64_supply_gregset (&sparc64obsd_core_gregmap, regcache, regnum, gregs);
+ sparc64_supply_fpregset (&sparc64_bsd_fpregmap, regcache, regnum, fpregs);
}
static void
struct regcache *regcache,
int regnum, const void *fpregs, size_t len)
{
- sparc64_supply_fpregset (&sparc64_bsd_fpregset, regcache, regnum, fpregs);
+ sparc64_supply_fpregset (&sparc64_bsd_fpregmap, regcache, regnum, fpregs);
}
\f
}
\f
+static const struct regset sparc64obsd_gregset =
+ {
+ NULL, sparc64obsd_supply_gregset, NULL
+ };
+
+static const struct regset sparc64obsd_fpregset =
+ {
+ NULL, sparc64obsd_supply_fpregset, NULL
+ };
+
static void
sparc64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- tdep->gregset = regset_alloc (gdbarch, sparc64obsd_supply_gregset, NULL);
+ tdep->gregset = &sparc64obsd_gregset;
tdep->sizeof_gregset = 288;
-
- tdep->fpregset = regset_alloc (gdbarch, sparc64obsd_supply_fpregset, NULL);
+ tdep->fpregset = &sparc64obsd_fpregset;
tdep->sizeof_fpregset = 272;
/* Make sure we can single-step "new" syscalls. */
frame_unwind_append_unwinder (gdbarch, &sparc64obsd_trapframe_unwind);
sparc64_init_abi (info, gdbarch);
+ obsd_init_abi (info, gdbarch);
/* OpenBSD/sparc64 has SVR4-style shared libraries. */
set_solib_svr4_fetch_link_map_offsets