From 345bbb3d0f827566083cb124c6f3641639ad98d4 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Mon, 24 Aug 2009 17:09:29 +0200 Subject: Fix failing uprobes.exp -p5 failures by removing trailing spaces in $$ vars. * tapsets.cxx (dwarf_var_expanding_visitor::visit_target_symbol_context): Don't add extra space at end of list, only add space between symbols. * testsuite/systemtap.base/uprobes.exp: Use more specific expect regex. * testsuite/systemtap.base/vars.exp: Don't just chop off last char of printf output string. --- tapsets.cxx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'tapsets.cxx') diff --git a/tapsets.cxx b/tapsets.cxx index 76c93a98..878d43b4 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -2115,13 +2115,14 @@ dwarf_var_expanding_visitor::visit_target_symbol_context (target_symbol* e) else { pf->raw_components += "return"; - pf->raw_components += "=%#x "; + pf->raw_components += "=%#x"; pf->args.push_back(texp); } } else { // non-.return probe: support $$parms, $$vars, $$locals + bool first = true; Dwarf_Die result; if (dwarf_child (&scopes[0], &result) == 0) do @@ -2144,6 +2145,10 @@ dwarf_var_expanding_visitor::visit_target_symbol_context (target_symbol* e) const char *diename = dwarf_diename (&result); if (! diename) continue; + if (! first) + pf->raw_components += " "; + pf->raw_components += diename; + tsym->tok = e->tok; tsym->base_name = "$"; tsym->base_name += diename; @@ -2163,15 +2168,14 @@ dwarf_var_expanding_visitor::visit_target_symbol_context (target_symbol* e) } } - pf->raw_components += diename; - pf->raw_components += "=? "; + pf->raw_components += "=?"; } else { - pf->raw_components += diename; - pf->raw_components += "=%#x "; + pf->raw_components += "=%#x"; pf->args.push_back(texp); } + first = false; } while (dwarf_siblingof (&result, &result) == 0); } -- cgit