--- strace-4.8.orig/process.c	2013-05-18 00:22:19.000000000 +0200
+++ strace-4.8/process.c	2014-02-25 20:02:55.000000000 +0100
@@ -55,7 +55,7 @@
 # endif
 #endif
 
-#ifdef HAVE_LINUX_PTRACE_H
+#if defined(HAVE_LINUX_PTRACE_H) && defined(__GLIBC__)
 # undef PTRACE_SYSCALL
 # ifdef HAVE_STRUCT_IA64_FPREG
 #  define ia64_fpreg XXX_ia64_fpreg
@@ -104,6 +104,10 @@
 # include <asm/rse.h>
 #endif
 
+#ifdef __arm__
+#include <asm/ptrace.h>
+#endif
+
 #ifdef HAVE_PRCTL
 # include <sys/prctl.h>
 
@@ -2857,7 +2861,7 @@ sys_sched_setscheduler(struct tcb *tcp)
 		if (umove(tcp, tcp->u_arg[2], &p) < 0)
 			tprintf(", %#lx", tcp->u_arg[2]);
 		else
-			tprintf(", { %d }", p.__sched_priority);
+			tprintf(", { %d }", p.sched_priority);
 	}
 	return 0;
 }
@@ -2872,7 +2876,7 @@ sys_sched_getparam(struct tcb *tcp)
 		if (umove(tcp, tcp->u_arg[1], &p) < 0)
 			tprintf("%#lx", tcp->u_arg[1]);
 		else
-			tprintf("{ %d }", p.__sched_priority);
+			tprintf("{ %d }", p.sched_priority);
 	}
 	return 0;
 }
@@ -2885,7 +2889,7 @@ sys_sched_setparam(struct tcb *tcp)
 		if (umove(tcp, tcp->u_arg[1], &p) < 0)
 			tprintf("%d, %#lx", (int) tcp->u_arg[0], tcp->u_arg[1]);
 		else
-			tprintf("%d, { %d }", (int) tcp->u_arg[0], p.__sched_priority);
+			tprintf("%d, { %d }", (int) tcp->u_arg[0], p.sched_priority);
 	}
 	return 0;
 }
