summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2009-05-14 18:47:33 -0700
committerJosh Stone <jistone@redhat.com>2009-05-14 18:47:33 -0700
commite6f78c1fb041a7bc12d51649384397cd0874c190 (patch)
treebf78f90526d25e72f0f9e6a6f053f451ed73820e
parent01a419e428f33d115a72fa8eac1d808825d2cae5 (diff)
downloadsystemtap-steved-e6f78c1fb041a7bc12d51649384397cd0874c190.tar.gz
systemtap-steved-e6f78c1fb041a7bc12d51649384397cd0874c190.tar.xz
systemtap-steved-e6f78c1fb041a7bc12d51649384397cd0874c190.zip
[tracepoints] Print pointer arguments with %p
We know the full type of every tracepoint argument, so for those that are pointers, print $$vars/$$parms using "%p". The integer-type arguments continue to use the generic "%#x".
-rw-r--r--tapsets.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/tapsets.cxx b/tapsets.cxx
index a027c083..137cd801 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -7404,7 +7404,11 @@ tracepoint_var_expanding_visitor::visit_target_symbol_context (target_symbol* e)
expression *texp = require (tsym); // NB: throws nothing ...
assert (!tsym->saved_conversion_error); // ... but this is how we know it happened.
- pf->raw_components += "=%#x";
+ if (args[i].isptr)
+ pf->raw_components += "=%p";
+ else
+ pf->raw_components += "=%#x";
+
pf->args.push_back(texp);
}