From 19641dbd61fe0440fa1f0ebd2f358b5ba98e839f Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Sat, 18 Mar 2017 00:17:25 +0000 Subject: 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. --- sysdeps/unix/sysv/linux/sparc/bits/setjmp.h | 36 ++++++++++++++--------------- 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'sysdeps/unix') 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 -- cgit v1.2.3