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-617-gd57cb31


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  d57cb31910ca5c200e4172276749a7f8bd17ae3c (commit)
      from  ac782f9e9ab0a39a3054e4c97653fafa8ea47a62 (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=d57cb31910ca5c200e4172276749a7f8bd17ae3c

commit d57cb31910ca5c200e4172276749a7f8bd17ae3c
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Jun 28 10:33:23 2017 +0000

    Miscellaneous sys/ucontext.h namespace fixes (bug 21457).
    
    This patch fixes various miscellaneous namespace issues in
    sys/ucontext.h headers.
    
    Some struct tags are removed where the structs also have *_t typedef
    names, while other struct tags without such names are renamed to start
    __; the changes are noted in NEWS as they can affect C++ name mangling
    (although there seems to be little if any external use of these types,
    at least based on checking codesearch.debian.net).  For powerpc,
    pointers to struct pt_regs (not defined in this header) are changed to
    point to struct __ctx(pt_regs), so in the __USE_MISC case those struct
    fields continue to point to the existing struct pt_regs type for
    maximum compatibility, while when that's a namespace issue they point
    to a struct __pt_regs type which is always an incomplete struct.
    
    Tested for affected architectures with build-many-glibcs.py.
    
    	[BZ #21457]
    	* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (fpregset_t): Remove
    	struct tag.
    	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (fpregset_t):
    	Likewise.
    	* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (mcontext_t):
    	Likewise.
    	* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (pt_regs):
    	Declare struct type with __ctx.
    	[__WORDSIZE != 32] (mcontext_t): Use __ctx with pt_regs struct
    	tag.
    	(ucontext_t) [__WORDSIZE == 32]: Use __ctx with pt_regs struct tag
    	and regs field name.

diff --git a/ChangeLog b/ChangeLog
index ce38369..7bcff3b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2017-06-28  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #21457]
+	* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (fpregset_t): Remove
+	struct tag.
+	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (fpregset_t):
+	Likewise.
+	* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (mcontext_t):
+	Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (pt_regs):
+	Declare struct type with __ctx.
+	[__WORDSIZE != 32] (mcontext_t): Use __ctx with pt_regs struct
+	tag.
+	(ucontext_t) [__WORDSIZE == 32]: Use __ctx with pt_regs struct tag
+	and regs field name.
+
 2017-06-27  Joseph Myers  <joseph@codesourcery.com>
 
 	* elf/loadtest.c (OUT): Define using do { } while (0).
diff --git a/NEWS b/NEWS
index b8deb9c..22c43f5 100644
--- a/NEWS
+++ b/NEWS
@@ -97,6 +97,11 @@ Version 2.26
 * The ucontext_t type no longer has the name struct ucontext.  This changes
   the C++ name mangling for interfaces involving this type.
 
+* On M68k GNU/Linux and MIPS GNU/Linux, the fpregset_t type no longer has
+  the name struct fpregset.  On Nios II GNU/Linux, the mcontext_t type no
+  longer has the name struct mcontext.  This changes the C++ name mangling
+  for interfaces involving those types.
+
 * The synchronization that pthread_spin_unlock performs has been changed
   to now be equivalent to a C11 atomic store with release memory order to
   the spin lock's memory location.  This ensures correct synchronization
diff --git a/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h b/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h
index 280ec37..1f807b5 100644
--- a/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h
@@ -91,7 +91,7 @@ enum
 #endif
 
 /* Structure to describe FPU registers.  */
-typedef struct fpregset
+typedef struct
 {
   int __ctx(f_pcr);
   int __ctx(f_psr);
diff --git a/sysdeps/unix/sysv/linux/mips/sys/ucontext.h b/sysdeps/unix/sysv/linux/mips/sys/ucontext.h
index 19c0ed9..d17aa71 100644
--- a/sysdeps/unix/sysv/linux/mips/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/mips/sys/ucontext.h
@@ -50,7 +50,7 @@ typedef greg_t gregset_t[__NGREG];
 #endif
 
 /* Container for all FPU registers.  */
-typedef struct fpregset {
+typedef struct {
 	union {
 		double	__ctx(fp_dregs)[__NFPREG];
 		struct {
diff --git a/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h b/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h
index 4754657..09e473c 100644
--- a/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h
@@ -41,7 +41,7 @@
 #endif
 
 /* Context to describe whole processor state.  */
-typedef struct mcontext
+typedef struct
   {
     int __ctx(version);
     unsigned long __ctx(regs)[32];
diff --git a/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h b/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
index 2177487..54fe9df 100644
--- a/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
@@ -31,6 +31,8 @@
 # define __ctx(fld) __ ## fld
 #endif
 
+struct __ctx(pt_regs);
+
 #if __WORDSIZE == 32
 
 /* Number of general registers.  */
@@ -117,7 +119,7 @@ typedef struct {
 	int		__pad0;
 	unsigned long	__ctx(handler);
 	unsigned long	__ctx(oldmask);
-	struct pt_regs	*__ctx(regs);
+	struct __ctx(pt_regs)	*__ctx(regs);
 	gregset_t	__ctx(gp_regs);
 	fpregset_t	__ctx(fp_regs);
 /*
@@ -145,8 +147,6 @@ typedef struct {
 
 #endif
 
-#undef __ctx
-
 /* Userlevel context.  */
 typedef struct ucontext_t
   {
@@ -179,7 +179,7 @@ typedef struct ucontext_t
      */
     int uc_pad[7];
     union uc_regs_ptr {
-      struct pt_regs *regs;
+      struct __ctx(pt_regs) *__ctx(regs);
       mcontext_t *uc_regs;
     } uc_mcontext;
     sigset_t    uc_sigmask;
@@ -190,4 +190,6 @@ typedef struct ucontext_t
 #endif
   } ucontext_t;
 
+#undef __ctx
+
 #endif /* sys/ucontext.h */

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

Summary of changes:
 ChangeLog                                      |   16 ++++++++++++++++
 NEWS                                           |    5 +++++
 sysdeps/unix/sysv/linux/m68k/sys/ucontext.h    |    2 +-
 sysdeps/unix/sysv/linux/mips/sys/ucontext.h    |    2 +-
 sysdeps/unix/sysv/linux/nios2/sys/ucontext.h   |    2 +-
 sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h |   10 ++++++----
 6 files changed, 30 insertions(+), 7 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]