about summary refs log tree commit diff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-03-18 00:17:25 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-03-18 00:17:25 +0000
commit19641dbd61fe0440fa1f0ebd2f358b5ba98e839f (patch)
treeda363499e8461a82f2c6875c87c0b1007bc58f2f /sysdeps/unix
parent22b72f356d6dd6f394cc632d7fbef80490e9f4c4 (diff)
downloadglibc-19641dbd61fe0440fa1f0ebd2f358b5ba98e839f.tar.gz
glibc-19641dbd61fe0440fa1f0ebd2f358b5ba98e839f.tar.xz
glibc-19641dbd61fe0440fa1f0ebd2f358b5ba98e839f.zip
Fix sparc64 bits/setjmp.h namespace (bug 21261).
sysdeps/unix/sysv/linux/sparc/bits/setjmp.h defines 64-bit __jmp_buf
with a load of identifiers that are not part of any standard
namespace, resulting in conform/ tests failing.  This patch fixes this
by moving those identifiers to the implementation namespace, so
enabling the conform/ tests to pass for sparc64.

Tested (compilation only) for sparc64 with build-many-glibcs.py.

	[BZ #21261]
	* sysdeps/unix/sysv/linux/sparc/bits/setjmp.h
	[__WORDSIZE == 64 && !_ASM] (__sparc64_jmp_buf): Use reserved
	names for all fields.
	* sysdeps/sparc/sparc64/jmpbuf-unwind.h (_JMPBUF_UNWINDS): Update
	for jmp_buf field renaming.
	(_JMPBUF_UNWINDS_ADJ): Likewise.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/setjmp.h36
1 files changed, 18 insertions, 18 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/setjmp.h b/sysdeps/unix/sysv/linux/sparc/bits/setjmp.h
index e43bc72a6b..5e92e829d5 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/setjmp.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/setjmp.h
@@ -29,30 +29,30 @@
 #ifndef _ASM
 typedef struct __sparc64_jmp_buf
   {
-    struct __sparc64_jmp_buf	*uc_link;
-    unsigned long		uc_flags;
-    unsigned long		uc_sigmask;
+    struct __sparc64_jmp_buf	*__uc_link;
+    unsigned long		__uc_flags;
+    unsigned long		__uc_sigmask;
     struct __sparc64_jmp_buf_mcontext
       {
-	unsigned long		mc_gregs[19];
-	unsigned long		mc_fp;
-	unsigned long		mc_i7;
+	unsigned long		__mc_gregs[19];
+	unsigned long		__mc_fp;
+	unsigned long		__mc_i7;
 	struct __sparc64_jmp_buf_fpu
 	  {
 	    union
 	      {
-		unsigned int	sregs[32];
-		unsigned long	dregs[32];
-		long double	qregs[16];
-	      }			mcfpu_fpregs;
-	    unsigned long	mcfpu_fprs;
-	    unsigned long	mcfpu_gsr;
-	    void		*mcfpu_fq;
-	    unsigned char	mcfpu_qcnt;
-	    unsigned char	mcfpu_qentsz;
-	    unsigned char	mcfpu_enab;
-	  }			mc_fpregs;
-      }				uc_mcontext;
+		unsigned int	__sregs[32];
+		unsigned long	__dregs[32];
+		long double	__qregs[16];
+	      }			__mcfpu_fpregs;
+	    unsigned long	__mcfpu_fprs;
+	    unsigned long	__mcfpu_gsr;
+	    void		*__mcfpu_fq;
+	    unsigned char	__mcfpu_qcnt;
+	    unsigned char	__mcfpu_qentsz;
+	    unsigned char	__mcfpu_enab;
+	  }			__mc_fpregs;
+      }				__uc_mcontext;
   } __jmp_buf[1];
 #endif