From a47060c989c5ba93f9eaa1ded0acca3fe3325598 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 10 Nov 2020 15:52:16 +0000 Subject: [PATCH] arm-bsp/linux-stable-5.7: backport a patch to fix CoreSight builds Backport a patch from master to fix builds of perf with CoreSight enabled. Change-Id: Iaf4f8c4a188c898bde9dc2a45df8609c6c825eea Signed-off-by: Ross Burton Signed-off-by: Jon Mason --- .../linux-stable-5.7/coresight-traceid.patch | 71 +++++++++++++++++++ .../linux/linux-stable_5.7%.bbappend | 3 + 2 files changed, 74 insertions(+) create mode 100644 meta-arm-bsp/recipes-kernel/linux/linux-stable-5.7/coresight-traceid.patch create mode 100644 meta-arm-bsp/recipes-kernel/linux/linux-stable_5.7%.bbappend diff --git a/meta-arm-bsp/recipes-kernel/linux/linux-stable-5.7/coresight-traceid.patch b/meta-arm-bsp/recipes-kernel/linux/linux-stable-5.7/coresight-traceid.patch new file mode 100644 index 00000000..f72e59db --- /dev/null +++ b/meta-arm-bsp/recipes-kernel/linux/linux-stable-5.7/coresight-traceid.patch @@ -0,0 +1,71 @@ +Fix the build with coresight enabled. + +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From d5d9bc542a53b3fa3b0272090b152303cf4a57d9 Mon Sep 17 00:00:00 2001 +From: Leo Yan +Date: Tue, 5 May 2020 21:36:42 +0800 +Subject: [PATCH] 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 62d2f9b9ce1b..381d9708e9bd 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.7%.bbappend b/meta-arm-bsp/recipes-kernel/linux/linux-stable_5.7%.bbappend new file mode 100644 index 00000000..797c22d9 --- /dev/null +++ b/meta-arm-bsp/recipes-kernel/linux/linux-stable_5.7%.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/linux-stable-5.7:" + +SRC_URI_append = " file://coresight-traceid.patch"