powerpc: Use PTRACE_GETREGS to fetch all registers
* defs.h: declare ppc_regs and get_regs_error.
* signal.c (sys_sigreturn): Use ppc_regs instead of upeek.
* syscall.c: define ppc_regs.
(printcall): Use ppc_regs instead of upeek.
(get_scno): Replace multiple upeek calls with one PTRACE_GETREGS call.
(get_syscall_result): Likewise.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
diff --git a/defs.h b/defs.h
index 1f1602a..76eb300 100644
--- a/defs.h
+++ b/defs.h
@@ -375,6 +375,8 @@
extern struct pt_regs arm_regs;
#elif defined(TILE)
extern struct pt_regs tile_regs;
+#elif defined(POWERPC)
+extern struct pt_regs ppc_regs;
#endif
typedef struct sysent {
@@ -591,7 +593,8 @@
|| defined(SPARC) || defined(SPARC64) \
|| defined(TILE) \
|| defined(OR1K) \
- || defined(METAG)
+ || defined(METAG) \
+ || defined(POWERPC)
extern long get_regs_error;
# define clear_regs() (get_regs_error = -1)
extern void get_regs(pid_t pid);