diff options
Diffstat (limited to 'tools/perf/util/map.c')
-rw-r--r-- | tools/perf/util/map.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/tools/perf/util/map.c b/tools/perf/util/map.c index 33f868420d73..94ca95073c40 100644 --- a/tools/perf/util/map.c +++ b/tools/perf/util/map.c | |||
@@ -84,8 +84,18 @@ map__find_symbol(struct map *self, u64 ip, symbol_filter_t filter) | |||
84 | int nr = dso__load(self->dso, self, filter); | 84 | int nr = dso__load(self->dso, self, filter); |
85 | 85 | ||
86 | if (nr < 0) { | 86 | if (nr < 0) { |
87 | pr_warning("Failed to open %s, continuing without symbols\n", | 87 | if (self->dso->has_build_id) { |
88 | self->dso->long_name); | 88 | char sbuild_id[BUILD_ID_SIZE * 2 + 1]; |
89 | |||
90 | build_id__sprintf(self->dso->build_id, | ||
91 | sizeof(self->dso->build_id), | ||
92 | sbuild_id); | ||
93 | pr_warning("%s with build id %s not found", | ||
94 | self->dso->long_name, sbuild_id); | ||
95 | } else | ||
96 | pr_warning("Failed to open %s", | ||
97 | self->dso->long_name); | ||
98 | pr_warning(", continuing without symbols\n"); | ||
89 | return NULL; | 99 | return NULL; |
90 | } else if (nr == 0) { | 100 | } else if (nr == 0) { |
91 | const char *name = self->dso->long_name; | 101 | const char *name = self->dso->long_name; |