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 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'main.cxx') 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': -- cgit