diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2009-05-28 14:55:04 -0300 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-05-28 23:25:42 +0200 |
commit | a2928c42a5d69328c3578b41bd4d72f6658cf7dc (patch) | |
tree | 09cf963c18e03482183cdf0b82a23a74b7722f6a /Documentation/perf_counter/util/symbol.h | |
parent | c93f7669098eb97c5376e5396e3dfb734c17df4f (diff) |
perf_counter tools: Move symbol resolution classes from report to libperf
Will be used by perf top as well.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <20090528175504.GC4747@ghostprotocols.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'Documentation/perf_counter/util/symbol.h')
-rw-r--r-- | Documentation/perf_counter/util/symbol.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Documentation/perf_counter/util/symbol.h b/Documentation/perf_counter/util/symbol.h new file mode 100644 index 00000000000..6dffe76a28f --- /dev/null +++ b/Documentation/perf_counter/util/symbol.h @@ -0,0 +1,33 @@ +#ifndef _PERF_SYMBOL_ +#define _PERF_SYMBOL_ 1 + +#include <linux/types.h> +#include "list.h" +#include "rbtree.h" + +struct symbol { + struct rb_node rb_node; + __u64 start; + __u64 end; + char name[0]; +}; + +struct dso { + struct list_head node; + struct rb_root syms; + char name[0]; +}; + +struct dso *dso__new(const char *name); +void dso__delete(struct dso *self); + +struct symbol *dso__find_symbol(struct dso *self, uint64_t ip); + +int dso__load_kallsyms(struct dso *self); +int dso__load_vmlinux(struct dso *self, const char *vmlinux); +int dso__load(struct dso *self); + +size_t dso__fprintf(struct dso *self, FILE *fp); + +void symbol__init(void); +#endif /* _PERF_SYMBOL_ */ |