diff options
author | Mark Wielaard <mjw@redhat.com> | 2009-08-24 17:09:29 +0200 |
---|---|---|
committer | Mark Wielaard <mjw@redhat.com> | 2009-08-24 17:13:17 +0200 |
commit | 345bbb3d0f827566083cb124c6f3641639ad98d4 (patch) | |
tree | 71883cf1024a731c8a960b2e38970ff446c3a493 /tapsets.cxx | |
parent | 1392896dcda33324d43392f8e99fed240cf5fb9b (diff) | |
download | systemtap-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.cxx | 14 |
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); } |