diff options
Diffstat (limited to 'tools/perf/util/map.c')
-rw-r--r-- | tools/perf/util/map.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/tools/perf/util/map.c b/tools/perf/util/map.c index 52bb4c6cf74d..69f94fe9db20 100644 --- a/tools/perf/util/map.c +++ b/tools/perf/util/map.c | |||
@@ -82,8 +82,9 @@ void map__delete(struct map *self) | |||
82 | free(self); | 82 | free(self); |
83 | } | 83 | } |
84 | 84 | ||
85 | void map__fixup_start(struct map *self, struct rb_root *symbols) | 85 | void map__fixup_start(struct map *self) |
86 | { | 86 | { |
87 | struct rb_root *symbols = &self->dso->symbols[self->type]; | ||
87 | struct rb_node *nd = rb_first(symbols); | 88 | struct rb_node *nd = rb_first(symbols); |
88 | if (nd != NULL) { | 89 | if (nd != NULL) { |
89 | struct symbol *sym = rb_entry(nd, struct symbol, rb_node); | 90 | struct symbol *sym = rb_entry(nd, struct symbol, rb_node); |
@@ -91,8 +92,9 @@ void map__fixup_start(struct map *self, struct rb_root *symbols) | |||
91 | } | 92 | } |
92 | } | 93 | } |
93 | 94 | ||
94 | void map__fixup_end(struct map *self, struct rb_root *symbols) | 95 | void map__fixup_end(struct map *self) |
95 | { | 96 | { |
97 | struct rb_root *symbols = &self->dso->symbols[self->type]; | ||
96 | struct rb_node *nd = rb_last(symbols); | 98 | struct rb_node *nd = rb_last(symbols); |
97 | if (nd != NULL) { | 99 | if (nd != NULL) { |
98 | struct symbol *sym = rb_entry(nd, struct symbol, rb_node); | 100 | struct symbol *sym = rb_entry(nd, struct symbol, rb_node); |
@@ -102,8 +104,8 @@ void map__fixup_end(struct map *self, struct rb_root *symbols) | |||
102 | 104 | ||
103 | #define DSO__DELETED "(deleted)" | 105 | #define DSO__DELETED "(deleted)" |
104 | 106 | ||
105 | struct symbol *map__find_function(struct map *self, u64 ip, | 107 | struct symbol *map__find_symbol(struct map *self, u64 addr, |
106 | symbol_filter_t filter) | 108 | symbol_filter_t filter) |
107 | { | 109 | { |
108 | if (!dso__loaded(self->dso, self->type)) { | 110 | if (!dso__loaded(self->dso, self->type)) { |
109 | int nr = dso__load(self->dso, self, filter); | 111 | int nr = dso__load(self->dso, self, filter); |
@@ -138,7 +140,7 @@ struct symbol *map__find_function(struct map *self, u64 ip, | |||
138 | } | 140 | } |
139 | } | 141 | } |
140 | 142 | ||
141 | return self->dso->find_function(self->dso, ip); | 143 | return self->dso->find_symbol(self->dso, self->type, addr); |
142 | } | 144 | } |
143 | 145 | ||
144 | struct map *map__clone(struct map *self) | 146 | struct map *map__clone(struct map *self) |