From 2550d4890eae4d2d32ec6be0185eef6d30ce0124 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 15 Feb 2013 21:04:28 +0100 Subject: [PATCH] Use the same type for i386_regs on 32-bit and 64-bit x86. * defs.h: Stop including for x86. Change i386_regs from "struct pt_regs" to "struct user_regs_struct". * syscall.c: Likewise. Signed-off-by: Denys Vlasenko --- defs.h | 12 +++++------- syscall.c | 3 +-- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/defs.h b/defs.h index c607dfd7..f92d025b 100644 --- a/defs.h +++ b/defs.h @@ -154,6 +154,10 @@ extern char *stpcpy(char *dst, const char *src); extern long ptrace(int, int, char *, long); #endif +#if defined(TILE) +# include /* struct pt_regs */ +#endif + #if !HAVE_DECL_PTRACE_SETOPTIONS # define PTRACE_SETOPTIONS 0x4200 #endif @@ -218,12 +222,6 @@ extern long ptrace(int, int, char *, long); # 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 -#endif #ifdef ALPHA # define REG_R0 0 # define REG_A0 16 @@ -356,7 +354,7 @@ struct arm_pt_regs { #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 bf94eee5..26c84deb 100644 --- a/syscall.c +++ b/syscall.c @@ -67,7 +67,6 @@ #if defined(X86_64) || defined(X32) # include -# include # include # include #endif @@ -672,7 +671,7 @@ is_restart_error(struct tcb *tcp) } #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, -- 2.40.0