On recent toolchains we hit:
In file included from arch/x86/um/os-Linux/prctl.c:7:0:
/usr/include/linux/ptrace.h:58:8: error: redefinition of ‘struct
ptrace_peeksiginfo_args’ struct ptrace_peeksiginfo_args {
^
In file included from arch/x86/um/os-Linux/prctl.c:6:0:
/usr/include/sys/ptrace.h:191:8: note: originally defined here
struct ptrace_peeksiginfo_args
^
make[2]: *** [arch/x86/um/os-Linux/prctl.o] Error 1
make[1]: *** [arch/x86/um/os-Linux] Error 2
make: *** [arch/x86/um] Error 2
The solution is not to include linux/ptrace.h and obtain
the arch specific ptrace command from asm/ptrace.h.
Reported-and-tested-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 lines
290 B
C
12 lines
290 B
C
/*
|
|
* Copyright (C) 2007 Jeff Dike (jdike@{addtoit.com,linux.intel.com})
|
|
* Licensed under the GPL
|
|
*/
|
|
|
|
#include <sys/ptrace.h>
|
|
#include <asm/ptrace.h>
|
|
|
|
int os_arch_prctl(int pid, int code, unsigned long *addr)
|
|
{
|
|
return ptrace(PTRACE_ARCH_PRCTL, pid, (unsigned long) addr, code);
|
|
}
|