diff options
-rw-r--r-- | tools/perf/builtin-annotate.c | 8 | ||||
-rw-r--r-- | tools/perf/util/symbol.c | 3 | ||||
-rw-r--r-- | tools/perf/util/symbol.h | 1 |
3 files changed, 4 insertions, 8 deletions
diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c index 377cb7c9bdda..0846c8a155ed 100644 --- a/tools/perf/builtin-annotate.c +++ b/tools/perf/builtin-annotate.c | |||
@@ -169,7 +169,6 @@ process_sample_event(event_t *event, unsigned long offset, unsigned long head) | |||
169 | level = '.'; | 169 | level = '.'; |
170 | map = thread__find_map(thread, ip); | 170 | map = thread__find_map(thread, ip); |
171 | if (map != NULL) { | 171 | if (map != NULL) { |
172 | got_map: | ||
173 | ip = map->map_ip(map, ip); | 172 | ip = map->map_ip(map, ip); |
174 | sym = map__find_function(map, ip, symbol_filter); | 173 | sym = map__find_function(map, ip, symbol_filter); |
175 | } else { | 174 | } else { |
@@ -183,10 +182,9 @@ got_map: | |||
183 | * the "[vdso]" dso, but for now lets use the old | 182 | * the "[vdso]" dso, but for now lets use the old |
184 | * trick of looking in the whole kernel symbol list. | 183 | * trick of looking in the whole kernel symbol list. |
185 | */ | 184 | */ |
186 | if ((long long)ip < 0) { | 185 | if ((long long)ip < 0) |
187 | map = kernel_map__functions; | 186 | sym = kernel_maps__find_function(ip, &map, |
188 | goto got_map; | 187 | symbol_filter); |
189 | } | ||
190 | } | 188 | } |
191 | dump_printf(" ...... dso: %s\n", | 189 | dump_printf(" ...... dso: %s\n", |
192 | map ? map->dso->long_name : "<not found>"); | 190 | map ? map->dso->long_name : "<not found>"); |
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index dc25231813ee..0b8a298d41ad 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c | |||
@@ -36,6 +36,7 @@ static int dso__load_kernel_sym(struct dso *self, struct map *map, | |||
36 | unsigned int symbol__priv_size; | 36 | unsigned int symbol__priv_size; |
37 | static int vmlinux_path__nr_entries; | 37 | static int vmlinux_path__nr_entries; |
38 | static char **vmlinux_path; | 38 | static char **vmlinux_path; |
39 | static struct map *kernel_map__functions; | ||
39 | 40 | ||
40 | static struct symbol_conf symbol_conf__defaults = { | 41 | static struct symbol_conf symbol_conf__defaults = { |
41 | .use_modules = true, | 42 | .use_modules = true, |
@@ -1164,8 +1165,6 @@ out: | |||
1164 | return ret; | 1165 | return ret; |
1165 | } | 1166 | } |
1166 | 1167 | ||
1167 | struct map *kernel_map__functions; | ||
1168 | |||
1169 | static void kernel_maps__insert(struct map *map) | 1168 | static void kernel_maps__insert(struct map *map) |
1170 | { | 1169 | { |
1171 | maps__insert(&kernel_maps__functions, map); | 1170 | maps__insert(&kernel_maps__functions, map); |
diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h index 5d0371fe8a06..fb0be9e92bf3 100644 --- a/tools/perf/util/symbol.h +++ b/tools/perf/util/symbol.h | |||
@@ -105,6 +105,5 @@ size_t kernel_maps__fprintf(FILE *fp); | |||
105 | int symbol__init(struct symbol_conf *conf); | 105 | int symbol__init(struct symbol_conf *conf); |
106 | 106 | ||
107 | extern struct list_head dsos__user, dsos__kernel; | 107 | extern struct list_head dsos__user, dsos__kernel; |
108 | extern struct map *kernel_map__functions; | ||
109 | extern struct dso *vdso; | 108 | extern struct dso *vdso; |
110 | #endif /* __PERF_SYMBOL */ | 109 | #endif /* __PERF_SYMBOL */ |