Use the same type for i386_regs on 32-bit and 64-bit x86.

* defs.h: Stop including <asm/ptrace.h> for x86.
Change i386_regs from "struct pt_regs" to "struct user_regs_struct".
* syscall.c: Likewise.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/defs.h b/defs.h
index c607dfd..f92d025 100644
--- a/defs.h
+++ b/defs.h
@@ -154,6 +154,10 @@
 extern long ptrace(int, int, char *, long);
 #endif
 
+#if defined(TILE)
+# include <asm/ptrace.h>  /* struct pt_regs */
+#endif
+
 #if !HAVE_DECL_PTRACE_SETOPTIONS
 # define PTRACE_SETOPTIONS	0x4200
 #endif
@@ -218,12 +222,6 @@
 # define PTRACE_EVENT_STOP	128
 #endif
 
-#if defined(X86_64) || defined(X32) || defined(I386) || defined(TILE)
-/* For struct pt_regs. x86 strace uses PTRACE_GETREGS.
- * PTRACE_GETREGS returns registers in the layout of this struct.
- */
-# include <asm/ptrace.h>
-#endif
 #ifdef ALPHA
 # define REG_R0 0
 # define REG_A0 16
@@ -356,7 +354,7 @@
 #endif
 
 #if defined(I386)
-extern struct pt_regs i386_regs;
+extern struct user_regs_struct i386_regs;
 #endif
 #if defined(IA64)
 extern long ia32;
diff --git a/syscall.c b/syscall.c
index bf94eee..26c84de 100644
--- a/syscall.c
+++ b/syscall.c
@@ -67,7 +67,6 @@
 
 #if defined(X86_64) || defined(X32)
 # include <linux/ptrace.h>
-# include <asm/ptrace.h>
 # include <sys/uio.h>
 # include <elf.h>
 #endif
@@ -672,7 +671,7 @@
 }
 
 #if defined(I386)
-struct pt_regs i386_regs;
+struct user_regs_struct i386_regs;
 #elif defined(X86_64) || defined(X32)
 /*
  * On i386, pt_regs and user_regs_struct are the same,