2017-06-26 Joseph Myers <joseph@codesourcery.com>
+ [BZ #21457]
+ * sysdeps/arm/sys/ucontext.h (struct ucontext): Rename to struct
+ ucontext_t.
+ * sysdeps/generic/sys/ucontext.h (struct ucontext): Likewise.
+ * sysdeps/i386/sys/ucontext.h (struct ucontext): Likewise.
+ * sysdeps/m68k/sys/ucontext.h (struct ucontext): Likewise.
+ * sysdeps/mips/sys/ucontext.h (struct ucontext): Likewise.
+ * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (struct
+ ucontext): Likewise.
+ * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (struct ucontext):
+ Likewise.
+ * sysdeps/unix/sysv/linux/arm/sys/ucontext.h (struct ucontext):
+ Likewise.
+ * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (struct ucontext):
+ Likewise.
+ * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h (struct ucontext):
+ Likewise.
+ * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (struct ucontext):
+ Likewise.
+ * sysdeps/unix/sysv/linux/mips/sys/ucontext.h (struct ucontext):
+ Likewise.
+ * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (struct ucontext):
+ Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (struct
+ ucontext): Likewise.
+ * sysdeps/unix/sysv/linux/s390/sys/ucontext.h (struct ucontext):
+ Likewise.
+ * sysdeps/unix/sysv/linux/sh/sys/ucontext.h (struct ucontext):
+ Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (struct ucontext):
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/sys/ucontext.h (struct ucontext):
+ Likewise.
+ * sysdeps/unix/sysv/linux/x86/sys/ucontext.h (struct ucontext):
+ Likewise.
+ * sysdeps/powerpc/powerpc32/backtrace.c (struct
+ rt_signal_frame_32): Likewise.
+ * sysdeps/powerpc/powerpc64/backtrace.c (struct signal_frame_64):
+ Likewise.
+ * sysdeps/unix/sysv/linux/aarch64/kernel_rt_sigframe.h (struct
+ kernel_rt_sigframe): Likewise.
+ * sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h (SIGCONTEXT):
+ Likewise.
+ * sysdeps/unix/sysv/linux/arm/register-dump.h (register_dump):
+ Likewise.
+ * sysdeps/unix/sysv/linux/arm/sigcontextinfo.h (SIGCONTEXT):
+ Likewise.
+ * sysdeps/unix/sysv/linux/hppa/profil-counter.h
+ (__profil_counter): Likewise.
+ * sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h
+ (SIGCONTEXT): Likewise.
+ * sysdeps/unix/sysv/linux/mips/kernel_rt_sigframe.h (struct
+ kernel_rt_sigframe): Likewise.
+ * sysdeps/unix/sysv/linux/nios2/kernel_rt_sigframe.h (struct
+ kernel_rt_sigframe): Likewise.
+ * sysdeps/unix/sysv/linux/nios2/sigcontextinfo.h (SIGCONTEXT):
+ Likewise.
+ * sysdeps/unix/sysv/linux/sh/makecontext.S (__makecontext):
+ Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c
+ (__start_context): Likewise.
+ * sysdeps/unix/sysv/linux/tile/sigcontextinfo.h (SIGCONTEXT):
+ Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump):
+ Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (SIGCONTEXT):
+ Likewise.
+
* sysdeps/i386/Implies: Add ieee754/float128.
* sysdeps/x86_64/Implies: Likewise.
* sysdeps/x86/bits/floatn.h: New file.
* The stack_t type no longer has the name struct sigaltstack. This changes
the C++ name mangling for interfaces involving this type.
+* The ucontext_t type no longer has the name struct ucontext. This changes
+ the C++ name mangling for interfaces involving this type.
+
* 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
#undef __ctx
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long int uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
sigset_t uc_sigmask;
stack_t uc_stack;
mcontext_t uc_mcontext;
typedef struct sigcontext mcontext_t;
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long int uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
sigset_t uc_sigmask;
#undef __ctxt
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long int uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
sigset_t uc_sigmask;
stack_t uc_stack;
mcontext_t uc_mcontext;
#endif
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long int uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
sigset_t uc_sigmask;
stack_t uc_stack;
mcontext_t uc_mcontext;
#undef __ctx
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
#if _MIPS_SIM == _ABIO32
unsigned long int uc_flags;
#else
__uint64_t uc_flags;
#endif
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
sigset_t uc_sigmask;
stack_t uc_stack;
mcontext_t uc_mcontext;
struct rt_signal_frame_32 {
char dummy[SIGNAL_FRAMESIZE + 16];
siginfo_t info;
- struct ucontext uc;
+ ucontext_t uc;
/* We don't care about the rest, since IP value is at 'uc' field. */
};
struct signal_frame_64 {
#define SIGNAL_FRAMESIZE 128
char dummy[SIGNAL_FRAMESIZE];
- struct ucontext uc;
+ ucontext_t uc;
/* We don't care about the rest, since the IP value is at 'uc' field. */
};
struct kernel_rt_sigframe
{
siginfo_t info;
- struct ucontext uc;
+ ucontext_t uc;
};
#include <stdint.h>
#include <sys/ucontext.h>
-#define SIGCONTEXT siginfo_t *_si, struct ucontext *
+#define SIGCONTEXT siginfo_t *_si, ucontext_t *
#define GET_PC(ctx) ((void *) (uintptr_t) (ctx)->uc_mcontext.pc)
/* There is no reliable way to get the sigcontext unless we use a
typedef struct sigcontext mcontext_t;
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
stack_t uc_stack;
sigset_t uc_sigmask;
mcontext_t uc_mcontext;
typedef struct sigcontext mcontext_t;
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long int uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
unsigned long __uc_osf_sigmask;
stack_t uc_stack;
mcontext_t uc_mcontext;
}
static void
-register_dump (int fd, const struct ucontext *ctx)
+register_dump (int fd, const ucontext_t *ctx)
{
char regs[21][8];
struct iovec iov[97];
#include <sys/ucontext.h>
-#define SIGCONTEXT siginfo_t *_si, struct ucontext *
+#define SIGCONTEXT siginfo_t *_si, ucontext_t *
#define SIGCONTEXT_EXTRA_ARGS _si,
/* The sigcontext structure changed between 2.0 and 2.1 kernels. On any
typedef struct sigcontext mcontext_t;
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
sigset_t uc_sigmask;
<http://www.gnu.org/licenses/>. */
static void
-__profil_counter (int signr, siginfo_t *si, struct ucontext *uctx)
+__profil_counter (int signr, siginfo_t *si, ucontext_t *uctx)
{
unsigned long ip = uctx->uc_mcontext.sc_iaoq[0] & ~0x3;
profil_count ((void *) ip);
typedef struct sigcontext mcontext_t;
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long int uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
sigset_t uc_sigmask;
# define _SC_GR0_OFFSET 0xc8 /* pray that this is correct... */
#endif
-typedef struct ucontext
+typedef struct ucontext_t
{
union
{
struct
{
unsigned long _pad[_SC_GR0_OFFSET/8];
- struct ucontext *_link; /* this should overlay sc_gr[0] */
+ struct ucontext_t *_link; /* this should overlay sc_gr[0] */
}
_uc;
}
#endif
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
unsigned long uc_filler[80];
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#define SIGCONTEXT int _code, struct ucontext *
+#define SIGCONTEXT int _code, ucontext_t *
#define SIGCONTEXT_EXTRA_ARGS _code,
#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.regs.pc)
#define GET_FRAME(ctx) ((void *) (ctx)->uc_mcontext.regs.sp)
uint32_t rs_ass[4];
uint32_t rs_code[2];
siginfo_t rs_info;
- struct ucontext rs_uc;
+ ucontext_t rs_uc;
uint32_t rs_altcode[8] __attribute__ ((__aligned__ (1 << 7)));
}
kernel_rt_sigframe_t;
#undef __ctx
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long int uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
sigset_t uc_sigmask;
struct kernel_rt_sigframe
{
siginfo_t info;
- struct ucontext uc;
+ ucontext_t uc;
};
#include <sys/ucontext.h>
#include "kernel-features.h"
-#define SIGCONTEXT siginfo_t *_si, struct ucontext *
+#define SIGCONTEXT siginfo_t *_si, ucontext_t *
#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.regs[27])
/* There is no reliable way to get the sigcontext unless we use a
-/* struct ucontext definition, Nios II version.
+/* ucontext_t definition, Nios II version.
Copyright (C) 2015-2017 Free Software Foundation, Inc.
This file is part of the GNU C Library.
#undef __ctx
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
sigset_t uc_sigmask;
#undef __ctx
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long int uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
stack_t uc_stack;
#if __WORDSIZE == 32
/*
#undef __ctx
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long int uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
sigset_t uc_sigmask;
#include "ucontext_i.h"
-/* void __makecontext (struct ucontext *ucp, void (*func)(), int argc, ...);
+/* void __makecontext (ucontext_t *ucp, void (*func)(), int argc, ...);
__makecontext sets up a stack and registers for context to run a given
function. The registers are set up like this:
r4-r7: parameters 1 to 4
#undef __ctx
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long int uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
sigset_t uc_sigmask;
#include <stdlib.h>
#include <ucontext.h>
-extern void __start_context (struct ucontext *ucp);
+extern void __start_context (ucontext_t *ucp);
void
__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
mc_fpu_t mc_fpregs;
} mcontext_t;
-typedef struct ucontext {
- struct ucontext *uc_link;
+typedef struct ucontext_t {
+ struct ucontext_t *uc_link;
unsigned long uc_flags;
unsigned long __uc_sigmask;
mcontext_t uc_mcontext;
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
sigset_t uc_sigmask;
stack_t uc_stack;
mcontext_t uc_mcontext;
#include <arch/abi.h>
-#define SIGCONTEXT siginfo_t *_si, struct ucontext *
+#define SIGCONTEXT siginfo_t *_si, ucontext_t *
#define SIGCONTEXT_EXTRA_ARGS _si,
#define GET_PC(ctx) ((void *) (long) ctx->uc_mcontext.pc)
#define GET_FRAME(ctx) ((void *) (long) ctx->uc_mcontext.regs[TREG_FP])
typedef struct sigcontext mcontext_t;
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long int uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
sigset_t uc_sigmask;
} mcontext_t;
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long int uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
sigset_t uc_sigmask;
} mcontext_t;
/* Userlevel context. */
-typedef struct ucontext
+typedef struct ucontext_t
{
unsigned long int uc_flags;
- struct ucontext *uc_link;
+ struct ucontext_t *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
sigset_t uc_sigmask;
}
static void
-register_dump (int fd, struct ucontext *ctx)
+register_dump (int fd, ucontext_t *ctx)
{
char regs[25][16];
char fpregs[30][8];
#include <stdint.h>
-#define SIGCONTEXT siginfo_t *_si, struct ucontext *
+#define SIGCONTEXT siginfo_t *_si, ucontext_t *
#define SIGCONTEXT_EXTRA_ARGS _si,
#define GET_PC(ctx) \
((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RIP])