summaryrefslogtreecommitdiffstats
path: root/translate.cxx
diff options
context:
space:
mode:
authorDavid Smith <dsmith@redhat.com>2008-04-11 09:52:55 -0500
committerDavid Smith <dsmith@redhat.com>2008-04-11 09:52:55 -0500
commit342d3f9693ea4eead68ba8ff841132a7adc7776b (patch)
treeff28366732005e38c4cdd9db71196204c8a255d2 /translate.cxx
parent0f3f43c992867e6b1a963872b83ea1dcbf7ddd96 (diff)
downloadsystemtap-steved-342d3f9693ea4eead68ba8ff841132a7adc7776b.tar.gz
systemtap-steved-342d3f9693ea4eead68ba8ff841132a7adc7776b.tar.xz
systemtap-steved-342d3f9693ea4eead68ba8ff841132a7adc7776b.zip
2008-04-11 David Smith <dsmith@redhat.com>
* elaborate.h (struct derived_probe_group): Added emit_module_header virtual function. * translate.cxx (c_unparser::emit_common_header): Calls each probe group's emit_module_header function. (translate_pass): Moved inclusion of linux/marker.h to mark_derived_probe_group::emit_module_header(). * tapsets.cxx (struct be_derived_probe_group): Added empty emit_module_header function. (struct timer_derived_probe_group): Ditto. (struct profile_derived_probe_group): Ditto. (struct procfs_derived_probe_group): Ditto. (struct hrtimer_derived_probe_group): Ditto. (struct perfmon_derived_probe_group): Ditto. (dwarf_derived_probe_group::emit_module_header): Moved kprobes kernel check from emit_module_decls() to here. (uprobe_derived_probe_group::emit_module_header): Moved uprobe kernel check from emit_module_decls() to here. (uprobe_derived_probe_group::emit_module_decls): Moved uprobe kernel check to emit_module_header(). (mark_derived_probe_group::emit_module_header): Moved marker kernel check from emit_module_decls and translate_pass() to here. (uprobe_derived_probe_group::emit_module_decls): Moved marker kernel check to emit_module_header().
Diffstat (limited to 'translate.cxx')
-rw-r--r--translate.cxx9
1 files changed, 5 insertions, 4 deletions
diff --git a/translate.cxx b/translate.cxx
index c9ec094a..ba848d43 100644
--- a/translate.cxx
+++ b/translate.cxx
@@ -849,6 +849,11 @@ translator_output::line ()
void
c_unparser::emit_common_header ()
{
+ vector<derived_probe_group*> g = all_session_groups (*session);
+ for (unsigned i=0; i<g.size(); i++)
+ g[i]->emit_module_header (*session);
+
+ o->newline();
o->newline() << "typedef char string_t[MAXSTRINGLEN];";
o->newline();
o->newline() << "#define STAP_SESSION_STARTING 0";
@@ -4526,10 +4531,6 @@ translate_pass (systemtap_session& s)
s.op->newline() << "#define read_trylock(x) ({ read_lock(x); 1; })";
s.op->newline() << "#endif";
- s.op->newline() << "#if defined(CONFIG_MARKERS)";
- s.op->newline() << "#include <linux/marker.h>";
- s.op->newline() << "#endif";
-
s.up->emit_common_header (); // context etc.
for (unsigned i=0; i<s.embeds.size(); i++)