47
48 objs=
49
50 for oogle in doogle bagnoogle; do
51 cat > $oogle.c <<EOF
52 #include <sys/sdt.h>
53
54 void
55 $oogle()
56 {
57 DTRACE_PROBE($oogle, knows);
58 }
59 EOF
60
61 cat > $oogle.d <<EOF
62 provider $oogle {
63 probe knows();
64 };
65 EOF
66
67 cc -c $oogle.c
68
69 if [ $? -ne 0 ]; then
70 print -u2 "failed to compile $oogle.c"
71 exit 1
72 fi
73
74 $dtrace -G -32 -s $oogle.d $oogle.o -o $oogle.d.o
75
76 if [ $? -ne 0 ]; then
77 print -u2 "failed to process $oogle.d"
78 exit 1
79 fi
80
81 objs="$objs $oogle.o $oogle.d.o"
82 echo $oogle'();' >> test.c
83 echo $oogle'$target:::{@[probefunc] = count()}' >> test.d
84 done
85
86 echo "}" >> test.c
87
88 echo 'END{printa("%-10s %@d\\n", @)}' >> test.d
89
90 cc -o test test.c $objs
91
92 if [ $? -ne 0 ]; then
93 print -u2 "failed to compile test.c"
94 exit 1
95 fi
96
97 $dtrace -s ./test.d -Zc ./test
98
99 if [ $? -ne 0 ]; then
100 print -u2 "failed to execute test"
101 exit 1
102 fi
103
104 cd /
105 /usr/bin/rm -rf $DIR
106 exit 0
|
47
48 objs=
49
50 for oogle in doogle bagnoogle; do
51 cat > $oogle.c <<EOF
52 #include <sys/sdt.h>
53
54 void
55 $oogle()
56 {
57 DTRACE_PROBE($oogle, knows);
58 }
59 EOF
60
61 cat > $oogle.d <<EOF
62 provider $oogle {
63 probe knows();
64 };
65 EOF
66
67 gcc -m32 -c $oogle.c
68
69 if [ $? -ne 0 ]; then
70 print -u2 "failed to compile $oogle.c"
71 exit 1
72 fi
73
74 $dtrace -G -32 -s $oogle.d $oogle.o -o $oogle.d.o
75
76 if [ $? -ne 0 ]; then
77 print -u2 "failed to process $oogle.d"
78 exit 1
79 fi
80
81 objs="$objs $oogle.o $oogle.d.o"
82 echo $oogle'();' >> test.c
83 echo $oogle'$target:::{@[probefunc] = count()}' >> test.d
84 done
85
86 echo "}" >> test.c
87
88 echo 'END{printa("%-10s %@d\\n", @)}' >> test.d
89
90 gcc -m32 -o test test.c $objs
91
92 if [ $? -ne 0 ]; then
93 print -u2 "failed to compile test.c"
94 exit 1
95 fi
96
97 $dtrace -s ./test.d -Zc ./test
98
99 if [ $? -ne 0 ]; then
100 print -u2 "failed to execute test"
101 exit 1
102 fi
103
104 cd /
105 /usr/bin/rm -rf $DIR
106 exit 0
|