aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/symbol.h
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2010-02-03 16:52:02 -0200
committerIngo Molnar <mingo@elte.hu>2010-02-04 09:33:26 +0100
commit8d92c02ab07602786eaa6d4e5b519395730b3fd3 (patch)
tree3615a65a57f7e1de03af33440f550cdac22a38ce /tools/perf/util/symbol.h
parent6275ce2d5f44ae4f8575c24724525cbb2a3a141b (diff)
downloadkernel_samsung_smdk4412-8d92c02ab07602786eaa6d4e5b519395730b3fd3.zip
kernel_samsung_smdk4412-8d92c02ab07602786eaa6d4e5b519395730b3fd3.tar.gz
kernel_samsung_smdk4412-8d92c02ab07602786eaa6d4e5b519395730b3fd3.tar.bz2
perf symbols: Ditch vdso global variable
We can check using strcmp, most DSOs don't start with '[' so the test is cheap enough and we had to test it there anyway since when reading perf.data files we weren't calling the routine that created this global variable and thus weren't setting it as "loaded", which was causing a bogus: Failed to open [vdso], continuing without symbols Message as the first line of 'perf report'. 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: <1265223128-11786-3-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.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h
index e6a59e5..e90568a 100644
--- a/tools/perf/util/symbol.h
+++ b/tools/perf/util/symbol.h
@@ -121,6 +121,11 @@ void dso__delete(struct dso *self);
bool dso__loaded(const struct dso *self, enum map_type type);
bool dso__sorted_by_name(const struct dso *self, enum map_type type);
+static inline void dso__set_loaded(struct dso *self, enum map_type type)
+{
+ self->loaded |= (1 << type);
+}
+
void dso__sort_by_name(struct dso *self, enum map_type type);
extern struct list_head dsos__user, dsos__kernel;
@@ -161,5 +166,4 @@ int kallsyms__parse(const char *filename, void *arg,
int symbol__init(void);
bool symbol_type__is_a(char symbol_type, enum map_type map_type);
-extern struct dso *vdso;
#endif /* __PERF_SYMBOL */