summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/sigframe.h28
1 files changed, 17 insertions, 11 deletions
diff --git a/arch/x86/kernel/sigframe.h b/arch/x86/kernel/sigframe.h
index 6dd7e2b..6718ed0 100644
--- a/arch/x86/kernel/sigframe.h
+++ b/arch/x86/kernel/sigframe.h
@@ -1,8 +1,14 @@
#ifdef CONFIG_X86_32
-struct sigframe {
- char __user *pretcode;
+#define sigframe_ia32 sigframe
+#define rt_sigframe_ia32 rt_sigframe
+#define sigcontext_ia32 sigcontext
+#define _fpstate_ia32 _fpstate
+#define ucontext_ia32 ucontext
+
+struct sigframe_ia32 {
+ u32 pretcode;
int sig;
- struct sigcontext sc;
+ struct sigcontext_ia32 sc;
/*
* fpstate is unused. fpstate is moved/allocated after
* retcode[] below. This movement allows to have the FP state and the
@@ -11,27 +17,27 @@ struct sigframe {
* the offset of extramask[] in the sigframe and thus prevent any
* legacy application accessing/modifying it.
*/
- struct _fpstate fpstate_unused;
+ struct _fpstate_ia32 fpstate_unused;
unsigned long extramask[_NSIG_WORDS-1];
char retcode[8];
/* fp state follows here */
};
-struct rt_sigframe {
- char __user *pretcode;
+struct rt_sigframe_ia32 {
+ u32 pretcode;
int sig;
- struct siginfo __user *pinfo;
- void __user *puc;
+ u32 pinfo;
+ u32 puc;
struct siginfo info;
- struct ucontext uc;
+ struct ucontext_ia32 uc;
char retcode[8];
/* fp state follows here */
};
-#else
+#else /* !CONFIG_X86_32 */
struct rt_sigframe {
char __user *pretcode;
struct ucontext uc;
struct siginfo info;
/* fp state follows here */
};
-#endif
+#endif /* CONFIG_X86_32 */