Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+13
+13
arch/x86/include/asm/sigframe.h
··· 59 59 #endif /* defined(CONFIG_X86_32) || defined(CONFIG_IA32_EMULATION) */ 60 60 61 61 #ifdef CONFIG_X86_64 62 + 62 63 struct rt_sigframe { 63 64 char __user *pretcode; 64 65 struct ucontext uc; 65 66 struct siginfo info; 66 67 /* fp state follows here */ 67 68 }; 69 + 70 + #ifdef CONFIG_X86_X32_ABI 71 + 72 + struct rt_sigframe_x32 { 73 + u64 pretcode; 74 + struct ucontext_x32 uc; 75 + compat_siginfo_t info; 76 + /* fp state follows here */ 77 + }; 78 + 79 + #endif /* CONFIG_X86_X32_ABI */ 80 + 68 81 #endif /* CONFIG_X86_64 */ 69 82 70 83 #endif /* _ASM_X86_SIGFRAME_H */