From 35d4ab18d5d333ffcac436ea174beb7201275c65 Mon Sep 17 00:00:00 2001 From: fche Date: Fri, 21 Apr 2006 19:51:43 +0000 Subject: 2006-04-21 Frank Ch. Eigler PR 953 * elaborate.h (derived_probe): Add field "name". Stop passing "probe index" to other emit_* calls. (emit_probe_context_vars): New member function. * elaborate.cxx (derived_probe ctor): Generate unique name. * translate.cxx (*): Adapt to index->name. (emit_probe): Realize that probe locals only occur at nesting=0. * tapsets.cxx (*derived_probe::emit_*): Adapt to index->name. (mark_var_expanding_copy_visitor): New class to process $argN. (mark_derived_probe ctor): Call it. (mark_derived_probe::emit_probe_context_vars): Do it. * buildrun.cxx (compile_pass): Add more optional gcc verbosity. Add CFLAGS += -freorder-blocks. * testsuite/buildok/marker.stp: New test. --- testsuite/buildok/marker.stp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 testsuite/buildok/marker.stp (limited to 'testsuite') diff --git a/testsuite/buildok/marker.stp b/testsuite/buildok/marker.stp new file mode 100755 index 00000000..cbf2f7fa --- /dev/null +++ b/testsuite/buildok/marker.stp @@ -0,0 +1,24 @@ +#! /bin/sh + +( +echo 'probe begin {}' +smap=/boot/System.map-`uname -r` +if [ -f $smap ] +then + # v-- exclude modules + grep __systemtap_mark $smap | fgrep -v '[' | while read addr section symbol + do + mark=`expr $symbol : '__systemtap_mark_\([a-zA-Z0-9_]\+\)_[NS]*\.[0-9]\+'` + sig=`expr $symbol : '__systemtap_mark_[a-zA-Z0-9_]\+_\([NS]*\)\.[0-9]\+'` + siglen=`expr length "$sig"` +# echo $mark $sig $siglen + echo 'probe kernel.mark("'$mark'") {' + i=0 + while [ $i -lt $siglen ]; do + i=`expr $i + 1` + echo ' print ($arg'$i')' + done + echo '}' + done +fi +) | ./stap -p4 - -- cgit