4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
23 # Copyright 2007 Sun Microsystems, Inc. All rights reserved.
24 # Use is subject to license terms.
26 # ident "%Z%%M% %I% %E% SMI"
29 # ASSERTION: Make sure USDT probes work as tail-calls on SPARC.
33 echo expected one argument: '<'dtrace-path'>'
44 #include <sys/asm_linkage.h>
46 DGDEF(__fsr_init_value)
50 save %sp, -SA(MINFRAME + 4), %sp
54 call __dtrace_test___fire
59 save %sp, -SA(MINFRAME + 4), %sp
75 probe fire(int, int, int);
79 /usr/ccs/bin/as -xregsym=no -P -D_ASM -o test.o test.s
81 print -u2 "failed to compile test.s"
85 $dtrace -G -32 -s prov.d test.o
87 print -u2 "failed to create DOF"
91 cc -o test test.o prov.o
93 print -u2 "failed to link final executable"
97 $dtrace -c ./test -s /dev/stdin <<EOF
99 /arg0 == 9 && arg1 == 19 && arg2 == 2006/
101 printf("%d/%d/%d", arg0, arg1, arg2);
107 printf("%d/%d/%d", arg0, arg1, arg2);
114 * Let's just do this for 5 seconds.
116 timeout = timestamp + 5000000000;
120 /timestamp > timeout/
122 trace("test timed out");