summaryrefslogtreecommitdiffstats
path: root/tapsets.cxx
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2009-08-24 17:09:29 +0200
committerMark Wielaard <mjw@redhat.com>2009-08-24 17:13:17 +0200
commit345bbb3d0f827566083cb124c6f3641639ad98d4 (patch)
tree71883cf1024a731c8a960b2e38970ff446c3a493 /tapsets.cxx
parent1392896dcda33324d43392f8e99fed240cf5fb9b (diff)
downloadsystemtap-steved-345bbb3d0f827566083cb124c6f3641639ad98d4.tar.gz
systemtap-steved-345bbb3d0f827566083cb124c6f3641639ad98d4.tar.xz
systemtap-steved-345bbb3d0f827566083cb124c6f3641639ad98d4.zip
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.
Diffstat (limited to 'tapsets.cxx')
-rw-r--r--tapsets.cxx14
1 files changed, 9 insertions, 5 deletions
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);
}