All users were changed automatically by: for i in `git grep -l 'upeek(tcp->pid'`; do \ sed -i 's/upeek(tcp->pid/upeek(tcp/g' "$i"; \ done * upeek.c (upeek): Change the first argument from pid_t pid to struct tcb *tcp. Use tcp->pid instead of pid in the function's body. * defs.h (upeek): Update declaration. * linux/alpha/arch_getrval2.c: Pass tcp instead of tcp->pid to the upeek calls. * linux/alpha/arch_rt_sigframe.c: Likewise. * linux/alpha/arch_sigreturn.c: Likewise. * linux/alpha/get_scno.c: Likewise. * linux/alpha/get_syscall_args.c: Likewise. * linux/alpha/get_syscall_result.c: Likewise. * linux/bfin/arch_rt_sigframe.c: Likewise. * linux/bfin/get_scno.c: Likewise. * linux/bfin/get_syscall_args.c: Likewise. * linux/bfin/get_syscall_result.c: Likewise. * linux/crisv10/arch_rt_sigframe.c: Likewise. * linux/crisv10/get_scno.c: Likewise. * linux/crisv10/get_syscall_args.c: Likewise. * linux/crisv10/get_syscall_result.c: Likewise. * linux/hppa/arch_rt_sigframe.c: Likewise. * linux/hppa/get_scno.c: Likewise. * linux/hppa/get_syscall_args.c: Likewise. * linux/hppa/get_syscall_result.c: Likewise. * linux/microblaze/arch_rt_sigframe.c: Likewise. * linux/microblaze/arch_sigreturn.c: Likewise. * linux/microblaze/get_scno.c: Likewise. * linux/microblaze/get_syscall_args.c: Likewise. * linux/microblaze/get_syscall_result.c: Likewise. * linux/powerpc/getregs_old.c: Likewise. * linux/sh/arch_getrval2.c: Likewise. * linux/sh/arch_rt_sigframe.c: Likewise. * linux/sh/get_scno.c: Likewise. * linux/sh/get_syscall_args.c: Likewise. * linux/sh/get_syscall_result.c: Likewise. * linux/sh64/get_scno.c: Likewise. * linux/sh64/get_syscall_args.c: Likewise. * linux/sh64/get_syscall_result.c: Likewise. * linux/xtensa/arch_rt_sigframe.c: Likewise. * linux/xtensa/get_scno.c: Likewise. * linux/xtensa/get_syscall_args.c: Likewise. * linux/xtensa/get_syscall_result.c: Likewise. * syscall.c: Likewise.
36 lines
698 B
C
36 lines
698 B
C
/*
|
|
* PTRACE_GETREGS was added to the PowerPC kernel in v2.6.23,
|
|
* we provide a slow fallback for old kernels.
|
|
*/
|
|
static int
|
|
getregs_old(struct tcb *tcp)
|
|
{
|
|
int i;
|
|
long r;
|
|
|
|
if (iflag) {
|
|
r = upeek(tcp, sizeof(long) * PT_NIP, &ppc_regs.nip);
|
|
if (r)
|
|
goto out;
|
|
}
|
|
#ifdef POWERPC64 /* else we never use it */
|
|
r = upeek(tcp, sizeof(long) * PT_MSR, &ppc_regs.msr);
|
|
if (r)
|
|
goto out;
|
|
#endif
|
|
r = upeek(tcp, sizeof(long) * PT_CCR, &ppc_regs.ccr);
|
|
if (r)
|
|
goto out;
|
|
r = upeek(tcp, sizeof(long) * PT_ORIG_R3, &ppc_regs.orig_gpr3);
|
|
if (r)
|
|
goto out;
|
|
for (i = 0; i <= 8; i++) {
|
|
r = upeek(tcp, sizeof(long) * (PT_R0 + i),
|
|
&ppc_regs.gpr[i]);
|
|
if (r)
|
|
goto out;
|
|
}
|
|
out:
|
|
return r;
|
|
}
|