summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <dvlasenk@redhat.com>2013-06-28 14:51:50 +0200
committerDenys Vlasenko <dvlasenk@redhat.com>2013-06-28 14:51:50 +0200
commit6b3016e43512e055eb42cf03194eb4c6eee17841 (patch)
tree5039d64603e52fd99bf82fc3c007896ce58ef4ae
parent7eb893236ca547779b597325a4a0e4b349e4c566 (diff)
downloadstrace-6b3016e43512e055eb42cf03194eb4c6eee17841.tar.gz
strace-6b3016e43512e055eb42cf03194eb4c6eee17841.tar.bz2
strace-6b3016e43512e055eb42cf03194eb4c6eee17841.tar.xz
POWERPC: read ppc_regs.nip if -i
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
-rw-r--r--syscall.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/syscall.c b/syscall.c
index a44ac0c..0727072 100644
--- a/syscall.c
+++ b/syscall.c
@@ -1004,9 +1004,16 @@ static int powerpc_getregs_old(pid_t pid)
int i;
long r;
+ if (iflag) {
+ r = upeek(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);
if (r)
goto out;
+#endif
r = upeek(pid, sizeof(long) * PT_CCR, &ppc_regs.ccr);
if (r)
goto out;