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-137-g19641db
- From: jsm28 at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 18 Mar 2017 00:17:43 -0000
- Subject: 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