diff options
Diffstat (limited to 'system/psmisc/fix-peekfd-on-ppc.patch')
-rw-r--r-- | system/psmisc/fix-peekfd-on-ppc.patch | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/system/psmisc/fix-peekfd-on-ppc.patch b/system/psmisc/fix-peekfd-on-ppc.patch new file mode 100644 index 000000000..d9fc1d5f1 --- /dev/null +++ b/system/psmisc/fix-peekfd-on-ppc.patch @@ -0,0 +1,19 @@ +--- psmisc-23.0/src/peekfd.c.old 2017-06-12 00:29:46.000000000 +0000 ++++ psmisc-23.0/src/peekfd.c 2017-06-28 10:15:18.635344983 +0000 +@@ -233,11 +233,11 @@ + if (WIFSTOPPED(status)) { + #ifdef PPC + struct pt_regs regs; +- regs.gpr[0] = ptrace(PTRACE_PEEKUSER, pid, __WORDSIZE/8 * PT_R0, 0); +- regs.gpr[3] = ptrace(PTRACE_PEEKUSER, pid, __WORDSIZE/8 * PT_R3, 0); +- regs.gpr[4] = ptrace(PTRACE_PEEKUSER, pid, __WORDSIZE/8 * PT_R4, 0); +- regs.gpr[5] = ptrace(PTRACE_PEEKUSER, pid, __WORDSIZE/8 * PT_R5, 0); +- regs.orig_gpr3 = ptrace(PTRACE_PEEKUSER, pid, __WORDSIZE/8 * PT_ORIG_R3, 0); ++ regs.gpr[0] = ptrace(PTRACE_PEEKUSER, pid, sizeof(void *) * PT_R0, 0); ++ regs.gpr[3] = ptrace(PTRACE_PEEKUSER, pid, sizeof(void *) * PT_R3, 0); ++ regs.gpr[4] = ptrace(PTRACE_PEEKUSER, pid, sizeof(void *) * PT_R4, 0); ++ regs.gpr[5] = ptrace(PTRACE_PEEKUSER, pid, sizeof(void *) * PT_R5, 0); ++ regs.orig_gpr3 = ptrace(PTRACE_PEEKUSER, pid, sizeof(void *) * PT_ORIG_R3, 0); + #elif defined(ARM) + struct pt_regs regs; + ptrace(PTRACE_GETREGS, pid, 0, ®s); |