Commit 4f72e331 authored by H. Peter Anvin's avatar H. Peter Anvin

x86-64: Use explicit sizes in sigcontext.h, prepare for x32

Use explicit sizes (__u64) instead of implicit sizes (unsigned long)
in the definition for sigcontext.h; this will allow this structure to
be shared between the x86-64 native ABI and the x32 ABI.
Originally-by: default avatarH. J. Lu <hjl.tools@gmail.com>
Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
Link: http://lkml.kernel.org/n/tip-4pr1xnnksprt7t0h3w5fw4rv@git.kernel.org
parent 6bd33008
...@@ -230,34 +230,37 @@ struct sigcontext { ...@@ -230,34 +230,37 @@ struct sigcontext {
* User-space might still rely on the old definition: * User-space might still rely on the old definition:
*/ */
struct sigcontext { struct sigcontext {
unsigned long r8; __u64 r8;
unsigned long r9; __u64 r9;
unsigned long r10; __u64 r10;
unsigned long r11; __u64 r11;
unsigned long r12; __u64 r12;
unsigned long r13; __u64 r13;
unsigned long r14; __u64 r14;
unsigned long r15; __u64 r15;
unsigned long rdi; __u64 rdi;
unsigned long rsi; __u64 rsi;
unsigned long rbp; __u64 rbp;
unsigned long rbx; __u64 rbx;
unsigned long rdx; __u64 rdx;
unsigned long rax; __u64 rax;
unsigned long rcx; __u64 rcx;
unsigned long rsp; __u64 rsp;
unsigned long rip; __u64 rip;
unsigned long eflags; /* RFLAGS */ __u64 eflags; /* RFLAGS */
unsigned short cs; __u16 cs;
unsigned short gs; __u16 gs;
unsigned short fs; __u16 fs;
unsigned short __pad0; __u16 __pad0;
unsigned long err; __u64 err;
unsigned long trapno; __u64 trapno;
unsigned long oldmask; __u64 oldmask;
unsigned long cr2; __u64 cr2;
struct _fpstate __user *fpstate; /* zero when no FPU context */ struct _fpstate __user *fpstate; /* zero when no FPU context */
unsigned long reserved1[8]; #ifndef __LP64__
__u32 __fpstate_pad;
#endif
__u64 reserved1[8];
}; };
#endif /* !__KERNEL__ */ #endif /* !__KERNEL__ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment