Mercurial > illumos > onarm
comparison usr/src/cmd/dtrace/test/tst/common/misc/tst.schrock.ksh @ 0:c9caec207d52 b86
Initial porting based on b86
author | Koji Uno <koji.uno@sun.com> |
---|---|
date | Tue, 02 Jun 2009 18:56:50 +0900 |
parents | |
children | 1a15d5aaf794 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:c9caec207d52 |
---|---|
1 # | |
2 # CDDL HEADER START | |
3 # | |
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. | |
7 # | |
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. | |
12 # | |
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] | |
18 # | |
19 # CDDL HEADER END | |
20 # | |
21 | |
22 # | |
23 # Copyright 2006 Sun Microsystems, Inc. All rights reserved. | |
24 # Use is subject to license terms. | |
25 # | |
26 #ident "@(#)tst.schrock.ksh 1.2 06/09/26 SMI" | |
27 | |
28 if [ $# != 1 ]; then | |
29 echo expected one argument: '<'dtrace-path'>' | |
30 exit 2 | |
31 fi | |
32 | |
33 dtrace=$1 | |
34 | |
35 # | |
36 # /usr/ccs/bin/nm execs a 64-bit version of itself. DTrace uses libproc | |
37 # (which uses /proc) to find out when the traced process exits, but a | |
38 # 32-bit process can't examine a 64-bit one with libproc. The | |
39 # LD_NOEXEC_64 variable prevents nm from re-execing itself. | |
40 # | |
41 LD_NOEXEC_64=tomeeisrad $dtrace -F -s /dev/stdin -c \ | |
42 '/usr/ccs/bin/nm /bin/ls' stat <<EOF | |
43 | |
44 pid\$target::\$1:entry | |
45 { | |
46 self->start = vtimestamp; | |
47 } | |
48 | |
49 pid\$target:::entry | |
50 /self->start/ | |
51 { | |
52 trace(vtimestamp - self->start); | |
53 } | |
54 | |
55 pid\$target:::return | |
56 /self->start/ | |
57 { | |
58 trace(vtimestamp - self->start); | |
59 } | |
60 | |
61 pid\$target::\$1:return | |
62 /self->start/ | |
63 { | |
64 self->start = 0; | |
65 exit(0); | |
66 } | |
67 | |
68 syscall::: | |
69 /self->start/ | |
70 { | |
71 trace(vtimestamp - self->start); | |
72 } | |
73 | |
74 fbt::: | |
75 /self->start/ | |
76 { | |
77 trace(vtimestamp - self->start); | |
78 } | |
79 EOF |