mirror of
git://git.yoctoproject.org/meta-intel.git
synced 2025-07-19 21:09:03 +02:00
linux-intel: backport commit from mainline to fix perf builds
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>
This commit is contained in:
parent
275f5901ea
commit
2b0a523ade
|
@ -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"
|
||||
|
|
|
@ -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;
|
Loading…
Reference in New Issue
Block a user