diff options
-rw-r--r-- | ChangeLog | 16 | ||||
-rw-r--r-- | NEWS | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/m68k/sys/ucontext.h | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/sys/ucontext.h | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/nios2/sys/ucontext.h | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h | 10 |
6 files changed, 30 insertions, 7 deletions
@@ -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). @@ -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 280ec3789b..1f807b59aa 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 19c0ed97f0..d17aa719a3 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 47546572f5..09e473cd2c 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 217748784c..54fe9df601 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 */ |