about summary refs log tree commit diff
path: root/signal/sigblock.c
diff options
context:
space:
mode:
authorYvan Roux <yvan.roux@linaro.org>2014-05-20 13:45:22 +0100
committerWill Newton <will.newton@linaro.org>2014-05-20 13:45:22 +0100
commit7d05a8168b45c0580e1f9a79c2dd26c8f0d31fca (patch)
treeabfa33b39af791f95e4bbb6d9c341e5e49c2bd9c /signal/sigblock.c
parentaf121e371d6d1a46df72d59f3a6b521eb12a9c6e (diff)
downloadglibc-7d05a8168b45c0580e1f9a79c2dd26c8f0d31fca.tar.gz
glibc-7d05a8168b45c0580e1f9a79c2dd26c8f0d31fca.tar.xz
glibc-7d05a8168b45c0580e1f9a79c2dd26c8f0d31fca.zip
AArch64: Remove asm/ptrace.h inclusion in sys/user.h and sys/procfs.h
This patch fixes an issue observed by the Xen project, where including
signal.h exposes various PSR_MODE #defines.  This is due to the usage
in sys/user.h and sys/procfs.h of the struct user_pt_regs and
user_fpsimd_state included via asm/ptrace.h.  The namespace pollution
this inclusion introduce is already partially fixed with some #undef
of the PTRACE_* symbols, but other symbols like the PSR_MODE ones are
still present, and undefining them is not safe since a user can
include ptrace.h before user.h.

My proposition is to define the 2 structures we need in user.h and get
rid of the asm/ptrace.h inclusion.

Build and make check are clean on AArch64.

2014-05-20  Will Newton  <will.newton@linaro.org>
	    Yvan Roux  <yvan.roux@linaro.org>

	* sysdeps/unix/sysv/linux/aarch64/sys/user.h: Remove unused
	#include of asm/ptrace.h.
	(PTRACE_GET_THREAD_AREA): Remove #undef.
	(PTRACE_GETHBPREGS): Likewise.
	(PTRACE_SETHBPREGS): Likewise.
	(struct user_regs_struct): New structure.
	(struct user_fpsimd_struct): New structure.
	* sysdeps/unix/sysv/linux/aarch64/sys/procfs.h: Remove unused
	#include of asm/ptrace.h and second #include of sys/user.h.
	(PTRACE_GET_THREAD_AREA): Remove #undef.
	(PTRACE_GETHBPREGS): Likewise.
	(PTRACE_SETHBPREGS): Likewise.
	(ELF_NGREG): Use new struct user_regs_struct.
	(elf_fpregset_t): Use new struct user_fpsimd_struct.
Diffstat (limited to 'signal/sigblock.c')
0 files changed, 0 insertions, 0 deletions