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);
 | 
						|
}
 |