|
@@ -647,7 +647,8 @@ static int __symbol__inc_addr_samples(struct symbol *sym, struct map *map,
|
|
|
|
|
|
pr_debug3("%s: addr=%#" PRIx64 "\n", __func__, map->unmap_ip(map, addr));
|
|
|
|
|
|
- if (addr < sym->start || addr >= sym->end) {
|
|
|
+ if ((addr < sym->start || addr >= sym->end) &&
|
|
|
+ (addr != sym->end || sym->start != sym->end)) {
|
|
|
pr_debug("%s(%d): ERANGE! sym->name=%s, start=%#" PRIx64 ", addr=%#" PRIx64 ", end=%#" PRIx64 "\n",
|
|
|
__func__, __LINE__, sym->name, sym->start, addr, sym->end);
|
|
|
return -ERANGE;
|