diff options
Diffstat (limited to 'tools/perf/util/symbol.h')
-rw-r--r-- | tools/perf/util/symbol.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h index 0d1292bd8270..2c48ace8203b 100644 --- a/tools/perf/util/symbol.h +++ b/tools/perf/util/symbol.h | |||
@@ -2,24 +2,27 @@ | |||
2 | #define _PERF_SYMBOL_ 1 | 2 | #define _PERF_SYMBOL_ 1 |
3 | 3 | ||
4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
5 | #include "types.h" | ||
5 | #include "list.h" | 6 | #include "list.h" |
6 | #include "rbtree.h" | 7 | #include "rbtree.h" |
7 | 8 | ||
8 | struct symbol { | 9 | struct symbol { |
9 | struct rb_node rb_node; | 10 | struct rb_node rb_node; |
10 | __u64 start; | 11 | u64 start; |
11 | __u64 end; | 12 | u64 end; |
12 | __u64 obj_start; | 13 | u64 obj_start; |
13 | __u64 hist_sum; | 14 | u64 hist_sum; |
14 | __u64 *hist; | 15 | u64 *hist; |
16 | void *priv; | ||
15 | char name[0]; | 17 | char name[0]; |
16 | }; | 18 | }; |
17 | 19 | ||
18 | struct dso { | 20 | struct dso { |
19 | struct list_head node; | 21 | struct list_head node; |
20 | struct rb_root syms; | 22 | struct rb_root syms; |
23 | struct symbol *(*find_symbol)(struct dso *, u64 ip); | ||
21 | unsigned int sym_priv_size; | 24 | unsigned int sym_priv_size; |
22 | struct symbol *(*find_symbol)(struct dso *, __u64 ip); | 25 | unsigned char prelinked; |
23 | char name[0]; | 26 | char name[0]; |
24 | }; | 27 | }; |
25 | 28 | ||
@@ -35,7 +38,7 @@ static inline void *dso__sym_priv(struct dso *self, struct symbol *sym) | |||
35 | return ((void *)sym) - self->sym_priv_size; | 38 | return ((void *)sym) - self->sym_priv_size; |
36 | } | 39 | } |
37 | 40 | ||
38 | struct symbol *dso__find_symbol(struct dso *self, __u64 ip); | 41 | struct symbol *dso__find_symbol(struct dso *self, u64 ip); |
39 | 42 | ||
40 | int dso__load_kernel(struct dso *self, const char *vmlinux, | 43 | int dso__load_kernel(struct dso *self, const char *vmlinux, |
41 | symbol_filter_t filter, int verbose); | 44 | symbol_filter_t filter, int verbose); |