diff options
author | H. Peter Anvin <hpa@zytor.com> | 2012-02-19 16:50:12 +0100 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2012-02-20 21:52:05 +0100 |
commit | 9d3897630e14b3d33bcb24a3c0fa9d60a01d3058 (patch) | |
tree | b526888f189cc080ebae6317355a32d07cc3bfe2 | |
parent | x32: Add struct ucontext_x32 (diff) | |
download | linux-9d3897630e14b3d33bcb24a3c0fa9d60a01d3058.tar.xz linux-9d3897630e14b3d33bcb24a3c0fa9d60a01d3058.zip |
x32: Add rt_sigframe_x32
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>
-rw-r--r-- | arch/x86/include/asm/sigframe.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/x86/include/asm/sigframe.h b/arch/x86/include/asm/sigframe.h index 4e0fe26d27d3..7c7c27c97daa 100644 --- a/arch/x86/include/asm/sigframe.h +++ b/arch/x86/include/asm/sigframe.h @@ -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 */ |