* target.h (target_object): Add TARGET_OBJECT_WCOOKIE.

* inftarg.c: Update copyright year.
(child_xfer_partial): Add support for TARGET_OBJECT_WCOOKIE.
* sparc-nat.c: Include "target.h" and "gdb_assert.h".
(sparc_xfer_wcookie): New function.
* sparc-tdep.c (sparc_fetch_wcookie): New function.
* Makefile.in (sparc-nat.o): Update dependencies.
* config/sparc/nm-nbsd.h: Include "target.h".
(NATIVE_XFER_WCOOKIE): New define.
(sparc_xfer_wcookie): New prototype.
This commit is contained in:
Mark Kettenis
2004-02-04 21:49:58 +00:00
parent 6e4c6c91de
commit baf92889eb
6 changed files with 73 additions and 9 deletions

View File

@ -141,13 +141,21 @@ sparc_fetch_instruction (CORE_ADDR pc)
ULONGEST
sparc_fetch_wcookie (void)
{
/* FIXME: kettenis/20040131: We should fetch the cookie from the
target. For now, return zero, which is right for targets without
StackGhost. */
return 0;
}
struct target_ops *ops = &current_target;
char buf[8];
int len;
len = target_read_partial (ops, TARGET_OBJECT_WCOOKIE, NULL, buf, 0, 8);
if (len == -1)
return 0;
/* We should have either an 32-bit or an 64-bit cookie. */
gdb_assert (len == 4 || len == 8);
return extract_unsigned_integer (buf, len);
}
/* Return the contents if register REGNUM as an address. */
static CORE_ADDR