aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/sys/user.h18
2 files changed, 15 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index b0ffe61b54..0bbbe4442e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/unix/sysv/linux/x86_64/sys/user.h (user): Use
+ anonymous union.
+
2012-05-18 Andreas Schwab <schwab@linux-m68k.org>
* sysdeps/powerpc/powerpc32/dl-start.S (_dl_start_user): Use
diff --git a/sysdeps/unix/sysv/linux/x86_64/sys/user.h b/sysdeps/unix/sysv/linux/x86_64/sys/user.h
index 46bf6ef9fa..9db293713f 100644
--- a/sysdeps/unix/sysv/linux/x86_64/sys/user.h
+++ b/sysdeps/unix/sysv/linux/x86_64/sys/user.h
@@ -82,14 +82,16 @@ struct user
__extension__ unsigned long long int start_stack;
__extension__ long long int signal;
int reserved;
- struct user_regs_struct* u_ar0;
-# ifdef __ILP32__
- unsigned int pad0;
-# endif
- struct user_fpregs_struct* u_fpstate;
-# ifdef __ILP32__
- unsigned int pad1;
-# endif
+ __extension__ union
+ {
+ struct user_regs_struct* u_ar0;
+ __extension__ unsigned long long int __u_ar0_word;
+ };
+ __extension__ union
+ {
+ struct user_fpregs_struct* u_fpstate;
+ __extension__ unsigned long long int __u_fpstate_word;
+ };
__extension__ unsigned long long int magic;
char u_comm [32];
__extension__ unsigned long long int u_debugreg [8];