perf report: Add debug help for the finding of symbol bugs - show the symtab origin...
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / tools / perf / util / module.h
blob8a592ef641cae98c7544bcd3f49666962967a718
1 #ifndef _PERF_MODULE_
2 #define _PERF_MODULE_ 1
4 #include <linux/types.h>
5 #include "../types.h"
6 #include <linux/list.h>
7 #include <linux/rbtree.h>
9 struct section {
10 struct rb_node rb_node;
11 u64 hash;
12 u64 vma;
13 char *name;
14 char *path;
17 struct sec_dso {
18 struct list_head node;
19 struct rb_root secs;
20 struct section *(*find_section)(struct sec_dso *, const char *name);
21 char name[0];
24 struct module {
25 struct rb_node rb_node;
26 u64 hash;
27 char *name;
28 char *path;
29 struct sec_dso *sections;
30 int active;
33 struct mod_dso {
34 struct list_head node;
35 struct rb_root mods;
36 struct module *(*find_module)(struct mod_dso *, const char *name);
37 char name[0];
40 struct sec_dso *sec_dso__new_dso(const char *name);
41 void sec_dso__delete_sections(struct sec_dso *self);
42 void sec_dso__delete_self(struct sec_dso *self);
43 size_t sec_dso__fprintf(struct sec_dso *self, FILE *fp);
44 struct section *sec_dso__find_section(struct sec_dso *self, const char *name);
46 struct mod_dso *mod_dso__new_dso(const char *name);
47 void mod_dso__delete_modules(struct mod_dso *self);
48 void mod_dso__delete_self(struct mod_dso *self);
49 size_t mod_dso__fprintf(struct mod_dso *self, FILE *fp);
50 struct module *mod_dso__find_module(struct mod_dso *self, const char *name);
51 int mod_dso__load_modules(struct mod_dso *dso);
53 #endif /* _PERF_MODULE_ */