/* Native-dependent code for SPARC.
- Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
This file is part of GDB.
for all registers (including the floating-point registers). */
void
-fetch_inferior_registers (int regnum)
+sparc_fetch_inferior_registers (struct regcache *regcache, int regnum)
{
- struct regcache *regcache = current_regcache;
int pid;
/* NOTE: cagney/2002-12-03: This code assumes that the currently
}
void
-store_inferior_registers (int regnum)
+sparc_store_inferior_registers (struct regcache *regcache, int regnum)
{
- struct regcache *regcache = current_regcache;
int pid;
/* NOTE: cagney/2002-12-02: See comment in fetch_inferior_registers
gdb_assert (object == TARGET_OBJECT_WCOOKIE);
gdb_assert (readbuf && writebuf == NULL);
- if (offset >= sizeof (unsigned long))
+ if (offset == sizeof (unsigned long))
+ return 0; /* Signal EOF. */
+ if (offset > sizeof (unsigned long))
return -1;
#ifdef PT_WCOOKIE
/* If PT_WCOOKIE is defined (by <sys/ptrace.h>), assume we're
running on an OpenBSD release that uses StackGhost (3.1 or
- later). As of release 3.4, OpenBSD doesn't use a randomized
- cookie yet, but a future release probably will. */
+ later). Since release 3.6, OpenBSD uses a fully randomized
+ cookie. */
{
int pid;
struct target_ops *t;
t = inf_ptrace_target ();
- t->to_fetch_registers = fetch_inferior_registers;
- t->to_store_registers = store_inferior_registers;
+ t->to_fetch_registers = sparc_fetch_inferior_registers;
+ t->to_store_registers = sparc_store_inferior_registers;
inf_ptrace_xfer_partial = t->to_xfer_partial;
t->to_xfer_partial = sparc_xfer_partial;
return t;