From 4e91f0c662ad9f30bdcd58c1a720964a29306b90 Mon Sep 17 00:00:00 2001 From: Stephane Eranian Date: Thu, 24 Jan 2013 16:10:40 +0100 Subject: [PATCH] --- yaml --- r: 366010 b: refs/heads/master c: bad4091791b0bb8c2d7919ddefe2f0d109299b5a h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/tools/perf/util/machine.c | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c07d4c82c910..c5991c6e1d41 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 028f12ee6beff0961781c5ed3f740e5f3b56f781 +refs/heads/master: bad4091791b0bb8c2d7919ddefe2f0d109299b5a diff --git a/trunk/tools/perf/util/machine.c b/trunk/tools/perf/util/machine.c index d77ba869d7ed..b2ecad6ec46b 100644 --- a/trunk/tools/perf/util/machine.c +++ b/trunk/tools/perf/util/machine.c @@ -955,6 +955,7 @@ int machine__process_mmap_event(struct machine *machine, union perf_event *event u8 cpumode = event->header.misc & PERF_RECORD_MISC_CPUMODE_MASK; struct thread *thread; struct map *map; + enum map_type type; int ret = 0; if (dump_trace) @@ -971,10 +972,17 @@ int machine__process_mmap_event(struct machine *machine, union perf_event *event thread = machine__findnew_thread(machine, event->mmap.pid); if (thread == NULL) goto out_problem; + + if (event->header.misc & PERF_RECORD_MISC_MMAP_DATA) + type = MAP__VARIABLE; + else + type = MAP__FUNCTION; + map = map__new(&machine->user_dsos, event->mmap.start, event->mmap.len, event->mmap.pgoff, event->mmap.pid, event->mmap.filename, - MAP__FUNCTION); + type); + if (map == NULL) goto out_problem;