Skip to contentSkip to conversation

perf symbols: Fix map->end fixup

tip:perf/urgent tip-bot for Arnaldo Carvalho de Melo 1 participant 1 message Oct 15, 2014 perf events

lore
Share & tools
lore
#0 lore raw
Commit-ID:  eba85230de892e2a925c85dca1fe177e8b3d84d8
Gitweb:     http://git.kernel.org/tip/eba85230de892e2a925c85dca1fe177e8b3d84d8
Author:     Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Tue, 14 Oct 2014 16:39:27 -0300
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Tue, 14 Oct 2014 17:50:57 -0300

perf symbols: Fix map->end fixup

When synthesizing maps from files that have incomplete symbol information, like kallsyms, we need to fixup the end of maps by seting its end from the ->start of the next map, fix it to set prev_map->end to curr_map->start, since ->end is the first byte outside prev_map address range.

---
 tools/perf/util/symbol.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
tools/perf/util/symbol.c +1 -1
index be84f7a..c787a43 100644
@@ -207,7 +207,7 @@ void __map_groups__fixup_end(struct map_groups *mg, enum map_type type)
 	for (nd = rb_next(prevnd); nd; nd = rb_next(nd)) {
 		prev = curr;
 		curr = rb_entry(nd, struct map, rb_node);
-		prev->end = curr->start - 1;
+		prev->end = curr->start;
 	}
 
 	/*