summaryrefslogtreecommitdiffstats
path: root/session.h
diff options
context:
space:
mode:
authordsmith <dsmith>2006-10-11 14:56:09 +0000
committerdsmith <dsmith>2006-10-11 14:56:09 +0000
commit1d3a40b69576b5509671647e556b79ff5d6d17b7 (patch)
tree3d412ded6c556114fbd683076a5585a2a909fc1b /session.h
parent6e5aef4f27a2d02de416539062987acbf209e841 (diff)
downloadsystemtap-steved-1d3a40b69576b5509671647e556b79ff5d6d17b7.tar.gz
systemtap-steved-1d3a40b69576b5509671647e556b79ff5d6d17b7.tar.xz
systemtap-steved-1d3a40b69576b5509671647e556b79ff5d6d17b7.zip
2006-10-11 David Smith <dsmith@redhat.com>
* tapsets.cxx (in_kprobes_function): New function that looks up the values of '__kprobes_text_start' and '__kprobes_text_end' in the kernel to be able to automatically exclude functions marked as '__kprobes' (BZ# 2639). (blacklisted_p): Calls in_kprobes_function(). (query_kernel_module): Utility function that finds the kernel module. * session.h (struct systemtap_session): Added kprobes_text variables - kprobes_text_initialized, kprobes_text_start, and kprobes_text_end. * elaborate.cxx (systemtap_session::systemtap_session): kprobes_text variables get initialized.
Diffstat (limited to 'session.h')
-rw-r--r--session.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/session.h b/session.h
index fa8d375a..75e13136 100644
--- a/session.h
+++ b/session.h
@@ -16,6 +16,10 @@
#include <sstream>
#include <map>
+extern "C" {
+#include <elfutils/libdw.h>
+}
+
// forward decls for all referenced systemtap types
struct match_node;
@@ -109,6 +113,11 @@ struct systemtap_session
translator_output* op;
unparser* up;
+ // kprobes_text data
+ bool kprobes_text_initialized;
+ Dwarf_Addr kprobes_text_start;
+ Dwarf_Addr kprobes_text_end;
+
unsigned num_errors;
// void print_error (const parse_error& e);
void print_error (const semantic_error& e);