Esempio n. 1
0
void
alphabsd_supply_fpreg (struct regcache *regcache,
		       const char *fpregs, int regno)
{
  /* FPCR is at slot 33; slot 32 unused.  */
  alpha_supply_fp_regs (regcache, regno, fpregs, fpregs + 32 * 8);
}
Esempio n. 2
0
static void
fetch_elf_core_registers (char *core_reg_sect, unsigned core_reg_size,
			  int which, CORE_ADDR reg_addr)
{
  if (core_reg_size < 32 * 8)
    {
      error ("Core file register section too small (%u bytes).", core_reg_size);
      return;
    }

  switch (which)
    {
    case 0: /* integer registers */
      /* PC is in slot 32; UNIQUE is in slot 33, if present.  */
      alpha_supply_int_regs (-1, core_reg_sect, core_reg_sect + 31*8,
			     (core_reg_size >= 33 * 8
			      ? core_reg_sect + 32*8 : NULL));
      break;

    case 2: /* floating-point registers */
      /* FPCR is in slot 32.  */
      alpha_supply_fp_regs (-1, core_reg_sect, core_reg_sect + 31*8);
      break;

    default:
      break;
    }
}
Esempio n. 3
0
void
supply_fpregset (gdb_fpregset_t *fpregsetp)
{
  long *regp = ALPHA_REGSET_BASE (fpregsetp);

  /* FPCR is in slot 32.  */
  alpha_supply_fp_regs (-1, regp, regp + 31);
}
Esempio n. 4
0
void
supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
{
  const long *regp = fpregsetp->regs;

  /* FPCR is in slot 32.  */
  alpha_supply_fp_regs (regcache, -1, regp, regp + 31);
}
Esempio n. 5
0
static void
alpha_linux_supply_fpregset (const struct regset *regset,
			     struct regcache *regcache,
			     int regnum, const void *fpregs, size_t len)
{
  const gdb_byte *regs = fpregs;

  gdb_assert (len >= 32 * 8);
  alpha_supply_fp_regs (regcache, regnum, regs, regs + 31 * 8);
}