(PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
(PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
store_inferior_registers (int regnum){  struct regcache *regcache = current_regcache;  int pid;  /* NOTE: cagney/2002-12-02: See comment in fetch_inferior_registers     about threaded assumptions.  */  pid = TIDGET (inferior_ptid);  if (pid == 0)    pid = PIDGET (inferior_ptid);  if (regnum == -1 || sparc_gregset_supplies_p (regnum))    {      gregset_t regs;      if (ptrace (PTRACE_GETREGS, pid, (PTRACE_ARG3_TYPE) &regs, 0) == -1)	perror_with_name ("Couldn't get registers");      sparc_collect_gregset (sparc_gregset, regcache, regnum, &regs);      if (ptrace (PTRACE_SETREGS, pid, (PTRACE_ARG3_TYPE) &regs, 0) == -1)	perror_with_name ("Couldn't write registers");      /* Deal with the stack regs.  */      if (regnum == -1 || regnum == SPARC_SP_REGNUM	  || (regnum >= SPARC_L0_REGNUM && regnum <= SPARC_I7_REGNUM))	{	  ULONGEST sp;	  regcache_cooked_read_unsigned (regcache, SPARC_SP_REGNUM, &sp);	  sparc_collect_rwindow (regcache, sp, regnum);	}      if (regnum != -1)	return;    }  if (regnum == -1 || sparc_fpregset_supplies_p (regnum))    {      fpregset_t fpregs, saved_fpregs;      if (ptrace (PTRACE_GETFPREGS, pid, (PTRACE_ARG3_TYPE) &fpregs, 0) == -1)	perror_with_name ("Couldn't get floating-point registers");      memcpy (&saved_fpregs, &fpregs, sizeof (fpregs));      sparc_collect_fpregset (regcache, regnum, &fpregs);      /* Writing the floating-point registers will fail on NetBSD with	 EINVAL if the inferior process doesn't have an FPU state	 (i.e. if it didn't use the FPU yet).  Therefore we don't try	 to write the registers if nothing changed.  */      if (memcmp (&saved_fpregs, &fpregs, sizeof (fpregs)) != 0)	{	  if (ptrace (PTRACE_SETFPREGS, pid,		      (PTRACE_ARG3_TYPE) &fpregs, 0) == -1)	    perror_with_name ("Couldn't write floating-point registers");	}      if (regnum != -1)	return;    }}