summaryrefslogtreecommitdiffstats
path: root/0001-perf-cs-etm-Move-defined-of-traceid_list.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-perf-cs-etm-Move-defined-of-traceid_list.patch')
-rw-r--r--0001-perf-cs-etm-Move-defined-of-traceid_list.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/0001-perf-cs-etm-Move-defined-of-traceid_list.patch b/0001-perf-cs-etm-Move-defined-of-traceid_list.patch
new file mode 100644
index 000000000..92dd3f08e
--- /dev/null
+++ b/0001-perf-cs-etm-Move-defined-of-traceid_list.patch
@@ -0,0 +1,58 @@
+From 0db6c9e3a4dee6ea5e56320453eff86605ef9f1c Mon Sep 17 00:00:00 2001
+From: Leo Yan <leo.yan@linaro.org>
+Date: Tue, 5 May 2020 21:36:42 +0800
+Subject: [PATCH] perf cs-etm: Move defined of traceid_list
+
+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 <tmb@mageia.org>
+Signed-off-by: Leo Yan <leo.yan@linaro.org>
+Tested-by: Thomas Backlund <tmb@mageia.org>
+Tested-by: Mike Leach <mike.leach@linaro.org>
+Tested-by: Justin M. Forbes <jforbes@fedoraproject.org>
+Reviewed-by: Mike Leach <mike.leach@linaro.org>
+Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
+
+Upstream Status: https://lore.kernel.org/lkml/20200505133642.4756-1-leo.yan@linaro.org/
+---
+ 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.26.2
+