This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, master, updated. glibc-2.15-959-g553c7ea
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 18 May 2012 11:11:27 -0000
- Subject: 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