The UAPI changes broke the perf tool, and as of 3.7-rc7, it still won't build for arm:
In file included from util/../perf.h:81:0, from util/cache.h:7, from perf.c:12: util/../../../arch/arm/include/asm/unistd.h:16:29: fatal error: uapi/asm/unistd.h: No such file or directory compilation terminated. make: *** [perf.o] Error 1 It seems the perf tool build infrastructure can't map <uapi/*> paths, and several architectures (arm, arm64, ia64, mips, parisc, powerpc, s390) include <uapi/asm/unistd.h> from their <asm/unistd.h>. This patch copies 77626081: "perf tools: Fix build on sparc." in simply changing the path to use arch/arm/include/uapi/asm/unistd.h directly for all of these cases. I've tested this on arm, but I don't have the necessary toolchains to check the other cases. Signed-off-by: Mark Rutland <mark.rutl...@arm.com> Cc: Arnaldo Carvalho de Melo <a...@ghostprotocols.net> Cc: David Howells <dhowe...@redhat.com> Cc: Deng-Cheng Zhu <dengcheng....@gmail.com> Cc: Ingo Molnar <mi...@redhat.com> Cc: Kyle McMartin <k...@mcmartin.ca> Cc: Martin Schwidefsky <schwidef...@de.ibm.com> Cc: Paul Mackerras <pau...@samba.org> Cc: Peter Zijlstra <a.p.zijls...@chello.nl> Cc: Tony Luck <tony.l...@intel.com> Cc: Will Deacon <will.dea...@arm.com> --- tools/perf/perf.h | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tools/perf/perf.h b/tools/perf/perf.h index c50985e..b42fd6a 100644 --- a/tools/perf/perf.h +++ b/tools/perf/perf.h @@ -26,14 +26,14 @@ void get_term_dimensions(struct winsize *ws); #endif #ifdef __powerpc__ -#include "../../arch/powerpc/include/asm/unistd.h" +#include "../../arch/powerpc/include/uapi/asm/unistd.h" #define rmb() asm volatile ("sync" ::: "memory") #define cpu_relax() asm volatile ("" ::: "memory"); #define CPUINFO_PROC "cpu" #endif #ifdef __s390__ -#include "../../arch/s390/include/asm/unistd.h" +#include "../../arch/s390/include/uapi/asm/unistd.h" #define rmb() asm volatile("bcr 15,0" ::: "memory") #define cpu_relax() asm volatile("" ::: "memory"); #endif @@ -50,7 +50,7 @@ void get_term_dimensions(struct winsize *ws); #endif #ifdef __hppa__ -#include "../../arch/parisc/include/asm/unistd.h" +#include "../../arch/parisc/include/uapi/asm/unistd.h" #define rmb() asm volatile("" ::: "memory") #define cpu_relax() asm volatile("" ::: "memory"); #define CPUINFO_PROC "cpu" @@ -71,14 +71,14 @@ void get_term_dimensions(struct winsize *ws); #endif #ifdef __ia64__ -#include "../../arch/ia64/include/asm/unistd.h" +#include "../../arch/ia64/include/uapi/asm/unistd.h" #define rmb() asm volatile ("mf" ::: "memory") #define cpu_relax() asm volatile ("hint @pause" ::: "memory") #define CPUINFO_PROC "model name" #endif #ifdef __arm__ -#include "../../arch/arm/include/asm/unistd.h" +#include "../../arch/arm/include/uapi/asm/unistd.h" /* * Use the __kuser_memory_barrier helper in the CPU helper page. See * arch/arm/kernel/entry-armv.S in the kernel source for details. @@ -89,13 +89,13 @@ void get_term_dimensions(struct winsize *ws); #endif #ifdef __aarch64__ -#include "../../arch/arm64/include/asm/unistd.h" +#include "../../arch/arm64/include/uapi/asm/unistd.h" #define rmb() asm volatile("dmb ld" ::: "memory") #define cpu_relax() asm volatile("yield" ::: "memory") #endif #ifdef __mips__ -#include "../../arch/mips/include/asm/unistd.h" +#include "../../arch/mips/include/uapi/asm/unistd.h" #define rmb() asm volatile( \ ".set mips2\n\t" \ "sync\n\t" \ -- 1.7.0.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/