diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/x86_64/sys/user.h')
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/sys/user.h | 84 |
1 files changed, 45 insertions, 39 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/sys/user.h b/sysdeps/unix/sysv/linux/x86_64/sys/user.h index e4423cf437..35bfa8b119 100644 --- a/sysdeps/unix/sysv/linux/x86_64/sys/user.h +++ b/sysdeps/unix/sysv/linux/x86_64/sys/user.h @@ -25,7 +25,7 @@ #include <bits/wordsize.h> -#if __WORDSIZE == 64 +#ifdef __x86_64__ struct user_fpregs_struct { @@ -33,8 +33,8 @@ struct user_fpregs_struct unsigned short int swd; unsigned short int ftw; unsigned short int fop; - unsigned long int rip; - unsigned long int rdp; + unsigned long long int rip; + unsigned long long int rdp; unsigned int mxcsr; unsigned int mxcr_mask; unsigned int st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ @@ -44,33 +44,33 @@ struct user_fpregs_struct struct user_regs_struct { - unsigned long int r15; - unsigned long int r14; - unsigned long int r13; - unsigned long int r12; - unsigned long int rbp; - unsigned long int rbx; - unsigned long int r11; - unsigned long int r10; - unsigned long int r9; - unsigned long int r8; - unsigned long int rax; - unsigned long int rcx; - unsigned long int rdx; - unsigned long int rsi; - unsigned long int rdi; - unsigned long int orig_rax; - unsigned long int rip; - unsigned long int cs; - unsigned long int eflags; - unsigned long int rsp; - unsigned long int ss; - unsigned long int fs_base; - unsigned long int gs_base; - unsigned long int ds; - unsigned long int es; - unsigned long int fs; - unsigned long int gs; + unsigned long long int r15; + unsigned long long int r14; + unsigned long long int r13; + unsigned long long int r12; + unsigned long long int rbp; + unsigned long long int rbx; + unsigned long long int r11; + unsigned long long int r10; + unsigned long long int r9; + unsigned long long int r8; + unsigned long long int rax; + unsigned long long int rcx; + unsigned long long int rdx; + unsigned long long int rsi; + unsigned long long int rdi; + unsigned long long int orig_rax; + unsigned long long int rip; + unsigned long long int cs; + unsigned long long int eflags; + unsigned long long int rsp; + unsigned long long int ss; + unsigned long long int fs_base; + unsigned long long int gs_base; + unsigned long long int ds; + unsigned long long int es; + unsigned long long int fs; + unsigned long long int gs; }; struct user @@ -78,18 +78,24 @@ struct user struct user_regs_struct regs; int u_fpvalid; struct user_fpregs_struct i387; - unsigned long int u_tsize; - unsigned long int u_dsize; - unsigned long int u_ssize; - unsigned long int start_code; - unsigned long int start_stack; - long int signal; + unsigned long long int u_tsize; + unsigned long long int u_dsize; + unsigned long long int u_ssize; + unsigned long long int start_code; + unsigned long long int start_stack; + long long int signal; int reserved; struct user_regs_struct* u_ar0; +# if __WORDSIZE == 32 + unsigned int pad0; +# endif struct user_fpregs_struct* u_fpstate; - unsigned long int magic; +# if __WORDSIZE == 32 + unsigned int pad1; +# endif + unsigned long long int magic; char u_comm [32]; - unsigned long int u_debugreg [8]; + unsigned long long int u_debugreg [8]; }; #else @@ -162,7 +168,7 @@ struct user char u_comm [32]; int u_debugreg [8]; }; -#endif /* __WORDSIZE */ +#endif /* __x86_64__ */ #define PAGE_SHIFT 12 #define PAGE_SIZE (1UL << PAGE_SHIFT) |