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.25-381-g139904b


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  139904b7e454b1232dc7807dd613682d107daab1 (commit)
      from  491bb0858e2d7edc36ced616e846803671d8db75 (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://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=139904b7e454b1232dc7807dd613682d107daab1

commit 139904b7e454b1232dc7807dd613682d107daab1
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Jun 1 14:07:40 2017 +0000

    Fix more namespace issues in sys/ucontext.h (bug 21457).
    
    Continuing the fixes for namespace issues in sys/ucontext.h, this
    patch moves various symbols into the implementation namespace in the
    absence of __USE_MISC.  As with previous changes, it is nonexhaustive,
    just covering more straightforward cases.
    
    Structure fields are generally changed to have a prefix __ in the
    absence of __USE_MISC, via a macro __ctx (used without a space before
    the open parenthesis, since the result is a single identifier).
    Various macros such as NGREG also have leading __ added.  No changes
    are made to structure tags (and thus to C++ name mangling), except
    that in the (unused) file sysdeps/i386/sys/ucontext.h, structures
    defined inside other structures as the type for a field have their
    tags removed in the non-__USE_MISC case (those structure tags would
    not in any case have been visible in C++, because in C++ the scope of
    such a tag is limited to the containing structure).  No changes are
    made to the contents of bits/sigcontext.h, or to whether it is
    included.  Because of remaining namespace issues, this patch does not
    yet fix the bug or allow any XFAILs to be removed.
    
    Tested for x86_64 and x86, and with build-many-glibcs.py.
    
    	[BZ #21457]
    	* sysdeps/arm/sys/ucontext.h (NGREG): Rename to __NGREG and define
    	NGREG to __NGREG if [__USE_MISC].
    	(gregset_t): Define using __NGREG.
    	(__ctx): New macro.
    	(mcontext_t): Use __ctx in defining fields.
    	* sysdeps/i386/sys/ucontext.h (NGREG): Rename to __NGREG and
    	define NGREG to __NGREG if [__USE_MISC].
    	(gregset_t): Define using __NGREG.
    	(__ctx): New macro.
    	(__ctxt): Likewise.
    	(fpregset_t): Use __ctx and __ctxt in defining fields.
    	(mcontext_t): Likewise.
    	* sysdeps/m68k/sys/ucontext.h (NGREG): Rename to __NGREG and
    	define NGREG to __NGREG if [__USE_MISC].
    	(gregset_t): Define using __NGREG.
    	(__ctx): New macro.
    	(mcontext_t): Use __ctx in defining fields.
    	* sysdeps/mips/sys/ucontext.h (NGREG): Rename to __NGREG and
    	define NGREG to __NGREG if [__USE_MISC].
    	(gregset_t): Define using __NGREG.
    	(__ctx): New macro.
    	(fpregset_t): Use __ctx in defining fields.
    	(mcontext_t): Likewise.
    	* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (NGREG): Rename to
    	__NGREG and define NGREG to __NGREG if [__USE_MISC].
    	(gregset_t): Define using __NGREG.
    	(NFPREG): Rename to __NFPREG and define NFPREG to __NFPREG if
    	[__USE_MISC].
    	(fpregset_t): Define using __NFPREG.
    	* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (NGREG): Rename to
    	__NGREG and define NGREG to __NGREG if [__USE_MISC].
    	(gregset_t): Define using __NGREG.
    	(__ctx): New macro.
    	(fpregset_t): Use __ctx in defining fields.
    	(mcontext_t): Likewise.
    	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (NGREG): Rename to
    	__NGREG and define NGREG to __NGREG if [__USE_MISC].
    	(NFPREG): Rename to __NFPREG and define NFPREG to __NFPREG if
    	[__USE_MISC].
    	(gregset_t): Define using __NGREG.
    	(__ctx): New macro.
    	(fpregset_t): Use __ctx in defining fields.
    	(mcontext_t): Likewise.
    	* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): New macro.
    	(mcontext_t): Use __ctx in defining fields.
    	* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (__ctx): New
    	macro.
    	[__WORDSIZE == 32] (NGREG): Rename to __NGREG and define NGREG to
    	__NGREG if [__USE_MISC].
    	[__WORDSIZE == 32] (gregset_t): Define using __NGREG.
    	[__WORDSIZE == 32] (fpregset_t): Use __ctx in defining fields.
    	(mcontext_t): Likewise.
    	[__WORDSIZE != 32] (NGREG): Rename to __NGREG and define NGREG to
    	__NGREG if [__USE_MISC].
    	[__WORDSIZE != 32] (NFPREG): Rename to __NFPREG and define NFPREG
    	to __NFPREG if [__USE_MISC].
    	[__WORDSIZE != 32] (NVRREG): Rename to __NVRREG and define NVRREG
    	to __NVRREG if [__USE_MISC].
    	[__WORDSIZE != 32] (gregset_t): Define using __NGREG.
    	[__WORDSIZE != 32] (fpregset_t): Define using __NFPREG.
    	[__WORDSIZE != 32] (vscr_t): Use __ctx in defining fields.
    	[__WORDSIZE != 32] (vrregset_t): Likewise.
    	[__WORDSIZE != 32] (mcontext_t): Likewise.
    	* sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): New macro.
    	(__psw_t): Use __ctx in defining fields.
    	(NGREG): Rename to __NGREG and define NGREG to __NGREG if
    	[__USE_MISC].
    	(gregset_t): Define using __NGREG.
    	(fpreg_t): Use __ctx in defining fields.
    	(fpregset_t): Likewise.
    	(mcontext_t): Likewise.
    	* sysdeps/unix/sysv/linux/sh/sys/ucontext.h (NGREG): Rename to
    	__NGREG and define NGREG to __NGREG if [__USE_MISC].
    	(gregset_t): Define using __NGREG.
    	(NFPREG): Rename to __NFPREG and define NFPREG to __NFPREG if
    	[__USE_MISC].
    	(fpregset_t): Define using __NFPREG.
    	(__ctx): New macro.
    	(mcontext_t): Use __ctx in defining fields.
    	* sysdeps/unix/sysv/linux/x86/sys/ucontext.h (__ctx): New macro.
    	[__x86_64__] (NGREG): Rename to __NGREG and define NGREG to
    	__NGREG if [__USE_MISC].
    	[__x86_64__] (gregset_t): Define using __NGREG.
    	[__x86_64__] (struct _libc_fpxreg): Use __ctx in defining fields.
    	[__x86_64__] (struct _libc_fpstate): Likewise.
    	[__x86_64__] (mcontext_t): Likewise.
    	[!__x86_64__] (NGREG): Rename to __NGREG and define NGREG to
    	__NGREG if [__USE_MISC].
    	[!__x86_64__] (gregset_t): Define using __NGREG.
    	[!__x86_64__] (struct _libc_fpreg): Use __ctx in defining fields.
    	[!__x86_64__] (struct _libc_fpstate): Likewise.
    	[!__x86_64__] (mcontext_t): Likewise.

diff --git a/ChangeLog b/ChangeLog
index d0bed8a..d56331a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,99 @@
+2017-06-01  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #21457]
+	* sysdeps/arm/sys/ucontext.h (NGREG): Rename to __NGREG and define
+	NGREG to __NGREG if [__USE_MISC].
+	(gregset_t): Define using __NGREG.
+	(__ctx): New macro.
+	(mcontext_t): Use __ctx in defining fields.
+	* sysdeps/i386/sys/ucontext.h (NGREG): Rename to __NGREG and
+	define NGREG to __NGREG if [__USE_MISC].
+	(gregset_t): Define using __NGREG.
+	(__ctx): New macro.
+	(__ctxt): Likewise.
+	(fpregset_t): Use __ctx and __ctxt in defining fields.
+	(mcontext_t): Likewise.
+	* sysdeps/m68k/sys/ucontext.h (NGREG): Rename to __NGREG and
+	define NGREG to __NGREG if [__USE_MISC].
+	(gregset_t): Define using __NGREG.
+	(__ctx): New macro.
+	(mcontext_t): Use __ctx in defining fields.
+	* sysdeps/mips/sys/ucontext.h (NGREG): Rename to __NGREG and
+	define NGREG to __NGREG if [__USE_MISC].
+	(gregset_t): Define using __NGREG.
+	(__ctx): New macro.
+	(fpregset_t): Use __ctx in defining fields.
+	(mcontext_t): Likewise.
+	* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (NGREG): Rename to
+	__NGREG and define NGREG to __NGREG if [__USE_MISC].
+	(gregset_t): Define using __NGREG.
+	(NFPREG): Rename to __NFPREG and define NFPREG to __NFPREG if
+	[__USE_MISC].
+	(fpregset_t): Define using __NFPREG.
+	* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (NGREG): Rename to
+	__NGREG and define NGREG to __NGREG if [__USE_MISC].
+	(gregset_t): Define using __NGREG.
+	(__ctx): New macro.
+	(fpregset_t): Use __ctx in defining fields.
+	(mcontext_t): Likewise.
+	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (NGREG): Rename to
+	__NGREG and define NGREG to __NGREG if [__USE_MISC].
+	(NFPREG): Rename to __NFPREG and define NFPREG to __NFPREG if
+	[__USE_MISC].
+	(gregset_t): Define using __NGREG.
+	(__ctx): New macro.
+	(fpregset_t): Use __ctx in defining fields.
+	(mcontext_t): Likewise.
+	* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): New macro.
+	(mcontext_t): Use __ctx in defining fields.
+	* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (__ctx): New
+	macro.
+	[__WORDSIZE == 32] (NGREG): Rename to __NGREG and define NGREG to
+	__NGREG if [__USE_MISC].
+	[__WORDSIZE == 32] (gregset_t): Define using __NGREG.
+	[__WORDSIZE == 32] (fpregset_t): Use __ctx in defining fields.
+	(mcontext_t): Likewise.
+	[__WORDSIZE != 32] (NGREG): Rename to __NGREG and define NGREG to
+	__NGREG if [__USE_MISC].
+	[__WORDSIZE != 32] (NFPREG): Rename to __NFPREG and define NFPREG
+	to __NFPREG if [__USE_MISC].
+	[__WORDSIZE != 32] (NVRREG): Rename to __NVRREG and define NVRREG
+	to __NVRREG if [__USE_MISC].
+	[__WORDSIZE != 32] (gregset_t): Define using __NGREG.
+	[__WORDSIZE != 32] (fpregset_t): Define using __NFPREG.
+	[__WORDSIZE != 32] (vscr_t): Use __ctx in defining fields.
+	[__WORDSIZE != 32] (vrregset_t): Likewise.
+	[__WORDSIZE != 32] (mcontext_t): Likewise.
+	* sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): New macro.
+	(__psw_t): Use __ctx in defining fields.
+	(NGREG): Rename to __NGREG and define NGREG to __NGREG if
+	[__USE_MISC].
+	(gregset_t): Define using __NGREG.
+	(fpreg_t): Use __ctx in defining fields.
+	(fpregset_t): Likewise.
+	(mcontext_t): Likewise.
+	* sysdeps/unix/sysv/linux/sh/sys/ucontext.h (NGREG): Rename to
+	__NGREG and define NGREG to __NGREG if [__USE_MISC].
+	(gregset_t): Define using __NGREG.
+	(NFPREG): Rename to __NFPREG and define NFPREG to __NFPREG if
+	[__USE_MISC].
+	(fpregset_t): Define using __NFPREG.
+	(__ctx): New macro.
+	(mcontext_t): Use __ctx in defining fields.
+	* sysdeps/unix/sysv/linux/x86/sys/ucontext.h (__ctx): New macro.
+	[__x86_64__] (NGREG): Rename to __NGREG and define NGREG to
+	__NGREG if [__USE_MISC].
+	[__x86_64__] (gregset_t): Define using __NGREG.
+	[__x86_64__] (struct _libc_fpxreg): Use __ctx in defining fields.
+	[__x86_64__] (struct _libc_fpstate): Likewise.
+	[__x86_64__] (mcontext_t): Likewise.
+	[!__x86_64__] (NGREG): Rename to __NGREG and define NGREG to
+	__NGREG if [__USE_MISC].
+	[!__x86_64__] (gregset_t): Define using __NGREG.
+	[!__x86_64__] (struct _libc_fpreg): Use __ctx in defining fields.
+	[!__x86_64__] (struct _libc_fpstate): Likewise.
+	[!__x86_64__] (mcontext_t): Likewise.
+
 2017-06-01  Zack Weinberg  <zackw@panix.com>
 
 	* sysdeps/unix/sysv/linux/microblaze/pt-vfork.S: Don't include
diff --git a/sysdeps/arm/sys/ucontext.h b/sysdeps/arm/sys/ucontext.h
index 37277f0..722300a 100644
--- a/sysdeps/arm/sys/ucontext.h
+++ b/sysdeps/arm/sys/ucontext.h
@@ -30,10 +30,13 @@
 typedef int greg_t;
 
 /* Number of general registers.  */
-#define NGREG	16
+#define __NGREG	16
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+#endif
 
 /* Container for all general registers.  */
-typedef greg_t gregset_t[NGREG];
+typedef greg_t gregset_t[__NGREG];
 
 #ifdef __USE_MISC
 /* Number of each register is the `gregset_t' array.  */
@@ -74,6 +77,12 @@ enum
 };
 #endif
 
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
 /* Structure to describe FPU registers.  */
 typedef struct fpregset
   {
@@ -82,10 +91,12 @@ typedef struct fpregset
 /* Context to describe whole processor state.  */
 typedef struct
   {
-    gregset_t gregs;
-    fpregset_t fpregs;
+    gregset_t __ctx(gregs);
+    fpregset_t __ctx(fpregs);
   } mcontext_t;
 
+#undef __ctx
+
 /* Userlevel context.  */
 typedef struct ucontext
   {
diff --git a/sysdeps/i386/sys/ucontext.h b/sysdeps/i386/sys/ucontext.h
index a6b936a..fb5df11 100644
--- a/sysdeps/i386/sys/ucontext.h
+++ b/sysdeps/i386/sys/ucontext.h
@@ -31,10 +31,13 @@
 typedef int greg_t;
 
 /* Number of general registers.  */
-#define NGREG	19
+#define __NGREG	19
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+#endif
 
 /* Container for all general registers.  */
-typedef greg_t gregset_t[NGREG];
+typedef greg_t gregset_t[__NGREG];
 
 #ifdef __USE_MISC
 /* Number of each register is the `gregset_t' array.  */
@@ -81,36 +84,47 @@ enum
 };
 #endif
 
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+# define __ctxt(tag) tag
+#else
+# define __ctx(fld) __ ## fld
+# define __ctxt(tag) /* Empty.  */
+#endif
+
 /* Structure to describe FPU registers.  */
 typedef struct fpregset
   {
     union
       {
-	struct fpchip_state
+	struct __ctxt(fpchip_state)
 	  {
-	    int state[27];
-	    int status;
-	  } fpchip_state;
+	    int __ctx(state)[27];
+	    int __ctx(status);
+	  } __ctx(fpchip_state);
 
-	struct fp_emul_space
+	struct __ctxt(fp_emul_space)
 	  {
-	    char fp_emul[246];
-	    char fp_epad[2];
-	  } fp_emul_space;
+	    char __ctx(fp_emul)[246];
+	    char __ctx(fp_epad)[2];
+	  } __ctx(fp_emul_space);
 
-	int f_fpregs[62];
-      } fp_reg_set;
+	int __ctx(f_fpregs)[62];
+      } __ctx(fp_reg_set);
 
-    long int f_wregs[33];
+    long int __ctx(f_wregs)[33];
   } fpregset_t;
 
 /* Context to describe whole processor state.  */
 typedef struct
   {
-    gregset_t gregs;
-    fpregset_t fpregs;
+    gregset_t __ctx(gregs);
+    fpregset_t __ctx(fpregs);
   } mcontext_t;
 
+#undef __ctx
+#undef __ctxt
+
 /* Userlevel context.  */
 typedef struct ucontext
   {
diff --git a/sysdeps/m68k/sys/ucontext.h b/sysdeps/m68k/sys/ucontext.h
index 2b70e72..a742aaf 100644
--- a/sysdeps/m68k/sys/ucontext.h
+++ b/sysdeps/m68k/sys/ucontext.h
@@ -31,10 +31,13 @@
 typedef int greg_t;
 
 /* Number of general registers.  */
-#define NGREG	18
+#define __NGREG	18
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+#endif
 
 /* Container for all general registers.  */
-typedef greg_t gregset_t[NGREG];
+typedef greg_t gregset_t[__NGREG];
 
 #ifdef __USE_MISC
 /* Number of each register is the `gregset_t' array.  */
@@ -90,13 +93,21 @@ typedef struct fpregset
 } fpregset_t;
 #endif
 
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
 /* Context to describe whole processor state.  */
 typedef struct
 {
-  int version;
-  gregset_t gregs;
+  int __ctx(version);
+  gregset_t __ctx(gregs);
 } mcontext_t;
 
+#undef __ctx
+
 #ifdef __USE_MISC
 # define MCONTEXT_VERSION 1
 #endif
diff --git a/sysdeps/mips/sys/ucontext.h b/sysdeps/mips/sys/ucontext.h
index ebc0609..4bc1bc1 100644
--- a/sysdeps/mips/sys/ucontext.h
+++ b/sysdeps/mips/sys/ucontext.h
@@ -37,10 +37,13 @@ typedef __uint64_t greg_t;
 #endif
 
 /* Number of general registers.  */
-#define NGREG	36
+#define __NGREG	36
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+#endif
 
 /* Container for all general registers.  */
-typedef greg_t gregset_t[NGREG];
+typedef greg_t gregset_t[__NGREG];
 
 #ifdef __USE_MISC
 /* Number of each register is the `gregset_t' array.  */
@@ -121,32 +124,40 @@ enum
 };
 #endif
 
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
 /* Structure to describe FPU registers.  */
 typedef struct fpregset
 {
   union
   {
 #if _MIPS_SIM == _ABIO32
-    double fp_dregs[16];
-    float fp_fregs[32];
-    unsigned int fp_regs[32];
+    double __ctx(fp_dregs)[16];
+    float __ctx(fp_fregs)[32];
+    unsigned int __ctx(fp_regs)[32];
 #else
-    double fp_dregs[32];
-    /* float fp_fregs[32]; */
-    __uint64_t fp_regs[32];
+    double __ctx(fp_dregs)[32];
+    /* float __ctx(fp_fregs)[32]; */
+    __uint64_t __ctx(fp_regs)[32];
 #endif
-  } fp_r;
-  unsigned int fp_csr;
-  unsigned int fp_pad;
+  } __ctx(fp_r);
+  unsigned int __ctx(fp_csr);
+  unsigned int __ctx(fp_pad);
 } fpregset_t;
 
 /* Context to describe whole processor state.  */
 typedef struct
 {
-  gregset_t gpregs;
-  fpregset_t fpregs;
+  gregset_t __ctx(gpregs);
+  fpregset_t __ctx(fpregs);
 } mcontext_t;
 
+#undef __ctx
+
 /* Userlevel context.  */
 typedef struct ucontext
 {
diff --git a/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h b/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h
index 09e24a1..b9e5903 100644
--- a/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h
@@ -29,19 +29,25 @@
 typedef long int greg_t;
 
 /* Number of general registers.  */
-#define NGREG	33
+#define __NGREG	33
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+#endif
 
 /* Container for all general registers.  */
-typedef greg_t gregset_t[NGREG];
+typedef greg_t gregset_t[__NGREG];
 
 /* Type for floating-point register.  */
 typedef long int fpreg_t;
 
 /* Number of general registers.  */
-#define NFPREG	32
+#define __NFPREG	32
+#ifdef __USE_MISC
+# define NFPREG	__NFPREG
+#endif
 
 /* Container for all general registers.  */
-typedef fpreg_t fpregset_t[NFPREG];
+typedef fpreg_t fpregset_t[__NFPREG];
 
 
 /* A machine context is exactly a sigcontext.  */
diff --git a/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h b/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h
index 0570ec3..e6ecbe6 100644
--- a/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h
@@ -31,10 +31,13 @@
 typedef int greg_t;
 
 /* Number of general registers.  */
-#define NGREG	18
+#define __NGREG	18
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+#endif
 
 /* Container for all general registers.  */
-typedef greg_t gregset_t[NGREG];
+typedef greg_t gregset_t[__NGREG];
 
 #ifdef __USE_MISC
 /* Number of each register is the `gregset_t' array.  */
@@ -81,27 +84,35 @@ enum
 };
 #endif
 
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
 /* Structure to describe FPU registers.  */
 typedef struct fpregset
 {
-  int f_pcr;
-  int f_psr;
-  int f_fpiaddr;
+  int __ctx(f_pcr);
+  int __ctx(f_psr);
+  int __ctx(f_fpiaddr);
 #ifdef __mcoldfire__
-  int f_fpregs[8][2];
+  int __ctx(f_fpregs)[8][2];
 #else
-  int f_fpregs[8][3];
+  int __ctx(f_fpregs)[8][3];
 #endif
 } fpregset_t;
 
 /* Context to describe whole processor state.  */
 typedef struct
 {
-  int version;
-  gregset_t gregs;
-  fpregset_t fpregs;
+  int __ctx(version);
+  gregset_t __ctx(gregs);
+  fpregset_t __ctx(fpregs);
 } mcontext_t;
 
+#undef __ctx
+
 #ifdef __USE_MISC
 # define MCONTEXT_VERSION 2
 #endif
diff --git a/sysdeps/unix/sysv/linux/mips/sys/ucontext.h b/sysdeps/unix/sysv/linux/mips/sys/ucontext.h
index d15d85d..048e9a4 100644
--- a/sysdeps/unix/sysv/linux/mips/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/mips/sys/ucontext.h
@@ -33,21 +33,31 @@
 __extension__ typedef unsigned long long int greg_t;
 
 /* Number of general registers.  */
-#define NGREG	32
-#define NFPREG	32
+#define __NGREG	32
+#define __NFPREG	32
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+# define NFPREG	__NFPREG
+#endif
 
 /* Container for all general registers.  */
-typedef greg_t gregset_t[NGREG];
+typedef greg_t gregset_t[__NGREG];
+
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
 
 /* Container for all FPU registers.  */
 typedef struct fpregset {
 	union {
-		double	fp_dregs[NFPREG];
+		double	__ctx(fp_dregs)[__NFPREG];
 		struct {
 			float		_fp_fregs;
 			unsigned int	_fp_pad;
-		} fp_fregs[NFPREG];
-	} fp_r;
+		} __ctx(fp_fregs)[__NFPREG];
+	} __ctx(fp_r);
 } fpregset_t;
 
 
@@ -60,46 +70,48 @@ typedef struct fpregset {
    still be rectified.  */
 typedef struct
   {
-    unsigned int regmask;
-    unsigned int status;
-    greg_t pc;
-    gregset_t gregs;
-    fpregset_t fpregs;
-    unsigned int fp_owned;
-    unsigned int fpc_csr;
-    unsigned int fpc_eir;
-    unsigned int used_math;
-    unsigned int dsp;
-    greg_t mdhi;
-    greg_t mdlo;
-    unsigned long hi1;
-    unsigned long lo1;
-    unsigned long hi2;
-    unsigned long lo2;
-    unsigned long hi3;
-    unsigned long lo3;
+    unsigned int __ctx(regmask);
+    unsigned int __ctx(status);
+    greg_t __ctx(pc);
+    gregset_t __ctx(gregs);
+    fpregset_t __ctx(fpregs);
+    unsigned int __ctx(fp_owned);
+    unsigned int __ctx(fpc_csr);
+    unsigned int __ctx(fpc_eir);
+    unsigned int __ctx(used_math);
+    unsigned int __ctx(dsp);
+    greg_t __ctx(mdhi);
+    greg_t __ctx(mdlo);
+    unsigned long __ctx(hi1);
+    unsigned long __ctx(lo1);
+    unsigned long __ctx(hi2);
+    unsigned long __ctx(lo2);
+    unsigned long __ctx(hi3);
+    unsigned long __ctx(lo3);
   } mcontext_t;
 #else
 typedef struct
   {
-    gregset_t gregs;
-    fpregset_t fpregs;
-    greg_t mdhi;
-    greg_t hi1;
-    greg_t hi2;
-    greg_t hi3;
-    greg_t mdlo;
-    greg_t lo1;
-    greg_t lo2;
-    greg_t lo3;
-    greg_t pc;
-    unsigned int fpc_csr;
-    unsigned int used_math;
-    unsigned int dsp;
+    gregset_t __ctx(gregs);
+    fpregset_t __ctx(fpregs);
+    greg_t __ctx(mdhi);
+    greg_t __ctx(hi1);
+    greg_t __ctx(hi2);
+    greg_t __ctx(hi3);
+    greg_t __ctx(mdlo);
+    greg_t __ctx(lo1);
+    greg_t __ctx(lo2);
+    greg_t __ctx(lo3);
+    greg_t __ctx(pc);
+    unsigned int __ctx(fpc_csr);
+    unsigned int __ctx(used_math);
+    unsigned int __ctx(dsp);
     unsigned int __glibc_reserved1;
   } mcontext_t;
 #endif
 
+#undef __ctx
+
 /* Userlevel context.  */
 typedef struct ucontext
   {
diff --git a/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h b/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h
index 72ae1a0..af8d75c 100644
--- a/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h
@@ -34,13 +34,21 @@
 # define MCONTEXT_VERSION 2
 #endif
 
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
 /* Context to describe whole processor state.  */
 typedef struct mcontext
   {
-    int version;
-    unsigned long regs[32];
+    int __ctx(version);
+    unsigned long __ctx(regs)[32];
   } mcontext_t;
 
+#undef __ctx
+
 /* Userlevel context.  */
 typedef struct ucontext
   {
diff --git a/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h b/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
index c10741c..b460f23 100644
--- a/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
@@ -25,19 +25,28 @@
 #include <bits/types/stack_t.h>
 
 
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
 #if __WORDSIZE == 32
 
 /* Number of general registers.  */
-# define NGREG	48
+# define __NGREG	48
+# ifdef __USE_MISC
+#  define NGREG	__NGREG
+# endif
 
 /* Container for all general registers.  */
-typedef unsigned long gregset_t[NGREG];
+typedef unsigned long gregset_t[__NGREG];
 
 /* Container for floating-point registers and status */
 typedef struct _libc_fpstate
 {
-	double fpregs[32];
-	double fpscr;
+	double __ctx(fpregs)[32];
+	double __ctx(fpscr);
 	unsigned int _pad[2];
 } fpregset_t;
 
@@ -45,18 +54,18 @@ typedef struct _libc_fpstate
    Needs to be aligned on a 16-byte boundary. */
 typedef struct _libc_vrstate
 {
-	unsigned int vrregs[32][4];
-	unsigned int vrsave;
+	unsigned int __ctx(vrregs)[32][4];
+	unsigned int __ctx(vrsave);
 	unsigned int _pad[2];
-	unsigned int vscr;
+	unsigned int __ctx(vscr);
 } vrregset_t;
 
 /* Context to describe whole processor state.  */
 typedef struct
 {
-	gregset_t gregs;
-	fpregset_t fpregs;
-	vrregset_t vrregs __attribute__((__aligned__(16)));
+	gregset_t __ctx(gregs);
+	fpregset_t __ctx(fpregs);
+	vrregset_t __ctx(vrregs) __attribute__((__aligned__(16)));
 } mcontext_t;
 
 #else
@@ -70,12 +79,18 @@ typedef struct
  * is set in AT_HWCAP.  */
 
 /* Number of general registers.  */
-# define NGREG	48	/* includes r0-r31, nip, msr, lr, etc.   */
-# define NFPREG	33	/* includes fp0-fp31 &fpscr.  */
-# define NVRREG	34	/* includes v0-v31, vscr, & vrsave in split vectors */
-
-typedef unsigned long gregset_t[NGREG];
-typedef double fpregset_t[NFPREG];
+# define __NGREG	48	/* includes r0-r31, nip, msr, lr, etc.   */
+# define __NFPREG	33	/* includes fp0-fp31 &fpscr.  */
+# define __NVRREG	34	/* includes v0-v31, vscr, & vrsave in
+				   split vectors */
+# ifdef __USE_MISC
+#  define NGREG	__NGREG
+#  define NFPREG	__NFPREG
+#  define NVRREG	__NVRREG
+# endif
+
+typedef unsigned long gregset_t[__NGREG];
+typedef double fpregset_t[__NFPREG];
 
 /* Container for Altivec/VMX Vector Status and Control Register.  Only 32-bits
    but can only be copied to/from a 128-bit vector register.  So we allocated
@@ -83,28 +98,28 @@ typedef double fpregset_t[NFPREG];
 typedef struct _libc_vscr
 {
 	unsigned int __pad[3];
-	unsigned int vscr_word;
+	unsigned int __ctx(vscr_word);
 } vscr_t;
 
 /* Container for Altivec/VMX registers and status.
    Must to be aligned on a 16-byte boundary. */
 typedef struct _libc_vrstate
 {
-	unsigned int	vrregs[32][4];
-	vscr_t		vscr;
-	unsigned int	vrsave;
+	unsigned int	__ctx(vrregs)[32][4];
+	vscr_t		__ctx(vscr);
+	unsigned int	__ctx(vrsave);
 	unsigned int	__pad[3];
 } vrregset_t  __attribute__((__aligned__(16)));
 
 typedef struct {
 	unsigned long	__glibc_reserved[4];
-	int		signal;
+	int		__ctx(signal);
 	int		__pad0;
-	unsigned long	handler;
-	unsigned long	oldmask;
-	struct pt_regs	*regs;
-	gregset_t	gp_regs;
-	fpregset_t	fp_regs;
+	unsigned long	__ctx(handler);
+	unsigned long	__ctx(oldmask);
+	struct pt_regs	*__ctx(regs);
+	gregset_t	__ctx(gp_regs);
+	fpregset_t	__ctx(fp_regs);
 /*
  * To maintain compatibility with current implementations the sigcontext is
  * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t)
@@ -124,12 +139,14 @@ typedef struct {
  * The entry with index 33 contains the vrsave as the first word (offset 0)
  * within the quadword.
  */
-	vrregset_t	*v_regs;
-	long		vmx_reserve[NVRREG+NVRREG+1];
+	vrregset_t	*__ctx(v_regs);
+	long		__ctx(vmx_reserve)[__NVRREG+__NVRREG+1];
 } mcontext_t;
 
 #endif
 
+#undef __ctx
+
 /* Userlevel context.  */
 typedef struct ucontext
   {
diff --git a/sysdeps/unix/sysv/linux/s390/sys/ucontext.h b/sysdeps/unix/sysv/linux/s390/sys/ucontext.h
index 80410fa..183da5c 100644
--- a/sysdeps/unix/sysv/linux/s390/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/s390/sys/ucontext.h
@@ -26,11 +26,17 @@
 #include <bits/types/stack_t.h>
 
 
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
 /* Type for a program status word.  */
 typedef struct
 {
-  unsigned long mask;
-  unsigned long addr;
+  unsigned long __ctx(mask);
+  unsigned long __ctx(addr);
 } __attribute__ ((__aligned__(8))) __psw_t;
 
 /* Type for a general-purpose register.  */
@@ -42,35 +48,40 @@ typedef unsigned long greg_t;
    that has the same size as s390_regs.  This is needed for the
    elf_prstatus structure.  */
 #if __WORDSIZE == 64
-# define NGREG 27
+# define __NGREG 27
 #else
-# define NGREG 36
+# define __NGREG 36
+#endif
+#ifdef __USE_MISC
+# define NGREG __NGREG
 #endif
 /* Must match kernels psw_t alignment.  */
-typedef greg_t gregset_t[NGREG] __attribute__ ((__aligned__(8)));
+typedef greg_t gregset_t[__NGREG] __attribute__ ((__aligned__(8)));
 
 typedef union
   {
-    double  d;
-    float   f;
+    double  __ctx(d);
+    float   __ctx(f);
   } fpreg_t;
 
 /* Register set for the floating-point registers.  */
 typedef struct
   {
-    unsigned int fpc;
-    fpreg_t fprs[16];
+    unsigned int __ctx(fpc);
+    fpreg_t __ctx(fprs)[16];
   } fpregset_t;
 
 /* Context to describe whole processor state.  */
 typedef struct
   {
-    __psw_t psw;
-    unsigned long gregs[16];
-    unsigned int aregs[16];
-    fpregset_t fpregs;
+    __psw_t __ctx(psw);
+    unsigned long __ctx(gregs)[16];
+    unsigned int __ctx(aregs)[16];
+    fpregset_t __ctx(fpregs);
   } mcontext_t;
 
+#undef __ctx
+
 /* Userlevel context.  */
 typedef struct ucontext
   {
diff --git a/sysdeps/unix/sysv/linux/sh/sys/ucontext.h b/sysdeps/unix/sysv/linux/sh/sys/ucontext.h
index 7444298..d44f95e 100644
--- a/sysdeps/unix/sysv/linux/sh/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/sh/sys/ucontext.h
@@ -30,10 +30,13 @@
 typedef int greg_t;
 
 /* Number of general registers.  */
-#define NGREG	16
+#define __NGREG	16
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+#endif
 
 /* Container for all general registers.  */
-typedef greg_t gregset_t[NGREG];
+typedef greg_t gregset_t[__NGREG];
 
 #ifdef __USE_MISC
 /* Number of each register is the `gregset_t' array.  */
@@ -77,29 +80,40 @@ enum
 typedef int freg_t;
 
 /* Number of FPU registers.  */
-#define NFPREG	16
+#define __NFPREG	16
+#ifdef __USE_MISC
+# define NFPREG	__NFPREG
+#endif
 
 /* Structure to describe FPU registers.  */
-typedef freg_t fpregset_t[NFPREG];
+typedef freg_t fpregset_t[__NFPREG];
+
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
 
 /* Context to describe whole processor state.  */
 typedef struct
   {
-    unsigned int oldmask;
-    gregset_t gregs;
-    unsigned int pc;
-    unsigned int pr;
-    unsigned int sr;
-    unsigned int gbr;
-    unsigned int mach;
-    unsigned int macl;
-    fpregset_t fpregs;
-    fpregset_t xfpregs;
-    unsigned int fpscr;
-    unsigned int fpul;
-    unsigned int ownedfp;
+    unsigned int __ctx(oldmask);
+    gregset_t __ctx(gregs);
+    unsigned int __ctx(pc);
+    unsigned int __ctx(pr);
+    unsigned int __ctx(sr);
+    unsigned int __ctx(gbr);
+    unsigned int __ctx(mach);
+    unsigned int __ctx(macl);
+    fpregset_t __ctx(fpregs);
+    fpregset_t __ctx(xfpregs);
+    unsigned int __ctx(fpscr);
+    unsigned int __ctx(fpul);
+    unsigned int __ctx(ownedfp);
   } mcontext_t;
 
+#undef __ctx
+
 /* Userlevel context.  */
 typedef struct ucontext
   {
diff --git a/sysdeps/unix/sysv/linux/x86/sys/ucontext.h b/sysdeps/unix/sysv/linux/x86/sys/ucontext.h
index 92a698e..5fd64bf 100644
--- a/sysdeps/unix/sysv/linux/x86/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/x86/sys/ucontext.h
@@ -25,16 +25,25 @@
 #include <bits/types/stack_t.h>
 
 
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
 #ifdef __x86_64__
 
 /* Type for general register.  */
 __extension__ typedef long long int greg_t;
 
 /* Number of general registers.  */
-#define NGREG	23
+#define __NGREG	23
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+#endif
 
 /* Container for all general registers.  */
-typedef greg_t gregset_t[NGREG];
+typedef greg_t gregset_t[__NGREG];
 
 #ifdef __USE_GNU
 /* Number of each register in the `gregset_t' array.  */
@@ -91,8 +100,8 @@ enum
 
 struct _libc_fpxreg
 {
-  unsigned short int significand[4];
-  unsigned short int exponent;
+  unsigned short int __ctx(significand)[4];
+  unsigned short int __ctx(exponent);
   unsigned short int __glibc_reserved1[3];
 };
 
@@ -104,14 +113,14 @@ struct _libc_xmmreg
 struct _libc_fpstate
 {
   /* 64-bit FXSAVE format.  */
-  __uint16_t		cwd;
-  __uint16_t		swd;
-  __uint16_t		ftw;
-  __uint16_t		fop;
-  __uint64_t		rip;
-  __uint64_t		rdp;
-  __uint32_t		mxcsr;
-  __uint32_t		mxcr_mask;
+  __uint16_t		__ctx(cwd);
+  __uint16_t		__ctx(swd);
+  __uint16_t		__ctx(ftw);
+  __uint16_t		__ctx(fop);
+  __uint64_t		__ctx(rip);
+  __uint64_t		__ctx(rdp);
+  __uint32_t		__ctx(mxcsr);
+  __uint32_t		__ctx(mxcr_mask);
   struct _libc_fpxreg	_st[8];
   struct _libc_xmmreg	_xmm[16];
   __uint32_t		__glibc_reserved1[24];
@@ -123,9 +132,9 @@ typedef struct _libc_fpstate *fpregset_t;
 /* Context to describe whole processor state.  */
 typedef struct
   {
-    gregset_t gregs;
+    gregset_t __ctx(gregs);
     /* Note that fpregs is a pointer.  */
-    fpregset_t fpregs;
+    fpregset_t __ctx(fpregs);
     __extension__ unsigned long long __reserved1 [8];
 } mcontext_t;
 
@@ -146,10 +155,13 @@ typedef struct ucontext
 typedef int greg_t;
 
 /* Number of general registers.  */
-#define NGREG	19
+#define __NGREG	19
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+#endif
 
 /* Container for all general registers.  */
-typedef greg_t gregset_t[NGREG];
+typedef greg_t gregset_t[__NGREG];
 
 #ifdef __USE_GNU
 /* Number of each register is the `gregset_t' array.  */
@@ -199,21 +211,21 @@ enum
 /* Definitions taken from the kernel headers.  */
 struct _libc_fpreg
 {
-  unsigned short int significand[4];
-  unsigned short int exponent;
+  unsigned short int __ctx(significand)[4];
+  unsigned short int __ctx(exponent);
 };
 
 struct _libc_fpstate
 {
-  unsigned long int cw;
-  unsigned long int sw;
-  unsigned long int tag;
-  unsigned long int ipoff;
-  unsigned long int cssel;
-  unsigned long int dataoff;
-  unsigned long int datasel;
+  unsigned long int __ctx(cw);
+  unsigned long int __ctx(sw);
+  unsigned long int __ctx(tag);
+  unsigned long int __ctx(ipoff);
+  unsigned long int __ctx(cssel);
+  unsigned long int __ctx(dataoff);
+  unsigned long int __ctx(datasel);
   struct _libc_fpreg _st[8];
-  unsigned long int status;
+  unsigned long int __ctx(status);
 };
 
 /* Structure to describe FPU registers.  */
@@ -222,12 +234,12 @@ typedef struct _libc_fpstate *fpregset_t;
 /* Context to describe whole processor state.  */
 typedef struct
   {
-    gregset_t gregs;
+    gregset_t __ctx(gregs);
     /* Due to Linux's history we have to use a pointer here.  The SysV/i386
        ABI requires a struct with the values.  */
-    fpregset_t fpregs;
-    unsigned long int oldmask;
-    unsigned long int cr2;
+    fpregset_t __ctx(fpregs);
+    unsigned long int __ctx(oldmask);
+    unsigned long int __ctx(cr2);
   } mcontext_t;
 
 /* Userlevel context.  */
@@ -243,4 +255,6 @@ typedef struct ucontext
 
 #endif /* !__x86_64__ */
 
+#undef __ctx
+
 #endif /* sys/ucontext.h */

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

Summary of changes:
 ChangeLog                                      |   96 ++++++++++++++++++++++++
 sysdeps/arm/sys/ucontext.h                     |   19 ++++-
 sysdeps/i386/sys/ucontext.h                    |   44 +++++++----
 sysdeps/m68k/sys/ucontext.h                    |   19 ++++-
 sysdeps/mips/sys/ucontext.h                    |   37 ++++++---
 sysdeps/unix/sysv/linux/alpha/sys/ucontext.h   |   14 +++-
 sysdeps/unix/sysv/linux/m68k/sys/ucontext.h    |   31 +++++---
 sysdeps/unix/sysv/linux/mips/sys/ucontext.h    |   88 ++++++++++++---------
 sysdeps/unix/sysv/linux/nios2/sys/ucontext.h   |   12 +++-
 sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h |   73 +++++++++++-------
 sysdeps/unix/sysv/linux/s390/sys/ucontext.h    |   37 ++++++---
 sysdeps/unix/sysv/linux/sh/sys/ucontext.h      |   48 ++++++++----
 sysdeps/unix/sysv/linux/x86/sys/ucontext.h     |   74 +++++++++++--------
 13 files changed, 414 insertions(+), 178 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]