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/

Reply via email to