From 700b4edc876e2922d3d4e34a22da99a963c6feea Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Sat, 20 Feb 2010 19:53:13 -0200 Subject: [PATCH] --- yaml --- r: 182465 b: refs/heads/master c: 10fe12ef631a7e85022ed26304a37f033a6a95b8 h: refs/heads/master i: 182463: 1ed8cb27c9329a3643352acaa63752e66aee54f6 v: v3 --- [refs] | 2 +- trunk/tools/perf/util/event.c | 6 ++++++ trunk/tools/perf/util/symbol.c | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 065bb198b275..0ecf054c40b8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f7e7ee36757f68778700cde1aaed89e1d23e59fd +refs/heads/master: 10fe12ef631a7e85022ed26304a37f033a6a95b8 diff --git a/trunk/tools/perf/util/event.c b/trunk/tools/perf/util/event.c index c3831f633dec..9eb7005bc6d6 100644 --- a/trunk/tools/perf/util/event.c +++ b/trunk/tools/perf/util/event.c @@ -379,6 +379,12 @@ int event__process_mmap(event_t *self, struct perf_session *session) session->vmlinux_maps[MAP__FUNCTION]->start = self->mmap.start; session->vmlinux_maps[MAP__FUNCTION]->end = self->mmap.start + self->mmap.len; + /* + * Be a bit paranoid here, some perf.data file came with + * a zero sized synthesized MMAP event for the kernel. + */ + if (session->vmlinux_maps[MAP__FUNCTION]->end == 0) + session->vmlinux_maps[MAP__FUNCTION]->end = ~0UL; perf_session__set_kallsyms_ref_reloc_sym(session, symbol_name, self->mmap.pgoff); diff --git a/trunk/tools/perf/util/symbol.c b/trunk/tools/perf/util/symbol.c index 6882e9fec2d6..ee9c37efdd36 100644 --- a/trunk/tools/perf/util/symbol.c +++ b/trunk/tools/perf/util/symbol.c @@ -1937,7 +1937,7 @@ int map_groups__create_kernel_maps(struct map_groups *self, return -1; if (symbol_conf.use_modules && map_groups__create_modules(self) < 0) - return 0; + pr_debug("Problems creating module maps, continuing anyway...\n"); /* * Now that we have all the maps created, just set the ->end of them: */