diff options
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 \ |