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]] -=-=-=-=-=-=-=-=-=-=-=-
