From f4b2849102b2a195dd79bede8ec58f46fb99435e Mon Sep 17 00:00:00 2001 From: fche Date: Tue, 5 Jul 2005 20:38:37 +0000 Subject: 2005-07-05 Frank Ch. Eigler * elaborate.h (systemtap_session): Add more command-line arguments. * staptree.h (verbose): Bad global, no donut. * elaborate.cxx: Temporarily disable verbose variable access. * main.cxx: Support more arguments, build/run passes. Revamp temporary file generation and partial-pass output generation. * tapsets.cxx, translate.cxx: Emit just enough extra punctuation and fluff to make generated probe pass -Werror. * buildrun.cxx, buildrun.h: New files for passes 4/5. Partial support for build pass, nothing on probe execution yet. * testsuite/transok/*.stp: Force just -p3, now that -p4/5 exist. * Makefile.am, Makefile.in: Corresponding changes. --- tapsets.cxx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'tapsets.cxx') diff --git a/tapsets.cxx b/tapsets.cxx index a56fb659..160cb2fe 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -70,7 +70,7 @@ be_derived_probe::emit_registrations (translator_output* o, unsigned j) if (begin) for (unsigned i=0; inewline() << "enter_" << j << "_" << i << " ()"; + o->newline() << "enter_" << j << "_" << i << " ();"; o->newline() << "rc = errorcount;"; } else @@ -86,7 +86,7 @@ be_derived_probe::emit_deregistrations (translator_output* o, unsigned j) else for (unsigned i=0; inewline() << "enter_" << j << "_" << i << " ()"; + o->newline() << "enter_" << j << "_" << i << " ();"; o->newline() << "rc = errorcount;"; } } @@ -99,8 +99,8 @@ be_derived_probe::emit_probe_entries (translator_output* o, unsigned j) { probe_point *l = locations[i]; o->newline() << "/* location " << i << ": " << *l << " */"; - o->newline() << "static void enter_" << j << "_" << i << " ()"; - o->newline() << "{"; + o->newline() << "static void enter_" << j << "_" << i << " (void);"; + o->newline() << "void enter_" << j << "_" << i << " () {"; o->newline(1) << "struct context* c = & contexts [0];"; // XXX: assert #0 is free; need locked search instead o->newline() << "if (c->busy) { errorcount ++; return; }"; @@ -1063,6 +1063,8 @@ dwarf_derived_probe::emit_probe_entries (translator_output* o, unsigned probenum o->newline(); o->newline() << "static void "; + o->newline() << probe_entry_function_name(probenum) << " (void);"; + o->newline() << "void "; o->newline() << probe_entry_function_name(probenum) << " ()"; o->newline() << "{"; o->newline(1) << "struct context* c = & contexts [0];"; -- cgit