x32: Add rt_sigframe_x32
authorH. Peter Anvin <hpa@zytor.com>
Sun, 19 Feb 2012 15:50:12 +0000 (07:50 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Mon, 20 Feb 2012 20:52:05 +0000 (12:52 -0800)
Add rt_sigframe_x32 to <asm/sigframe.h>.  Unfortunately we can't just
define all the data structures unconditionally, due to the #ifdef
CONFIG_COMPAT in <linux/compat.h> and its trickle-down effects, hence
the #ifdef mess.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/include/asm/sigframe.h

index 4e0fe26d27d341005a43f4d62608b57a1c33498b..7c7c27c97daa1077cb4b5a1cca2c229debd1707c 100644 (file)
@@ -59,12 +59,25 @@ struct rt_sigframe_ia32 {
 #endif /* defined(CONFIG_X86_32) || defined(CONFIG_IA32_EMULATION) */
 
 #ifdef CONFIG_X86_64
+
 struct rt_sigframe {
        char __user *pretcode;
        struct ucontext uc;
        struct siginfo info;
        /* fp state follows here */
 };
+
+#ifdef CONFIG_X86_X32_ABI
+
+struct rt_sigframe_x32 {
+       u64 pretcode;
+       struct ucontext_x32 uc;
+       compat_siginfo_t info;
+       /* fp state follows here */
+};
+
+#endif /* CONFIG_X86_X32_ABI */
+
 #endif /* CONFIG_X86_64 */
 
 #endif /* _ASM_X86_SIGFRAME_H */