diff options
Diffstat (limited to 'arch/x86/include/asm/ia32.h')
| -rw-r--r-- | arch/x86/include/asm/ia32.h | 84 | 
1 files changed, 10 insertions, 74 deletions
diff --git a/arch/x86/include/asm/ia32.h b/arch/x86/include/asm/ia32.h index 1f7e6251728..d0e8e014104 100644 --- a/arch/x86/include/asm/ia32.h +++ b/arch/x86/include/asm/ia32.h @@ -13,36 +13,24 @@  #include <asm/sigcontext32.h>  /* signal.h */ -struct sigaction32 { -	unsigned int  sa_handler;	/* Really a pointer, but need to deal -					   with 32 bits */ -	unsigned int sa_flags; -	unsigned int sa_restorer;	/* Another 32 bit pointer */ -	compat_sigset_t sa_mask;	/* A 32 bit mask */ -}; - -struct old_sigaction32 { -	unsigned int  sa_handler;	/* Really a pointer, but need to deal -					   with 32 bits */ -	compat_old_sigset_t sa_mask;	/* A 32 bit mask */ -	unsigned int sa_flags; -	unsigned int sa_restorer;	/* Another 32 bit pointer */ -}; - -typedef struct sigaltstack_ia32 { -	unsigned int	ss_sp; -	int		ss_flags; -	unsigned int	ss_size; -} stack_ia32_t;  struct ucontext_ia32 {  	unsigned int	  uc_flags;  	unsigned int 	  uc_link; -	stack_ia32_t	  uc_stack; +	compat_stack_t	  uc_stack;  	struct sigcontext_ia32 uc_mcontext;  	compat_sigset_t	  uc_sigmask;	/* mask last for extensibility */  }; +struct ucontext_x32 { +	unsigned int	  uc_flags; +	unsigned int 	  uc_link; +	compat_stack_t	  uc_stack; +	unsigned int	  uc__pad0;     /* needed for alignment */ +	struct sigcontext uc_mcontext;  /* the 64-bit sigcontext type */ +	compat_sigset_t	  uc_sigmask;	/* mask last for extensibility */ +}; +  /* This matches struct stat64 in glibc2.2, hence the absolutely   * insane amounts of padding around dev_t's.   */ @@ -77,58 +65,6 @@ struct stat64 {  	unsigned long long	st_ino;  } __attribute__((packed)); -typedef struct compat_siginfo { -	int si_signo; -	int si_errno; -	int si_code; - -	union { -		int _pad[((128 / sizeof(int)) - 3)]; - -		/* kill() */ -		struct { -			unsigned int _pid;	/* sender's pid */ -			unsigned int _uid;	/* sender's uid */ -		} _kill; - -		/* POSIX.1b timers */ -		struct { -			compat_timer_t _tid;	/* timer id */ -			int _overrun;		/* overrun count */ -			compat_sigval_t _sigval;	/* same as below */ -			int _sys_private;	/* not to be passed to user */ -			int _overrun_incr;	/* amount to add to overrun */ -		} _timer; - -		/* POSIX.1b signals */ -		struct { -			unsigned int _pid;	/* sender's pid */ -			unsigned int _uid;	/* sender's uid */ -			compat_sigval_t _sigval; -		} _rt; - -		/* SIGCHLD */ -		struct { -			unsigned int _pid;	/* which child */ -			unsigned int _uid;	/* sender's uid */ -			int _status;		/* exit code */ -			compat_clock_t _utime; -			compat_clock_t _stime; -		} _sigchld; - -		/* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ -		struct { -			unsigned int _addr;	/* faulting insn/memory ref. */ -		} _sigfault; - -		/* SIGPOLL */ -		struct { -			int _band;	/* POLL_IN, POLL_OUT, POLL_MSG */ -			int _fd; -		} _sigpoll; -	} _sifields; -} compat_siginfo_t; -  #define IA32_STACK_TOP IA32_PAGE_OFFSET  #ifdef __KERNEL__  | 
