* arm-linux-nat.c (store_newfpe_single): Use regcache_collect.

(store_newfpe_double, store_newfpe_extended, store_fpregister)
(store_register, store_regs, fill_gregset, fill_fpregset): Likewise.
This commit is contained in:
Richard Earnshaw 2002-02-23 12:36:50 +00:00
parent 081ff160e9
commit 85ae890cdf
2 changed files with 23 additions and 17 deletions

View File

@ -1,3 +1,9 @@
2002-02-23 Richard Earnshaw <rearnsha"arm.com>
* arm-linux-nat.c (store_newfpe_single): Use regcache_collect.
(store_newfpe_double, store_newfpe_extended, store_fpregister)
(store_register, store_regs, fill_gregset, fill_fpregset): Likewise.
2002-02-22 Jim Blandy <jimb@redhat.com> 2002-02-22 Jim Blandy <jimb@redhat.com>
Indicate that the bcache functions don't change the strings Indicate that the bcache functions don't change the strings

View File

@ -161,32 +161,32 @@ fetch_nwfpe_register (int regno, FPA11 * fpa11)
} }
static void static void
store_nwfpe_single (unsigned int fn, FPA11 * fpa11) store_nwfpe_single (unsigned int fn, FPA11 *fpa11)
{ {
unsigned int mem[3]; unsigned int mem[3];
read_register_gen (ARM_F0_REGNUM + fn, (char *) &mem[0]); regcache_collect (ARM_F0_REGNUM + fn, (char *) &mem[0]);
fpa11->fpreg[fn].fSingle = mem[0]; fpa11->fpreg[fn].fSingle = mem[0];
fpa11->fType[fn] = typeSingle; fpa11->fType[fn] = typeSingle;
} }
static void static void
store_nwfpe_double (unsigned int fn, FPA11 * fpa11) store_nwfpe_double (unsigned int fn, FPA11 *fpa11)
{ {
unsigned int mem[3]; unsigned int mem[3];
read_register_gen (ARM_F0_REGNUM + fn, (char *) &mem[0]); regcache_collect (ARM_F0_REGNUM + fn, (char *) &mem[0]);
fpa11->fpreg[fn].fDouble[1] = mem[0]; fpa11->fpreg[fn].fDouble[1] = mem[0];
fpa11->fpreg[fn].fDouble[0] = mem[1]; fpa11->fpreg[fn].fDouble[0] = mem[1];
fpa11->fType[fn] = typeDouble; fpa11->fType[fn] = typeDouble;
} }
void void
store_nwfpe_extended (unsigned int fn, FPA11 * fpa11) store_nwfpe_extended (unsigned int fn, FPA11 *fpa11)
{ {
unsigned int mem[3]; unsigned int mem[3];
read_register_gen (ARM_F0_REGNUM + fn, (char *) &mem[0]); regcache_collect (ARM_F0_REGNUM + fn, (char *) &mem[0]);
fpa11->fpreg[fn].fExtended[0] = mem[0]; /* sign & exponent */ fpa11->fpreg[fn].fExtended[0] = mem[0]; /* sign & exponent */
fpa11->fpreg[fn].fExtended[2] = mem[1]; /* ls bits */ fpa11->fpreg[fn].fExtended[2] = mem[1]; /* ls bits */
fpa11->fpreg[fn].fExtended[1] = mem[2]; /* ms bits */ fpa11->fpreg[fn].fExtended[1] = mem[2]; /* ms bits */
@ -336,7 +336,7 @@ store_fpregister (int regno)
/* Store fpsr. */ /* Store fpsr. */
if (ARM_FPS_REGNUM == regno && register_cached (ARM_FPS_REGNUM)) if (ARM_FPS_REGNUM == regno && register_cached (ARM_FPS_REGNUM))
read_register_gen (ARM_FPS_REGNUM, (char *) &fp.fpsr); regcache_collect (ARM_FPS_REGNUM, (char *) &fp.fpsr);
/* Store the floating point register. */ /* Store the floating point register. */
if (regno >= ARM_F0_REGNUM && regno <= ARM_F7_REGNUM) if (regno >= ARM_F0_REGNUM && regno <= ARM_F7_REGNUM)
@ -374,7 +374,7 @@ store_fpregs (void)
/* Store fpsr. */ /* Store fpsr. */
if (register_cached (ARM_FPS_REGNUM)) if (register_cached (ARM_FPS_REGNUM))
read_register_gen (ARM_FPS_REGNUM, (char *) &fp.fpsr); regcache_collect (ARM_FPS_REGNUM, (char *) &fp.fpsr);
/* Store the floating point registers. */ /* Store the floating point registers. */
for (regno = ARM_F0_REGNUM; regno <= ARM_F7_REGNUM; regno++) for (regno = ARM_F0_REGNUM; regno <= ARM_F7_REGNUM; regno++)
@ -482,7 +482,7 @@ store_register (int regno)
} }
if (regno >= ARM_A1_REGNUM && regno <= ARM_PC_REGNUM) if (regno >= ARM_A1_REGNUM && regno <= ARM_PC_REGNUM)
read_register_gen (regno, (char *) &regs[regno]); regcache_collect (regno, (char *) &regs[regno]);
ret = ptrace (PTRACE_SETREGS, tid, 0, &regs); ret = ptrace (PTRACE_SETREGS, tid, 0, &regs);
if (ret < 0) if (ret < 0)
@ -512,7 +512,7 @@ store_regs (void)
for (regno = ARM_A1_REGNUM; regno <= ARM_PC_REGNUM; regno++) for (regno = ARM_A1_REGNUM; regno <= ARM_PC_REGNUM; regno++)
{ {
if (register_cached (regno)) if (register_cached (regno))
read_register_gen (regno, (char *) &regs[regno]); regcache_collect (regno, (char *) &regs[regno]);
} }
ret = ptrace (PTRACE_SETREGS, tid, 0, &regs); ret = ptrace (PTRACE_SETREGS, tid, 0, &regs);
@ -579,19 +579,19 @@ fill_gregset (gdb_gregset_t *gregsetp, int regno)
{ {
int regnum; int regnum;
for (regnum = ARM_A1_REGNUM; regnum <= ARM_PC_REGNUM; regnum++) for (regnum = ARM_A1_REGNUM; regnum <= ARM_PC_REGNUM; regnum++)
read_register_gen (regnum, (char *) &(*gregsetp)[regnum]); regcache_collect (regnum, (char *) &(*gregsetp)[regnum]);
} }
else if (regno >= ARM_A1_REGNUM && regno <= ARM_PC_REGNUM) else if (regno >= ARM_A1_REGNUM && regno <= ARM_PC_REGNUM)
read_register_gen (regno, (char *) &(*gregsetp)[regno]); regcache_collect (regno, (char *) &(*gregsetp)[regno]);
if (ARM_PS_REGNUM == regno || -1 == regno) if (ARM_PS_REGNUM == regno || -1 == regno)
{ {
if (arm_apcs_32) if (arm_apcs_32)
read_register_gen (ARM_PS_REGNUM, regcache_collect (ARM_PS_REGNUM,
(char *) &(*gregsetp)[ARM_CPSR_REGNUM]); (char *) &(*gregsetp)[ARM_CPSR_REGNUM]);
else else
read_register_gen (ARM_PC_REGNUM, regcache_collect (ARM_PC_REGNUM,
(char *) &(*gregsetp)[ARM_PC_REGNUM]); (char *) &(*gregsetp)[ARM_PC_REGNUM]);
} }
} }
@ -638,7 +638,7 @@ fill_fpregset (gdb_fpregset_t *fpregsetp, int regno)
/* Store fpsr. */ /* Store fpsr. */
if (ARM_FPS_REGNUM == regno || -1 == regno) if (ARM_FPS_REGNUM == regno || -1 == regno)
read_register_gen (ARM_FPS_REGNUM, (char *) &fp->fpsr); regcache_collect (ARM_FPS_REGNUM, (char *) &fp->fpsr);
} }
/* Fill GDB's register array with the floating-point register values /* Fill GDB's register array with the floating-point register values