This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] AARCH64: remove asm/prtace.h inclusion in sys/user.h and sys/procfs.h


Hi,

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 lile 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
ride of the asm/ptrace.h inclusion.

Build + Make check are clean on AArch64.

Thanks,
Yvan

2014-05-14  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.

Attachment: aarch64-glibc.diff
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]