kernel_optimize_test/arch/x86/um
Florian Fainelli 2fb44600fe um: Fix check for _xstate for older hosts
Commit 0a98764567 ("um: Allow building and running on older
hosts") attempted to check for PTRACE_{GET,SET}REGSET under the premise
that these ptrace(2) parameters were directly linked with the presence
of the _xstate structure.

After Richard's commit 61e8d46245 ("um: Correctly check for
PTRACE_GETRESET/SETREGSET") which properly included linux/ptrace.h
instead of asm/ptrace.h, we could get into the original build failure
that I reported:

arch/x86/um/user-offsets.c: In function 'foo':
arch/x86/um/user-offsets.c:54: error: invalid application of 'sizeof' to
incomplete type 'struct _xstate'

On this particular host, we do have PTRACE_GETREGSET and
PTRACE_SETREGSET defined in linux/ptrace.h, but not the structure
_xstate that should be pulled from the following include chain: signal.h
-> bits/sigcontext.h.

Correctly fix this by checking for FP_XSTATE_MAGIC1 which is the correct
way to see if struct _xstate is available or not on the host.

Fixes: 61e8d46245 ("um: Correctly check for PTRACE_GETRESET/SETREGSET")
Fixes: 0a98764567 ("um: Allow building and running on older hosts")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
2017-08-24 21:52:28 +02:00
..
asm x86/arch_prctl: Rename 'code' argument to 'option' 2017-03-20 16:10:32 +01:00
os-Linux um: Allow building and running on older hosts 2017-07-05 23:31:28 +02:00
shared/sysdep um: Include kbuild.h instead of duplicating its macros 2017-05-03 22:36:56 +02:00
vdso x86/um: thin archives build fix 2017-06-30 09:03:05 +09:00
bugs_32.c
bugs_64.c
checksum_32.S x86: move exports to actual definitions 2016-08-07 23:47:15 -04:00
delay.c x86: Audit and remove any remaining unnecessary uses of module.h 2016-07-14 15:07:00 +02:00
elfcore.c
fault.c
Kconfig
ldt.c um: Do not rely on libc to provide modify_ldt() 2015-10-19 22:53:37 +02:00
Makefile Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-05-01 22:07:51 -07:00
mem_32.c
mem_64.c
ptrace_32.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
ptrace_64.c um: Fix PTRACE_POKEUSER on x86_64 2017-05-03 22:35:31 +02:00
ptrace_user.c
setjmp_32.S um: Avoid longjmp/setjmp symbol clashes with libpthread.a 2017-07-05 23:30:50 +02:00
setjmp_64.S um: Avoid longjmp/setjmp symbol clashes with libpthread.a 2017-07-05 23:30:50 +02:00
signal.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
stub_32.S um: Remove dead symbol from i386 syscall stub 2015-11-06 22:49:11 +01:00
stub_64.S um: Simplify STUB_DATA loading 2015-11-06 22:49:11 +01:00
stub_segv.c
sys_call_table_32.c x86/syscalls: Add syscall entry qualifiers 2016-01-29 09:46:38 +01:00
sys_call_table_64.c x86/syscalls: Add syscall entry qualifiers 2016-01-29 09:46:38 +01:00
syscalls_32.c x86/syscalls/32: Wire up arch_prctl on x86-32 2017-03-20 16:10:33 +01:00
syscalls_64.c um/arch_prctl: Fix fallout from x86 arch_prctl() rework 2017-03-21 10:08:29 +01:00
sysrq_32.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/debug.h> 2017-03-02 08:42:34 +01:00
sysrq_64.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/debug.h> 2017-03-02 08:42:34 +01:00
tls_32.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
tls_64.c um: Don't pollute kernel namespace with uapi 2015-06-25 22:44:11 +02:00
user-offsets.c um: Fix check for _xstate for older hosts 2017-08-24 21:52:28 +02:00