diff options
author | Anuj Mittal <anuj.mittal@intel.com> | 2020-02-24 07:51:09 +0800 |
---|---|---|
committer | Anuj Mittal <anuj.mittal@intel.com> | 2020-02-24 09:53:22 +0800 |
commit | 2b0a523adeb5ab8b20135375dccb3cacce582fbe (patch) | |
tree | 1ce05b40cebf786f075ceef817511259a3a92d6b | |
parent | 275f5901ea200790b1430e3cf6959f8c75645594 (diff) | |
download | meta-intel-2b0a523adeb5ab8b20135375dccb3cacce582fbe.tar.gz |
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>
-rw-r--r-- | recipes-kernel/linux/linux-intel.inc | 1 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-intel/perf-fix-build-with-binutils.patch | 60 |
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 | |||
8 | SRC_URI = " \ | 8 | SRC_URI = " \ |
9 | git://github.com/intel/linux-intel-lts.git;protocol=https;name=machine;branch=${KBRANCH}; \ | 9 | git://github.com/intel/linux-intel-lts.git;protocol=https;name=machine;branch=${KBRANCH}; \ |
10 | ${KERNEL_CONFIG_URI} \ | 10 | ${KERNEL_CONFIG_URI} \ |
11 | file://perf-fix-build-with-binutils.patch \ | ||
11 | " | 12 | " |
12 | 13 | ||
13 | SRC_URI_append_core2-32-intel-common = " file://disable_skylake_sound.cfg" | 14 | 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 @@ | |||
1 | From 0ada120c883d4f1f6aafd01cf0fbb10d8bbba015 Mon Sep 17 00:00:00 2001 | ||
2 | From: Changbin Du <changbin.du@gmail.com> | ||
3 | Date: Tue, 28 Jan 2020 23:29:38 +0800 | ||
4 | Subject: [PATCH] perf: Make perf able to build with latest libbfd | ||
5 | |||
6 | libbfd has changed the bfd_section_* macros to inline functions | ||
7 | bfd_section_<field> since 2019-09-18. See below two commits: | ||
8 | o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html | ||
9 | o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html | ||
10 | |||
11 | This fix make perf able to build with both old and new libbfd. | ||
12 | |||
13 | Signed-off-by: Changbin Du <changbin.du@gmail.com> | ||
14 | Acked-by: Jiri Olsa <jolsa@redhat.com> | ||
15 | Cc: Peter Zijlstra <peterz@infradead.org> | ||
16 | Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com | ||
17 | Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> | ||
18 | |||
19 | Upstream-Status: Backport [https://github.com/torvalds/linux/commit/0ada120c883d4f1f6aafd01cf0fbb10d8bbba015] | ||
20 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
21 | --- | ||
22 | tools/perf/util/srcline.c | 16 +++++++++++++++- | ||
23 | 1 file changed, 15 insertions(+), 1 deletion(-) | ||
24 | |||
25 | diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c | ||
26 | index 6ccf6f6d09df9..5b7d6c16d33fe 100644 | ||
27 | --- a/tools/perf/util/srcline.c | ||
28 | +++ b/tools/perf/util/srcline.c | ||
29 | @@ -193,16 +193,30 @@ static void find_address_in_section(bfd *abfd, asection *section, void *data) | ||
30 | bfd_vma pc, vma; | ||
31 | bfd_size_type size; | ||
32 | struct a2l_data *a2l = data; | ||
33 | + flagword flags; | ||
34 | |||
35 | if (a2l->found) | ||
36 | return; | ||
37 | |||
38 | - if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0) | ||
39 | +#ifdef bfd_get_section_flags | ||
40 | + flags = bfd_get_section_flags(abfd, section); | ||
41 | +#else | ||
42 | + flags = bfd_section_flags(section); | ||
43 | +#endif | ||
44 | + if ((flags & SEC_ALLOC) == 0) | ||
45 | return; | ||
46 | |||
47 | pc = a2l->addr; | ||
48 | +#ifdef bfd_get_section_vma | ||
49 | vma = bfd_get_section_vma(abfd, section); | ||
50 | +#else | ||
51 | + vma = bfd_section_vma(section); | ||
52 | +#endif | ||
53 | +#ifdef bfd_get_section_size | ||
54 | size = bfd_get_section_size(section); | ||
55 | +#else | ||
56 | + size = bfd_section_size(section); | ||
57 | +#endif | ||
58 | |||
59 | if (pc < vma || pc >= vma + size) | ||
60 | return; | ||