diff options
Diffstat (limited to 'tools/perf/util/symbol.c')
-rw-r--r-- | tools/perf/util/symbol.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index be84f7a9838b..078331140d8c 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c | |||
@@ -186,7 +186,7 @@ void symbols__fixup_end(struct rb_root *symbols) | |||
186 | curr = rb_entry(nd, struct symbol, rb_node); | 186 | curr = rb_entry(nd, struct symbol, rb_node); |
187 | 187 | ||
188 | if (prev->end == prev->start && prev->end != curr->start) | 188 | if (prev->end == prev->start && prev->end != curr->start) |
189 | prev->end = curr->start - 1; | 189 | prev->end = curr->start; |
190 | } | 190 | } |
191 | 191 | ||
192 | /* Last entry */ | 192 | /* Last entry */ |
@@ -207,7 +207,7 @@ void __map_groups__fixup_end(struct map_groups *mg, enum map_type type) | |||
207 | for (nd = rb_next(prevnd); nd; nd = rb_next(nd)) { | 207 | for (nd = rb_next(prevnd); nd; nd = rb_next(nd)) { |
208 | prev = curr; | 208 | prev = curr; |
209 | curr = rb_entry(nd, struct map, rb_node); | 209 | curr = rb_entry(nd, struct map, rb_node); |
210 | prev->end = curr->start - 1; | 210 | prev->end = curr->start; |
211 | } | 211 | } |
212 | 212 | ||
213 | /* | 213 | /* |
@@ -229,7 +229,7 @@ struct symbol *symbol__new(u64 start, u64 len, u8 binding, const char *name) | |||
229 | sym = ((void *)sym) + symbol_conf.priv_size; | 229 | sym = ((void *)sym) + symbol_conf.priv_size; |
230 | 230 | ||
231 | sym->start = start; | 231 | sym->start = start; |
232 | sym->end = len ? start + len - 1 : start; | 232 | sym->end = len ? start + len : start; |
233 | sym->binding = binding; | 233 | sym->binding = binding; |
234 | sym->namelen = namelen - 1; | 234 | sym->namelen = namelen - 1; |
235 | 235 | ||
@@ -325,7 +325,7 @@ static struct symbol *symbols__find(struct rb_root *symbols, u64 ip) | |||
325 | 325 | ||
326 | if (ip < s->start) | 326 | if (ip < s->start) |
327 | n = n->rb_left; | 327 | n = n->rb_left; |
328 | else if (ip > s->end) | 328 | else if (ip >= s->end) |
329 | n = n->rb_right; | 329 | n = n->rb_right; |
330 | else | 330 | else |
331 | return s; | 331 | return s; |