aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/map.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/map.c')
-rw-r--r--tools/perf/util/map.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/tools/perf/util/map.c b/tools/perf/util/map.c
index 76bdca640a9b..8b3dd467adb5 100644
--- a/tools/perf/util/map.c
+++ b/tools/perf/util/map.c
@@ -104,10 +104,11 @@ void map__fixup_end(struct map *self)
104 104
105#define DSO__DELETED "(deleted)" 105#define DSO__DELETED "(deleted)"
106 106
107static int map__load(struct map *self, symbol_filter_t filter) 107static int map__load(struct map *self, struct perf_session *session,
108 symbol_filter_t filter)
108{ 109{
109 const char *name = self->dso->long_name; 110 const char *name = self->dso->long_name;
110 int nr = dso__load(self->dso, self, filter); 111 int nr = dso__load(self->dso, self, session, filter);
111 112
112 if (nr < 0) { 113 if (nr < 0) {
113 if (self->dso->has_build_id) { 114 if (self->dso->has_build_id) {
@@ -143,19 +144,20 @@ static int map__load(struct map *self, symbol_filter_t filter)
143 return 0; 144 return 0;
144} 145}
145 146
146struct symbol *map__find_symbol(struct map *self, u64 addr, 147struct symbol *map__find_symbol(struct map *self, struct perf_session *session,
147 symbol_filter_t filter) 148 u64 addr, symbol_filter_t filter)
148{ 149{
149 if (!dso__loaded(self->dso, self->type) && map__load(self, filter) < 0) 150 if (!dso__loaded(self->dso, self->type) && map__load(self, session, filter) < 0)
150 return NULL; 151 return NULL;
151 152
152 return dso__find_symbol(self->dso, self->type, addr); 153 return dso__find_symbol(self->dso, self->type, addr);
153} 154}
154 155
155struct symbol *map__find_symbol_by_name(struct map *self, const char *name, 156struct symbol *map__find_symbol_by_name(struct map *self, const char *name,
157 struct perf_session *session,
156 symbol_filter_t filter) 158 symbol_filter_t filter)
157{ 159{
158 if (!dso__loaded(self->dso, self->type) && map__load(self, filter) < 0) 160 if (!dso__loaded(self->dso, self->type) && map__load(self, session, filter) < 0)
159 return NULL; 161 return NULL;
160 162
161 if (!dso__sorted_by_name(self->dso, self->type)) 163 if (!dso__sorted_by_name(self->dso, self->type))