tst.guess32.ksh revision 178476
117721Speter# 2175261Sobrien# CDDL HEADER START 3175261Sobrien# 4175261Sobrien# The contents of this file are subject to the terms of the 5175261Sobrien# Common Development and Distribution License (the "License"). 6175261Sobrien# You may not use this file except in compliance with the License. 7175261Sobrien# 8175261Sobrien# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 917721Speter# or http://www.opensolaris.org/os/licensing. 1017721Speter# See the License for the specific language governing permissions 1132785Speter# and limitations under the License. 1217721Speter# 1317721Speter# When distributing Covered Code, include this CDDL HEADER in each 1432785Speter# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1517721Speter# If applicable, add the following below this CDDL HEADER, with the 1625839Speter# fields enclosed by brackets "[]" replaced with your own identifying 1717721Speter# information: Portions Copyright [yyyy] [name of copyright owner] 1817721Speter# 1917721Speter# CDDL HEADER END 2017721Speter# 2117721Speter 2217721Speter# 2317721Speter# Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2417721Speter# Use is subject to license terms. 2517721Speter# 2617721Speter# ident "%Z%%M% %I% %E% SMI" 2717721Speter 2817721Speterif [ $# != 1 ]; then 29128266Speter echo expected one argument: '<'dtrace-path'>' 30128266Speter exit 2 3117721Speterfi 3217721Speter 33128266Speterdtrace=$1 3425839SpeterDIR=/var/tmp/dtest.$$ 3525839Speter 3625839Spetermkdir $DIR 3717721Spetercd $DIR 3817721Speter 3917721Spetercat > prov.d <<EOF 4017721Speterprovider test_prov { 4117721Speter probe go(); 4217721Speter}; 4317721SpeterEOF 4417721Speter 4517721Speter$dtrace -h -s prov.d 4625839Speterif [ $? -ne 0 ]; then 4725839Speter print -u2 "failed to generate header file" 4817721Speter exit 1 4917721Speterfi 5025839Speter 5117721Spetercat > test.c <<EOF 5217721Speter#include <sys/types.h> 5317721Speter#include "prov.h" 5417721Speter 5517721Speterint 5625839Spetermain(int argc, char **argv) 5717721Speter{ 5825839Speter if (TEST_PROV_GO_ENABLED()) { 5917721Speter TEST_PROV_GO(); 6025839Speter } 6125839Speter} 6225839SpeterEOF 6325839Speter 6425839Spetercc -xarch=generic -c test.c 6525839Speterif [ $? -ne 0 ]; then 6625839Speter print -u2 "failed to compile test.c" 6725839Speter exit 1 6825839Speterfi 6925839Speter$dtrace -G -s prov.d test.o 7025839Speterif [ $? -ne 0 ]; then 7125839Speter print -u2 "failed to create DOF" 7225839Speter exit 1 7325839Speterfi 7425839Spetercc -xarch=generic -o test test.o prov.o 7525839Speterif [ $? -ne 0 ]; then 7625839Speter print -u2 "failed to link final executable" 7725839Speter exit 1 7825839Speterfi 7925839Speter 8025839Speterscript() 8125839Speter{ 8225839Speter $dtrace -c ./test -qs /dev/stdin <<EOF 8325839Speter test_prov\$target::: 8425839Speter { 8525839Speter printf("%s:%s:%s\n", probemod, probefunc, probename); 8625839Speter } 8725839SpeterEOF 8825839Speter} 8925839Speter 9025839Speterscript 9125839Speterstatus=$? 9225839Speter 9325839Spetercd / 9425839Speter/usr/bin/rm -rf $DIR 9525839Speter 9625839Speterexit $status 9725839Speter