xref: /illumos-gate/usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.DataModel64.d.ksh (revision 002c70ff32f5df6f93c15f88d351ce26443e6ee7)
1#!/bin/ksh
2
3#
4# CDDL HEADER START
5#
6# The contents of this file are subject to the terms of the
7# Common Development and Distribution License (the "License").
8# You may not use this file except in compliance with the License.
9#
10# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11# or http://www.opensolaris.org/os/licensing.
12# See the License for the specific language governing permissions
13# and limitations under the License.
14#
15# When distributing Covered Code, include this CDDL HEADER in each
16# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17# If applicable, add the following below this CDDL HEADER, with the
18# fields enclosed by brackets "[]" replaced with your own identifying
19# information: Portions Copyright [yyyy] [name of copyright owner]
20#
21# CDDL HEADER END
22#
23
24#
25# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
26# Use is subject to license terms.
27#
28
29#ident	"%Z%%M%	%I%	%E% SMI"
30
31##
32#
33# ASSERTION:
34# If the -64 option is specified, dtrace will force the D compiler to
35# compile a program using the 64-bit data model.
36#
37# SECTION: dtrace Utility/-64 Option
38#
39##
40
41script()
42{
43	$dtrace -64 -s /dev/stdin <<EOF
44	BEGIN
45	/8 != sizeof(long)/
46	{
47		printf("Not targeted for 64 bit machine\n");
48		exit(1);
49	}
50
51	BEGIN
52	/8 == sizeof(long)/
53	{
54		printf("Targeted for 64 bit machine\n");
55		exit(0);
56	}
57EOF
58}
59
60if [ $# != 1 ]; then
61	echo expected one argument: '<'dtrace-path'>'
62	exit 2
63fi
64
65dtrace=$1
66
67script
68status=$?
69
70if [ "$status" -ne 0 ]; then
71	echo $tst: dtrace failed
72fi
73
74exit $status
75