static void mipsnbsd_fetch_inferior_registers (struct target_ops *ops, struct regcache *regcache, int regno) { struct gdbarch *gdbarch = get_regcache_arch (regcache); if (regno == -1 || getregs_supplies (gdbarch, regno)) { struct reg regs; if (ptrace (PT_GETREGS, PIDGET (inferior_ptid), (PTRACE_TYPE_ARG3) ®s, 0) == -1) perror_with_name (_("Couldn't get registers")); mipsnbsd_supply_reg (regcache, (char *) ®s, regno); if (regno != -1) return; } if (regno == -1 || regno >= gdbarch_fp0_regnum (get_regcache_arch (regcache))) { struct fpreg fpregs; if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid), (PTRACE_TYPE_ARG3) &fpregs, 0) == -1) perror_with_name (_("Couldn't get floating point status")); mipsnbsd_supply_fpreg (regcache, (char *) &fpregs, regno); } }
static void mipsnbsd_fetch_inferior_registers (int regno) { if (regno == -1 || getregs_supplies (regno)) { struct reg regs; if (ptrace (PT_GETREGS, PIDGET (inferior_ptid), (PTRACE_TYPE_ARG3) ®s, 0) == -1) perror_with_name (_("Couldn't get registers")); mipsnbsd_supply_reg ((char *) ®s, regno); if (regno != -1) return; } if (regno == -1 || regno >= FP0_REGNUM) { struct fpreg fpregs; if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid), (PTRACE_TYPE_ARG3) &fpregs, 0) == -1) perror_with_name (_("Couldn't get floating point status")); mipsnbsd_supply_fpreg ((char *) &fpregs, regno); } }