summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/event.h
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2009-11-27 16:29:16 -0200
committerIngo Molnar <mingo@elte.hu>2009-11-27 20:21:59 +0100
commit3610583c29563e23dd038d2870f59c88438bf7a3 (patch)
treecb8d20387bcc8e37b0db2432f339387a4fd52150 /tools/perf/util/event.h
parent605ca4ba017455d39ac6991c58eb1e80fb8af48d (diff)
downloadlinux-3610583c29563e23dd038d2870f59c88438bf7a3.tar.gz
linux-3610583c29563e23dd038d2870f59c88438bf7a3.tar.bz2
linux-3610583c29563e23dd038d2870f59c88438bf7a3.zip
perf symbols: Add a 'type' field to struct map
That way we will be able to check if the right symtab is loaded in the underlying DSO. 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> LKML-Reference: <1259346563-12568-5-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf/util/event.h')
-rw-r--r--tools/perf/util/event.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/tools/perf/util/event.h b/tools/perf/util/event.h
index 882a9531db97..29543bd88007 100644
--- a/tools/perf/util/event.h
+++ b/tools/perf/util/event.h
@@ -80,6 +80,10 @@ typedef union event_union {
struct sample_event sample;
} event_t;
+enum map_type {
+ MAP__FUNCTION,
+};
+
struct map {
union {
struct rb_node rb_node;
@@ -87,6 +91,7 @@ struct map {
};
u64 start;
u64 end;
+ enum map_type type;
u64 pgoff;
u64 (*map_ip)(struct map *, u64);
u64 (*unmap_ip)(struct map *, u64);
@@ -112,9 +117,10 @@ struct symbol;
typedef int (*symbol_filter_t)(struct map *map, struct symbol *sym);
-void map__init(struct map *self, u64 start, u64 end, u64 pgoff,
- struct dso *dso);
-struct map *map__new(struct mmap_event *event, char *cwd, int cwdlen);
+void map__init(struct map *self, enum map_type type,
+ u64 start, u64 end, u64 pgoff, struct dso *dso);
+struct map *map__new(struct mmap_event *event, enum map_type,
+ char *cwd, int cwdlen);
void map__delete(struct map *self);
struct map *map__clone(struct map *self);
int map__overlap(struct map *l, struct map *r);