* we provide a slow fallback for old kernels.
*/
static int
-getregs_old(pid_t pid)
+getregs_old(struct tcb *tcp)
{
int i;
long r;
if (iflag) {
- r = upeek(pid, sizeof(long) * PT_NIP, &ppc_regs.nip);
+ r = upeek(tcp->pid, sizeof(long) * PT_NIP, &ppc_regs.nip);
if (r)
goto out;
}
#ifdef POWERPC64 /* else we never use it */
- r = upeek(pid, sizeof(long) * PT_MSR, &ppc_regs.msr);
+ r = upeek(tcp->pid, sizeof(long) * PT_MSR, &ppc_regs.msr);
if (r)
goto out;
#endif
- r = upeek(pid, sizeof(long) * PT_CCR, &ppc_regs.ccr);
+ r = upeek(tcp->pid, sizeof(long) * PT_CCR, &ppc_regs.ccr);
if (r)
goto out;
- r = upeek(pid, sizeof(long) * PT_ORIG_R3, &ppc_regs.orig_gpr3);
+ r = upeek(tcp->pid, sizeof(long) * PT_ORIG_R3, &ppc_regs.orig_gpr3);
if (r)
goto out;
for (i = 0; i <= 8; i++) {
- r = upeek(pid, sizeof(long) * (PT_R0 + i),
+ r = upeek(tcp->pid, sizeof(long) * (PT_R0 + i),
&ppc_regs.gpr[i]);
if (r)
goto out;
* a PTRACE_GETREGS based fallback is provided for old kernels.
*/
static int
-getregs_old(pid_t pid)
+getregs_old(struct tcb *tcp)
{
/* Use old method, with unreliable heuristical detection of 32-bitness. */
- long r = ptrace(PTRACE_GETREGS, pid, NULL, &x86_64_regs);
+ long r = ptrace(PTRACE_GETREGS, tcp->pid, NULL, &x86_64_regs);
if (r)
return r;
return get_regs_error;
use_getregs_old = 1;
}
- return get_regs_error = getregs_old(tcp->pid);
+ return get_regs_error = getregs_old(tcp);
# else /* !HAVE_GETREGS_OLD */
/* Assume that PTRACE_GETREGSET/PTRACE_GETREGS works. */
return get_regs_error = ptrace_getregset_or_getregs(tcp->pid);