--- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c @@ -1210,6 +1210,7 @@ int maps__merge_in(struct maps *kmaps, s m->end = old_map->start; list_add_tail(&m->node, &merged); + new_map->pgoff += old_map->end - new_map->start; new_map->start = old_map->end; } } else { @@ -1230,6 +1231,7 @@ int maps__merge_in(struct maps *kmaps, s * |new......| -> |new...| * |old....| -> |old....| */ + new_map->pgoff += old_map->end - new_map->start; new_map->start = old_map->end; } }