aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnuj Mittal <anuj.mittal@intel.com>2020-02-24 07:51:09 +0800
committerAnuj Mittal <anuj.mittal@intel.com>2020-02-24 09:53:22 +0800
commit2b0a523adeb5ab8b20135375dccb3cacce582fbe (patch)
tree1ce05b40cebf786f075ceef817511259a3a92d6b
parent275f5901ea200790b1430e3cf6959f8c75645594 (diff)
downloadmeta-intel-master.tar.gz
meta-intel-master.tar.bz2
meta-intel-master.zip
linux-intel: backport commit from mainline to fix perf buildsHEADmaster
Fixes errors: | <builddir>/build/tmp/work/intel_core2_32-poky-linux/perf/1.0-r9/recipe-sysroot-native/usr/bin/i686-poky-linux/../../libexec/i686-poky-linux/gcc/i686-poky-linux/9.2.0/ld: <builddir>/build/tmp/work/intel_core2_32-poky-linux/perf/1.0-r9/perf-1.0/perf-in.o: in function `find_address_in_section': /usr/src/debug/perf/1.0-r9/perf-1.0/tools/perf/util/srcline.c:200: undefined reference to `bfd_get_section_flags' | <builddir>/build/tmp/work/intel_core2_32-poky-linux/perf/1.0-r9/recipe-sysroot-native/usr/bin/i686-poky-linux/../../libexec/i686-poky-linux/gcc/i686-poky-linux/9.2.0/ld: /usr/src/debug/perf/1.0-r9/perf-1.0/tools/perf/util/srcline.c:204: undefined reference to `bfd_get_section_vma' | <builddir>/build/tmp/work/intel_core2_32-poky-linux/perf/1.0-r9/recipe-sysroot-native/usr/bin/i686-poky-linux/../../libexec/i686-poky-linux/gcc/i686-poky-linux/9.2.0/ld: /usr/src/debug/perf/1.0-r9/perf-1.0/tools/perf/util/srcline.c:205: undefined reference to `bfd_get_section_size' | collect2: error: ld returned 1 exit status Also see: http://git.openembedded.org/openembedded-core/commit/?id=16e943690bdbdf2e60a2fe33950697278018c7d1 Include the patch in recipe untils it's not available in linux-intel LTS tree. Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-rw-r--r--recipes-kernel/linux/linux-intel.inc1
-rw-r--r--recipes-kernel/linux/linux-intel/perf-fix-build-with-binutils.patch60
2 files changed, 61 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-intel.inc b/recipes-kernel/linux/linux-intel.inc
index 6bd9837d..cd1ecb23 100644
--- a/recipes-kernel/linux/linux-intel.inc
+++ b/recipes-kernel/linux/linux-intel.inc
@@ -8,6 +8,7 @@ KERNEL_CONFIG_URI ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;n
SRC_URI = " \
git://github.com/intel/linux-intel-lts.git;protocol=https;name=machine;branch=${KBRANCH}; \
${KERNEL_CONFIG_URI} \
+ file://perf-fix-build-with-binutils.patch \
"
SRC_URI_append_core2-32-intel-common = " file://disable_skylake_sound.cfg"
diff --git a/recipes-kernel/linux/linux-intel/perf-fix-build-with-binutils.patch b/recipes-kernel/linux/linux-intel/perf-fix-build-with-binutils.patch
new file mode 100644
index 00000000..1470a5d7
--- /dev/null
+++ b/recipes-kernel/linux/linux-intel/perf-fix-build-with-binutils.patch
@@ -0,0 +1,60 @@
+From 0ada120c883d4f1f6aafd01cf0fbb10d8bbba015 Mon Sep 17 00:00:00 2001
+From: Changbin Du <changbin.du@gmail.com>
+Date: Tue, 28 Jan 2020 23:29:38 +0800
+Subject: [PATCH] perf: Make perf able to build with latest libbfd
+
+libbfd has changed the bfd_section_* macros to inline functions
+bfd_section_<field> since 2019-09-18. See below two commits:
+ o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html
+ o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html
+
+This fix make perf able to build with both old and new libbfd.
+
+Signed-off-by: Changbin Du <changbin.du@gmail.com>
+Acked-by: Jiri Olsa <jolsa@redhat.com>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+
+Upstream-Status: Backport [https://github.com/torvalds/linux/commit/0ada120c883d4f1f6aafd01cf0fbb10d8bbba015]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ tools/perf/util/srcline.c | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c
+index 6ccf6f6d09df9..5b7d6c16d33fe 100644
+--- a/tools/perf/util/srcline.c
++++ b/tools/perf/util/srcline.c
+@@ -193,16 +193,30 @@ static void find_address_in_section(bfd *abfd, asection *section, void *data)
+ bfd_vma pc, vma;
+ bfd_size_type size;
+ struct a2l_data *a2l = data;
++ flagword flags;
+
+ if (a2l->found)
+ return;
+
+- if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
++#ifdef bfd_get_section_flags
++ flags = bfd_get_section_flags(abfd, section);
++#else
++ flags = bfd_section_flags(section);
++#endif
++ if ((flags & SEC_ALLOC) == 0)
+ return;
+
+ pc = a2l->addr;
++#ifdef bfd_get_section_vma
+ vma = bfd_get_section_vma(abfd, section);
++#else
++ vma = bfd_section_vma(section);
++#endif
++#ifdef bfd_get_section_size
+ size = bfd_get_section_size(section);
++#else
++ size = bfd_section_size(section);
++#endif
+
+ if (pc < vma || pc >= vma + size)
+ return;