54
55 cat > test.c <<EOF
56 #include <sys/types.h>
57 #include "prov.h"
58
59 static void
60 foo(void)
61 {
62 TEST_PROV_GO();
63 }
64
65 int
66 main(int argc, char **argv)
67 {
68 foo();
69
70 return (0);
71 }
72 EOF
73
74 gcc -c test.c
75 if [ $? -ne 0 ]; then
76 print -u2 "failed to compile test.c"
77 exit 1
78 fi
79 $dtrace -G -32 -s prov.d test.o
80 if [ $? -ne 0 ]; then
81 print -u2 "failed to create DOF"
82 exit 1
83 fi
84 gcc -o test test.o prov.o
85 if [ $? -ne 0 ]; then
86 print -u2 "failed to link final executable"
87 exit 1
88 fi
89
90 nm test.o | grep \$dtrace > /dev/null
91 if [ $? -ne 0 ]; then
92 print -u2 "no temporary symbols in the object file"
93 exit 1
94 fi
95
96 nm test | grep \$dtrace > /dev/null
97 if [ $? -eq 0 ]; then
98 print -u2 "failed to eliminate temporary symbols"
99 exit 1
100 fi
101
102 cd /
103 /usr/bin/rm -rf $DIR
104
|
54
55 cat > test.c <<EOF
56 #include <sys/types.h>
57 #include "prov.h"
58
59 static void
60 foo(void)
61 {
62 TEST_PROV_GO();
63 }
64
65 int
66 main(int argc, char **argv)
67 {
68 foo();
69
70 return (0);
71 }
72 EOF
73
74 gcc -m32 -c test.c
75 if [ $? -ne 0 ]; then
76 print -u2 "failed to compile test.c"
77 exit 1
78 fi
79 $dtrace -G -32 -s prov.d test.o
80 if [ $? -ne 0 ]; then
81 print -u2 "failed to create DOF"
82 exit 1
83 fi
84 gcc -m32 -o test test.o prov.o
85 if [ $? -ne 0 ]; then
86 print -u2 "failed to link final executable"
87 exit 1
88 fi
89
90 nm test.o | grep \$dtrace > /dev/null
91 if [ $? -ne 0 ]; then
92 print -u2 "no temporary symbols in the object file"
93 exit 1
94 fi
95
96 nm test | grep \$dtrace > /dev/null
97 if [ $? -eq 0 ]; then
98 print -u2 "failed to eliminate temporary symbols"
99 exit 1
100 fi
101
102 cd /
103 /usr/bin/rm -rf $DIR
104
|