summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>2020-06-25 21:13:13 -0700
committerSai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>2020-08-11 23:47:26 -0700
commit1ed47f71ea8bc48c16b9924735298ffbb3febe3d (patch)
tree087238352231662ee6a5054430ffba3f180fdd2c
parent883029f2d9b3a7484cbfce99b9bb7754d2ed1fb1 (diff)
downloadmeta-xilinx-1ed47f71ea8bc48c16b9924735298ffbb3febe3d.tar.gz
linux-xlnx: 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 Backport commit from mainline to make perf be able to build with both old and new libbfd. Fixes errors: <builddir>/perf/1.0-r9/recipe-sysroot-native/usr/bin/aarch64-xilinx-linux/../../libexec/aarch64-xilinx-linux/gcc/aarch64-xilinx-linux/10.1.0/ld: <builddir>/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>/perf/1.0-r9/recipe-sysroot-native/usr/bin/aarch64-xilinx-linux/../../libexec/aarch64-xilinx-linux/gcc/aarch64-xilinx-linux/10.1.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>/perf/1.0-r9/recipe-sysroot-native/usr/bin/aarch64-xilinx-linux/../../libexec/aarch64-xilinx-linux/gcc/aarch64-xilinx-linux/10.1.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 Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
-rwxr-xr-xmeta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/perf-fix-build-with-binutils.patch60
-rw-r--r--meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2020.1.bb4
2 files changed, 64 insertions, 0 deletions
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/perf-fix-build-with-binutils.patch b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/perf-fix-build-with-binutils.patch
new file mode 100755
index 00000000..1470a5d7
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/perf-fix-build-with-binutils.patch
@@ -0,0 +1,60 @@
1From 0ada120c883d4f1f6aafd01cf0fbb10d8bbba015 Mon Sep 17 00:00:00 2001
2From: Changbin Du <changbin.du@gmail.com>
3Date: Tue, 28 Jan 2020 23:29:38 +0800
4Subject: [PATCH] perf: Make perf able to build with latest libbfd
5
6libbfd has changed the bfd_section_* macros to inline functions
7bfd_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
11This fix make perf able to build with both old and new libbfd.
12
13Signed-off-by: Changbin Du <changbin.du@gmail.com>
14Acked-by: Jiri Olsa <jolsa@redhat.com>
15Cc: Peter Zijlstra <peterz@infradead.org>
16Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com
17Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
18
19Upstream-Status: Backport [https://github.com/torvalds/linux/commit/0ada120c883d4f1f6aafd01cf0fbb10d8bbba015]
20Signed-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
25diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c
26index 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;
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2020.1.bb b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2020.1.bb
index bad9f9a1..10a13250 100644
--- a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2020.1.bb
+++ b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2020.1.bb
@@ -3,3 +3,7 @@ SRCREV ?= "22b71b41620dac13c69267d2b7898ebfb14c954e"
3 3
4include linux-xlnx.inc 4include linux-xlnx.inc
5 5
6FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
7SRC_URI_append = " file://perf-fix-build-with-binutils.patch"
8
9