about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-05-18 04:07:51 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-05-18 04:07:51 -0700
commit3707636e48c922a27854d5d7011a07ef92ce0a28 (patch)
tree55994ccf9fa75eafdbb896b3270013b7ae9e4de9
parent37fb1dc05733e0f3d7eca64820dc5c2c25f2a6d9 (diff)
downloadglibc-3707636e48c922a27854d5d7011a07ef92ce0a28.tar.gz
glibc-3707636e48c922a27854d5d7011a07ef92ce0a28.tar.xz
glibc-3707636e48c922a27854d5d7011a07ef92ce0a28.zip
Use anonymous union in x86_64/sys/user.h
-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];