aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/symbol.h
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2010-03-15 10:46:58 -0400
committerIngo Molnar <mingo@elte.hu>2010-03-15 11:08:42 -0400
commitb0a9ab62ab96e258a0ddd81d7fe2719c3db36006 (patch)
treef86b57423ac24262533a11fae4c5dc72f7b912bd /tools/perf/util/symbol.h
parentbedbfdea31daf3880745001d56450c683959ee7e (diff)
perf top: Properly notify the user that vmlinux is missing
Before this patch this message would very briefly appear on the screen and then the screen would get updates only on the top, for number of interrupts received, etc, but no annotation would be performed: [root@doppio linux-2.6-tip]# perf top -s n_tty_write > /tmp/bla objdump: '[kernel.kallsyms]': No such file Now this is what the user gets: [root@doppio linux-2.6-tip]# perf top -s n_tty_write Can't annotate n_tty_write: No vmlinux file was found in the path: [0] vmlinux [1] /boot/vmlinux [2] /boot/vmlinux-2.6.33-rc5 [3] /lib/modules/2.6.33-rc5/build/vmlinux [4] /usr/lib/debug/lib/modules/2.6.33-rc5/vmlinux [root@doppio linux-2.6-tip]# This bug was introduced when we added automatic search for vmlinux, before that time the user had to specify a vmlinux file. Reported-by: David S. Miller <davem@davemloft.net> Reported-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Frédéric Weisbecker <fweisbec@gmail.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> Cc: <stable@kernel.org> LKML-Reference: <1268664418-28328-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf/util/symbol.h')
-rw-r--r--tools/perf/util/symbol.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h
index 280dadd32a08..d983bbaf99c5 100644
--- a/tools/perf/util/symbol.h
+++ b/tools/perf/util/symbol.h
@@ -149,6 +149,19 @@ size_t dsos__fprintf_buildid(FILE *fp, bool with_hits);
149 149
150size_t dso__fprintf_buildid(struct dso *self, FILE *fp); 150size_t dso__fprintf_buildid(struct dso *self, FILE *fp);
151size_t dso__fprintf(struct dso *self, enum map_type type, FILE *fp); 151size_t dso__fprintf(struct dso *self, enum map_type type, FILE *fp);
152
153enum dso_origin {
154 DSO__ORIG_KERNEL = 0,
155 DSO__ORIG_JAVA_JIT,
156 DSO__ORIG_BUILD_ID_CACHE,
157 DSO__ORIG_FEDORA,
158 DSO__ORIG_UBUNTU,
159 DSO__ORIG_BUILDID,
160 DSO__ORIG_DSO,
161 DSO__ORIG_KMODULE,
162 DSO__ORIG_NOT_FOUND,
163};
164
152char dso__symtab_origin(const struct dso *self); 165char dso__symtab_origin(const struct dso *self);
153void dso__set_long_name(struct dso *self, char *name); 166void dso__set_long_name(struct dso *self, char *name);
154void dso__set_build_id(struct dso *self, void *build_id); 167void dso__set_build_id(struct dso *self, void *build_id);
@@ -168,4 +181,6 @@ int kallsyms__parse(const char *filename, void *arg,
168int symbol__init(void); 181int symbol__init(void);
169bool symbol_type__is_a(char symbol_type, enum map_type map_type); 182bool symbol_type__is_a(char symbol_type, enum map_type map_type);
170 183
184size_t vmlinux_path__fprintf(FILE *fp);
185
171#endif /* __PERF_SYMBOL */ 186#endif /* __PERF_SYMBOL */