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.25-617-gd57cb31
- From: jsm28 at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 28 Jun 2017 10:34:21 -0000
- Subject: 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