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 <jo...@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

Reply via email to