aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta-linaro/recipes-kernel/perf/files/0001-perf-tools-Fix-arm64-build-error.patch42
-rw-r--r--meta-linaro/recipes-kernel/perf/files/0001-perf-tools-Fix-build-breakage-on-arm64-targets.patch45
-rw-r--r--meta-linaro/recipes-kernel/perf/perf.bbappend21
-rw-r--r--meta-linaro/recipes-linaro/images/linaro-image-common.inc1
4 files changed, 109 insertions, 0 deletions
diff --git a/meta-linaro/recipes-kernel/perf/files/0001-perf-tools-Fix-arm64-build-error.patch b/meta-linaro/recipes-kernel/perf/files/0001-perf-tools-Fix-arm64-build-error.patch
new file mode 100644
index 00000000..4a4da97c
--- /dev/null
+++ b/meta-linaro/recipes-kernel/perf/files/0001-perf-tools-Fix-arm64-build-error.patch
@@ -0,0 +1,42 @@
+From 7d885749b6de2c9a1168d566e2380207b9177108 Mon Sep 17 00:00:00 2001
+From: Mark Salter <msalter@redhat.com>
+Date: Fri, 25 Jul 2014 18:02:46 -0400
+Subject: [PATCH] perf tools: Fix arm64 build error
+
+I'm seeing the following build error on arm64:
+
+ In file included from util/event.c:3:0:
+ util/event.h:95:17: error: 'PERF_REGS_MAX' undeclared here (not in a function)
+ u64 cache_regs[PERF_REGS_MAX];
+ ^
+
+This patch adds a PERF_REGS_MAX definition for arm64.
+
+Signed-off-by: Mark Salter <msalter@redhat.com>
+Acked-by: Jean Pihet <jean.pihet@linaro.org>
+Cc: Ingo Molnar <mingo@redhat.com>
+Cc: Jean Pihet <jean.pihet@linaro.org>
+Cc: Paul Mackerras <paulus@samba.org>
+Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
+Link: http://lkml.kernel.org/r/1406325766-8085-1-git-send-email-msalter@redhat.com
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+---
+ tools/perf/arch/arm64/include/perf_regs.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tools/perf/arch/arm64/include/perf_regs.h b/tools/perf/arch/arm64/include/perf_regs.h
+index e9441b9..1d3f39c 100644
+--- a/tools/perf/arch/arm64/include/perf_regs.h
++++ b/tools/perf/arch/arm64/include/perf_regs.h
+@@ -6,6 +6,8 @@
+ #include <asm/perf_regs.h>
+
+ #define PERF_REGS_MASK ((1ULL << PERF_REG_ARM64_MAX) - 1)
++#define PERF_REGS_MAX PERF_REG_ARM64_MAX
++
+ #define PERF_REG_IP PERF_REG_ARM64_PC
+ #define PERF_REG_SP PERF_REG_ARM64_SP
+
+--
+2.1.3
+
diff --git a/meta-linaro/recipes-kernel/perf/files/0001-perf-tools-Fix-build-breakage-on-arm64-targets.patch b/meta-linaro/recipes-kernel/perf/files/0001-perf-tools-Fix-build-breakage-on-arm64-targets.patch
new file mode 100644
index 00000000..cb039460
--- /dev/null
+++ b/meta-linaro/recipes-kernel/perf/files/0001-perf-tools-Fix-build-breakage-on-arm64-targets.patch
@@ -0,0 +1,45 @@
+From 660d13296bbbe79635d1d9d700080b88061faffb Mon Sep 17 00:00:00 2001
+From: Will Deacon <will.deacon@arm.com>
+Date: Tue, 30 Sep 2014 12:27:12 +0100
+Subject: [PATCH] perf tools: Fix build breakage on arm64 targets
+
+Attempting to build the perf tool for an arm64 target results in the
+following failure:
+
+ arch/arm64/util/unwind-libunwind.c: In function 'libunwind__arch_reg_id':
+ arch/arm64/util/unwind-libunwind.c:77:3: error: implicit declaration of function 'pr_err'
+ pr_err("unwind: invalid reg id %d\n", regnum);
+ ^
+ arch/arm64/util/unwind-libunwind.c:77:3: error: nested extern declaration of 'pr_err'
+
+This is due to commit 84f5d36f4866 ("perf tools: Move pr_* debug macros
+into debug object") moving the pr_* macros into a new header file, but
+failing to update architectures other than x86.
+
+This patch adds the missing include, and fixes the build again.
+
+Signed-off-by: Will Deacon <will.deacon@arm.com>
+Cc: Jean Pihet <jean.pihet@linaro.org>
+Cc: Jiri Olsa <jolsa@kernel.org>
+Cc: linux-arm-kernel@lists.infradead.org
+Link: http://lkml.kernel.org/r/1412076432-22045-1-git-send-email-will.deacon@arm.com
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+---
+ tools/perf/arch/arm64/util/unwind-libunwind.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tools/perf/arch/arm64/util/unwind-libunwind.c b/tools/perf/arch/arm64/util/unwind-libunwind.c
+index 436ee43..a87afa9 100644
+--- a/tools/perf/arch/arm64/util/unwind-libunwind.c
++++ b/tools/perf/arch/arm64/util/unwind-libunwind.c
+@@ -3,6 +3,7 @@
+ #include <libunwind.h>
+ #include "perf_regs.h"
+ #include "../../util/unwind.h"
++#include "../../util/debug.h"
+
+ int libunwind__arch_reg_id(int regnum)
+ {
+--
+2.1.3
+
diff --git a/meta-linaro/recipes-kernel/perf/perf.bbappend b/meta-linaro/recipes-kernel/perf/perf.bbappend
new file mode 100644
index 00000000..075e6739
--- /dev/null
+++ b/meta-linaro/recipes-kernel/perf/perf.bbappend
@@ -0,0 +1,21 @@
+LICENSE = "GPL-2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
+PV = "3.17"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI = "${DEBIAN_MIRROR}/main/l/linux-tools/linux-tools_3.17.orig.tar.xz \
+ file://0001-perf-tools-Fix-arm64-build-error.patch \
+ file://0001-perf-tools-Fix-build-breakage-on-arm64-targets.patch \
+"
+
+SRC_URI[md5sum] = "6c78f25c86761a60b89235e12bc109a8"
+SRC_URI[sha256sum] = "51162320841053fcf06070b6d5a6d984fb4c429e3ba3dc6d4eec021d374b926f"
+
+S = "${WORKDIR}/linux-tools-${PV}"
+B = "${WORKDIR}/linux-tools-${PV}"
+
+do_compile_prepend() {
+ mkdir -p ${S}/include/generated
+ echo "#define UTS_RELEASE \"${PV}\"" > ${S}/include/generated/utsrelease.h
+}
diff --git a/meta-linaro/recipes-linaro/images/linaro-image-common.inc b/meta-linaro/recipes-linaro/images/linaro-image-common.inc
index 57e545f3..da5c18fb 100644
--- a/meta-linaro/recipes-linaro/images/linaro-image-common.inc
+++ b/meta-linaro/recipes-linaro/images/linaro-image-common.inc
@@ -63,6 +63,7 @@ SDK_IMAGE_INSTALL += "\
openldap \
openssh-sftp-server \
openssl \
+ perf \
pm-qa \
powerdebug \
powertop \