int ptrace_getregs(long pid, unsigned long *regs_out)
{
- return(ptrace(PTRACE_GETREGS, pid, 0, regs_out));
+ if (ptrace(PTRACE_GETREGS, pid, 0, regs_out) < 0)
+ return -errno;
+ return 0;
}
int ptrace_setregs(long pid, unsigned long *regs)
{
- return(ptrace(PTRACE_SETREGS, pid, 0, regs));
+ if (ptrace(PTRACE_SETREGS, pid, 0, regs) < 0)
+ return -errno;
+ return 0;
}
int ptrace_getfpregs(long pid, unsigned long *regs)
{
- return(ptrace(PTRACE_GETFPREGS, pid, 0, regs));
+ if (ptrace(PTRACE_GETFPREGS, pid, 0, regs) < 0)
+ return -errno;
+ return 0;
+}
+
+int ptrace_setfpregs(long pid, unsigned long *regs)
+{
+ if (ptrace(PTRACE_SETFPREGS, pid, 0, regs) < 0)
+ return -errno;
+ return 0;
}
static void write_debugregs(int pid, unsigned long *regs)