summaryrefslogtreecommitdiffstats
path: root/setupdwfl.h
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2009-09-29 00:12:26 +0200
committerMark Wielaard <mjw@redhat.com>2009-09-29 00:24:06 +0200
commit5f8ca04fbb0682ff8647b4df5de68cd1042e312d (patch)
tree22fea238c8e5175e4040f1b38046b7686c053b8c /setupdwfl.h
parentdc3f293b2581a31e78edad07cf41f7c10106ab4b (diff)
downloadsystemtap-steved-5f8ca04fbb0682ff8647b4df5de68cd1042e312d.tar.gz
systemtap-steved-5f8ca04fbb0682ff8647b4df5de68cd1042e312d.tar.xz
systemtap-steved-5f8ca04fbb0682ff8647b4df5de68cd1042e312d.zip
Factor out duplicated code to setup user/module Dwfl from dwflpp/translate.
* setupdwfl.h: Add setup_dwfl_user() and is_user_module(). * setupdwfl.cxx: Likewise. * dwflpp.cxx (setup_user): Use setup_dwfl_user(). * translate.cxx (emit_symbol_data): Likewise and is_user_module(). * tapsets.cxx (dwarf_cast_expanding_visitor::visit_cast_op): Use is_user_module().
Diffstat (limited to 'setupdwfl.h')
-rw-r--r--setupdwfl.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/setupdwfl.h b/setupdwfl.h
index 7884e4da..67a66397 100644
--- a/setupdwfl.h
+++ b/setupdwfl.h
@@ -14,6 +14,7 @@
#include <set>
#include <string>
+#include <vector>
extern "C" {
#include <elfutils/libdwfl.h>
@@ -25,4 +26,13 @@ Dwfl *setup_dwfl_kernel(const std::string &name,
Dwfl *setup_dwfl_kernel(const std::set<std::string> &names,
unsigned *found,
systemtap_session &s);
+
+Dwfl* setup_dwfl_user(const std::string &name);
+Dwfl* setup_dwfl_user(std::vector<std::string>::const_iterator &begin,
+ const std::vector<std::string>::const_iterator &end,
+ bool all_needed);
+
+// user-space files must be full paths and not end in .ko
+bool is_user_module(const std::string &m);
+
#endif