|
|
@@ -556,7 +556,7 @@ struct symbol *map_groups__find_symbol_by_name(struct map_groups *mg,
|
|
|
|
|
|
int map_groups__find_ams(struct addr_map_symbol *ams, symbol_filter_t filter)
|
|
|
{
|
|
|
- if (ams->addr < ams->map->start || ams->addr > ams->map->end) {
|
|
|
+ if (ams->addr < ams->map->start || ams->addr >= ams->map->end) {
|
|
|
if (ams->map->groups == NULL)
|
|
|
return -1;
|
|
|
ams->map = map_groups__find(ams->map->groups, ams->map->type,
|
|
|
@@ -664,7 +664,7 @@ int map_groups__fixup_overlappings(struct map_groups *mg, struct map *map,
|
|
|
goto move_map;
|
|
|
}
|
|
|
|
|
|
- before->end = map->start - 1;
|
|
|
+ before->end = map->start;
|
|
|
map_groups__insert(mg, before);
|
|
|
if (verbose >= 2)
|
|
|
map__fprintf(before, fp);
|
|
|
@@ -678,7 +678,7 @@ int map_groups__fixup_overlappings(struct map_groups *mg, struct map *map,
|
|
|
goto move_map;
|
|
|
}
|
|
|
|
|
|
- after->start = map->end + 1;
|
|
|
+ after->start = map->end;
|
|
|
map_groups__insert(mg, after);
|
|
|
if (verbose >= 2)
|
|
|
map__fprintf(after, fp);
|