[PATCH 19/26] perf tools: Add buildid-list support for mmap3

Jiri Olsa
2020-09-13T21:05:37Z

Add buildid-list support for mmap3 so we can display
hit dso objects buildid with filename for mmap3 data:

$ perf buildid-list
1805c738c8f3ec0f47b7ea09080c28f34d18a82b /usr/lib64/ld-2.31.so
d278249792061c6b74d1693ca59513be1def13f2 /usr/lib64/libc-2.31.so

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
tools/perf/builtin-buildid-list.c | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/tools/perf/builtin-buildid-list.c b/tools/perf/builtin-buildid-list.c
index e3ef75583514..adcc64478ec1 100644
--- a/tools/perf/builtin-buildid-list.c
+++ b/tools/perf/builtin-buildid-list.c
@@ -57,6 +57,7 @@ static int perf_session__list_build_ids(bool force, bool with_hits)
.mode = PERF_DATA_MODE_READ,
.force = force,
};
+ bool has_build_id;

symbol__elf_init();
/*
@@ -77,6 +78,15 @@ static int perf_session__list_build_ids(bool force, bool with_hits)
perf_header__has_feat(&session->header, HEADER_AUXTRACE))
with_hits = false;

+ has_build_id = perf_header__has_feat(&session->header, HEADER_BUILD_ID);
+
+ /*
+ * We don't really show non hit dsos, keep that also for mmap3
+ * buildid data, we don't care about non hit dsos anyway.
+ */
+ if (!has_build_id)
+ with_hits = true;
+
/*
* in pipe-mode, the only way to get the buildids is to parse
* the record stream. Buildids are stored as RECORD_HEADER_BUILD_ID
--
2.26.2