diff --git a/meta-arm-bsp/recipes-kernel/linux/linux-stable-5.6/0001-libtraceevent-Fix-build-with-binutils-2.35.patch b/meta-arm-bsp/recipes-kernel/linux/linux-stable-5.6/0001-libtraceevent-Fix-build-with-binutils-2.35.patch new file mode 100644 index 00000000..f44a4b49 --- /dev/null +++ b/meta-arm-bsp/recipes-kernel/linux/linux-stable-5.6/0001-libtraceevent-Fix-build-with-binutils-2.35.patch @@ -0,0 +1,38 @@ +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From c139f8e8dc8a5388f63bf2cf1c17ee114dcdb919 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Sat, 25 Jul 2020 02:06:23 +0100 +Subject: [PATCH 1/2] libtraceevent: Fix build with binutils 2.35 + +In binutils 2.35, 'nm -D' changed to show symbol versions along with +symbol names, with the usual @@ separator. When generating +libtraceevent-dynamic-list we need just the names, so strip off the +version suffix if present. + +Signed-off-by: Ben Hutchings +Tested-by: Salvatore Bonaccorso +Reviewed-by: Steven Rostedt +Cc: linux-trace-devel@vger.kernel.org +Cc: stable@vger.kernel.org +Signed-off-by: Arnaldo Carvalho de Melo +--- + tools/lib/traceevent/plugins/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/lib/traceevent/plugins/Makefile b/tools/lib/traceevent/plugins/Makefile +index 349bb81482ab..680d883efe05 100644 +--- a/tools/lib/traceevent/plugins/Makefile ++++ b/tools/lib/traceevent/plugins/Makefile +@@ -197,7 +197,7 @@ define do_generate_dynamic_list_file + xargs echo "U w W" | tr 'w ' 'W\n' | sort -u | xargs echo`;\ + if [ "$$symbol_type" = "U W" ];then \ + (echo '{'; \ +- $(NM) -u -D $1 | awk 'NF>1 {print "\t"$$2";"}' | sort -u;\ ++ $(NM) -u -D $1 | awk 'NF>1 {sub("@.*", "", $$2); print "\t"$$2";"}' | sort -u;\ + echo '};'; \ + ) > $2; \ + else \ +-- +2.25.1 diff --git a/meta-arm-bsp/recipes-kernel/linux/linux-stable-5.6/0002-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch b/meta-arm-bsp/recipes-kernel/linux/linux-stable-5.6/0002-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch new file mode 100644 index 00000000..0e4e362a --- /dev/null +++ b/meta-arm-bsp/recipes-kernel/linux/linux-stable-5.6/0002-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch @@ -0,0 +1,69 @@ +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 9e752121f8d4edcde6f3fb466593eeaf6d8306b9 Mon Sep 17 00:00:00 2001 +From: Leo Yan +Date: Tue, 5 May 2020 21:36:42 +0800 +Subject: [PATCH 2/2] perf cs-etm: Move definition of 'traceid_list' global + variable from header file + +The variable 'traceid_list' is defined in the header file cs-etm.h, +if multiple C files include cs-etm.h the compiler might complaint for +multiple definition of 'traceid_list'. + +To fix multiple definition error, move the definition of 'traceid_list' +into cs-etm.c. + +Fixes: cd8bfd8c973e ("perf tools: Add processing of coresight metadata") +Reported-by: Thomas Backlund +Signed-off-by: Leo Yan +Reviewed-by: Mathieu Poirier +Reviewed-by: Mike Leach +Tested-by: Mike Leach +Tested-by: Thomas Backlund +Cc: Alexander Shishkin +Cc: Jiri Olsa +Cc: Mark Rutland +Cc: Namhyung Kim +Cc: Peter Zijlstra +Cc: Suzuki Poulouse +Cc: Tor Jeremiassen +Cc: linux-arm-kernel@lists.infradead.org +Link: http://lore.kernel.org/lkml/20200505133642.4756-1-leo.yan@linaro.org +Signed-off-by: Arnaldo Carvalho de Melo +--- + tools/perf/util/cs-etm.c | 3 +++ + tools/perf/util/cs-etm.h | 3 --- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c +index 5471045ebf5c..4d8efe96015b 100644 +--- a/tools/perf/util/cs-etm.c ++++ b/tools/perf/util/cs-etm.c +@@ -94,6 +94,9 @@ struct cs_etm_queue { + struct cs_etm_traceid_queue **traceid_queues; + }; + ++/* RB tree for quick conversion between traceID and metadata pointers */ ++static struct intlist *traceid_list; ++ + static int cs_etm__update_queues(struct cs_etm_auxtrace *etm); + static int cs_etm__process_queues(struct cs_etm_auxtrace *etm); + static int cs_etm__process_timeless_queues(struct cs_etm_auxtrace *etm, +diff --git a/tools/perf/util/cs-etm.h b/tools/perf/util/cs-etm.h +index 650ecc2a6349..4ad925d6d799 100644 +--- a/tools/perf/util/cs-etm.h ++++ b/tools/perf/util/cs-etm.h +@@ -114,9 +114,6 @@ enum cs_etm_isa { + CS_ETM_ISA_T32, + }; + +-/* RB tree for quick conversion between traceID and metadata pointers */ +-struct intlist *traceid_list; +- + struct cs_etm_queue; + + struct cs_etm_packet { +-- +2.25.1 + diff --git a/meta-arm-bsp/recipes-kernel/linux/linux-stable_5.6%.bbappend b/meta-arm-bsp/recipes-kernel/linux/linux-stable_5.6%.bbappend index 3793fad3..47c51e39 100644 --- a/meta-arm-bsp/recipes-kernel/linux/linux-stable_5.6%.bbappend +++ b/meta-arm-bsp/recipes-kernel/linux/linux-stable_5.6%.bbappend @@ -1,3 +1,8 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/linux-stable-5.6:" + +SRC_URI_append = " file://0001-libtraceevent-Fix-build-with-binutils-2.35.patch \ + file://0002-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch" + # # Corstone700 KMACHINE #