From 8c39844b59f49526240c65b81a79eef311fe4177 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Wed, 29 Jul 2009 12:35:29 -0700 Subject: Use a real session flag for -L Rather than relying on 'unoptimized' to tell us that the listing mode should print the variables too, this adds an explicit listing_mode_vars. * session.h (systemtap_session): Add listing_mode_vars * main.cxx (main): Set s.listing_mode_vars appropriately. (printscript): Use the new flag for deciding whether to print locals --- main.cxx | 23 +++++++++++++---------- session.h | 1 + 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/main.cxx b/main.cxx index 9dc658ff..6a9444de 100644 --- a/main.cxx +++ b/main.cxx @@ -193,16 +193,17 @@ printscript(systemtap_session& s, ostream& o) { o << pp; // Print the locals for -L mode only - if (s.unoptimized) { - for (unsigned j=0; jlocals.size(); j++) - { - o << " "; - vardecl* v = p->locals[j]; - v->printsig (o); - } - // Print arguments of probe if there - p->printargs(o); - } + if (s.listing_mode_vars) + { + for (unsigned j=0; jlocals.size(); j++) + { + o << " "; + vardecl* v = p->locals[j]; + v->printsig (o); + } + // Print arguments of probe if there + p->printargs(o); + } o << endl; seen.insert (pp); } @@ -377,6 +378,7 @@ main (int argc, char * const argv []) s.unoptimized = false; s.suppress_warnings = false; s.listing_mode = false; + s.listing_mode_vars = false; #ifdef ENABLE_PROLOGUES s.prologue_searching = true; @@ -665,6 +667,7 @@ main (int argc, char * const argv []) break; case 'L': + s.listing_mode_vars = true; s.unoptimized = true; // This causes retention of variables for listing_mode case 'l': diff --git a/session.h b/session.h index e68cd6df..cd12f495 100644 --- a/session.h +++ b/session.h @@ -103,6 +103,7 @@ struct systemtap_session bool keep_tmpdir; bool guru_mode; bool listing_mode; + bool listing_mode_vars; bool bulk_mode; bool unoptimized; bool merge; -- cgit