* m68klinux-nat.c: Fix last change to use regcache_collect
instead of referencing registers[] directly.
This commit is contained in:
parent
05f64ac628
commit
9852326a86
|
@ -1,3 +1,8 @@
|
|||
2002-01-30 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* m68klinux-nat.c: Fix last change to use regcache_collect
|
||||
instead of referencing registers[] directly.
|
||||
|
||||
2002-01-29 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* parse.c (target_map_name_to_register): Delete code wrapped in
|
||||
|
|
|
@ -195,6 +195,7 @@ store_register (int regno)
|
|||
register int i;
|
||||
unsigned int offset; /* Offset of registers within the u area. */
|
||||
int tid;
|
||||
char *buf = alloca (MAX_REGISTER_RAW_SIZE);
|
||||
|
||||
if (CANNOT_STORE_REGISTER (regno))
|
||||
{
|
||||
|
@ -208,11 +209,16 @@ store_register (int regno)
|
|||
offset = U_REGS_OFFSET;
|
||||
|
||||
regaddr = register_addr (regno, offset);
|
||||
|
||||
/* Put the contents of regno into a local buffer */
|
||||
regcache_collect (regno, buf);
|
||||
|
||||
/* Store the local buffer into the inferior a chunk at the time. */
|
||||
for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof (PTRACE_XFER_TYPE))
|
||||
{
|
||||
errno = 0;
|
||||
ptrace (PT_WRITE_U, tid, (PTRACE_ARG3_TYPE) regaddr,
|
||||
*(PTRACE_XFER_TYPE *) & registers[REGISTER_BYTE (regno) + i]);
|
||||
*(PTRACE_XFER_TYPE *) (buf + i));
|
||||
regaddr += sizeof (PTRACE_XFER_TYPE);
|
||||
if (errno != 0)
|
||||
{
|
||||
|
@ -370,15 +376,12 @@ fill_fpregset (elf_fpregset_t *fpregsetp, int regno)
|
|||
/* Fill in the floating-point registers. */
|
||||
for (i = FP0_REGNUM; i < FP0_REGNUM + 8; i++)
|
||||
if (regno == -1 || regno == i)
|
||||
memcpy (FPREG_ADDR (fpregsetp, regno - FP0_REGNUM),
|
||||
®isters[REGISTER_BYTE (regno)],
|
||||
REGISTER_RAW_SIZE(regno));
|
||||
regcache_collect (regno, FPREG_ADDR (fpregsetp, regno - FP0_REGNUM));
|
||||
|
||||
/* Fill in the floating-point control registers. */
|
||||
for (i = FPC_REGNUM; i <= FPI_REGNUM; i++)
|
||||
if (regno == -1 || regno == i)
|
||||
fpregsetp->fpcntl[regno - FPC_REGNUM]
|
||||
= *(int *) ®isters[REGISTER_BYTE (regno)];
|
||||
regcache_collect (regno, fpregsetp->fpcntl[regno - FPC_REGNUM]);
|
||||
}
|
||||
|
||||
#ifdef HAVE_PTRACE_GETREGS
|
||||
|
|
Loading…
Reference in New Issue