summaryrefslogtreecommitdiffstats
path: root/testsuite/buildok/marker.stp
blob: cbf2f7fa03ec2549255e2c7424bcf245a6fda0a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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 -