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 <[email protected]>
---
 .../linux-xlnx/perf-fix-build-with-binutils.patch  | 60 ++++++++++++++++++++++
 .../recipes-kernel/linux/linux-xlnx_2020.1.bb      |  4 ++
 2 files changed, 64 insertions(+)
 create mode 100755 
meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/perf-fix-build-with-binutils.patch

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 0000000..1470a5d
--- /dev/null
+++ 
b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/perf-fix-build-with-binutils.patch
@@ -0,0 +1,60 @@
+From 0ada120c883d4f1f6aafd01cf0fbb10d8bbba015 Mon Sep 17 00:00:00 2001
+From: Changbin Du <[email protected]>
+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 <[email protected]>
+Acked-by: Jiri Olsa <[email protected]>
+Cc: Peter Zijlstra <[email protected]>
+Link: http://lore.kernel.org/lkml/[email protected]
+Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
+
+Upstream-Status: Backport 
[https://github.com/torvalds/linux/commit/0ada120c883d4f1f6aafd01cf0fbb10d8bbba015]
+Signed-off-by: Anuj Mittal <[email protected]>
+---
+ 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;
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 bad9f9a..10a1325 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"
 
 include linux-xlnx.inc
 
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+SRC_URI_append = " file://perf-fix-build-with-binutils.patch"
+
+
-- 
2.7.4

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#4712): 
https://lists.yoctoproject.org/g/meta-xilinx/message/4712
Mute This Topic: https://lists.yoctoproject.org/mt/75118799/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-xilinx/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to