From Gerhard Tonn <TON@de.ibm.com>:

* s390-nat.c (fill_fpregset, fill_gregset): Use regcache_collect
instead of supply_register.
This commit is contained in:
Andrew Cagney 2002-07-15 16:50:51 +00:00
parent 39248af88f
commit 30413464fd
2 changed files with 32 additions and 12 deletions

View File

@ -1,3 +1,9 @@
2002-07-15 Andrew Cagney <ac131313@redhat.com>
From Gerhard Tonn <TON@de.ibm.com>:
* s390-nat.c (fill_fpregset, fill_gregset): Use regcache_collect
instead of supply_register.
2002-07-15 Andrew Cagney <ac131313@redhat.com>
* dwarf2cfi.c: Include "gdb_assert.h".

View File

@ -273,14 +273,22 @@ supply_fpregset (fpregset_t * fpregsetp)
void
fill_gregset (gregset_t * gregsetp, int regno)
{
int regi;
greg_t *gregp = (greg_t *) gregsetp;
if (regno >= S390_FIRST_CR && regno <= S390_LAST_CR)
supply_register (regno, NULL);
else if (regno != -1)
supply_register (regno, (char *) &gregp[regno]);
else
supply_gregset (gregsetp);
if (regno < 0)
{
regcache_collect (S390_PSWM_REGNUM, &gregp[S390_PSWM_REGNUM]);
regcache_collect (S390_PC_REGNUM, &gregp[S390_PC_REGNUM]);
for (regi = 0; regi < S390_NUM_GPRS; regi++)
regcache_collect (S390_GP0_REGNUM + regi,
&gregp[S390_GP0_REGNUM + regi]);
for (regi = 0; regi < S390_NUM_ACRS; regi++)
regcache_collect (S390_FIRST_ACR + regi,
&gregp[S390_FIRST_ACR + regi]);
}
else if (regno >= S390_PSWM_REGNUM && regno <= S390_LAST_ACR)
regcache_collect (regno, &gregp[regno]);
}
/* Given a pointer to a floating point register set in /proc format
@ -291,12 +299,18 @@ fill_gregset (gregset_t * gregsetp, int regno)
void
fill_fpregset (fpregset_t * fpregsetp, int regno)
{
if (regno == -1)
supply_fpregset (fpregsetp);
else
supply_register (regno,
&((char *) fpregsetp)[REGISTER_BYTE (regno) -
REGISTER_BYTE (S390_FPC_REGNUM)]);
int regi;
if (regno < 0)
{
regcache_collect (S390_FPC_REGNUM, &fpregsetp->fpc);
for (regi = 0; regi < S390_NUM_FPRS; regi++)
regcache_collect (S390_FP0_REGNUM + regi, &fpregsetp->fprs[regi]);
}
else if (regno == S390_FPC_REGNUM)
regcache_collect (S390_FPC_REGNUM, &fpregsetp->fpc);
else if (regno >= S390_FP0_REGNUM && regno <= S390_FPLAST_REGNUM)
regcache_collect (regno, &fpregsetp->fprs[regno - S390_FP0_REGNUM]);
}