dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl#!/bin/ksh -p
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl#
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# CDDL HEADER START
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl#
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# The contents of this file are subject to the terms of the
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# Common Development and Distribution License (the "License").
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# You may not use this file except in compliance with the License.
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl#
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# or http://www.opensolaris.org/os/licensing.
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# See the License for the specific language governing permissions
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# and limitations under the License.
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl#
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# When distributing Covered Code, include this CDDL HEADER in each
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# If applicable, add the following below this CDDL HEADER, with the
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# fields enclosed by brackets "[]" replaced with your own identifying
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# information: Portions Copyright [yyyy] [name of copyright owner]
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl#
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# CDDL HEADER END
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl#
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl#
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# Use is subject to license terms.
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl#
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# ident "%Z%%M% %I% %E% SMI"
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl#
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahlif [ $# != 1 ]; then
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl echo expected one argument: '<'dtrace-path'>'
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl exit 2
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahlfi
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahldtrace=$1
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl#
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# Make sure we can trace main:entry properly -- this was problematic because
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl# we also set a breakpoint on the same spot in libdtrace.
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl#
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl$dtrace -c date -s /dev/stdin <<EOF
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl BEGIN
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl {
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl status = 1;
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl }
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl pid\$target::main:entry
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl {
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl status = 0;
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl }
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl END
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl {
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl exit(status);
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl }
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahlEOF
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahl
dcafa303bc5c0028c4ebf51300caac6e2ea88d74ahlexit $?