Package: linux-tools-3.16 Severity: important Tags: patch Dear Maintainer,
For arm64, perf is not being built for Jessie. I have attached a patch which works for me on a Juno board. A kernel patch is cherry-picked to fix a perf build bug (this only affects the arm64 tree). Also, I have modified the build-dep to explicitly pull in binutils-dev. (I found that both binutils-dev and libiberty are needed for C++ demangling support). Some other build logic is altered in particular the architectures list is now set to: linux-any; and the install-tools rule is now an unconditional dependency for binary-arch, this took me *ages* to find :-(. Please let me know if I've missed anything obvious or you would like me to run additional tests. Cheers, -- Steve
diff -Nru linux-tools-3.16/debian/build/tools/perf/Makefile linux-tools-3.16/debian/build/tools/perf/Makefile --- linux-tools-3.16/debian/build/tools/perf/Makefile 2014-09-09 05:06:33.000000000 +0000 +++ linux-tools-3.16/debian/build/tools/perf/Makefile 2014-11-28 14:08:45.000000000 +0000 @@ -12,6 +12,8 @@ NO_LIBUNWIND= else ifeq ($(DEB_HOST_ARCH_CPU),arm) KERNEL_ARCH_PERF = arm +else ifeq ($(DEB_HOST_ARCH_CPU),arm64) + KERNEL_ARCH_PERF = arm64 else ifeq ($(DEB_HOST_ARCH_CPU),hppa) KERNEL_ARCH_PERF = parisc else ifeq ($(DEB_HOST_ARCH_CPU),i386) diff -Nru linux-tools-3.16/debian/control linux-tools-3.16/debian/control --- linux-tools-3.16/debian/control 2014-09-09 12:23:52.000000000 +0000 +++ linux-tools-3.16/debian/control 2014-11-28 15:09:07.000000000 +0000 @@ -4,7 +4,7 @@ Maintainer: Debian Kernel Team <debian-ker...@lists.debian.org> Uploaders: Bastian Blank <wa...@debian.org>, Ben Hutchings <b...@decadent.org.uk>, Jonathan Nieder <jrnie...@gmail.com> Standards-Version: 3.9.4 -Build-Depends: debhelper (>> 7), python, asciidoc, bison, flex, libaudit-dev, libdw-dev, libelf-dev, libiberty-dev | binutils-dev (<< 2.23.91.20131123-1), libnewt-dev, libnuma-dev [amd64 i386 powerpc ppc64 ppc64el], libperl-dev, libunwind8-dev [amd64 i386], python-dev, xmlto, autoconf, automake, libtool, libglib2.0-dev, libudev-dev, libwrap0-dev +Build-Depends: debhelper (>> 7), python, asciidoc, bison, flex, libaudit-dev, libdw-dev, libelf-dev, libiberty-dev, binutils-dev, libnewt-dev, libnuma-dev [amd64 i386 powerpc ppc64 ppc64el], libperl-dev, libunwind8-dev [amd64 i386], python-dev, xmlto, autoconf, automake, libtool, libglib2.0-dev, libudev-dev, libwrap0-dev Vcs-Svn: svn://svn.debian.org/svn/kernel/dists/trunk/linux-tools/ Vcs-Browser: http://anonscm.debian.org/viewvc/kernel/dists/trunk/linux-tools/ @@ -17,7 +17,7 @@ Multi-Arch: foreign Package: linux-tools-3.16 -Architecture: alpha amd64 armel armhf hppa i386 powerpc ppc64 ppc64el s390 s390x sh4 sparc sparc64 +Architecture: linux-any Section: devel Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, ${python:Depends} Recommends: linux-base (>= 3.4~) diff -Nru linux-tools-3.16/debian/control.md5sum linux-tools-3.16/debian/control.md5sum --- linux-tools-3.16/debian/control.md5sum 2014-09-09 12:23:52.000000000 +0000 +++ linux-tools-3.16/debian/control.md5sum 2014-11-28 15:09:07.000000000 +0000 @@ -1,4 +1,4 @@ ac3acacf0cde6d2cc424f28241bb0857 debian/bin/gencontrol.py e22c0d8272eb6d18751657807e50bc3f debian/changelog -d85b23bb34d1fc562998ab0c6117ff28 debian/templates/control.main.in -96d01c999dbb871c3c6fecaad4b4901c debian/templates/control.source.in +6167d5526bfd33090891989b0ab3d9ff debian/templates/control.main.in +39974d9874415912d0e40cef24b78c46 debian/templates/control.source.in diff -Nru linux-tools-3.16/debian/patches/fix-arm64-build.patch linux-tools-3.16/debian/patches/fix-arm64-build.patch --- linux-tools-3.16/debian/patches/fix-arm64-build.patch 1970-01-01 00:00:00.000000000 +0000 +++ linux-tools-3.16/debian/patches/fix-arm64-build.patch 2014-11-28 16:16:52.000000000 +0000 @@ -0,0 +1,44 @@ +From: Steve Capper <steve.cap...@linaro.org> +Date: Fri, 28 Nov 2014 16:15:00 +0000 +Subject: Cherry-pick perf fix for arm64 + +This is a cherry-pick of the following commit, needed for perf to build +on arm64. + +commit 7d885749b6de2c9a1168d566e2380207b9177108 +Author: Mark Salter <msal...@redhat.com> +Commit: Arnaldo Carvalho de Melo <a...@redhat.com> + + 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 <msal...@redhat.com> + Acked-by: Jean Pihet <jean.pi...@linaro.org> + Cc: Ingo Molnar <mi...@redhat.com> + Cc: Jean Pihet <jean.pi...@linaro.org> + Cc: Paul Mackerras <pau...@samba.org> + Cc: Peter Zijlstra <a.p.zijls...@chello.nl> + Link: http://lkml.kernel.org/r/1406325766-8085-1-git-send-email-msal...@redhat.com + Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com> + + +Index: linux-tools-3.16/tools/perf/arch/arm64/include/perf_regs.h +=================================================================== +--- linux-tools-3.16.orig/tools/perf/arch/arm64/include/perf_regs.h ++++ linux-tools-3.16/tools/perf/arch/arm64/include/perf_regs.h +@@ -6,6 +6,7 @@ + #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 + diff -Nru linux-tools-3.16/debian/patches/series linux-tools-3.16/debian/patches/series --- linux-tools-3.16/debian/patches/series 2014-09-08 22:32:53.000000000 +0000 +++ linux-tools-3.16/debian/patches/series 2014-11-28 14:18:51.000000000 +0000 @@ -3,3 +3,4 @@ tools-perf-install.patch usbip-document-tcp-wrappers.patch kbuild-fix-recordmcount-dependency.patch +fix-arm64-build.patch diff -Nru linux-tools-3.16/debian/rules.real linux-tools-3.16/debian/rules.real --- linux-tools-3.16/debian/rules.real 2014-09-08 22:32:53.000000000 +0000 +++ linux-tools-3.16/debian/rules.real 2014-11-28 15:39:07.000000000 +0000 @@ -8,10 +8,7 @@ # includes any binNMU part. VERSION_DEBIAN_FULL := $(shell dpkg-parsechangelog | sed -ne 's,^Version: *\(.*\)$$,\1,p') -binary-arch: install-kbuild install-usbip -ifneq ($(filter alpha amd64 armel armhf hppa i386 powerpc ppc64 ppc64el s390 s390x sh4 sparc sparc64,$(DEB_BUILD_ARCH)),) - binary-arch: install-tools -endif +binary-arch: install-kbuild install-usbip install-tools build: $(STAMPS_DIR)/build diff -Nru linux-tools-3.16/debian/templates/control.main.in linux-tools-3.16/debian/templates/control.main.in --- linux-tools-3.16/debian/templates/control.main.in 2014-09-08 22:32:53.000000000 +0000 +++ linux-tools-3.16/debian/templates/control.main.in 2014-11-28 14:55:53.000000000 +0000 @@ -7,7 +7,7 @@ Package: linux-tools-@version@ Section: devel -Architecture: alpha amd64 armel armhf hppa i386 powerpc ppc64 ppc64el s390 s390x sh4 sparc sparc64 +Architecture: linux-any Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, ${python:Depends} Recommends: linux-base (>= 3.4~) Suggests: linux-doc-@version@ diff -Nru linux-tools-3.16/debian/templates/control.source.in linux-tools-3.16/debian/templates/control.source.in --- linux-tools-3.16/debian/templates/control.source.in 2014-09-08 22:32:53.000000000 +0000 +++ linux-tools-3.16/debian/templates/control.source.in 2014-11-28 15:00:53.000000000 +0000 @@ -6,7 +6,7 @@ Standards-Version: 3.9.4 Build-Depends: debhelper (>> 7), python, - asciidoc, bison, flex, libaudit-dev, libdw-dev, libelf-dev, libiberty-dev | binutils-dev (<< 2.23.91.20131123-1), libnewt-dev, libnuma-dev [amd64 i386 powerpc ppc64 ppc64el], libperl-dev, libunwind8-dev [amd64 i386], python-dev, xmlto, + asciidoc, bison, flex, libaudit-dev, libdw-dev, libelf-dev, libiberty-dev, binutils-dev, libnewt-dev, libnuma-dev [amd64 i386 powerpc ppc64 ppc64el], libperl-dev, libunwind8-dev [amd64 i386], python-dev, xmlto, autoconf, automake, libtool, libglib2.0-dev, libudev-dev, libwrap0-dev Vcs-Svn: svn://svn.debian.org/svn/kernel/dists/trunk/linux-tools/ Vcs-Browser: http://anonscm.debian.org/viewvc/kernel/dists/trunk/linux-tools/