mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
Condition some sys/ucontext.h contents on __USE_MISC (bug 21457).
Continuing the fixes for namespace issues arising from sys/ucontext.h, this patch conditions various definitions, that are not needed for defining mcontext_t / ucontext_t, on __USE_MISC, so they do not appear in strict POSIX modes. This patch is non-exhaustive; that is, it only conditions straightforward cases and there may be more such definitions that can be conditioned for these and other architectures, to be dealt with later in separate patches. Also, using __USE_MISC is the minimum change for these definitions where they conflict with POSIX; some headers already have __USE_GNU conditionals on similar definitions of names for registers. The patch specifically does not do anything with definitions in bits/sigcontext.h, and nor does it condition any inclusions of bits/sigcontext.h even where in fact that is not needed on some architectures for the definitions of mcontext_t / ucontext_t. As other namespace issues in these headers remain, this patch does not fix bug 21457, nor allow any XFAILs to be removed. Tested with build-many-glibcs.py. [BZ #21457] * sysdeps/arm/sys/ucontext.h (R0): Condition on [__USE_MISC]. (R1): Likewise. (R2): Likewise. (R3): Likewise. (R4): Likewise. (R5): Likewise. (R6): Likewise. (R7): Likewise. (R8): Likewise. (R9): Likewise. (R10): Likewise. (R11): Likewise. (R12): Likewise. (R13): Likewise. (R14): Likewise. (R15): Likewise. * sysdeps/i386/sys/ucontext.h (REG_GS): Likewise. (REG_FS): Likewise. (REG_ES): Likewise. (REG_DS): Likewise. (REG_EDI): Likewise. (REG_ESI): Likewise. (REG_EBP): Likewise. (REG_ESP): Likewise. (REG_EBX): Likewise. (REG_EDX): Likewise. (REG_ECX): Likewise. (REG_EAX): Likewise. (REG_TRAPNO): Likewise. (REG_ERR): Likewise. (REG_EIP): Likewise. (REG_CS): Likewise. (REG_EFL): Likewise. (REG_UESP): Likewise. (REG_SS): Likewise. * sysdeps/m68k/sys/ucontext.h (R_D0): Likewise. (R_D1): Likewise. (R_D2): Likewise. (R_D3): Likewise. (R_D4): Likewise. (R_D5): Likewise. (R_D6): Likewise. (R_D7): Likewise. (R_A0): Likewise. (R_A1): Likewise. (R_A2): Likewise. (R_A3): Likewise. (R_A4): Likewise. (R_A5): Likewise. (R_A6): Likewise. (R_A7): Likewise. (R_SP): Likewise. (R_PC): Likewise. (R_PS): Likewise. (fpregset_t): Likewise. (MCONTEXT_VERSION): Likewise. * sysdeps/mips/sys/ucontext.h (CTX_R0): Likewise. (CTX_AT): Likewise. (CTX_V0): Likewise. (CTX_V1): Likewise. (CTX_A0): Likewise. (CTX_A1): Likewise. (CTX_A2): Likewise. (CTX_A3): Likewise. (CTX_T0): Likewise. (CTX_T1): Likewise. (CTX_T2): Likewise. (CTX_T3): Likewise. (CTX_T4): Likewise. (CTX_T5): Likewise. (CTX_T6): Likewise. (CTX_T7): Likewise. (CTX_S0): Likewise. (CTX_S1): Likewise. (CTX_S2): Likewise. (CTX_S3): Likewise. (CTX_S4): Likewise. (CTX_S5): Likewise. (CTX_S6): Likewise. (CTX_S7): Likewise. (CTX_T8): Likewise. (CTX_T9): Likewise. (CTX_K0): Likewise. (CTX_K1): Likewise. (CTX_GP): Likewise. (CTX_SP): Likewise. (CTX_S8): Likewise. (CTX_RA): Likewise. (CTX_MDLO): Likewise. (CTX_MDHI): Likewise. (CTX_CAUSE): Likewise. (CTX_EPC): Likewise. * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Condition inclusion of <sys/procfs.h> on [__USE_MISC]. (greg_t): Condition on [__USE_MISC]. (gregset_t): Likewise. (fpregset_t): Likewise. * sysdeps/unix/sysv/linux/arm/sys/ucontext.h (greg_t): Likewise. (NGREG): Likewise. (gregset_t): Likewise. (REG_R0): Likewise. (REG_R1): Likewise. (REG_R2): Likewise. (REG_R3): Likewise. (REG_R4): Likewise. (REG_R5): Likewise. (REG_R6): Likewise. (REG_R7): Likewise. (REG_R8): Likewise. (REG_R9): Likewise. (REG_R10): Likewise. (REG_R11): Likewise. (REG_R12): Likewise. (REG_R13): Likewise. (REG_R14): Likewise. (REG_R15): Likewise. (struct _libc_fpstate): Likewise. (fpregset_t): Likewise. * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (NGREG): Likewise. (NFPREG): Likewise. (gregset_t): Likewise. (fpregset_t): Likewise. * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (R_D0): Likewise. (R_D1): Likewise. (R_D2): Likewise. (R_D3): Likewise. (R_D4): Likewise. (R_D5): Likewise. (R_D6): Likewise. (R_D7): Likewise. (R_A0): Likewise. (R_A1): Likewise. (R_A2): Likewise. (R_A3): Likewise. (R_A4): Likewise. (R_A5): Likewise. (R_A6): Likewise. (R_A7): Likewise. (R_SP): Likewise. (R_PC): Likewise. (R_PS): Likewise. (fpregset_t): Likewise. (MCONTEXT_VERSION): Likewise. * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (MCONTEXT_VERSION): Likewise. * sysdeps/unix/sysv/linux/sh/sys/ucontext.h (REG_R0): Likewise. (REG_R1): Likewise. (REG_R2): Likewise. (REG_R3): Likewise. (REG_R4): Likewise. (REG_R5): Likewise. (REG_R6): Likewise. (REG_R7): Likewise. (REG_R8): Likewise. (REG_R9): Likewise. (REG_R10): Likewise. (REG_R11): Likewise. (REG_R12): Likewise. (REG_R13): Likewise. (REG_R14): Likewise. (REG_R15): Likewise. * sysdeps/unix/sysv/linux/tile/sys/ucontext.h: Condition inclusion of <arch/abi.h> on [__USE_MISC]. (greg_t): Condition on [__USE_MISC]. (NGREG): Likewise. (gregset_t): Likewise.
This commit is contained in:
170
ChangeLog
170
ChangeLog
@ -1,3 +1,173 @@
|
||||
2017-05-11 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #21457]
|
||||
* sysdeps/arm/sys/ucontext.h (R0): Condition on [__USE_MISC].
|
||||
(R1): Likewise.
|
||||
(R2): Likewise.
|
||||
(R3): Likewise.
|
||||
(R4): Likewise.
|
||||
(R5): Likewise.
|
||||
(R6): Likewise.
|
||||
(R7): Likewise.
|
||||
(R8): Likewise.
|
||||
(R9): Likewise.
|
||||
(R10): Likewise.
|
||||
(R11): Likewise.
|
||||
(R12): Likewise.
|
||||
(R13): Likewise.
|
||||
(R14): Likewise.
|
||||
(R15): Likewise.
|
||||
* sysdeps/i386/sys/ucontext.h (REG_GS): Likewise.
|
||||
(REG_FS): Likewise.
|
||||
(REG_ES): Likewise.
|
||||
(REG_DS): Likewise.
|
||||
(REG_EDI): Likewise.
|
||||
(REG_ESI): Likewise.
|
||||
(REG_EBP): Likewise.
|
||||
(REG_ESP): Likewise.
|
||||
(REG_EBX): Likewise.
|
||||
(REG_EDX): Likewise.
|
||||
(REG_ECX): Likewise.
|
||||
(REG_EAX): Likewise.
|
||||
(REG_TRAPNO): Likewise.
|
||||
(REG_ERR): Likewise.
|
||||
(REG_EIP): Likewise.
|
||||
(REG_CS): Likewise.
|
||||
(REG_EFL): Likewise.
|
||||
(REG_UESP): Likewise.
|
||||
(REG_SS): Likewise.
|
||||
* sysdeps/m68k/sys/ucontext.h (R_D0): Likewise.
|
||||
(R_D1): Likewise.
|
||||
(R_D2): Likewise.
|
||||
(R_D3): Likewise.
|
||||
(R_D4): Likewise.
|
||||
(R_D5): Likewise.
|
||||
(R_D6): Likewise.
|
||||
(R_D7): Likewise.
|
||||
(R_A0): Likewise.
|
||||
(R_A1): Likewise.
|
||||
(R_A2): Likewise.
|
||||
(R_A3): Likewise.
|
||||
(R_A4): Likewise.
|
||||
(R_A5): Likewise.
|
||||
(R_A6): Likewise.
|
||||
(R_A7): Likewise.
|
||||
(R_SP): Likewise.
|
||||
(R_PC): Likewise.
|
||||
(R_PS): Likewise.
|
||||
(fpregset_t): Likewise.
|
||||
(MCONTEXT_VERSION): Likewise.
|
||||
* sysdeps/mips/sys/ucontext.h (CTX_R0): Likewise.
|
||||
(CTX_AT): Likewise.
|
||||
(CTX_V0): Likewise.
|
||||
(CTX_V1): Likewise.
|
||||
(CTX_A0): Likewise.
|
||||
(CTX_A1): Likewise.
|
||||
(CTX_A2): Likewise.
|
||||
(CTX_A3): Likewise.
|
||||
(CTX_T0): Likewise.
|
||||
(CTX_T1): Likewise.
|
||||
(CTX_T2): Likewise.
|
||||
(CTX_T3): Likewise.
|
||||
(CTX_T4): Likewise.
|
||||
(CTX_T5): Likewise.
|
||||
(CTX_T6): Likewise.
|
||||
(CTX_T7): Likewise.
|
||||
(CTX_S0): Likewise.
|
||||
(CTX_S1): Likewise.
|
||||
(CTX_S2): Likewise.
|
||||
(CTX_S3): Likewise.
|
||||
(CTX_S4): Likewise.
|
||||
(CTX_S5): Likewise.
|
||||
(CTX_S6): Likewise.
|
||||
(CTX_S7): Likewise.
|
||||
(CTX_T8): Likewise.
|
||||
(CTX_T9): Likewise.
|
||||
(CTX_K0): Likewise.
|
||||
(CTX_K1): Likewise.
|
||||
(CTX_GP): Likewise.
|
||||
(CTX_SP): Likewise.
|
||||
(CTX_S8): Likewise.
|
||||
(CTX_RA): Likewise.
|
||||
(CTX_MDLO): Likewise.
|
||||
(CTX_MDHI): Likewise.
|
||||
(CTX_CAUSE): Likewise.
|
||||
(CTX_EPC): Likewise.
|
||||
* sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Condition
|
||||
inclusion of <sys/procfs.h> on [__USE_MISC].
|
||||
(greg_t): Condition on [__USE_MISC].
|
||||
(gregset_t): Likewise.
|
||||
(fpregset_t): Likewise.
|
||||
* sysdeps/unix/sysv/linux/arm/sys/ucontext.h (greg_t): Likewise.
|
||||
(NGREG): Likewise.
|
||||
(gregset_t): Likewise.
|
||||
(REG_R0): Likewise.
|
||||
(REG_R1): Likewise.
|
||||
(REG_R2): Likewise.
|
||||
(REG_R3): Likewise.
|
||||
(REG_R4): Likewise.
|
||||
(REG_R5): Likewise.
|
||||
(REG_R6): Likewise.
|
||||
(REG_R7): Likewise.
|
||||
(REG_R8): Likewise.
|
||||
(REG_R9): Likewise.
|
||||
(REG_R10): Likewise.
|
||||
(REG_R11): Likewise.
|
||||
(REG_R12): Likewise.
|
||||
(REG_R13): Likewise.
|
||||
(REG_R14): Likewise.
|
||||
(REG_R15): Likewise.
|
||||
(struct _libc_fpstate): Likewise.
|
||||
(fpregset_t): Likewise.
|
||||
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (NGREG): Likewise.
|
||||
(NFPREG): Likewise.
|
||||
(gregset_t): Likewise.
|
||||
(fpregset_t): Likewise.
|
||||
* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (R_D0): Likewise.
|
||||
(R_D1): Likewise.
|
||||
(R_D2): Likewise.
|
||||
(R_D3): Likewise.
|
||||
(R_D4): Likewise.
|
||||
(R_D5): Likewise.
|
||||
(R_D6): Likewise.
|
||||
(R_D7): Likewise.
|
||||
(R_A0): Likewise.
|
||||
(R_A1): Likewise.
|
||||
(R_A2): Likewise.
|
||||
(R_A3): Likewise.
|
||||
(R_A4): Likewise.
|
||||
(R_A5): Likewise.
|
||||
(R_A6): Likewise.
|
||||
(R_A7): Likewise.
|
||||
(R_SP): Likewise.
|
||||
(R_PC): Likewise.
|
||||
(R_PS): Likewise.
|
||||
(fpregset_t): Likewise.
|
||||
(MCONTEXT_VERSION): Likewise.
|
||||
* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (MCONTEXT_VERSION):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/sh/sys/ucontext.h (REG_R0): Likewise.
|
||||
(REG_R1): Likewise.
|
||||
(REG_R2): Likewise.
|
||||
(REG_R3): Likewise.
|
||||
(REG_R4): Likewise.
|
||||
(REG_R5): Likewise.
|
||||
(REG_R6): Likewise.
|
||||
(REG_R7): Likewise.
|
||||
(REG_R8): Likewise.
|
||||
(REG_R9): Likewise.
|
||||
(REG_R10): Likewise.
|
||||
(REG_R11): Likewise.
|
||||
(REG_R12): Likewise.
|
||||
(REG_R13): Likewise.
|
||||
(REG_R14): Likewise.
|
||||
(REG_R15): Likewise.
|
||||
* sysdeps/unix/sysv/linux/tile/sys/ucontext.h: Condition inclusion
|
||||
of <arch/abi.h> on [__USE_MISC].
|
||||
(greg_t): Condition on [__USE_MISC].
|
||||
(NGREG): Likewise.
|
||||
(gregset_t): Likewise.
|
||||
|
||||
2017-05-11 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
|
||||
* sysdeps/arm/nptl/bits/pthreadtypes-arch.h
|
||||
|
@ -37,6 +37,7 @@ typedef int greg_t;
|
||||
/* Container for all general registers. */
|
||||
typedef greg_t gregset_t[NGREG];
|
||||
|
||||
#ifdef __USE_MISC
|
||||
/* Number of each register is the `gregset_t' array. */
|
||||
enum
|
||||
{
|
||||
@ -73,6 +74,7 @@ enum
|
||||
R15 = 15,
|
||||
# define R15 R15
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Structure to describe FPU registers. */
|
||||
typedef struct fpregset
|
||||
|
@ -38,6 +38,7 @@ typedef int greg_t;
|
||||
/* Container for all general registers. */
|
||||
typedef greg_t gregset_t[NGREG];
|
||||
|
||||
#ifdef __USE_MISC
|
||||
/* Number of each register is the `gregset_t' array. */
|
||||
enum
|
||||
{
|
||||
@ -80,6 +81,7 @@ enum
|
||||
REG_SS
|
||||
# define REG_SS REG_SS
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Structure to describe FPU registers. */
|
||||
typedef struct fpregset
|
||||
|
@ -38,6 +38,7 @@ typedef int greg_t;
|
||||
/* Container for all general registers. */
|
||||
typedef greg_t gregset_t[NGREG];
|
||||
|
||||
#ifdef __USE_MISC
|
||||
/* Number of each register is the `gregset_t' array. */
|
||||
enum
|
||||
{
|
||||
@ -89,6 +90,7 @@ typedef struct fpregset
|
||||
int f_fpiaddr;
|
||||
int f_fpregs[8][3];
|
||||
} fpregset_t;
|
||||
#endif
|
||||
|
||||
/* Context to describe whole processor state. */
|
||||
typedef struct
|
||||
@ -97,7 +99,9 @@ typedef struct
|
||||
gregset_t gregs;
|
||||
} mcontext_t;
|
||||
|
||||
#ifdef __USE_MISC
|
||||
# define MCONTEXT_VERSION 1
|
||||
#endif
|
||||
|
||||
/* Userlevel context. */
|
||||
typedef struct ucontext
|
||||
|
@ -44,6 +44,7 @@ typedef __uint64_t greg_t;
|
||||
/* Container for all general registers. */
|
||||
typedef greg_t gregset_t[NGREG];
|
||||
|
||||
#ifdef __USE_MISC
|
||||
/* Number of each register is the `gregset_t' array. */
|
||||
enum
|
||||
{
|
||||
@ -120,6 +121,7 @@ enum
|
||||
CTX_EPC = 35,
|
||||
# define CTX_EPC CTX_EPC
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Structure to describe FPU registers. */
|
||||
typedef struct fpregset
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include <bits/sigcontext.h>
|
||||
#include <bits/sigstack.h>
|
||||
|
||||
#ifdef __USE_MISC
|
||||
# include <sys/procfs.h>
|
||||
|
||||
|
||||
@ -39,6 +40,7 @@ typedef elf_gregset_t gregset_t;
|
||||
|
||||
/* Structure to describe FPU registers. */
|
||||
typedef elf_fpregset_t fpregset_t;
|
||||
#endif
|
||||
|
||||
/* Context to describe whole processor state. This only describes
|
||||
the core registers; coprocessor registers get saved elsewhere
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include <bits/sigstack.h>
|
||||
|
||||
|
||||
#ifdef __USE_MISC
|
||||
typedef int greg_t;
|
||||
|
||||
/* Number of general registers. */
|
||||
@ -93,6 +94,7 @@ struct _libc_fpstate
|
||||
};
|
||||
/* Structure to describe FPU registers. */
|
||||
typedef struct _libc_fpstate fpregset_t;
|
||||
#endif
|
||||
|
||||
/* Context to describe whole processor state. This only describes
|
||||
the core registers; coprocessor registers get saved elsewhere
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include <bits/sigstack.h>
|
||||
|
||||
|
||||
#ifdef __USE_MISC
|
||||
/* Type for general register. */
|
||||
typedef unsigned long int greg_t;
|
||||
|
||||
@ -50,6 +51,7 @@ typedef struct fpregset
|
||||
{
|
||||
double fp_dregs[32];
|
||||
} fpregset_t;
|
||||
#endif
|
||||
|
||||
/* Context to describe whole processor state. */
|
||||
typedef struct sigcontext mcontext_t;
|
||||
|
@ -38,6 +38,7 @@ typedef int greg_t;
|
||||
/* Container for all general registers. */
|
||||
typedef greg_t gregset_t[NGREG];
|
||||
|
||||
#ifdef __USE_MISC
|
||||
/* Number of each register is the `gregset_t' array. */
|
||||
enum
|
||||
{
|
||||
@ -80,6 +81,7 @@ enum
|
||||
R_PS = 17
|
||||
# define R_PS R_PS
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Structure to describe FPU registers. */
|
||||
typedef struct fpregset
|
||||
@ -102,7 +104,9 @@ typedef struct
|
||||
fpregset_t fpregs;
|
||||
} mcontext_t;
|
||||
|
||||
#ifdef __USE_MISC
|
||||
# define MCONTEXT_VERSION 2
|
||||
#endif
|
||||
|
||||
/* Userlevel context. */
|
||||
typedef struct ucontext
|
||||
|
@ -32,7 +32,9 @@
|
||||
|
||||
/* These definitions must be in sync with the kernel. */
|
||||
|
||||
#ifdef __USE_MISC
|
||||
# define MCONTEXT_VERSION 2
|
||||
#endif
|
||||
|
||||
/* Context to describe whole processor state. */
|
||||
typedef struct mcontext
|
||||
|
@ -37,6 +37,7 @@ typedef int greg_t;
|
||||
/* Container for all general registers. */
|
||||
typedef greg_t gregset_t[NGREG];
|
||||
|
||||
#ifdef __USE_MISC
|
||||
/* Number of each register is the `gregset_t' array. */
|
||||
enum
|
||||
{
|
||||
@ -73,6 +74,7 @@ enum
|
||||
REG_R15 = 15,
|
||||
# define REG_R15 REG_R15
|
||||
};
|
||||
#endif
|
||||
|
||||
typedef int freg_t;
|
||||
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include <bits/sigcontext.h>
|
||||
#include <bits/sigstack.h>
|
||||
|
||||
#ifdef __USE_MISC
|
||||
/* Get register type and register names. */
|
||||
# include <arch/abi.h>
|
||||
|
||||
@ -39,6 +40,7 @@ typedef uint_reg_t greg_t;
|
||||
|
||||
/* Container for all general registers. */
|
||||
typedef greg_t gregset_t[NGREG];
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Names for interesting registers in the `gregset_t' array. */
|
||||
|
Reference in New Issue
Block a user