This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch, master, updated. glibc-2.15-959-g553c7ea


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  553c7ea4fa267045d0f3338e4b15b285ca23c733 (commit)
       via  3707636e48c922a27854d5d7011a07ef92ce0a28 (commit)
      from  37fb1dc05733e0f3d7eca64820dc5c2c25f2a6d9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=553c7ea4fa267045d0f3338e4b15b285ca23c733

commit 553c7ea4fa267045d0f3338e4b15b285ca23c733
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri May 18 04:10:55 2012 -0700

    Add x32 support to x86_64/bits/sigcontext.h

diff --git a/ChangeLog b/ChangeLog
index 0bbbe44..c69543c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2012-05-18  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h: Don't
+	include <bits/wordsize.h>.  Check __x86_64__ instead of
+	__WORDSIZE.
+	(sigcontext): Use "__uint64_t" instead of "unsigned long int"
+	if __x86_64__ is defined.  Use anonymous union on fpstate.
+
 	* sysdeps/unix/sysv/linux/x86_64/sys/user.h (user): Use
 	anonymous union.
 
diff --git a/sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h b/sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h
index 197c148..d9ba716 100644
--- a/sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h
+++ b/sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -22,8 +22,6 @@
 # error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
 #endif
 
-#include <bits/wordsize.h>
-
 struct _fpreg
 {
   unsigned short significand[4];
@@ -44,7 +42,7 @@ struct _xmmreg
 
 
 
-#if __WORDSIZE == 32
+#ifndef __x86_64__
 
 struct _fpstate
 {
@@ -103,7 +101,7 @@ struct sigcontext
   unsigned long cr2;
 };
 
-#else /* __WORDSIZE == 64 */
+#else /* __x86_64__ */
 
 struct _fpstate
 {
@@ -123,36 +121,40 @@ struct _fpstate
 
 struct sigcontext
 {
-  unsigned long r8;
-  unsigned long r9;
-  unsigned long r10;
-  unsigned long r11;
-  unsigned long r12;
-  unsigned long r13;
-  unsigned long r14;
-  unsigned long r15;
-  unsigned long rdi;
-  unsigned long rsi;
-  unsigned long rbp;
-  unsigned long rbx;
-  unsigned long rdx;
-  unsigned long rax;
-  unsigned long rcx;
-  unsigned long rsp;
-  unsigned long rip;
-  unsigned long eflags;
+  __uint64_t r8;
+  __uint64_t r9;
+  __uint64_t r10;
+  __uint64_t r11;
+  __uint64_t r12;
+  __uint64_t r13;
+  __uint64_t r14;
+  __uint64_t r15;
+  __uint64_t rdi;
+  __uint64_t rsi;
+  __uint64_t rbp;
+  __uint64_t rbx;
+  __uint64_t rdx;
+  __uint64_t rax;
+  __uint64_t rcx;
+  __uint64_t rsp;
+  __uint64_t rip;
+  __uint64_t eflags;
   unsigned short cs;
   unsigned short gs;
   unsigned short fs;
   unsigned short __pad0;
-  unsigned long err;
-  unsigned long trapno;
-  unsigned long oldmask;
-  unsigned long cr2;
-  struct _fpstate * fpstate;
-  unsigned long __reserved1 [8];
+  __uint64_t err;
+  __uint64_t trapno;
+  __uint64_t oldmask;
+  __uint64_t cr2;
+  __extension__ union
+    {
+      struct _fpstate * fpstate;
+      __uint64_t __fpstate_word;
+    };
+  __uint64_t __reserved1 [8];
 };
 
-#endif /* __WORDSIZE == 64 */
+#endif /* __x86_64__ */
 
 #endif /* _BITS_SIGCONTEXT_H */

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=3707636e48c922a27854d5d7011a07ef92ce0a28

commit 3707636e48c922a27854d5d7011a07ef92ce0a28
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri May 18 04:07:51 2012 -0700

    Use anonymous union in x86_64/sys/user.h

diff --git a/ChangeLog b/ChangeLog
index b0ffe61..0bbbe44 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 46bf6ef..9db2937 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];

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                        |   11 ++++
 sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h |   62 +++++++++++----------
 sysdeps/unix/sysv/linux/x86_64/sys/user.h        |   18 ++++---
 3 files changed, 53 insertions(+), 38 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]