summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/session.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/session.c')
-rw-r--r--tools/perf/util/session.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index e0e6a07..378ac54 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -255,6 +255,7 @@ int perf_header__read_build_ids(int input, u64 offset, u64 size)
while (offset < limit) {
struct dso *dso;
ssize_t len;
+ struct list_head *head = &dsos__user;
if (read(input, &bev, sizeof(bev)) != sizeof(bev))
goto out;
@@ -263,7 +264,10 @@ int perf_header__read_build_ids(int input, u64 offset, u64 size)
if (read(input, filename, len) != len)
goto out;
- dso = dsos__findnew(filename);
+ if (bev.header.misc & PERF_RECORD_MISC_KERNEL)
+ head = &dsos__kernel;
+
+ dso = __dsos__findnew(head, filename);
if (dso != NULL)
dso__set_build_id(dso, &bev.build_id);
OpenPOWER on IntegriCloud