diff options
author | Denys Vlasenko <dvlasenk@redhat.com> | 2013-06-28 14:36:39 +0200 |
---|---|---|
committer | Denys Vlasenko <dvlasenk@redhat.com> | 2013-06-28 14:36:39 +0200 |
commit | 7f5a132c817ee70343913619371adc29691832bc (patch) | |
tree | e68e14c08a35f4b39b04c4177edd491d581442b2 /syscall.c | |
parent | 752e5a02e67f66f555aa39faf522f07126924e62 (diff) | |
download | strace-7f5a132c817ee70343913619371adc29691832bc.tar.gz strace-7f5a132c817ee70343913619371adc29691832bc.tar.bz2 strace-7f5a132c817ee70343913619371adc29691832bc.tar.xz |
Get rid of powerpc_getreg(), it's a copy of upeek()
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'syscall.c')
-rw-r--r-- | syscall.c | 36 |
1 files changed, 8 insertions, 28 deletions
@@ -996,49 +996,29 @@ undefined_scno_name(struct tcb *tcp) #ifdef POWERPC /* - * PTRACE_GETREGS was added to the PowerPC kernel in v2.6.23, so we - * provide a slow fallback for very old kernels. + * PTRACE_GETREGS was added to the PowerPC kernel in v2.6.23, + * we provide a slow fallback for old kernels. */ - -static long powerpc_getreg(pid_t pid, unsigned long offset, unsigned long *p) -{ - long val; - - errno = 0; - val = ptrace(PTRACE_PEEKUSER, pid, (char *)offset, 0); - if (val == -1 && errno) - return -1; - - *p = val; - return 0; -} - -static long powerpc_getregs_old(pid_t pid) +static int powerpc_getregs_old(pid_t pid) { int i; long r; - r = powerpc_getreg(pid, sizeof(unsigned long) * PT_MSR, &ppc_regs.msr); + r = upeek(pid, sizeof(long) * PT_MSR, &ppc_regs.msr); if (r) goto out; - - r = powerpc_getreg(pid, sizeof(unsigned long) * PT_CCR, &ppc_regs.ccr); + r = upeek(pid, sizeof(long) * PT_CCR, &ppc_regs.ccr); if (r) goto out; - - r = powerpc_getreg(pid, sizeof(unsigned long) * PT_ORIG_R3, - &ppc_regs.orig_gpr3); + r = upeek(pid, sizeof(long) * PT_ORIG_R3, &ppc_regs.orig_gpr3); if (r) goto out; - for (i = 0; i <= 8; i++) { - r = powerpc_getreg(pid, sizeof(unsigned long) * (PT_R0 + i), - &ppc_regs.gpr[i]); + r = upeek(pid, sizeof(long) * (PT_R0 + i), &ppc_regs.gpr[i]); if (r) goto out; } - -out: + out: return r; } #endif |