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-137-g19641db


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  19641dbd61fe0440fa1f0ebd2f358b5ba98e839f (commit)
      from  22b72f356d6dd6f394cc632d7fbef80490e9f4c4 (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=19641dbd61fe0440fa1f0ebd2f358b5ba98e839f

commit 19641dbd61fe0440fa1f0ebd2f358b5ba98e839f
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Sat Mar 18 00:17:25 2017 +0000

    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.

diff --git a/ChangeLog b/ChangeLog
index 0862ad0..e2caa3e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2017-03-18  Joseph Myers  <joseph@codesourcery.com>
 
+	[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.
+
 	* conform/conformtest.pl: Handle xfail[cond]- in header mentioned
 	with allow-header.
 
diff --git a/sysdeps/sparc/sparc64/jmpbuf-unwind.h b/sysdeps/sparc/sparc64/jmpbuf-unwind.h
index d84a5ea..eb2e2e2 100644
--- a/sysdeps/sparc/sparc64/jmpbuf-unwind.h
+++ b/sysdeps/sparc/sparc64/jmpbuf-unwind.h
@@ -22,15 +22,16 @@
 
 /* Test if longjmp to JMPBUF would unwind the frame
    containing a local variable at ADDRESS.  */
-#define _JMPBUF_UNWINDS(jmpbuf, address, demangle)			\
-  ((unsigned long int) (address) < (jmpbuf)->uc_mcontext.mc_gregs[MC_O6] + 2047)
+#define _JMPBUF_UNWINDS(jmpbuf, address, demangle)	\
+  ((unsigned long int) (address)			\
+   < (jmpbuf)->__uc_mcontext.__mc_gregs[MC_O6] + 2047)
 
 #define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \
   _JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj)
 
 #define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
   ((uintptr_t) (_address) - (_adj) \
-   < (uintptr_t) (_jmpbuf)[0].uc_mcontext.mc_gregs[MC_O6] + 2047 - (_adj))
+   < (uintptr_t) (_jmpbuf)[0].__uc_mcontext.__mc_gregs[MC_O6] + 2047 - (_adj))
 
 /* We use the normal lobngjmp for unwinding.  */
 #define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/setjmp.h b/sysdeps/unix/sysv/linux/sparc/bits/setjmp.h
index e43bc72..5e92e82 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
 

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

Summary of changes:
 ChangeLog                                   |    8 ++++++
 sysdeps/sparc/sparc64/jmpbuf-unwind.h       |    7 +++--
 sysdeps/unix/sysv/linux/sparc/bits/setjmp.h |   36 +++++++++++++-------------
 3 files changed, 30 insertions(+), 21 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]