summaryrefslogtreecommitdiffstats
path: root/elaborate.h
diff options
context:
space:
mode:
authordsmith <dsmith>2007-05-21 21:21:13 +0000
committerdsmith <dsmith>2007-05-21 21:21:13 +0000
commit2c384610cea3e62da8a4af676b5f8be523741b88 (patch)
tree3640552069c2ef7388a9a3c2202ccd1b9ecd8cbc /elaborate.h
parent2f675c1e854d1546ade5c29b3fb8ddf41349c5e0 (diff)
downloadsystemtap-steved-2c384610cea3e62da8a4af676b5f8be523741b88.tar.gz
systemtap-steved-2c384610cea3e62da8a4af676b5f8be523741b88.tar.xz
systemtap-steved-2c384610cea3e62da8a4af676b5f8be523741b88.zip
2007-05-21 David Smith <dsmith@redhat.com>
PR 4446. * elaborate.h (derived_probe::initialize_probe_context_vars): New virtual function that will allow added context vars to be initialized. * translate.cxx (c_unparser::emit_common_header): Added 'mark_va_list'. (c_unparser::emit_probe): Calls new function initialize_probe_context_vars. (translate_pass): Includes linux/marker.h if CONFIG_MARKERS is defined. * tapsets.cxx (struct dwarf_query): Split into base_query (which contains most of the original code) and a much smaller dwarf_query class. (struct base_query): New class. (dwarf_query::handle_query_module): New function. (query_module): Moved code into dwarf_query::handle_query_module(). (mark_derived_probe): Adjusted for new kernel markers. (mark_derived_probe_group): Ditto. (mark_var_expanding_copy_visitor): Ditto. (mark_var_expanding_copy_visitor::visit_target_symbol): Generates code for new kernel markers. (struct mark_query): New class. (mark_query::handle_query_module): New function. (mark_derived_probe::mark_derived_probe): Adjusted for new kernel markers. (mark_derived_probe::join_group): Ditto. (mark_derived_probe::emit_probe_context_vars): Ditto. (mark_derived_probe::parse_probe_sig): New function. (mark_derived_probe::initialize_probe_context_vars): New function. (mark_derived_probe::emit_module_decls): Adjust for new kernel markers. (mark_derived_probe::emit_module_init): Ditto. (mark_derived_probe::emit_module_exit): Ditto. (struct mark_builder): Ditto. (mark_builder::build): Ditto.
Diffstat (limited to 'elaborate.h')
-rw-r--r--elaborate.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/elaborate.h b/elaborate.h
index 65ccb2f6..71811193 100644
--- a/elaborate.h
+++ b/elaborate.h
@@ -123,6 +123,10 @@ struct derived_probe: public probe
// From within unparser::emit_common_header, add any extra variables
// to this probe's context locals.
+ virtual void initialize_probe_context_vars (translator_output*) {}
+ // From within unparser::emit_probe, initialized any extra variables
+ // in this probe's context locals.
+
public:
static void emit_common_header (translator_output* o);
// from c_unparser::emit_common_header