static void hppanbsd_fetch_registers (struct target_ops *ops, struct regcache *regcache, int regnum) { if (regnum == -1 || hppanbsd_gregset_supplies_p (regnum)) { struct reg regs; if (ptrace (PT_GETREGS, ptid_get_pid (inferior_ptid), (PTRACE_TYPE_ARG3) ®s, 0) == -1) perror_with_name (_("Couldn't get registers")); hppanbsd_supply_gregset (regcache, ®s); } if (regnum == -1 || hppanbsd_fpregset_supplies_p (regnum)) { struct fpreg fpregs; if (ptrace (PT_GETFPREGS, ptid_get_pid (inferior_ptid), (PTRACE_TYPE_ARG3) &fpregs, 0) == -1) perror_with_name (_("Couldn't get floating point status")); hppanbsd_supply_fpregset (regcache, &fpregs); } }
void hppa_nbsd_nat_target::fetch_registers (struct regcache *regcache, int regnum) { pid_t pid = regcache->ptid ().pid (); if (regnum == -1 || hppanbsd_gregset_supplies_p (regnum)) { struct reg regs; if (ptrace (PT_GETREGS, pid, (PTRACE_TYPE_ARG3) ®s, 0) == -1) perror_with_name (_("Couldn't get registers")); hppanbsd_supply_gregset (regcache, ®s); } if (regnum == -1 || hppanbsd_fpregset_supplies_p (regnum)) { struct fpreg fpregs; if (ptrace (PT_GETFPREGS, pid, (PTRACE_TYPE_ARG3) &fpregs, 0) == -1) perror_with_name (_("Couldn't get floating point status")); hppanbsd_supply_fpregset (regcache, &fpregs); } }
void supply_fpregset (struct regcache *regcache, const fpregset_t *fpregsetp) { hppanbsd_supply_fpregset (regcache, fpregsetp); }