changeset 3944:75371f172291

6484266 fasttrap needs to check for duplicate offsets 6497891 dtrace -G can fail due to uninitialized data 6504328 mapid disabling isn't enough 6512813 calendar-based DTrace tests fail when not in US/Pacific 6513027 tst.[v]fork.d needs updating for forksys() 6534984 fasttrap emulation code could use some work 6534988 remove the lint work-around from fasttrap 6534991 prepare the DTrace test suite for PIT
author ahl
date Sun, 01 Apr 2007 23:38:22 -0700
parents 302736821720
children 84f23e74ca15
files deleted_files/usr/src/cmd/dtrace/test/pkg/Makefile deleted_files/usr/src/cmd/dtrace/test/pkg/Makefile.pkg deleted_files/usr/src/cmd/dtrace/test/pkg/common/bld_awk_pkginfo.ksh deleted_files/usr/src/cmd/dtrace/test/pkg/common/copyright deleted_files/usr/src/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.d deleted_files/usr/src/cmd/dtrace/test/tst/common/printf/tst.printT.d deleted_files/usr/src/cmd/dtrace/test/tst/common/printf/tst.printY.d usr/src/cmd/dtrace/Makefile usr/src/cmd/dtrace/test/Makefile usr/src/cmd/dtrace/test/README usr/src/cmd/dtrace/test/cmd/baddof/Makefile usr/src/cmd/dtrace/test/cmd/baddof/baddof.c usr/src/cmd/dtrace/test/cmd/badioctl/Makefile usr/src/cmd/dtrace/test/cmd/chkargs/32/Makefile usr/src/cmd/dtrace/test/cmd/chkargs/64/Makefile usr/src/cmd/dtrace/test/cmd/chkargs/Makefile.com usr/src/cmd/dtrace/test/cmd/jdtrace/Getopt.java usr/src/cmd/dtrace/test/cmd/jdtrace/JDTrace.java usr/src/cmd/dtrace/test/cmd/jdtrace/Makefile usr/src/cmd/dtrace/test/cmd/jdtrace/jdtrace.c usr/src/cmd/dtrace/test/cmd/jdtrace/src/Getopt.java usr/src/cmd/dtrace/test/cmd/jdtrace/src/JDTrace.java usr/src/cmd/dtrace/test/cmd/jdtrace/src/jdtrace.c usr/src/cmd/dtrace/test/pkg/Makefile usr/src/cmd/dtrace/test/pkg/Makefile.pkg usr/src/cmd/dtrace/test/pkg/SUNWdtrt/Makefile usr/src/cmd/dtrace/test/pkg/SUNWdtrt/pkginfo.tmpl usr/src/cmd/dtrace/test/pkg/SUNWdtrt/prototype_com usr/src/cmd/dtrace/test/pkg/SUNWdtrt/prototype_i386 usr/src/cmd/dtrace/test/pkg/SUNWdtrt/prototype_sparc usr/src/cmd/dtrace/test/pkg/common/README usr/src/cmd/dtrace/test/pkg/common/bld_awk_pkginfo.ksh usr/src/cmd/dtrace/test/pkg/common/copyright usr/src/cmd/dtrace/test/pkg/common/depend usr/src/cmd/dtrace/test/tst/Makefile.com usr/src/cmd/dtrace/test/tst/common/Makefile usr/src/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d usr/src/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d.out usr/src/cmd/dtrace/test/tst/common/buffering/tst.resize1.d usr/src/cmd/dtrace/test/tst/common/buffering/tst.resize2.d usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeGiga.d.ksh usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeKilo.d.ksh usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeMega.d.ksh usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeTera.d.ksh usr/src/cmd/dtrace/test/tst/common/java_api/tst.FunctionLookup.c usr/src/cmd/dtrace/test/tst/common/java_api/tst.ProbeData.c usr/src/cmd/dtrace/test/tst/common/misc/tst.include.ksh usr/src/cmd/dtrace/test/tst/common/pid/tst.fork.d usr/src/cmd/dtrace/test/tst/common/pid/tst.vfork.d usr/src/cmd/dtrace/test/tst/common/predicates/tst.predcache.ksh usr/src/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.d usr/src/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.d.out usr/src/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.ksh usr/src/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.ksh.out usr/src/cmd/dtrace/test/tst/common/printf/tst.printT.d usr/src/cmd/dtrace/test/tst/common/printf/tst.printT.d.out usr/src/cmd/dtrace/test/tst/common/printf/tst.printT.ksh usr/src/cmd/dtrace/test/tst/common/printf/tst.printT.ksh.out usr/src/cmd/dtrace/test/tst/common/printf/tst.printY.d usr/src/cmd/dtrace/test/tst/common/printf/tst.printY.d.out usr/src/cmd/dtrace/test/tst/common/printf/tst.printY.ksh usr/src/cmd/dtrace/test/tst/common/printf/tst.printY.ksh.out usr/src/cmd/dtrace/test/tst/common/proc/tst.sigwait.c usr/src/cmd/dtrace/test/tst/common/profile-n/tst.ufuncsort.c usr/src/cmd/dtrace/test/tst/common/ustack/tst.bigstack.c usr/src/cmd/dtrace/test/tst/i386/Makefile usr/src/cmd/dtrace/test/tst/i386/pid/tst.badinstr.s usr/src/cmd/dtrace/test/tst/i386/pid/tst.branch.s usr/src/cmd/dtrace/test/tst/i386/pid/tst.embedded.s usr/src/cmd/dtrace/test/tst/i386/pid/tst.ret.s usr/src/cmd/dtrace/test/tst/i386/pid/tst.retlist.s usr/src/cmd/dtrace/test/tst/i386/ustack/annotated_helper.d usr/src/cmd/dtrace/test/tst/i386/ustack/helper_helper.d usr/src/cmd/dtrace/test/tst/i386/ustack/tst.annotated_helper.d usr/src/cmd/dtrace/test/tst/i386/ustack/tst.circstack.s usr/src/cmd/dtrace/test/tst/i386/ustack/tst.helper.c usr/src/cmd/dtrace/test/tst/i386/ustack/tst.helper_helper.d usr/src/cmd/dtrace/test/tst/sparc/Makefile usr/src/cmd/dtrace/test/tst/sparc/pid/tst.br.d usr/src/cmd/dtrace/test/tst/sparc/pid/tst.br.d.out usr/src/cmd/dtrace/test/tst/sparc/pid/tst.br.s usr/src/cmd/dtrace/test/tst/sparc/pid/tst.branch.s usr/src/cmd/dtrace/test/tst/sparc/pid/tst.embedded.s usr/src/cmd/dtrace/test/tst/sparc/ustack/annotated_helper.d usr/src/cmd/dtrace/test/tst/sparc/ustack/helper_helper.d usr/src/cmd/dtrace/test/tst/sparc/ustack/tst.annotated_helper.d usr/src/cmd/dtrace/test/tst/sparc/ustack/tst.circstack.s usr/src/cmd/dtrace/test/tst/sparc/ustack/tst.helper.c usr/src/cmd/dtrace/test/tst/sparc/ustack/tst.helper_helper.d usr/src/lib/libdtrace/common/dt_link.c usr/src/lib/libdtrace/common/dt_options.c usr/src/pkgdefs/Makefile usr/src/pkgdefs/Makefile.targ usr/src/pkgdefs/SUNWdtrt/Makefile usr/src/pkgdefs/SUNWdtrt/depend usr/src/pkgdefs/SUNWdtrt/pkginfo.tmpl usr/src/pkgdefs/SUNWdtrt/prototype_com usr/src/pkgdefs/SUNWdtrt/prototype_i386 usr/src/pkgdefs/SUNWdtrt/prototype_sparc usr/src/uts/common/dtrace/fasttrap.c usr/src/uts/intel/dtrace/fasttrap_isa.c usr/src/uts/intel/fasttrap/Makefile usr/src/uts/sparc/dtrace/fasttrap_isa.c usr/src/uts/sparc/fasttrap/Makefile
diffstat 104 files changed, 4653 insertions(+), 4223 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deleted_files/usr/src/cmd/dtrace/test/pkg/Makefile	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,29 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+#ident	"%Z%%M%	%I%	%E% SMI"
+
+SUBDIRS = SUNWdtrt
+include ../Makefile.subdirs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deleted_files/usr/src/cmd/dtrace/test/pkg/Makefile.pkg	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,77 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+#ident	"%Z%%M%	%I%	%E% SMI"
+
+include $(SRC)/Makefile.master
+
+PACKAGE :sh= basename `pwd`
+ROOTOPTPKG = $(ROOT)/opt/$(PACKAGE)
+PSTAMP :sh= echo "`echo \$LOGNAME`:`date +%Y-%m-%d`:`basename \$CODEMGR_WS`"
+
+DATAFILES = copyright depend
+FILES = $(DATAFILES) pkginfo prototype_com prototype_$(MACH)
+
+CLEANFILES = $(DATAFILES) pkginfo awk_pkginfo ../bld_awk_pkginfo
+CLOBBERFILES = $(PKGARCHIVE)/$(PACKAGE)
+
+.KEEP_STATE:
+
+all: $(FILES)
+
+lint:
+
+clean:
+	$(RM) $(CLEANFILES)
+
+clobber: clean
+	$(RM) -r $(CLOBBERFILES)
+
+$(PKGARCHIVE):
+	[ -d $(PKGARCHIVE) ] || mkdir -p $(PKGARCHIVE)
+
+$(DATAFILES): ../common/$$@
+	 $(RM) $@; cp ../common/$@ $@
+
+awk_pkginfo: ../bld_awk_pkginfo
+	../bld_awk_pkginfo -m $(MACH) -p "$(RELEASE)/$(VERSION)/$(USER)" -o $@
+
+pkginfo: pkginfo.tmpl awk_pkginfo
+	$(RM) $@; nawk -f awk_pkginfo $@.tmpl > $@
+
+pkg: $(PKGARCHIVE) FRC
+	pkgmk -f prototype_$(MACH) -d $(PKGARCHIVE) -r $(ROOT) -o \
+		-p $(PSTAMP) $(PACKAGE)
+
+../%: ../common/%.ksh
+	$(RM) $@
+	cp $< $@
+	chmod +x $@
+
+$(ROOTOPTPKG)/%: ../common/%
+	$(RM) $@
+	cp $< $@
+
+FRC:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deleted_files/usr/src/cmd/dtrace/test/pkg/common/bld_awk_pkginfo.ksh	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,85 @@
+#!/bin/ksh -p
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+#ident	"%Z%%M%	%I%	%E% SMI"
+
+usage()
+{
+	echo "Usage: $0 -p <prodver> -m <mach> -o <awk_script>"
+	exit 1
+}
+
+#
+# Awk strings
+#
+# Two VERSION patterns: one for Dewey decimal, one for Dewey plus ",REV=n".
+# The first has one '=' character and the second has two or more '=' characters.
+#
+VERSION1="VERSION=[^=]*$"
+VERSION2="VERSION=[^=]*=.*$"
+PRODVERS="^SUNW_PRODVERS="
+ARCH='ARCH=\"ISA\"'
+
+rev=$(date "+%Y.%m.%d.%H.%M")
+unset mach prodver awk_script
+
+while getopts o:p:m: c; do
+	case $c in
+	o) awk_script=$OPTARG ;;
+	m) mach=$OPTARG ;;
+	p) prodver=$OPTARG ;;
+	\?) usage ;;
+	esac
+done
+
+[[ -z "$prodver" || -z "$mach" || -z "$awk_script" ]] && usage
+[[ -f $awk_script ]] && rm -f $awk_script
+
+#
+# Build awk script which will process all the pkginfo.tmpl files.
+# The first VERSION pattern is replaced with a leading quotation mark.
+#
+cat << EOF > $awk_script
+/$VERSION1/ {
+      sub(/\=[^=]*$/,"=\"$rev\"")
+      print
+      next
+   }
+/$VERSION2/ {
+      sub(/\=[^=]*$/,"=$rev\"")
+      print
+      next
+   }
+/$PRODVERS/ { 
+      printf "SUNW_PRODVERS=\"%s\"\n", "$prodver" 
+      next
+   }
+/$ARCH/ {
+      printf "ARCH=\"%s\"\n", "$mach"
+      next
+   }
+{ print }
+EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deleted_files/usr/src/cmd/dtrace/test/pkg/common/copyright	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,2 @@
+Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+Use is subject to license terms.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deleted_files/usr/src/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.d	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,44 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+#pragma D option quiet
+#pragma D option destructive
+
+BEGIN
+{
+	@foo = min(1075064400 * (hrtime_t)1000000000);
+	@bar = max(walltimestamp);
+	printa("%@T\n", @foo);
+	printa("%@Y\n", @foo);
+
+	freopen("/dev/null");
+	printa("%@T\n", @bar);
+	printa("%@Y\n", @bar);
+
+	exit(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deleted_files/usr/src/cmd/dtrace/test/tst/common/printf/tst.printT.d	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,38 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+#pragma D option quiet
+
+inline uint64_t NANOSEC = 1000000000;
+
+BEGIN
+{
+	printf("%T\n%T\n%T", (uint64_t)0, (uint64_t)1062609821 * NANOSEC,
+	    (uint64_t)0x7fffffff * NANOSEC);
+	exit(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deleted_files/usr/src/cmd/dtrace/test/tst/common/printf/tst.printY.d	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,38 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+#pragma D option quiet
+
+inline uint64_t NANOSEC = 1000000000;
+
+BEGIN
+{
+	printf("%Y\n%Y\n%Y", (uint64_t)0, (uint64_t)1062609821 * NANOSEC,
+	    (uint64_t)0x7fffffff * NANOSEC);
+	exit(0);
+}
--- a/usr/src/cmd/dtrace/Makefile	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/Makefile	Sun Apr 01 23:38:22 2007 -0700
@@ -2,9 +2,8 @@
 # CDDL HEADER START
 #
 # The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License").  You may not use this file except in compliance
-# with the License.
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
 #
 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 # or http://www.opensolaris.org/os/licensing.
@@ -19,18 +18,19 @@
 #
 # CDDL HEADER END
 #
+
 #
-# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 #
 
 PROG= dtrace
 
 include ../Makefile.cmd
 
-SUBDIRS=	$(MACH) demo
+SUBDIRS=	$(MACH) demo test
 $(BUILD64)SUBDIRS += $(MACH64)
 
 all	:=	TARGET = all
--- a/usr/src/cmd/dtrace/test/Makefile	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/Makefile	Sun Apr 01 23:38:22 2007 -0700
@@ -20,12 +20,28 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 
 include $(SRC)/Makefile.master
 
-SUBDIRS = cmd tst pkg
-include $(SRC)/cmd/dtrace/test/Makefile.subdirs
+SUBDIRS = cmd tst
+
+ROOTOPTPKG = $(ROOT)/opt/SUNWdtrt
+
+include Makefile.subdirs
+
+install: $(ROOTOPTPKG)/README $(SUBDIRS)
+
+pkg: install
+	@cd $(PKGDEFS) pwd; $(MAKE) awk_pkginfo
+	@cd $(PKGDEFS)/SUNWdtrt; pwd; $(MAKE) install
+
+$(ROOTOPTPKG):
+	$(INS.dir)
+
+$(ROOTOPTPKG)/%: ./% $(ROOTOPTPKG)
+	$(RM) $@
+	$(CP) $< $@
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/README	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,32 @@
+
+CDDL HEADER START
+
+The contents of this file are subject to the terms of the
+Common Development and Distribution License (the "License").
+You may not use this file except in compliance with the License.
+
+You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+or http://www.opensolaris.org/os/licensing.
+See the License for the specific language governing permissions
+and limitations under the License.
+
+When distributing Covered Code, include this CDDL HEADER in each
+file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+If applicable, add the following below this CDDL HEADER, with the
+fields enclosed by brackets "[]" replaced with your own identifying
+information: Portions Copyright [yyyy] [name of copyright owner]
+
+CDDL HEADER END
+
+Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+Use is subject to license terms.
+
+ident	"%Z%%M%	%I%	%E% SMI"
+
+DTrace Testing Suite
+
+The SUNWdtrt package delivers a set of test programs and D source
+files into the directory /opt/SUNWdtrt.  For more information see
+the following web site:
+
+	http://www.opensolaris.org/os/community/dtrace/dtest
--- a/usr/src/cmd/dtrace/test/cmd/baddof/Makefile	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/cmd/baddof/Makefile	Sun Apr 01 23:38:22 2007 -0700
@@ -20,12 +20,12 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 
-include $(SRC)/Makefile.master
+include $(SRC)/cmd/Makefile.cmd
 
 .KEEP_STATE:
 
--- a/usr/src/cmd/dtrace/test/cmd/baddof/baddof.c	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/cmd/baddof/baddof.c	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -33,35 +33,7 @@
 #include <sys/varargs.h>
 #include <errno.h>
 #include <math.h>
-
-#define	DTRACE_VERSION	1
-
-typedef struct dtrace_hdl dtrace_hdl_t;
-typedef struct dtrace_prog dtrace_prog_t;
-typedef struct dtrace_vector dtrace_vector_t;
-typedef int64_t dtrace_aggvarid_t;
-
-#define	DTRACEIOC		(('d' << 24) | ('t' << 16) | ('r' << 8))
-#define	DTRACEIOC_ENABLE	(DTRACEIOC | 6)		/* enable probes */
-
-extern dtrace_hdl_t *dtrace_open(int, int, int *);
-extern dtrace_prog_t *dtrace_program_fcompile(dtrace_hdl_t *,
-    FILE *, uint_t, int, char *const []);
-extern void *dtrace_program_dof(dtrace_hdl_t *, dtrace_prog_t *, uint_t);
-
-#define	DOF_ID_SIZE	16	/* total size of dofh_ident[] in bytes */
-
-typedef struct dof_hdr {
-	uint8_t dofh_ident[DOF_ID_SIZE]; /* identification bytes (see below) */
-	uint32_t dofh_flags;		/* file attribute flags (if any) */
-	uint32_t dofh_hdrsize;		/* size of file header in bytes */
-	uint32_t dofh_secsize;		/* size of section header in bytes */
-	uint32_t dofh_secnum;		/* number of section headers */
-	uint64_t dofh_secoff;		/* file offset of section headers */
-	uint64_t dofh_loadsz;		/* file size of loadable portion */
-	uint64_t dofh_filesz;		/* file size of entire DOF file */
-	uint64_t dofh_pad;		/* reserved for future use */
-} dof_hdr_t;
+#include <dtrace.h>
 
 void
 fatal(char *fmt, ...)
@@ -212,7 +184,7 @@
 		    dtrace_errmsg(dtp, dtrace_errno(dtp)));
 	}
 
-	dof = dtrace_program_dof(dtp, pgp, 0);
+	dof = dtrace_dof_create(dtp, pgp, 0);
 	len = ((dof_hdr_t *)dof)->dofh_loadsz;
 
 	if ((copy = malloc(len)) == NULL)
--- a/usr/src/cmd/dtrace/test/cmd/badioctl/Makefile	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/cmd/badioctl/Makefile	Sun Apr 01 23:38:22 2007 -0700
@@ -20,12 +20,12 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 
-include $(SRC)/Makefile.master
+include $(SRC)/cmd/Makefile.cmd
 
 .KEEP_STATE:
 
@@ -34,7 +34,6 @@
 
 LDFLAGS += -znodefs -ztextoff
 LDLIBS = $(LDLIBS.cmd)
-LDLIBS += -ldtrace
 
 SRCS = badioctl
 CMDS = $(SRCS:%=$(ROOTBIN)/%)
--- a/usr/src/cmd/dtrace/test/cmd/chkargs/32/Makefile	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/cmd/chkargs/32/Makefile	Sun Apr 01 23:38:22 2007 -0700
@@ -20,12 +20,11 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 
-include $(SRC)/Makefile.master
 include ../Makefile.com
 
 install: $(ROOTPROG32) $(ROOTISAEXEC)
--- a/usr/src/cmd/dtrace/test/cmd/chkargs/64/Makefile	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/cmd/chkargs/64/Makefile	Sun Apr 01 23:38:22 2007 -0700
@@ -20,12 +20,11 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 
-include $(SRC)/Makefile.master
 include $(SRC)/Makefile.master.64
 include ../Makefile.com
 
--- a/usr/src/cmd/dtrace/test/cmd/chkargs/Makefile.com	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/cmd/chkargs/Makefile.com	Sun Apr 01 23:38:22 2007 -0700
@@ -20,10 +20,12 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
+
+include $(SRC)/cmd/Makefile.cmd
 
 .KEEP_STATE:
 
@@ -51,6 +53,7 @@
 
 $(PROG): ../$(PROG).c
 	$(LINK.c) -o $@ ../$(PROG).c $(LDLIBS)
+	$(POST_PROCESS) ; $(STRIP_STABS)
 
 $(ROOTPROG32): $(ROOTBIN32) $(PROG)
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/cmd/jdtrace/Getopt.java	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,453 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ *
+ * ident	"%Z%%M%	%I%	%E% SMI"
+ */
+
+/* Copyright (c) 1988 AT&T */
+/* All Rights Reserved */
+
+import java.io.StringWriter;
+import java.io.PrintWriter;
+
+/**
+ * A Java port of Solaris {@code lib/libc/port/gen/getopt.c}, which is a
+ * port of System V UNIX getopt.  See <b>getopt(3C)</b> and SUS/XPG
+ * getopt() for function definition and requirements. Unlike that
+ * definition, this implementation moves non-options to the end of the
+ * argv array rather than quitting at the first non-option.
+ */
+public class Getopt {
+    static final int EOF = -1;
+
+    private String progname;
+    private String[] args;
+    private int argc;
+    private String optstring;
+    private int optind = 0; // args index
+    private int optopt = 0;
+    private String optarg = null;
+    private boolean opterr = true;
+
+    /*
+     * _sp is required to keep state between successive calls to
+     * getopt() while extracting aggregated short-options (ie: -abcd).
+     */
+    private int _sp = 1;
+
+    /**
+     * Creates a {Code Getopt} instance to parse the given command-line
+     * arguments. Modifies the given args array by swapping the
+     * positions of non-options and options so that non-options appear
+     * at the end of the array.
+     */
+    public Getopt(String programName, String[] args,
+	    String optionString)
+    {
+	progname = programName;
+	// No defensive copy; Getopt is expected to modify the given
+	// args array
+	this.args = args;
+	argc = this.args.length;
+	optstring = optionString;
+	validate();
+    }
+
+    private void
+    validate()
+    {
+	if (progname == null) {
+	    throw new NullPointerException("program name is null");
+	}
+	int i = 0;
+	for (String s : args) {
+	    if (s == null) {
+		throw new NullPointerException("null arg at index " + i);
+	    }
+	    ++i;
+	}
+	if (optstring == null) {
+	    throw new NullPointerException("option string is null");
+	}
+    }
+
+    private static class StringRef {
+	private String s;
+
+	public String
+	get()
+	{
+	    return s;
+	}
+
+	public StringRef
+	set(String value)
+	{
+	    s = value;
+	    return this;
+	}
+    }
+
+    /*
+     * Generalized error processing method. If the optstr parameter is
+     * null, the character c is converted to a string and displayed
+     * instead.
+     */
+    void
+    err(String format, char c, String optstr)
+    {
+	if (opterr && optstring.charAt(0) != ':') {
+	    StringWriter w = new StringWriter();
+	    PrintWriter p = new PrintWriter(w);
+	    p.printf(format, progname, (optstr == null ?
+		    Character.toString(c) : optstr.substring(2)));
+	    System.err.println(w.toString());
+	}
+    }
+
+    /*
+     * Determine if the specified character (c) is present in the string
+     * (optstring) as a regular, single character option. If the option
+     * is found, return an index into optstring where the short-option
+     * character is found, otherwise return -1. The characters ':' and
+     * '(' are not allowed.
+     */
+    static int
+    parseshort(String optstring, char c)
+    {
+	if (c == ':' || c == '(') {
+	    return -1;
+	}
+
+	int ch;
+	int len = optstring.length();
+	for (int i = 0; i < len; ++i) {
+	    ch = optstring.charAt(i);
+	    if (ch == c) {
+		return i;
+	    }
+
+	    while (i < len && ch == '(') {
+		for (++i; i < len && (ch = optstring.charAt(i)) != ')'; ++i);
+	    }
+	}
+
+	return -1;
+    }
+
+    /**
+     * Determine if the specified string (opt) is present in the string
+     * (optstring) as a long-option contained within parenthesis. If the
+     * long-option specifies option-argument, return a reference to it
+     * in longoptarg.  Otherwise set the longoptarg reference to null.
+     * If the option is found, return an index into optstring at the
+     * position of the short-option character associated with the
+     * long-option; otherwise return -1.
+     *
+     * @param optstring	the entire optstring passed to the {@code
+     * Getopt} constructor
+     * @param opt the long option read from the command line
+     * @param longoptarg the value of the option is returned in this
+     * parameter, if an option exists. Possible return values in
+     * longoptarg are:
+     * <ul>
+     * <li><b>NULL:</b> No argument was found</li>
+     * <li><b>empty string (""):</b> Argument was explicitly left empty
+     * by the user (e.g., --option= )</li>
+     * <li><b>valid string:</b> Argument found on the command line</li>
+     * </ul>
+     * @return index to equivalent short-option in optstring, or -1 if
+     * option not found in optstring.
+     */
+    static int
+    parselong(String optstring, String opt, StringRef longoptarg)
+    {
+	int cp; // index into optstring, beginning of one option spec
+	int ip; // index into optstring, traverses every char
+	char ic; // optstring char
+	int il; // optstring length
+	int op;	// index into opt
+	char oc; // opt char
+	int ol; // opt length
+	boolean	match; // true if opt is matching part of optstring
+
+	longoptarg.set(null);
+	cp = ip = 0;
+	il = optstring.length();
+	ol = opt.length();
+	do {
+	    ic = optstring.charAt(ip);
+	    if (ic != '(' && ++ip == il)
+		break;
+	    ic = optstring.charAt(ip);
+	    if (ic == ':' && ++ip == il)
+		break;
+	    ic = optstring.charAt(ip);
+	    while (ic == '(') {
+		if (++ip == il)
+		    break;
+		op = 0;
+		match = true;
+		while (ip < il && (ic = optstring.charAt(ip)) != ')' &&
+			op < ol) {
+		    oc = opt.charAt(op++);
+		    match = (ic == oc && match);
+		    ++ip;
+		}
+
+		if (match && ip < il && ic == ')' && (op >= ol ||
+			opt.charAt(op) == '=')) {
+		    if (op < ol && opt.charAt(op) == '=') {
+			/* may be an empty string - OK */
+			longoptarg.set(opt.substring(op + 1));
+		    } else {
+			longoptarg.set(null);
+		    }
+		    return cp;
+		}
+		if (ip < il && ic == ')' && ++ip == il)
+		    break;
+		ic = optstring.charAt(ip);
+	    }
+	    cp = ip;
+	    /*
+	     * Handle double-colon in optstring ("a::(longa)") The old
+	     * getopt() accepts it and treats it as a required argument.
+	     */
+	    while ((cp > 0) && (cp < il) && (optstring.charAt(cp) == ':')) {
+		--cp;
+	    }
+	} while (cp < il);
+	return -1;
+    }
+
+    /**
+     * Get the current option value.
+     */
+    public String
+    getOptarg()
+    {
+	return optarg;
+    }
+
+    /**
+     * Get the index of the next option to be parsed.
+     */
+    public int
+    getOptind()
+    {
+	return optind;
+    }
+
+    /**
+     * Gets the command-line arguments.
+     */
+    public String[]
+    getArgv()
+    {
+	// No defensive copy: Getopt is expected to modify the given
+	// args array.
+	return args;
+    }
+
+    /**
+     * Gets the aggregated short option that just failed. Since long
+     * options can't be aggregated, a failed long option can be obtained
+     * by {@code getArgv()[getOptind() - 1]}.
+     */
+    public int
+    getOptopt()
+    {
+	return optopt;
+    }
+
+    /**
+     * Set to {@code false} to suppress diagnostic messages to stderr.
+     */
+    public void
+    setOpterr(boolean err)
+    {
+	opterr = err;
+    }
+
+    /**
+     * Gets the next option character, or -1 if there are no more
+     * options. If getopt() encounters a short-option character or a
+     * long-option string not described in the {@code optionString}
+     * argument to the constructor, it returns the question-mark (?)
+     * character. If it detects a missing option-argument, it also
+     * returns the question-mark (?) character, unless the first
+     * character of the {@code optionString} argument was a colon (:),
+     * in which case getopt() returns the colon (:) character.
+     * <p>
+     * This implementation swaps the positions of options and
+     * non-options in the given argv array.
+     */
+    public int
+    getopt()
+    {
+	char c;
+	int cp;
+	boolean longopt;
+	StringRef longoptarg = new StringRef();
+
+	/*
+	 * Has the end of the options been encountered?  The following
+	 * implements the SUS requirements:
+	 *
+	 * If, when getopt() is called:
+	 *	- the first character of argv[optind] is not '-'
+	 *	- argv[optind] is the string "-"
+	 * getopt() returns -1 without changing optind if
+	 *	- argv[optind] is the string "--"
+	 * getopt() returns -1 after incrementing optind
+	 */
+	if (_sp == 1) {
+	    boolean nonOption;
+	    do {
+		nonOption = false;
+		if (optind >= argc || args[optind].equals("-")) {
+		    return EOF;
+		} else if (args[optind].equals("--")) {
+		    ++optind;
+		    return EOF;
+		} else if (args[optind].charAt(0) != '-') {
+		    // non-option: here we deviate from the SUS requirements
+		    // by not quitting, and instead move non-options to the
+		    // end of the args array
+		    nonOption = true;
+		    String tmp = args[optind];
+		    if (optind + 1 < args.length) {
+			System.arraycopy(args, optind + 1, args, optind,
+				args.length - (optind + 1));
+			args[args.length - 1] = tmp;
+		    }
+		    --argc;
+		}
+	    } while (nonOption);
+	}
+
+	/*
+	 * Getting this far indicates that an option has been encountered.
+	 * Note that the syntax of optstring applies special meanings to
+	 * the characters ':' and '(', so they are not permissible as
+	 * option letters. A special meaning is also applied to the ')'
+	 * character, but its meaning can be determined from context.
+	 * Note that the specification only requires that the alnum
+	 * characters be accepted.
+	 *
+	 * If the second character of the argument is a '-' this must be
+	 * a long-option, otherwise it must be a short option.  Scan for
+	 * the option in optstring by the appropriate algorithm. Either
+	 * scan will return an index to the short-option character in
+	 * optstring if the option is found and -1 otherwise.
+	 *
+	 * For an unrecognized long-option, optopt will equal 0, but
+	 * since long-options can't aggregate the failing option can be
+	 * identified by argv[optind-1].
+	 */
+	optopt = c = args[optind].charAt(_sp);
+	optarg = null;
+	longopt = (_sp == 1 && c == '-');
+	if (!(longopt
+		? ((cp = parselong(optstring, args[optind].substring(2),
+		longoptarg)) != -1)
+		: ((cp = parseshort(optstring, c)) != -1))) {
+	    err("%s: illegal option -- %s", c,
+		    (longopt ? args[optind] : null));
+	    /*
+	     * Note: When the long option is unrecognized, optopt will
+	     * be '-' here, which matches the specification.
+	     */
+	    if (args[optind].length() == ++_sp || longopt) {
+		++optind;
+		_sp = 1;
+	    }
+	    return '?';
+	}
+	optopt = c = optstring.charAt(cp);
+
+	/*
+	 * A valid option has been identified.  If it should have an
+	 * option-argument, process that now.  SUS defines the setting
+	 * of optarg as follows:
+	 *
+	 *   1.	If the option was the last character in an element of
+	 *   argv, then optarg contains the next element of argv, and
+	 *   optind is incremented by 2. If the resulting value of
+	 *   optind is not less than argc, this indicates a missing
+	 *   option-argument, and getopt() returns an error indication.
+	 *
+	 *   2.	Otherwise, optarg points to the string following the
+	 *   option character in that element of argv, and optind is
+	 *   incremented by 1.
+	 *
+	 * The second clause allows -abcd (where b requires an
+	 * option-argument) to be interpreted as "-a -b cd".
+	 *
+	 * Note that the option-argument can legally be an empty string,
+	 * such as:
+	 * 	command --option= operand
+	 * which explicitly sets the value of --option to nil
+	 */
+	if (cp + 1 < optstring.length() && optstring.charAt(cp + 1) == ':') {
+	    // The option takes an argument
+	    if (!longopt && ((_sp + 1) < args[optind].length())) {
+		optarg = args[optind++].substring(_sp + 1);
+	    } else if (longopt && (longoptarg.get() != null)) {
+		/*
+		 * The option argument was explicitly set to the empty
+		 * string on the command line (--option=)
+		 */
+		optind++;
+		optarg = longoptarg.get();
+	    } else if (++optind >= argc) {
+		err("%s: option requires an argument -- %s", c,
+			(longopt ? args[optind - 1] : null));
+		_sp = 1;
+		optarg = null;
+		return (optstring.charAt(0) == ':' ? ':' : '?');
+	    } else
+		optarg = args[optind++];
+		_sp = 1;
+	    } else {
+		// The option does NOT take an argument
+		if (longopt && (longoptarg.get() != null)) {
+		// User supplied an arg to an option that takes none
+		err("%s: option doesn't take an argument -- %s", (char)0,
+			(longopt ? args[optind] : null));
+		optarg = longoptarg.set(null).get();
+		c = '?';
+	    }
+
+	    if (longopt || args[optind].length() == ++_sp) {
+		_sp = 1;
+		++optind;
+	    }
+	    optarg = null;
+	}
+	return (c);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/cmd/jdtrace/JDTrace.java	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,1190 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ *
+ * ident	"%Z%%M%	%I%	%E% SMI"
+ */
+import org.opensolaris.os.dtrace.*;
+import java.io.*;
+import java.util.*;
+import java.util.logging.*;
+
+/**
+ * Emulates {@code dtrace(1M)} using the Java DTrace API.
+ */
+public class JDTrace {
+    static Logger logger = Logger.getLogger(JDTrace.class.getName());
+
+    static Consumer dtrace;
+
+    static {
+	Handler handler = new ConsoleHandler();
+	handler.setLevel(Level.ALL);
+	logger.addHandler(handler);
+    }
+
+    static final String CLASSNAME = "JDTrace";
+    static final String OPTSTR =
+	    "3:6:b:c:CD:ef:Fi:I:lL:m:n:o:p:P:qs:U:vVwx:X:Z";
+    static boolean heading = false;
+    static boolean quiet = false;
+    static boolean flow = false;
+    static int stackindent = 14;
+    static int exitStatus = 0;
+    static boolean started;
+    static boolean stopped;
+    static PrintStream out = System.out;
+    static final String ATS = "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@";
+    static final String SPACES = "                                        ";
+    static final int QUANTIZE_ZERO_BUCKET = 63;
+
+    enum Mode {
+	EXEC,
+	INFO,
+	LIST,
+	VERSION
+    }
+
+    enum ProgramType {
+	STRING,
+	FILE
+    }
+
+    static class CompileRequest {
+	String s;
+	ProgramType type;
+	ProbeDescription.Spec probespec;
+    }
+
+    // Modify program string by expanding an incomplete probe
+    // description according to the requested probespec.
+    static void
+    applyProbespec(CompileRequest req)
+    {
+	ProbeDescription.Spec spec = ((req.probespec == null)
+		? ProbeDescription.Spec.NAME
+		: req.probespec);
+
+	int colons = 0;
+	switch (req.probespec) {
+	    case PROVIDER:
+		colons = 3;
+		break;
+	    case MODULE:
+		colons = 2;
+		break;
+	    case FUNCTION:
+		colons = 1;
+		break;
+	}
+
+	StringBuffer buf = new StringBuffer();
+	if (colons > 0) {
+	    char ch;
+	    int len = req.s.length();
+
+	    int i = 0;
+	    // Find first whitespace character not including leading
+	    // whitespace (end of first token).  Ignore whitespace
+	    // inside a block if the block is concatenated with the
+	    // probe description.
+	    for (; (i < len) && Character.isWhitespace(req.s.charAt(i)); ++i);
+	    int npos = i;
+	    boolean inBlock = false;
+	    for (; (npos < len) &&
+		    (!Character.isWhitespace(ch = req.s.charAt(npos)) ||
+		    inBlock); ++npos) {
+		if (ch == '{') {
+		    inBlock = true;
+		} else if (ch == '}') {
+		    inBlock = false;
+		}
+	    }
+
+	    // libdtrace lets you concatenate multiple probe
+	    // descriptions separated by code blocks in curly braces,
+	    // for example genunix::'{printf("FOUND");}'::entry, as long
+	    // as the concatenated probe descriptions begin with ':' and
+	    // not a specific field such as 'syscall'.  So to expand the
+	    // possibly multiple probe descriptions, we need to insert
+	    // colons before each open curly brace, and again at the end
+	    // only if there is at least one non-whitespace (probe
+	    // specifying) character after the last closing curly brace.
+
+	    int prev_i = 0;
+	    while (i < npos) {
+		for (; (i < npos) && (req.s.charAt(i) != '{'); ++i);
+		buf.append(req.s.substring(prev_i, i));
+		if ((i < npos) || ((i > 0) && (req.s.charAt(i - 1) != '}'))) {
+		    for (int c = 0; c < colons; ++c) {
+			buf.append(':');
+		    }
+		}
+		if (i < npos) {
+		    buf.append(req.s.charAt(i++));
+		}
+		prev_i = i;
+	    }
+
+	    // append remainder of program text
+	    buf.append(req.s.substring(i));
+
+	    req.s = buf.toString();
+	}
+    }
+
+    static void
+    printValue(Object value, int bytes, String stringFormat)
+    {
+	if (value instanceof Integer) {
+	    if (bytes == 1) {
+		out.printf(" %3d", (Integer)value);
+	    } else if (bytes == 2) {
+		out.printf(" %5d", (Integer)value);
+	    } else {
+		out.printf(" %8d", (Integer)value);
+	    }
+	} else if (value instanceof Long) {
+	    out.printf(" %16d", (Long)value);
+	} else {
+	    out.printf(stringFormat, value.toString());
+	}
+    }
+
+    static void
+    consumeProbeData(ProbeData data)
+    {
+	if (logger.isLoggable(Level.FINER)) {
+	    logger.finer(data.toString());
+	}
+
+	if (!heading) {
+	    if (flow) {
+		out.printf("%3s %-41s\n", "CPU", "FUNCTION");
+	    } else {
+		if (!quiet) {
+		    out.printf("%3s %6s %32s\n",
+			    "CPU", "ID", "FUNCTION:NAME");
+		}
+	    }
+	    heading = true;
+	}
+	ProbeDescription probe = data.getEnabledProbeDescription();
+	if (flow) {
+	    Flow flow = data.getFlow();
+	    int indent = (flow.getDepth() * 2);
+	    StringBuffer buf = new StringBuffer();
+	    // indent
+	    buf.append(' ');
+	    for (int i = 0; i < indent; ++i) {
+		buf.append(' ');
+	    }
+	    // prefix
+	    switch (flow.getKind()) {
+		case ENTRY:
+		    if (indent == 0) {
+			buf.append("=> ");
+		    } else {
+			buf.append("-> ");
+		    }
+		    break;
+		case RETURN:
+		    if (indent == 0) {
+			buf.append("<= ");
+		    } else {
+			buf.append("<- ");
+		    }
+		    break;
+	    }
+
+	    switch (flow.getKind()) {
+		case NONE:
+		    buf.append(probe.getFunction());
+		    buf.append(':');
+		    buf.append(probe.getName());
+		    break;
+		default:
+		    buf.append(probe.getFunction());
+	    }
+
+	    out.printf("%3s %-41s ", data.getCPU(),
+		    buf.toString());
+	} else {
+	    if (!quiet) {
+		StringBuffer buf = new StringBuffer();
+		buf.append(probe.getFunction());
+		buf.append(':');
+		buf.append(probe.getName());
+		out.printf("%3s %6s %32s ",
+			data.getCPU(), probe.getID(),
+			buf.toString());
+	    }
+	}
+	Record record = null;
+	Object value;
+	List <Record> records = data.getRecords();
+	Iterator <Record> itr = records.iterator();
+	while (itr.hasNext()) {
+	    record = itr.next();
+
+	    if (record instanceof ExitRecord) {
+		exitStatus = ((ExitRecord)record).getStatus();
+	    } else if (record instanceof ScalarRecord) {
+		ScalarRecord scalar = (ScalarRecord)record;
+		value = scalar.getValue();
+		if (value instanceof byte[]) {
+		    out.print(record.toString());
+		} else {
+		    if (quiet) {
+			out.print(value);
+		    } else {
+			printValue(value, scalar.getNumberOfBytes(),
+				"  %-33s");
+		    }
+		}
+	    } else if (record instanceof PrintfRecord) {
+		out.print(record);
+	    } else if (record instanceof PrintaRecord) {
+		PrintaRecord printa = (PrintaRecord)record;
+		List <Tuple> tuples = printa.getTuples();
+		if (tuples.isEmpty()) {
+		    out.print(printa.getOutput());
+		} else {
+		    for (Tuple t : tuples) {
+			out.print(printa.getFormattedString(t));
+		    }
+		}
+
+		if (logger.isLoggable(Level.FINE)) {
+		    logger.fine(printa.toString());
+		}
+	    } else if (record instanceof StackValueRecord) {
+		printStack((StackValueRecord)record);
+	    }
+	}
+	if (!quiet) {
+	    out.println();
+	}
+    }
+
+    static void
+    printDistribution(Distribution d)
+    {
+	out.printf("\n%16s %41s %-9s\n", "value",
+		"------------- Distribution -------------",
+		"count");
+	long v; // bucket frequency (value)
+	long b; // lower bound of bucket range
+	double total = 0;
+	boolean positives = false;
+	boolean negatives = false;
+
+	Distribution.Bucket bucket;
+	int b1 = 0; // first displayed bucket
+	int b2 = d.size() - 1; // last displayed bucket
+	for (; (b1 <= b2) && (d.get(b1).getFrequency() == 0); ++b1);
+	// If possible, get one bucket before the first non-zero
+	// bucket and one bucket after the last.
+	if (b1 > b2) {
+	    // There isn't any data.  This is possible if (and only if)
+	    // negative increment values have been used.  In this case,
+	    // print the buckets around the base.
+	    if (d instanceof LinearDistribution) {
+		b1 = 0;
+		b2 = 2;
+	    } else {
+		b1 = QUANTIZE_ZERO_BUCKET - 1;
+		b2 = QUANTIZE_ZERO_BUCKET + 1;
+	    }
+	} else {
+	    if (b1 > 0) --b1;
+	    for (; (b2 > 0) && (d.get(b2).getFrequency() == 0); --b2);
+	    if (b2 < (d.size() - 1)) ++b2;
+	}
+	for (int i = b1; i <= b2; ++i) {
+	    v = d.get(i).getFrequency();
+	    if (v > 0) {
+		positives = true;
+	    }
+	    if (v < 0) {
+		negatives = true;
+	    }
+	    total += Math.abs((double)v);
+	}
+	for (int i = b1; i <= b2; ++i) {
+	    bucket = d.get(i);
+	    v = bucket.getFrequency();
+	    b = bucket.getMin();
+
+	    if (d instanceof LinearDistribution) {
+		if (b == Long.MIN_VALUE) {
+		    String lt = "< " + ((LinearDistribution)d).getBase();
+		    out.printf("%16s ", lt);
+		} else if (bucket.getMax() == Long.MAX_VALUE) {
+		    String ge = ">= " + b;
+		    out.printf("%16s ", ge);
+		} else {
+		    out.printf("%16d ", b);
+		}
+	    } else {
+		out.printf("%16d ", b);
+	    }
+
+	    printDistributionLine(v, total, positives, negatives);
+	}
+    }
+
+    static void
+    printDistributionLine(long val, double total, boolean positives,
+	    boolean negatives)
+    {
+	double f;
+	int depth, len = 40;
+
+	assert (ATS.length() == len && SPACES.length() == len);
+	assert (!(total == 0 && (positives || negatives)));
+	assert (!(val < 0 && !negatives));
+	assert (!(val > 0 && !positives));
+	assert (!(val != 0 && total == 0));
+
+	if (!negatives) {
+	    if (positives) {
+		f = (Math.abs((double)val) * (double)len) / total;
+		    depth = (int)(f + 0.5);
+	    } else {
+		depth = 0;
+	    }
+
+	    out.printf("|%s%s %-9d\n", ATS.substring(len - depth),
+		    SPACES.substring(depth), val);
+	    return;
+	}
+
+	if (!positives) {
+	    f = (Math.abs((double)val) * (double)len) / total;
+	    depth = (int)(f + 0.5);
+
+	    out.printf("%s%s| %-9d\n", SPACES.substring(depth),
+		    ATS.substring(len - depth), val);
+	    return;
+	}
+
+	/*
+	 * If we're here, we have both positive and negative bucket values.
+	 * To express this graphically, we're going to generate both positive
+	 * and negative bars separated by a centerline.  These bars are half
+	 * the size of normal quantize()/lquantize() bars, so we divide the
+	 * length in half before calculating the bar length.
+	 */
+	len /= 2;
+	String ats = ATS.substring(len);
+	String spaces = SPACES.substring(len);
+
+	f = (Math.abs((double)val) * (double)len) / total;
+	depth = (int)(f + 0.5);
+
+	if (val <= 0) {
+	    out.printf("%s%s|%s %-9d\n", spaces.substring(depth),
+		    ats.substring(len - depth), repeat(" ", len), val);
+	    return;
+	} else {
+	    out.printf("%20s|%s%s %-9d\n", "", ats.substring(len - depth),
+		    spaces.substring(depth), val);
+	}
+    }
+
+    public static String
+    repeat(String s, int n)
+    {
+        StringBuffer buf = new StringBuffer();
+        for (int i = 0; i < n; ++i) {
+            buf.append(s);
+        }
+        return buf.toString();
+    }
+
+    static void
+    printStack(StackValueRecord rec)
+    {
+	StackFrame[] frames = rec.getStackFrames();
+	int i;
+	out.println();
+	String s;
+	for (StackFrame f : frames) {
+	    for (i = 0; i < stackindent; ++i) {
+		out.print(' ');
+	    }
+	    s = f.getFrame();
+	    if (s.indexOf('[') == 0) {
+		out.print("  ");
+	    }
+	    out.println(s);
+	}
+    }
+
+    static int
+    compareTuples(Tuple t1, Tuple t2, int pos)
+    {
+	int cmp = 0;
+	int len1 = t1.size();
+	int len2 = t2.size();
+	int index;
+
+	for (int i = 0; (cmp == 0) && (i < len1 && i < len2); ++i) {
+	    index = i + pos;
+	    if (index >= len1) {
+		index = index - len1;
+	    }
+	    cmp = Tuple.compare(t1, t2, index);
+	}
+
+	if (cmp == 0) {
+	    cmp = (len1 < len2 ? -1 : (len1 > len2 ? 1 : 0));
+	}
+
+	return cmp;
+    }
+
+    static int
+    compareValues(AggregationValue v1, AggregationValue v2)
+    {
+	int cmp;
+
+	if ((v1 instanceof LinearDistribution) &&
+		(v2 instanceof LinearDistribution)) {
+	    LinearDistribution l1 = (LinearDistribution)v1;
+	    LinearDistribution l2 = (LinearDistribution)v2;
+	    cmp = l1.compareTo(l2);
+	} else if ((v1 instanceof LogDistribution) &&
+		(v2 instanceof LogDistribution)) {
+	    LogDistribution l1 = (LogDistribution)v1;
+	    LogDistribution l2 = (LogDistribution)v2;
+	    cmp = l1.compareTo(l2);
+	} else {
+	    double n1 = v1.getValue().doubleValue();
+	    double n2 = v2.getValue().doubleValue();
+	    cmp = (n1 < n2 ? -1 : (n1 > n2 ? 1 : 0));
+	}
+
+	return cmp;
+    }
+
+    static Comparator <Object[]>
+    getAggValCmp(final int keypos)
+    {
+	Comparator <Object[]> CMP = new Comparator <Object[]> () {
+	    public int
+	    compare(Object[] pair1, Object[] pair2)
+	    {
+		int cmp;
+		long id1 = (Long)pair1[1];
+		long id2 = (Long)pair2[1];
+		cmp = (id1 < id2 ? -1 : (id1 > id2 ? 1 : 0));
+		if (cmp != 0) {
+		    return cmp;
+		}
+
+		AggregationRecord r1 = (AggregationRecord)pair1[0];
+		AggregationRecord r2 = (AggregationRecord)pair2[0];
+		AggregationValue v1 = r1.getValue();
+		AggregationValue v2 = r2.getValue();
+		cmp = compareValues(v1, v2);
+		if (cmp != 0) {
+		    return cmp;
+		}
+
+		cmp = compareTuples(r1.getTuple(), r2.getTuple(), keypos);
+		return cmp;
+	    }
+	};
+	return CMP;
+    };
+
+    static Comparator <Object[]>
+    getAggKeyCmp(final int keypos)
+    {
+	Comparator <Object[]> CMP = new Comparator <Object[]> () {
+	    public int
+	    compare(Object[] pair1, Object[] pair2)
+	    {
+		int cmp;
+		long id1 = (Long)pair1[1];
+		long id2 = (Long)pair2[1];
+		cmp = (id1 < id2 ? -1 : (id1 > id2 ? 1 : 0));
+		if (cmp != 0) {
+		    return cmp;
+		}
+
+		AggregationRecord r1 = (AggregationRecord)pair1[0];
+		AggregationRecord r2 = (AggregationRecord)pair2[0];
+		cmp = compareTuples(r1.getTuple(), r2.getTuple(), keypos);
+
+		return cmp;
+	    }
+	};
+	return CMP;
+    }
+
+    // Consumer getAggregate()
+    static void
+    printAggregate(Aggregate aggregate)
+    {
+	List <AggregationRecord> list =
+		new ArrayList <AggregationRecord> ();
+	List <Object[]> sortList = new ArrayList <Object[]> ();
+	for (Aggregation a : aggregate.getAggregations()) {
+	    for (AggregationRecord rec : a.asMap().values()) {
+		sortList.add(new Object[] {rec, new Long(a.getID())});
+	    }
+	}
+
+	try {
+	    // aggsortkeypos
+	    long optval = dtrace.getOption(Option.aggsortkeypos);
+	    int keypos;
+	    if (optval == Option.UNSET) {
+		keypos = 0;
+	    } else {
+		keypos = (int)optval;
+	    }
+
+	    // aggsortkey
+	    if (dtrace.getOption(Option.aggsortkey) == Option.UNSET) {
+		Collections.sort(sortList, getAggValCmp(keypos));
+	    } else {
+		Collections.sort(sortList, getAggKeyCmp(keypos));
+	    }
+
+	    for (Object[] pair : sortList) {
+		list.add((AggregationRecord)pair[0]);
+	    }
+
+	    // aggsortrev
+	    if (dtrace.getOption(Option.aggsortrev) != Option.UNSET) {
+		Collections.reverse(list);
+	    }
+	} catch (DTraceException e) {
+	    e.printStackTrace();
+	    return;
+	}
+
+	printAggregationRecords(list);
+    }
+
+    static void
+    printAggregationRecords(List <AggregationRecord> list)
+    {
+	Tuple tuple;
+	AggregationValue value;
+	ValueRecord tupleRecord;
+	int i;
+	int len;
+	for (AggregationRecord r : list) {
+	    tuple = r.getTuple();
+	    value = r.getValue();
+	    len = tuple.size();
+	    for (i = 0; i < len; ++i) {
+		tupleRecord = tuple.get(i);
+		if (tupleRecord instanceof StackValueRecord) {
+		    printStack((StackValueRecord)tupleRecord);
+		} else if (tupleRecord instanceof SymbolValueRecord) {
+		    printValue(tupleRecord.toString(), -1, "  %-50s");
+		} else {
+		    printValue(tupleRecord.getValue(),
+			    ((ScalarRecord)tupleRecord).getNumberOfBytes(),
+			    "  %-50s");
+		}
+	    }
+	    if (value instanceof Distribution) {
+		Distribution d = (Distribution)value;
+		printDistribution(d);
+	    } else {
+		Number v = value.getValue();
+		printValue(v, -1, "  %-50s");
+	    }
+	    out.println();
+	}
+    }
+
+    static void
+    exit(int status)
+    {
+	out.flush();
+	System.err.flush();
+	if (status == 0) {
+	    status = exitStatus;
+	}
+	System.exit(status);
+    }
+
+    static void
+    usage()
+    {
+	String predact = "[[ predicate ] action ]";
+	System.err.printf("Usage: java %s [-32|-64] [-CeFlqvVwZ] " +
+	    "[-b bufsz] [-c cmd] [-D name[=def]]\n\t[-I path] [-L path] " +
+	    "[-o output] [-p pid] [-s script] [-U name]\n\t" +
+	    "[-x opt[=val]] [-X a|c|s|t]\n\n" +
+	    "\t[-P provider %s]\n" +
+	    "\t[-m [ provider: ] module %s]\n" +
+	    "\t[-f [[ provider: ] module: ] func %s]\n" +
+	    "\t[-n [[[ provider: ] module: ] func: ] name %s]\n" +
+	    "\t[-i probe-id %s] [ args ... ]\n\n", CLASSNAME,
+	    predact, predact, predact, predact, predact);
+	System.err.printf("\tpredicate -> '/' D-expression '/'\n");
+	System.err.printf("\t   action -> '{' D-statements '}'\n");
+	System.err.printf("\n" +
+	    "\t-32 generate 32-bit D programs\n" +
+	    "\t-64 generate 64-bit D programs\n\n" +
+	    "\t-b  set trace buffer size\n" +
+	    "\t-c  run specified command and exit upon its completion\n" +
+	    "\t-C  run cpp(1) preprocessor on script files\n" +
+	    "\t-D  define symbol when invoking preprocessor\n" +
+	    "\t-e  exit after compiling request but prior to enabling " +
+		    "probes\n" +
+	    "\t-f  enable or list probes matching the specified " +
+		    "function name\n" +
+	    "\t-F  coalesce trace output by function\n" +
+	    "\t-i  enable or list probes matching the specified probe id\n" +
+	    "\t-I  add include directory to preprocessor search path\n" +
+	    "\t-l  list probes matching specified criteria\n" +
+	    "\t-L  add library directory to library search path\n" +
+	    "\t-m  enable or list probes matching the specified " +
+		    "module name\n" +
+	    "\t-n  enable or list probes matching the specified probe name\n" +
+	    "\t-o  set output file\n" +
+	    "\t-p  grab specified process-ID and cache its symbol tables\n" +
+	    "\t-P  enable or list probes matching the specified " +
+		    "provider name\n" +
+	    "\t-q  set quiet mode (only output explicitly traced data)\n" +
+	    "\t-s  enable or list probes according to the specified " +
+		    "D script\n" +
+	    "\t-U  undefine symbol when invoking preprocessor\n" +
+	    "\t-v  set verbose mode (report stability attributes, " +
+		    "arguments)\n" +
+	    "\t-V  report DTrace API version\n" +
+	    "\t-w  permit destructive actions\n" +
+	    "\t-x  enable or modify compiler and tracing options\n" +
+	    "\t-X  specify ISO C conformance settings for preprocessor\n" +
+	    "\t-Z  permit probe descriptions that match zero probes\n" +
+	    "\n" +
+	    "\tTo log PrintaRecord, set this environment variable:\n" +
+	    "\t\tJDTRACE_LOGGING_LEVEL=FINE\n" +
+	    "\tTo log ProbeData, set JDTRACE_LOGGING_LEVEL=FINER\n");
+	exit(2);
+    }
+
+    static void
+    printProgramStability(String programType, String programDescription,
+	    ProgramInfo info)
+    {
+	out.println();
+	out.printf("Stability data for %s %s:\n\n",
+		programType, programDescription);
+	InterfaceAttributes a;
+	out.println("\tMinimum probe description " +
+		"attributes");
+	a = info.getMinimumProbeAttributes();
+	out.printf("\t\tIdentifier Names: %s\n",
+		a.getNameStability());
+	out.printf("\t\tData Semantics:   %s\n",
+		a.getDataStability());
+	out.printf("\t\tDependency Class: %s\n",
+		a.getDependencyClass());
+	out.println("\tMinimum probe statement attributes");
+	a = info.getMinimumStatementAttributes();
+	out.printf("\t\tIdentifier Names: %s\n",
+		a.getNameStability());
+	out.printf("\t\tData Semantics:   %s\n",
+		a.getDataStability());
+	out.printf("\t\tDependency Class: %s\n",
+		a.getDependencyClass());
+    }
+
+    static void
+    printProbeDescription(ProbeDescription p)
+    {
+	out.printf("%5d %10s %17s %33s %s\n", p.getID(),
+	    p.getProvider(), p.getModule(),
+	    p.getFunction(), p.getName());
+    }
+
+    static void
+    printProbeInfo(ProbeInfo p)
+    {
+	InterfaceAttributes a;
+	out.println("\n\tProbe Description Attributes");
+
+	a = p.getProbeAttributes();
+	out.printf("\t\tIdentifier Names: %s\n",
+	    a.getNameStability());
+	out.printf("\t\tData Semantics:   %s\n",
+	    a.getDataStability());
+	out.printf("\t\tDependency Class: %s\n",
+	    a.getDependencyClass());
+
+	out.println("\n\tArgument Attributes");
+
+	a = p.getArgumentAttributes();
+	out.printf("\t\tIdentifier Names: %s\n",
+	    a.getNameStability());
+	out.printf("\t\tData Semantics:   %s\n",
+	    a.getDataStability());
+	out.printf("\t\tDependency Class: %s\n",
+	    a.getDependencyClass());
+
+	// Argument types unsupported for now.
+
+	out.println();
+    }
+
+    public static void
+    main(String[] args)
+    {
+	String loggingLevel = System.getenv().get("JDTRACE_LOGGING_LEVEL");
+	try {
+	    logger.setLevel(Level.parse(loggingLevel));
+	} catch (Exception e) {
+	    logger.setLevel(Level.OFF);
+	}
+
+	if (args.length == 0) {
+	    usage();
+	}
+
+	List <CompileRequest> compileRequests = new LinkedList
+		<CompileRequest> ();
+	List <Program> programList = new LinkedList <Program> ();
+	boolean verbose = false;
+	Mode mode = Mode.EXEC;
+
+	final ExceptionHandler exceptionHandler = new ExceptionHandler() {
+	    public void handleException(Throwable e) {
+		if (e instanceof DTraceException) {
+		    DTraceException de = (DTraceException)e;
+		    System.err.printf("dtrace: %s\n", de.getMessage());
+		} else if (e instanceof ConsumerException) {
+		    ConsumerException ce = (ConsumerException)e;
+		    Object msg = ce.getNotificationObject();
+		    if ((msg instanceof org.opensolaris.os.dtrace.Error) ||
+			(msg instanceof Drop)) {
+			System.err.printf("dtrace: %s\n", ce.getMessage());
+		    } else {
+			ce.printStackTrace();
+		    }
+		} else {
+		    e.printStackTrace();
+		}
+		exit(1);
+	    }
+	};
+
+	Getopt g = new Getopt(CLASSNAME, args, OPTSTR);
+	int c = 0;
+
+	List <Consumer.OpenFlag> openFlags =
+		new ArrayList <Consumer.OpenFlag> ();
+
+	while ((c = g.getopt()) != -1) {
+	    switch (c) {
+		case '3': {
+		    String s = g.getOptarg();
+		    if (!s.equals("2")) {
+			System.err.println("dtrace: illegal option -- 3" + s);
+			usage();
+		    }
+		    openFlags.add(Consumer.OpenFlag.ILP32);
+		    break;
+		}
+		case '6': {
+		    String s = g.getOptarg();
+		    if (!s.equals("4")) {
+			System.err.println("dtrace: illegal option -- 6" + s);
+			usage();
+		    }
+		    openFlags.add(Consumer.OpenFlag.LP64);
+		    break;
+		}
+	    }
+	}
+
+	Consumer.OpenFlag[] oflags = new Consumer.OpenFlag[openFlags.size()];
+	oflags = (Consumer.OpenFlag[])openFlags.toArray(oflags);
+
+	dtrace = new LocalConsumer() {
+	    protected Thread createThread() {
+		Thread t = super.createThread();
+		t.setDaemon(false);
+		t.setPriority(Thread.MIN_PRIORITY);
+		return t;
+	    }
+	};
+
+	g = new Getopt(CLASSNAME, args, OPTSTR);
+	c = 0;
+
+	try {
+	    dtrace.open(oflags);
+
+	    // Set default options that may be overriden by options or #pragma
+	    dtrace.setOption(Option.bufsize, Option.mb(4));
+	    dtrace.setOption(Option.aggsize, Option.mb(4));
+
+	    CompileRequest r;
+	    while ((c = g.getopt()) != -1) {
+		switch (c) {
+		    case 'b':
+			dtrace.setOption(Option.bufsize, g.getOptarg());
+			break;
+		    case 'c':
+			dtrace.createProcess(g.getOptarg());
+			break;
+		    case 'C':
+			dtrace.setOption(Option.cpp);
+			break;
+		    case 'D':
+			dtrace.setOption(Option.define, g.getOptarg());
+			break;
+		    case 'e':
+			mode = Mode.INFO;
+			break;
+		    case 'f':
+			r = new CompileRequest();
+			r.s = g.getOptarg();
+			r.type = ProgramType.STRING;
+			r.probespec = ProbeDescription.Spec.FUNCTION;
+			compileRequests.add(r);
+			break;
+		    case 'F':
+			dtrace.setOption(Option.flowindent);
+			break;
+		    case 'i':
+			r = new CompileRequest();
+			r.s = g.getOptarg();
+			r.type = ProgramType.STRING;
+			r.probespec = ProbeDescription.Spec.NAME;
+			compileRequests.add(r);
+			break;
+		    case 'I':
+			dtrace.setOption(Option.incdir, g.getOptarg());
+			break;
+		    case 'l':
+			mode = Mode.LIST;
+			dtrace.setOption(Option.zdefs); // -l implies -Z
+			break;
+		    case 'L':
+			dtrace.setOption(Option.libdir, g.getOptarg());
+			break;
+		    case 'm':
+			r = new CompileRequest();
+			r.s = g.getOptarg();
+			r.type = ProgramType.STRING;
+			r.probespec = ProbeDescription.Spec.MODULE;
+			compileRequests.add(r);
+			break;
+		    case 'n':
+			r = new CompileRequest();
+			r.s = g.getOptarg();
+			r.type = ProgramType.STRING;
+			r.probespec = ProbeDescription.Spec.NAME;
+			compileRequests.add(r);
+			break;
+		    case 'o':
+			String outFileName = g.getOptarg();
+			File outFile = new File(outFileName);
+			try {
+			    FileOutputStream fos = new FileOutputStream(
+				    outFile, true);
+			    out = new PrintStream(fos);
+			} catch (FileNotFoundException e) {
+			    System.err.println("failed to open " +
+				outFileName + " in write mode");
+			    exit(1);
+			} catch (SecurityException e) {
+			    System.err.println("failed to open " +
+				outFileName);
+			    exit(1);
+			}
+			break;
+		    case 'p':
+			String pidstr = g.getOptarg();
+			int pid = -1;
+			try {
+			    pid = Integer.parseInt(pidstr);
+			} catch (NumberFormatException e) {
+			    System.err.println("invalid pid: " + pidstr);
+			    exit(1);
+			}
+			dtrace.grabProcess(pid);
+			break;
+		    case 'P':
+			r = new CompileRequest();
+			r.s = g.getOptarg();
+			r.type = ProgramType.STRING;
+			r.probespec = ProbeDescription.Spec.PROVIDER;
+			compileRequests.add(r);
+			break;
+		    case 'q':
+			dtrace.setOption(Option.quiet);
+			break;
+		    case 's':
+			r = new CompileRequest();
+			r.s = g.getOptarg();
+			r.type = ProgramType.FILE;
+			compileRequests.add(r);
+			break;
+		    case 'U':
+			dtrace.setOption(Option.undef, g.getOptarg());
+			break;
+		    case 'v':
+			verbose = true;
+			break;
+		    case 'V':
+			mode = Mode.VERSION;
+			break;
+		    case 'w':
+			dtrace.setOption(Option.destructive);
+			break;
+		    case 'x':
+			String[] xarg = g.getOptarg().split("=", 2);
+			if (xarg.length > 1) {
+			    dtrace.setOption(xarg[0], xarg[1]);
+			} else if (xarg.length == 1) {
+			    dtrace.setOption(xarg[0]);
+			}
+			break;
+		    case 'X':
+			dtrace.setOption(Option.stdc, g.getOptarg());
+			break;
+		    case 'Z':
+			dtrace.setOption(Option.zdefs);
+			break;
+		    case '?':
+			usage(); // getopt() already printed an error
+			break;
+		    default:
+			System.err.print("getopt() returned " + c + "\n");
+			c = 0;
+		 }
+	    }
+	    c = 0;
+	    List <String> argList = new LinkedList <String> ();
+	    for (int i = g.getOptind(); i < args.length; ++i) {
+		argList.add(args[i]);
+	    }
+
+	    if (mode == Mode.VERSION) {
+		out.printf("dtrace: %s\n", dtrace.getVersion());
+		dtrace.close();
+		exit(0);
+	    }
+
+	    String[] compileArgs = new String[argList.size()];
+	    compileArgs = (String[])argList.toArray(compileArgs);
+
+	    if (compileRequests.isEmpty()) {
+		System.err.println("dtrace: no probes specified");
+		exit(1);
+	    }
+
+	    Program program;
+	    for (CompileRequest req : compileRequests) {
+		switch (req.type) {
+		    case STRING:
+			applyProbespec(req);
+			program = dtrace.compile(req.s, compileArgs);
+			break;
+		    case FILE:
+			File file = new File(req.s);
+			program = dtrace.compile(file, compileArgs);
+			break;
+		    default:
+			throw new IllegalArgumentException(
+				"Unexpected program type: " + req.type);
+		}
+
+		programList.add(program);
+	    }
+
+	    // Get options set by #pragmas in compiled program
+	    long optval;
+	    quiet = (dtrace.getOption(Option.quiet) != Option.UNSET);
+	    flow = (dtrace.getOption(Option.flowindent) != Option.UNSET);
+	    optval = dtrace.getOption("stackindent");
+	    if (optval != Option.UNSET) {
+		stackindent = (int)optval;
+	    }
+
+	    if (mode == Mode.LIST) {
+		out.printf("%5s %10s %17s %33s %s\n",
+		    "ID", "PROVIDER", "MODULE", "FUNCTION", "NAME");
+
+		if (verbose) {
+		    List <List <Probe>> lists =
+			    new LinkedList <List <Probe>> ();
+		    for (Program p : programList) {
+			lists.add(dtrace.listProgramProbeDetail(p));
+		    }
+		    ProbeDescription p;
+		    ProbeInfo pinfo;
+		    for (List <Probe> list : lists) {
+			for (Probe probe : list) {
+			    p = probe.getDescription();
+			    pinfo = probe.getInfo();
+			    printProbeDescription(p);
+			    printProbeInfo(pinfo);
+			}
+		    }
+		} else {
+		    List <List <ProbeDescription>> lists =
+			    new LinkedList <List <ProbeDescription>> ();
+		    for (Program p : programList) {
+			lists.add(dtrace.listProgramProbes(p));
+		    }
+		    for (List <ProbeDescription> list : lists) {
+			for (ProbeDescription p : list) {
+			    printProbeDescription(p);
+			}
+		    }
+		}
+		exit(0);
+	    }
+
+	    String programType;
+	    String programDescription;
+	    ProgramInfo info;
+	    for (Program p : programList) {
+		if (p instanceof Program.File) {
+		    Program.File pf = (Program.File)p;
+		    programType = "script";
+		    programDescription = pf.getFile().getPath();
+		} else {
+		    programType = "description";
+		    programDescription =
+			p.getContents().split("[/{;]", 2)[0];
+		}
+
+		if (mode == Mode.EXEC) {
+		    dtrace.enable(p);
+		} else {
+		    dtrace.getProgramInfo(p);
+		}
+		info = p.getInfo();
+		if (!quiet) {
+		    System.err.printf("dtrace: %s '%s' matched %d probe%s\n",
+			    programType, programDescription,
+			    info.getMatchingProbeCount(),
+			    info.getMatchingProbeCount() == 1 ? "" : "s");
+		}
+		if (verbose) {
+		    printProgramStability(programType,
+			    programDescription, info);
+		}
+	    }
+	    if (mode != Mode.EXEC) {
+		exit(0);
+	    }
+	    dtrace.addConsumerListener(new ConsumerAdapter() {
+		public void consumerStarted(ConsumerEvent e) {
+		    started = true;
+		}
+		public void consumerStopped(ConsumerEvent e) {
+		    stopped = true;
+		    out.println();
+		    try {
+			Aggregate aggregate = dtrace.getAggregate();
+			if (aggregate != null) {
+			    printAggregate(aggregate);
+			}
+			dtrace.close();
+		    } catch (Throwable x) {
+			exceptionHandler.handleException(x);
+		    }
+		    exit(0);
+		}
+		public void dataDropped(DropEvent e) {
+		    System.err.printf("dtrace: %s",
+			    e.getDrop().getDefaultMessage());
+		}
+		public void errorEncountered(ErrorEvent e)
+			throws ConsumerException {
+		    org.opensolaris.os.dtrace.Error error = e.getError();
+		    if (logger.isLoggable(Level.FINE)) {
+			logger.fine(error.toString());
+		    }
+		    System.err.printf("dtrace: %s",
+			    error.getDefaultMessage());
+		}
+		public void dataReceived(DataEvent e)
+			throws ConsumerException {
+		    consumeProbeData(e.getProbeData());
+		}
+		public void processStateChanged(ProcessEvent e)
+			throws ConsumerException {
+		    if (logger.isLoggable(Level.FINE)) {
+			logger.fine(e.getProcessState().toString());
+		    }
+		}
+	    });
+	    // Print unprinted aggregations after Ctrl-C
+	    Runtime.getRuntime().addShutdownHook(new Thread() {
+		public void run() {
+		    if (stopped || !started) {
+			return;
+		    }
+
+		    try {
+			Aggregate aggregate = dtrace.getAggregate();
+			if (aggregate != null) {
+			    out.println();
+			    out.println();
+			    printAggregate(aggregate);
+			}
+		    } catch (Throwable x) {
+			exceptionHandler.handleException(x);
+		    }
+		}
+	    });
+	    dtrace.go(exceptionHandler);
+	} catch (DTraceException e) {
+	    if (c > 0) {
+		// set option error
+		if (g.getOptarg() == null) {
+		    System.err.printf("dtrace: failed to set -%c: %s\n",
+			c, e.getMessage());
+		} else {
+		    System.err.printf("dtrace: failed to set -%c %s: %s\n",
+			c, g.getOptarg(), e.getMessage());
+		}
+	    } else {
+		// any other error
+		System.err.printf("dtrace: %s\n", e.getMessage());
+	    }
+	    exit(1);
+	} catch (Exception e) {
+	    e.printStackTrace();
+	    exit(1);
+	}
+    }
+}
--- a/usr/src/cmd/dtrace/test/cmd/jdtrace/Makefile	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/cmd/jdtrace/Makefile	Sun Apr 01 23:38:22 2007 -0700
@@ -20,12 +20,15 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 
-include $(SRC)/Makefile.master
+PROG = jdtrace
+SRCS = jdtrace.c
+
+include $(SRC)/cmd/Makefile.cmd
 
 ROOTOPTPKG = $(ROOT)/opt/SUNWdtrt
 ROOTBIN = $(ROOTOPTPKG)/bin
@@ -41,7 +44,6 @@
 INSTALLED_DTRACE_JAR=/$(DTRACE_JAR)
 CLASSPATH=$(PROTO_DTRACE_JAR):$(INSTALLED_DTRACE_JAR)
 DTEST_DIR=$(SRC)/cmd/dtrace/test
-SRCDIR=src
 CLASSDIR=classes
 LIBDIR=lib
 MANIFESTDIR=manifest
@@ -52,30 +54,31 @@
 CMD = $(ROOTBIN)/jdtrace
 XLIST = $(ROOTBIN)/exception.lst
 
+$(PROTO_JDTRACE_JAR) := FILEMODE = 0644
 $(CMD) := FILEMODE = 0555
+$(XLIST) := FILEMODE = 0444
 
-default: $(JDTRACE_JAR) jdtrace.exe
+all: $(JDTRACE_JAR) $(PROG)
 
 clean:
-	$(RM) $(CLASSDIR)/*.class
+	-$(RM) $(CLASSDIR)/*.class
 
 clobber: clean
-	$(RM) $(JDTRACE_JAR)
-	$(RM) jdtrace.exe
-
-all: default
+	-$(RM) $(JDTRACE_JAR)
+	-$(RM) $(PROG)
 
 lint:
 
 install: all $(PROTO_JDTRACE_JAR) $(CMD) $(XLIST)
 
-jdtrace.exe: $(SRCDIR)/jdtrace.c
-	$(CC) -I/usr/include $(SRCDIR)/jdtrace.c -o jdtrace.exe
+$(PROG): $(SRCS)
+	$(LINK.c) -o $@ $(SRCS) $(LDLIBS)
+	$(POST_PROCESS) ; $(STRIP_STABS)
 
-$(JDTRACE_JAR): $(SRCDIR)/JDTrace.java $(SRCDIR)/Getopt.java
+$(JDTRACE_JAR): JDTrace.java Getopt.java
 	@mkdir -p $(CLASSDIR)
 	@mkdir -p $(LIBDIR)
-	$(JAVAC) -cp $(CLASSPATH) -d $(CLASSDIR) $(SRCDIR)/*.java
+	$(JAVAC) -cp $(CLASSPATH) -d $(CLASSDIR) *.java
 	$(JAR) -cmf $(MANIFEST) $(JDTRACE_JAR) -C $(CLASSDIR) .
 
 $(PROTO_JDTRACE_JAR): $(ROOTLIBJAVA)
@@ -96,8 +99,5 @@
 $(ROOTLIBJAVA)/%.jar: $(LIBDIR)/%.jar
 	$(INS.file)
 
-$(ROOTBIN)/%.lst: %.lst
+$(ROOTBIN)/%: %
 	$(INS.file)
-
-$(ROOTBIN)/%: %.exe
-	$(INS.rename)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/cmd/jdtrace/jdtrace.c	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,60 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+#include <alloca.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <sys/systeminfo.h>
+
+int
+main(int argc, char **argv)
+{
+	int i, ac, has64;
+	char **av, **p;
+
+	ac = argc + 3;
+	av = p = alloca(sizeof (char *) * ac);
+
+	*p++ = "java";
+	*p++ = "-jar";
+	*p++ = "/opt/SUNWdtrt/lib/java/jdtrace.jar";
+
+	argc--;
+	argv++;
+
+	for (i = 0; i < argc; i++) {
+		p[i] = argv[i];
+	}
+	p[i] = NULL;
+
+	(void) execvp(av[0], av);
+
+	perror("exec failed");
+
+	return (0);
+}
--- a/usr/src/cmd/dtrace/test/cmd/jdtrace/src/Getopt.java	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,453 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-
-/*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
- *
- * ident	"%Z%%M%	%I%	%E% SMI"
- */
-
-/* Copyright (c) 1988 AT&T */
-/* All Rights Reserved */
-
-import java.io.StringWriter;
-import java.io.PrintWriter;
-
-/**
- * A Java port of Solaris {@code lib/libc/port/gen/getopt.c}, which is a
- * port of System V UNIX getopt.  See <b>getopt(3C)</b> and SUS/XPG
- * getopt() for function definition and requirements. Unlike that
- * definition, this implementation moves non-options to the end of the
- * argv array rather than quitting at the first non-option.
- */
-public class Getopt {
-    static final int EOF = -1;
-
-    private String progname;
-    private String[] args;
-    private int argc;
-    private String optstring;
-    private int optind = 0; // args index
-    private int optopt = 0;
-    private String optarg = null;
-    private boolean opterr = true;
-
-    /*
-     * _sp is required to keep state between successive calls to
-     * getopt() while extracting aggregated short-options (ie: -abcd).
-     */
-    private int _sp = 1;
-
-    /**
-     * Creates a {Code Getopt} instance to parse the given command-line
-     * arguments. Modifies the given args array by swapping the
-     * positions of non-options and options so that non-options appear
-     * at the end of the array.
-     */
-    public Getopt(String programName, String[] args,
-	    String optionString)
-    {
-	progname = programName;
-	// No defensive copy; Getopt is expected to modify the given
-	// args array
-	this.args = args;
-	argc = this.args.length;
-	optstring = optionString;
-	validate();
-    }
-
-    private void
-    validate()
-    {
-	if (progname == null) {
-	    throw new NullPointerException("program name is null");
-	}
-	int i = 0;
-	for (String s : args) {
-	    if (s == null) {
-		throw new NullPointerException("null arg at index " + i);
-	    }
-	    ++i;
-	}
-	if (optstring == null) {
-	    throw new NullPointerException("option string is null");
-	}
-    }
-
-    private static class StringRef {
-	private String s;
-
-	public String
-	get()
-	{
-	    return s;
-	}
-
-	public StringRef
-	set(String value)
-	{
-	    s = value;
-	    return this;
-	}
-    }
-
-    /*
-     * Generalized error processing method. If the optstr parameter is
-     * null, the character c is converted to a string and displayed
-     * instead.
-     */
-    void
-    err(String format, char c, String optstr)
-    {
-	if (opterr && optstring.charAt(0) != ':') {
-	    StringWriter w = new StringWriter();
-	    PrintWriter p = new PrintWriter(w);
-	    p.printf(format, progname, (optstr == null ?
-		    Character.toString(c) : optstr.substring(2)));
-	    System.err.println(w.toString());
-	}
-    }
-
-    /*
-     * Determine if the specified character (c) is present in the string
-     * (optstring) as a regular, single character option. If the option
-     * is found, return an index into optstring where the short-option
-     * character is found, otherwise return -1. The characters ':' and
-     * '(' are not allowed.
-     */
-    static int
-    parseshort(String optstring, char c)
-    {
-	if (c == ':' || c == '(') {
-	    return -1;
-	}
-
-	int ch;
-	int len = optstring.length();
-	for (int i = 0; i < len; ++i) {
-	    ch = optstring.charAt(i);
-	    if (ch == c) {
-		return i;
-	    }
-
-	    while (i < len && ch == '(') {
-		for (++i; i < len && (ch = optstring.charAt(i)) != ')'; ++i);
-	    }
-	}
-
-	return -1;
-    }
-
-    /**
-     * Determine if the specified string (opt) is present in the string
-     * (optstring) as a long-option contained within parenthesis. If the
-     * long-option specifies option-argument, return a reference to it
-     * in longoptarg.  Otherwise set the longoptarg reference to null.
-     * If the option is found, return an index into optstring at the
-     * position of the short-option character associated with the
-     * long-option; otherwise return -1.
-     *
-     * @param optstring	the entire optstring passed to the {@code
-     * Getopt} constructor
-     * @param opt the long option read from the command line
-     * @param longoptarg the value of the option is returned in this
-     * parameter, if an option exists. Possible return values in
-     * longoptarg are:
-     * <ul>
-     * <li><b>NULL:</b> No argument was found</li>
-     * <li><b>empty string (""):</b> Argument was explicitly left empty
-     * by the user (e.g., --option= )</li>
-     * <li><b>valid string:</b> Argument found on the command line</li>
-     * </ul>
-     * @return index to equivalent short-option in optstring, or -1 if
-     * option not found in optstring.
-     */
-    static int
-    parselong(String optstring, String opt, StringRef longoptarg)
-    {
-	int cp; // index into optstring, beginning of one option spec
-	int ip; // index into optstring, traverses every char
-	char ic; // optstring char
-	int il; // optstring length
-	int op;	// index into opt
-	char oc; // opt char
-	int ol; // opt length
-	boolean	match; // true if opt is matching part of optstring
-
-	longoptarg.set(null);
-	cp = ip = 0;
-	il = optstring.length();
-	ol = opt.length();
-	do {
-	    ic = optstring.charAt(ip);
-	    if (ic != '(' && ++ip == il)
-		break;
-	    ic = optstring.charAt(ip);
-	    if (ic == ':' && ++ip == il)
-		break;
-	    ic = optstring.charAt(ip);
-	    while (ic == '(') {
-		if (++ip == il)
-		    break;
-		op = 0;
-		match = true;
-		while (ip < il && (ic = optstring.charAt(ip)) != ')' &&
-			op < ol) {
-		    oc = opt.charAt(op++);
-		    match = (ic == oc && match);
-		    ++ip;
-		}
-
-		if (match && ip < il && ic == ')' && (op >= ol ||
-			opt.charAt(op) == '=')) {
-		    if (op < ol && opt.charAt(op) == '=') {
-			/* may be an empty string - OK */
-			longoptarg.set(opt.substring(op + 1));
-		    } else {
-			longoptarg.set(null);
-		    }
-		    return cp;
-		}
-		if (ip < il && ic == ')' && ++ip == il)
-		    break;
-		ic = optstring.charAt(ip);
-	    }
-	    cp = ip;
-	    /*
-	     * Handle double-colon in optstring ("a::(longa)") The old
-	     * getopt() accepts it and treats it as a required argument.
-	     */
-	    while ((cp > 0) && (cp < il) && (optstring.charAt(cp) == ':')) {
-		--cp;
-	    }
-	} while (cp < il);
-	return -1;
-    }
-
-    /**
-     * Get the current option value.
-     */
-    public String
-    getOptarg()
-    {
-	return optarg;
-    }
-
-    /**
-     * Get the index of the next option to be parsed.
-     */
-    public int
-    getOptind()
-    {
-	return optind;
-    }
-
-    /**
-     * Gets the command-line arguments.
-     */
-    public String[]
-    getArgv()
-    {
-	// No defensive copy: Getopt is expected to modify the given
-	// args array.
-	return args;
-    }
-
-    /**
-     * Gets the aggregated short option that just failed. Since long
-     * options can't be aggregated, a failed long option can be obtained
-     * by {@code getArgv()[getOptind() - 1]}.
-     */
-    public int
-    getOptopt()
-    {
-	return optopt;
-    }
-
-    /**
-     * Set to {@code false} to suppress diagnostic messages to stderr.
-     */
-    public void
-    setOpterr(boolean err)
-    {
-	opterr = err;
-    }
-
-    /**
-     * Gets the next option character, or -1 if there are no more
-     * options. If getopt() encounters a short-option character or a
-     * long-option string not described in the {@code optionString}
-     * argument to the constructor, it returns the question-mark (?)
-     * character. If it detects a missing option-argument, it also
-     * returns the question-mark (?) character, unless the first
-     * character of the {@code optionString} argument was a colon (:),
-     * in which case getopt() returns the colon (:) character.
-     * <p>
-     * This implementation swaps the positions of options and
-     * non-options in the given argv array.
-     */
-    public int
-    getopt()
-    {
-	char c;
-	int cp;
-	boolean longopt;
-	StringRef longoptarg = new StringRef();
-
-	/*
-	 * Has the end of the options been encountered?  The following
-	 * implements the SUS requirements:
-	 *
-	 * If, when getopt() is called:
-	 *	- the first character of argv[optind] is not '-'
-	 *	- argv[optind] is the string "-"
-	 * getopt() returns -1 without changing optind if
-	 *	- argv[optind] is the string "--"
-	 * getopt() returns -1 after incrementing optind
-	 */
-	if (_sp == 1) {
-	    boolean nonOption;
-	    do {
-		nonOption = false;
-		if (optind >= argc || args[optind].equals("-")) {
-		    return EOF;
-		} else if (args[optind].equals("--")) {
-		    ++optind;
-		    return EOF;
-		} else if (args[optind].charAt(0) != '-') {
-		    // non-option: here we deviate from the SUS requirements
-		    // by not quitting, and instead move non-options to the
-		    // end of the args array
-		    nonOption = true;
-		    String tmp = args[optind];
-		    if (optind + 1 < args.length) {
-			System.arraycopy(args, optind + 1, args, optind,
-				args.length - (optind + 1));
-			args[args.length - 1] = tmp;
-		    }
-		    --argc;
-		}
-	    } while (nonOption);
-	}
-
-	/*
-	 * Getting this far indicates that an option has been encountered.
-	 * Note that the syntax of optstring applies special meanings to
-	 * the characters ':' and '(', so they are not permissible as
-	 * option letters. A special meaning is also applied to the ')'
-	 * character, but its meaning can be determined from context.
-	 * Note that the specification only requires that the alnum
-	 * characters be accepted.
-	 *
-	 * If the second character of the argument is a '-' this must be
-	 * a long-option, otherwise it must be a short option.  Scan for
-	 * the option in optstring by the appropriate algorithm. Either
-	 * scan will return an index to the short-option character in
-	 * optstring if the option is found and -1 otherwise.
-	 *
-	 * For an unrecognized long-option, optopt will equal 0, but
-	 * since long-options can't aggregate the failing option can be
-	 * identified by argv[optind-1].
-	 */
-	optopt = c = args[optind].charAt(_sp);
-	optarg = null;
-	longopt = (_sp == 1 && c == '-');
-	if (!(longopt
-		? ((cp = parselong(optstring, args[optind].substring(2),
-		longoptarg)) != -1)
-		: ((cp = parseshort(optstring, c)) != -1))) {
-	    err("%s: illegal option -- %s", c,
-		    (longopt ? args[optind] : null));
-	    /*
-	     * Note: When the long option is unrecognized, optopt will
-	     * be '-' here, which matches the specification.
-	     */
-	    if (args[optind].length() == ++_sp || longopt) {
-		++optind;
-		_sp = 1;
-	    }
-	    return '?';
-	}
-	optopt = c = optstring.charAt(cp);
-
-	/*
-	 * A valid option has been identified.  If it should have an
-	 * option-argument, process that now.  SUS defines the setting
-	 * of optarg as follows:
-	 *
-	 *   1.	If the option was the last character in an element of
-	 *   argv, then optarg contains the next element of argv, and
-	 *   optind is incremented by 2. If the resulting value of
-	 *   optind is not less than argc, this indicates a missing
-	 *   option-argument, and getopt() returns an error indication.
-	 *
-	 *   2.	Otherwise, optarg points to the string following the
-	 *   option character in that element of argv, and optind is
-	 *   incremented by 1.
-	 *
-	 * The second clause allows -abcd (where b requires an
-	 * option-argument) to be interpreted as "-a -b cd".
-	 *
-	 * Note that the option-argument can legally be an empty string,
-	 * such as:
-	 * 	command --option= operand
-	 * which explicitly sets the value of --option to nil
-	 */
-	if (cp + 1 < optstring.length() && optstring.charAt(cp + 1) == ':') {
-	    // The option takes an argument
-	    if (!longopt && ((_sp + 1) < args[optind].length())) {
-		optarg = args[optind++].substring(_sp + 1);
-	    } else if (longopt && (longoptarg.get() != null)) {
-		/*
-		 * The option argument was explicitly set to the empty
-		 * string on the command line (--option=)
-		 */
-		optind++;
-		optarg = longoptarg.get();
-	    } else if (++optind >= argc) {
-		err("%s: option requires an argument -- %s", c,
-			(longopt ? args[optind - 1] : null));
-		_sp = 1;
-		optarg = null;
-		return (optstring.charAt(0) == ':' ? ':' : '?');
-	    } else
-		optarg = args[optind++];
-		_sp = 1;
-	    } else {
-		// The option does NOT take an argument
-		if (longopt && (longoptarg.get() != null)) {
-		// User supplied an arg to an option that takes none
-		err("%s: option doesn't take an argument -- %s", (char)0,
-			(longopt ? args[optind] : null));
-		optarg = longoptarg.set(null).get();
-		c = '?';
-	    }
-
-	    if (longopt || args[optind].length() == ++_sp) {
-		_sp = 1;
-		++optind;
-	    }
-	    optarg = null;
-	}
-	return (c);
-    }
-}
--- a/usr/src/cmd/dtrace/test/cmd/jdtrace/src/JDTrace.java	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1190 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-
-/*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
- *
- * ident	"%Z%%M%	%I%	%E% SMI"
- */
-import org.opensolaris.os.dtrace.*;
-import java.io.*;
-import java.util.*;
-import java.util.logging.*;
-
-/**
- * Emulates {@code dtrace(1M)} using the Java DTrace API.
- */
-public class JDTrace {
-    static Logger logger = Logger.getLogger(JDTrace.class.getName());
-
-    static Consumer dtrace;
-
-    static {
-	Handler handler = new ConsoleHandler();
-	handler.setLevel(Level.ALL);
-	logger.addHandler(handler);
-    }
-
-    static final String CLASSNAME = "JDTrace";
-    static final String OPTSTR =
-	    "3:6:b:c:CD:ef:Fi:I:lL:m:n:o:p:P:qs:U:vVwx:X:Z";
-    static boolean heading = false;
-    static boolean quiet = false;
-    static boolean flow = false;
-    static int stackindent = 14;
-    static int exitStatus = 0;
-    static boolean started;
-    static boolean stopped;
-    static PrintStream out = System.out;
-    static final String ATS = "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@";
-    static final String SPACES = "                                        ";
-    static final int QUANTIZE_ZERO_BUCKET = 63;
-
-    enum Mode {
-	EXEC,
-	INFO,
-	LIST,
-	VERSION
-    }
-
-    enum ProgramType {
-	STRING,
-	FILE
-    }
-
-    static class CompileRequest {
-	String s;
-	ProgramType type;
-	ProbeDescription.Spec probespec;
-    }
-
-    // Modify program string by expanding an incomplete probe
-    // description according to the requested probespec.
-    static void
-    applyProbespec(CompileRequest req)
-    {
-	ProbeDescription.Spec spec = ((req.probespec == null)
-		? ProbeDescription.Spec.NAME
-		: req.probespec);
-
-	int colons = 0;
-	switch (req.probespec) {
-	    case PROVIDER:
-		colons = 3;
-		break;
-	    case MODULE:
-		colons = 2;
-		break;
-	    case FUNCTION:
-		colons = 1;
-		break;
-	}
-
-	StringBuffer buf = new StringBuffer();
-	if (colons > 0) {
-	    char ch;
-	    int len = req.s.length();
-
-	    int i = 0;
-	    // Find first whitespace character not including leading
-	    // whitespace (end of first token).  Ignore whitespace
-	    // inside a block if the block is concatenated with the
-	    // probe description.
-	    for (; (i < len) && Character.isWhitespace(req.s.charAt(i)); ++i);
-	    int npos = i;
-	    boolean inBlock = false;
-	    for (; (npos < len) &&
-		    (!Character.isWhitespace(ch = req.s.charAt(npos)) ||
-		    inBlock); ++npos) {
-		if (ch == '{') {
-		    inBlock = true;
-		} else if (ch == '}') {
-		    inBlock = false;
-		}
-	    }
-
-	    // libdtrace lets you concatenate multiple probe
-	    // descriptions separated by code blocks in curly braces,
-	    // for example genunix::'{printf("FOUND");}'::entry, as long
-	    // as the concatenated probe descriptions begin with ':' and
-	    // not a specific field such as 'syscall'.  So to expand the
-	    // possibly multiple probe descriptions, we need to insert
-	    // colons before each open curly brace, and again at the end
-	    // only if there is at least one non-whitespace (probe
-	    // specifying) character after the last closing curly brace.
-
-	    int prev_i = 0;
-	    while (i < npos) {
-		for (; (i < npos) && (req.s.charAt(i) != '{'); ++i);
-		buf.append(req.s.substring(prev_i, i));
-		if ((i < npos) || ((i > 0) && (req.s.charAt(i - 1) != '}'))) {
-		    for (int c = 0; c < colons; ++c) {
-			buf.append(':');
-		    }
-		}
-		if (i < npos) {
-		    buf.append(req.s.charAt(i++));
-		}
-		prev_i = i;
-	    }
-
-	    // append remainder of program text
-	    buf.append(req.s.substring(i));
-
-	    req.s = buf.toString();
-	}
-    }
-
-    static void
-    printValue(Object value, int bytes, String stringFormat)
-    {
-	if (value instanceof Integer) {
-	    if (bytes == 1) {
-		out.printf(" %3d", (Integer)value);
-	    } else if (bytes == 2) {
-		out.printf(" %5d", (Integer)value);
-	    } else {
-		out.printf(" %8d", (Integer)value);
-	    }
-	} else if (value instanceof Long) {
-	    out.printf(" %16d", (Long)value);
-	} else {
-	    out.printf(stringFormat, value.toString());
-	}
-    }
-
-    static void
-    consumeProbeData(ProbeData data)
-    {
-	if (logger.isLoggable(Level.FINER)) {
-	    logger.finer(data.toString());
-	}
-
-	if (!heading) {
-	    if (flow) {
-		out.printf("%3s %-41s\n", "CPU", "FUNCTION");
-	    } else {
-		if (!quiet) {
-		    out.printf("%3s %6s %32s\n",
-			    "CPU", "ID", "FUNCTION:NAME");
-		}
-	    }
-	    heading = true;
-	}
-	ProbeDescription probe = data.getEnabledProbeDescription();
-	if (flow) {
-	    Flow flow = data.getFlow();
-	    int indent = (flow.getDepth() * 2);
-	    StringBuffer buf = new StringBuffer();
-	    // indent
-	    buf.append(' ');
-	    for (int i = 0; i < indent; ++i) {
-		buf.append(' ');
-	    }
-	    // prefix
-	    switch (flow.getKind()) {
-		case ENTRY:
-		    if (indent == 0) {
-			buf.append("=> ");
-		    } else {
-			buf.append("-> ");
-		    }
-		    break;
-		case RETURN:
-		    if (indent == 0) {
-			buf.append("<= ");
-		    } else {
-			buf.append("<- ");
-		    }
-		    break;
-	    }
-
-	    switch (flow.getKind()) {
-		case NONE:
-		    buf.append(probe.getFunction());
-		    buf.append(':');
-		    buf.append(probe.getName());
-		    break;
-		default:
-		    buf.append(probe.getFunction());
-	    }
-
-	    out.printf("%3s %-41s ", data.getCPU(),
-		    buf.toString());
-	} else {
-	    if (!quiet) {
-		StringBuffer buf = new StringBuffer();
-		buf.append(probe.getFunction());
-		buf.append(':');
-		buf.append(probe.getName());
-		out.printf("%3s %6s %32s ",
-			data.getCPU(), probe.getID(),
-			buf.toString());
-	    }
-	}
-	Record record = null;
-	Object value;
-	List <Record> records = data.getRecords();
-	Iterator <Record> itr = records.iterator();
-	while (itr.hasNext()) {
-	    record = itr.next();
-
-	    if (record instanceof ExitRecord) {
-		exitStatus = ((ExitRecord)record).getStatus();
-	    } else if (record instanceof ScalarRecord) {
-		ScalarRecord scalar = (ScalarRecord)record;
-		value = scalar.getValue();
-		if (value instanceof byte[]) {
-		    out.print(record.toString());
-		} else {
-		    if (quiet) {
-			out.print(value);
-		    } else {
-			printValue(value, scalar.getNumberOfBytes(),
-				"  %-33s");
-		    }
-		}
-	    } else if (record instanceof PrintfRecord) {
-		out.print(record);
-	    } else if (record instanceof PrintaRecord) {
-		PrintaRecord printa = (PrintaRecord)record;
-		List <Tuple> tuples = printa.getTuples();
-		if (tuples.isEmpty()) {
-		    out.print(printa.getOutput());
-		} else {
-		    for (Tuple t : tuples) {
-			out.print(printa.getFormattedString(t));
-		    }
-		}
-
-		if (logger.isLoggable(Level.FINE)) {
-		    logger.fine(printa.toString());
-		}
-	    } else if (record instanceof StackValueRecord) {
-		printStack((StackValueRecord)record);
-	    }
-	}
-	if (!quiet) {
-	    out.println();
-	}
-    }
-
-    static void
-    printDistribution(Distribution d)
-    {
-	out.printf("\n%16s %41s %-9s\n", "value",
-		"------------- Distribution -------------",
-		"count");
-	long v; // bucket frequency (value)
-	long b; // lower bound of bucket range
-	double total = 0;
-	boolean positives = false;
-	boolean negatives = false;
-
-	Distribution.Bucket bucket;
-	int b1 = 0; // first displayed bucket
-	int b2 = d.size() - 1; // last displayed bucket
-	for (; (b1 <= b2) && (d.get(b1).getFrequency() == 0); ++b1);
-	// If possible, get one bucket before the first non-zero
-	// bucket and one bucket after the last.
-	if (b1 > b2) {
-	    // There isn't any data.  This is possible if (and only if)
-	    // negative increment values have been used.  In this case,
-	    // print the buckets around the base.
-	    if (d instanceof LinearDistribution) {
-		b1 = 0;
-		b2 = 2;
-	    } else {
-		b1 = QUANTIZE_ZERO_BUCKET - 1;
-		b2 = QUANTIZE_ZERO_BUCKET + 1;
-	    }
-	} else {
-	    if (b1 > 0) --b1;
-	    for (; (b2 > 0) && (d.get(b2).getFrequency() == 0); --b2);
-	    if (b2 < (d.size() - 1)) ++b2;
-	}
-	for (int i = b1; i <= b2; ++i) {
-	    v = d.get(i).getFrequency();
-	    if (v > 0) {
-		positives = true;
-	    }
-	    if (v < 0) {
-		negatives = true;
-	    }
-	    total += Math.abs((double)v);
-	}
-	for (int i = b1; i <= b2; ++i) {
-	    bucket = d.get(i);
-	    v = bucket.getFrequency();
-	    b = bucket.getMin();
-
-	    if (d instanceof LinearDistribution) {
-		if (b == Long.MIN_VALUE) {
-		    String lt = "< " + ((LinearDistribution)d).getBase();
-		    out.printf("%16s ", lt);
-		} else if (bucket.getMax() == Long.MAX_VALUE) {
-		    String ge = ">= " + b;
-		    out.printf("%16s ", ge);
-		} else {
-		    out.printf("%16d ", b);
-		}
-	    } else {
-		out.printf("%16d ", b);
-	    }
-
-	    printDistributionLine(v, total, positives, negatives);
-	}
-    }
-
-    static void
-    printDistributionLine(long val, double total, boolean positives,
-	    boolean negatives)
-    {
-	double f;
-	int depth, len = 40;
-
-	assert (ATS.length() == len && SPACES.length() == len);
-	assert (!(total == 0 && (positives || negatives)));
-	assert (!(val < 0 && !negatives));
-	assert (!(val > 0 && !positives));
-	assert (!(val != 0 && total == 0));
-
-	if (!negatives) {
-	    if (positives) {
-		f = (Math.abs((double)val) * (double)len) / total;
-		    depth = (int)(f + 0.5);
-	    } else {
-		depth = 0;
-	    }
-
-	    out.printf("|%s%s %-9d\n", ATS.substring(len - depth),
-		    SPACES.substring(depth), val);
-	    return;
-	}
-
-	if (!positives) {
-	    f = (Math.abs((double)val) * (double)len) / total;
-	    depth = (int)(f + 0.5);
-
-	    out.printf("%s%s| %-9d\n", SPACES.substring(depth),
-		    ATS.substring(len - depth), val);
-	    return;
-	}
-
-	/*
-	 * If we're here, we have both positive and negative bucket values.
-	 * To express this graphically, we're going to generate both positive
-	 * and negative bars separated by a centerline.  These bars are half
-	 * the size of normal quantize()/lquantize() bars, so we divide the
-	 * length in half before calculating the bar length.
-	 */
-	len /= 2;
-	String ats = ATS.substring(len);
-	String spaces = SPACES.substring(len);
-
-	f = (Math.abs((double)val) * (double)len) / total;
-	depth = (int)(f + 0.5);
-
-	if (val <= 0) {
-	    out.printf("%s%s|%s %-9d\n", spaces.substring(depth),
-		    ats.substring(len - depth), repeat(" ", len), val);
-	    return;
-	} else {
-	    out.printf("%20s|%s%s %-9d\n", "", ats.substring(len - depth),
-		    spaces.substring(depth), val);
-	}
-    }
-
-    public static String
-    repeat(String s, int n)
-    {
-        StringBuffer buf = new StringBuffer();
-        for (int i = 0; i < n; ++i) {
-            buf.append(s);
-        }
-        return buf.toString();
-    }
-
-    static void
-    printStack(StackValueRecord rec)
-    {
-	StackFrame[] frames = rec.getStackFrames();
-	int i;
-	out.println();
-	String s;
-	for (StackFrame f : frames) {
-	    for (i = 0; i < stackindent; ++i) {
-		out.print(' ');
-	    }
-	    s = f.getFrame();
-	    if (s.indexOf('[') == 0) {
-		out.print("  ");
-	    }
-	    out.println(s);
-	}
-    }
-
-    static int
-    compareTuples(Tuple t1, Tuple t2, int pos)
-    {
-	int cmp = 0;
-	int len1 = t1.size();
-	int len2 = t2.size();
-	int index;
-
-	for (int i = 0; (cmp == 0) && (i < len1 && i < len2); ++i) {
-	    index = i + pos;
-	    if (index >= len1) {
-		index = index - len1;
-	    }
-	    cmp = Tuple.compare(t1, t2, index);
-	}
-
-	if (cmp == 0) {
-	    cmp = (len1 < len2 ? -1 : (len1 > len2 ? 1 : 0));
-	}
-
-	return cmp;
-    }
-
-    static int
-    compareValues(AggregationValue v1, AggregationValue v2)
-    {
-	int cmp;
-
-	if ((v1 instanceof LinearDistribution) &&
-		(v2 instanceof LinearDistribution)) {
-	    LinearDistribution l1 = (LinearDistribution)v1;
-	    LinearDistribution l2 = (LinearDistribution)v2;
-	    cmp = l1.compareTo(l2);
-	} else if ((v1 instanceof LogDistribution) &&
-		(v2 instanceof LogDistribution)) {
-	    LogDistribution l1 = (LogDistribution)v1;
-	    LogDistribution l2 = (LogDistribution)v2;
-	    cmp = l1.compareTo(l2);
-	} else {
-	    double n1 = v1.getValue().doubleValue();
-	    double n2 = v2.getValue().doubleValue();
-	    cmp = (n1 < n2 ? -1 : (n1 > n2 ? 1 : 0));
-	}
-
-	return cmp;
-    }
-
-    static Comparator <Object[]>
-    getAggValCmp(final int keypos)
-    {
-	Comparator <Object[]> CMP = new Comparator <Object[]> () {
-	    public int
-	    compare(Object[] pair1, Object[] pair2)
-	    {
-		int cmp;
-		long id1 = (Long)pair1[1];
-		long id2 = (Long)pair2[1];
-		cmp = (id1 < id2 ? -1 : (id1 > id2 ? 1 : 0));
-		if (cmp != 0) {
-		    return cmp;
-		}
-
-		AggregationRecord r1 = (AggregationRecord)pair1[0];
-		AggregationRecord r2 = (AggregationRecord)pair2[0];
-		AggregationValue v1 = r1.getValue();
-		AggregationValue v2 = r2.getValue();
-		cmp = compareValues(v1, v2);
-		if (cmp != 0) {
-		    return cmp;
-		}
-
-		cmp = compareTuples(r1.getTuple(), r2.getTuple(), keypos);
-		return cmp;
-	    }
-	};
-	return CMP;
-    };
-
-    static Comparator <Object[]>
-    getAggKeyCmp(final int keypos)
-    {
-	Comparator <Object[]> CMP = new Comparator <Object[]> () {
-	    public int
-	    compare(Object[] pair1, Object[] pair2)
-	    {
-		int cmp;
-		long id1 = (Long)pair1[1];
-		long id2 = (Long)pair2[1];
-		cmp = (id1 < id2 ? -1 : (id1 > id2 ? 1 : 0));
-		if (cmp != 0) {
-		    return cmp;
-		}
-
-		AggregationRecord r1 = (AggregationRecord)pair1[0];
-		AggregationRecord r2 = (AggregationRecord)pair2[0];
-		cmp = compareTuples(r1.getTuple(), r2.getTuple(), keypos);
-
-		return cmp;
-	    }
-	};
-	return CMP;
-    }
-
-    // Consumer getAggregate()
-    static void
-    printAggregate(Aggregate aggregate)
-    {
-	List <AggregationRecord> list =
-		new ArrayList <AggregationRecord> ();
-	List <Object[]> sortList = new ArrayList <Object[]> ();
-	for (Aggregation a : aggregate.getAggregations()) {
-	    for (AggregationRecord rec : a.asMap().values()) {
-		sortList.add(new Object[] {rec, new Long(a.getID())});
-	    }
-	}
-
-	try {
-	    // aggsortkeypos
-	    long optval = dtrace.getOption(Option.aggsortkeypos);
-	    int keypos;
-	    if (optval == Option.UNSET) {
-		keypos = 0;
-	    } else {
-		keypos = (int)optval;
-	    }
-
-	    // aggsortkey
-	    if (dtrace.getOption(Option.aggsortkey) == Option.UNSET) {
-		Collections.sort(sortList, getAggValCmp(keypos));
-	    } else {
-		Collections.sort(sortList, getAggKeyCmp(keypos));
-	    }
-
-	    for (Object[] pair : sortList) {
-		list.add((AggregationRecord)pair[0]);
-	    }
-
-	    // aggsortrev
-	    if (dtrace.getOption(Option.aggsortrev) != Option.UNSET) {
-		Collections.reverse(list);
-	    }
-	} catch (DTraceException e) {
-	    e.printStackTrace();
-	    return;
-	}
-
-	printAggregationRecords(list);
-    }
-
-    static void
-    printAggregationRecords(List <AggregationRecord> list)
-    {
-	Tuple tuple;
-	AggregationValue value;
-	ValueRecord tupleRecord;
-	int i;
-	int len;
-	for (AggregationRecord r : list) {
-	    tuple = r.getTuple();
-	    value = r.getValue();
-	    len = tuple.size();
-	    for (i = 0; i < len; ++i) {
-		tupleRecord = tuple.get(i);
-		if (tupleRecord instanceof StackValueRecord) {
-		    printStack((StackValueRecord)tupleRecord);
-		} else if (tupleRecord instanceof SymbolValueRecord) {
-		    printValue(tupleRecord.toString(), -1, "  %-50s");
-		} else {
-		    printValue(tupleRecord.getValue(),
-			    ((ScalarRecord)tupleRecord).getNumberOfBytes(),
-			    "  %-50s");
-		}
-	    }
-	    if (value instanceof Distribution) {
-		Distribution d = (Distribution)value;
-		printDistribution(d);
-	    } else {
-		Number v = value.getValue();
-		printValue(v, -1, "  %-50s");
-	    }
-	    out.println();
-	}
-    }
-
-    static void
-    exit(int status)
-    {
-	out.flush();
-	System.err.flush();
-	if (status == 0) {
-	    status = exitStatus;
-	}
-	System.exit(status);
-    }
-
-    static void
-    usage()
-    {
-	String predact = "[[ predicate ] action ]";
-	System.err.printf("Usage: java %s [-32|-64] [-CeFlqvVwZ] " +
-	    "[-b bufsz] [-c cmd] [-D name[=def]]\n\t[-I path] [-L path] " +
-	    "[-o output] [-p pid] [-s script] [-U name]\n\t" +
-	    "[-x opt[=val]] [-X a|c|s|t]\n\n" +
-	    "\t[-P provider %s]\n" +
-	    "\t[-m [ provider: ] module %s]\n" +
-	    "\t[-f [[ provider: ] module: ] func %s]\n" +
-	    "\t[-n [[[ provider: ] module: ] func: ] name %s]\n" +
-	    "\t[-i probe-id %s] [ args ... ]\n\n", CLASSNAME,
-	    predact, predact, predact, predact, predact);
-	System.err.printf("\tpredicate -> '/' D-expression '/'\n");
-	System.err.printf("\t   action -> '{' D-statements '}'\n");
-	System.err.printf("\n" +
-	    "\t-32 generate 32-bit D programs\n" +
-	    "\t-64 generate 64-bit D programs\n\n" +
-	    "\t-b  set trace buffer size\n" +
-	    "\t-c  run specified command and exit upon its completion\n" +
-	    "\t-C  run cpp(1) preprocessor on script files\n" +
-	    "\t-D  define symbol when invoking preprocessor\n" +
-	    "\t-e  exit after compiling request but prior to enabling " +
-		    "probes\n" +
-	    "\t-f  enable or list probes matching the specified " +
-		    "function name\n" +
-	    "\t-F  coalesce trace output by function\n" +
-	    "\t-i  enable or list probes matching the specified probe id\n" +
-	    "\t-I  add include directory to preprocessor search path\n" +
-	    "\t-l  list probes matching specified criteria\n" +
-	    "\t-L  add library directory to library search path\n" +
-	    "\t-m  enable or list probes matching the specified " +
-		    "module name\n" +
-	    "\t-n  enable or list probes matching the specified probe name\n" +
-	    "\t-o  set output file\n" +
-	    "\t-p  grab specified process-ID and cache its symbol tables\n" +
-	    "\t-P  enable or list probes matching the specified " +
-		    "provider name\n" +
-	    "\t-q  set quiet mode (only output explicitly traced data)\n" +
-	    "\t-s  enable or list probes according to the specified " +
-		    "D script\n" +
-	    "\t-U  undefine symbol when invoking preprocessor\n" +
-	    "\t-v  set verbose mode (report stability attributes, " +
-		    "arguments)\n" +
-	    "\t-V  report DTrace API version\n" +
-	    "\t-w  permit destructive actions\n" +
-	    "\t-x  enable or modify compiler and tracing options\n" +
-	    "\t-X  specify ISO C conformance settings for preprocessor\n" +
-	    "\t-Z  permit probe descriptions that match zero probes\n" +
-	    "\n" +
-	    "\tTo log PrintaRecord, set this environment variable:\n" +
-	    "\t\tJDTRACE_LOGGING_LEVEL=FINE\n" +
-	    "\tTo log ProbeData, set JDTRACE_LOGGING_LEVEL=FINER\n");
-	exit(2);
-    }
-
-    static void
-    printProgramStability(String programType, String programDescription,
-	    ProgramInfo info)
-    {
-	out.println();
-	out.printf("Stability data for %s %s:\n\n",
-		programType, programDescription);
-	InterfaceAttributes a;
-	out.println("\tMinimum probe description " +
-		"attributes");
-	a = info.getMinimumProbeAttributes();
-	out.printf("\t\tIdentifier Names: %s\n",
-		a.getNameStability());
-	out.printf("\t\tData Semantics:   %s\n",
-		a.getDataStability());
-	out.printf("\t\tDependency Class: %s\n",
-		a.getDependencyClass());
-	out.println("\tMinimum probe statement attributes");
-	a = info.getMinimumStatementAttributes();
-	out.printf("\t\tIdentifier Names: %s\n",
-		a.getNameStability());
-	out.printf("\t\tData Semantics:   %s\n",
-		a.getDataStability());
-	out.printf("\t\tDependency Class: %s\n",
-		a.getDependencyClass());
-    }
-
-    static void
-    printProbeDescription(ProbeDescription p)
-    {
-	out.printf("%5d %10s %17s %33s %s\n", p.getID(),
-	    p.getProvider(), p.getModule(),
-	    p.getFunction(), p.getName());
-    }
-
-    static void
-    printProbeInfo(ProbeInfo p)
-    {
-	InterfaceAttributes a;
-	out.println("\n\tProbe Description Attributes");
-
-	a = p.getProbeAttributes();
-	out.printf("\t\tIdentifier Names: %s\n",
-	    a.getNameStability());
-	out.printf("\t\tData Semantics:   %s\n",
-	    a.getDataStability());
-	out.printf("\t\tDependency Class: %s\n",
-	    a.getDependencyClass());
-
-	out.println("\n\tArgument Attributes");
-
-	a = p.getArgumentAttributes();
-	out.printf("\t\tIdentifier Names: %s\n",
-	    a.getNameStability());
-	out.printf("\t\tData Semantics:   %s\n",
-	    a.getDataStability());
-	out.printf("\t\tDependency Class: %s\n",
-	    a.getDependencyClass());
-
-	// Argument types unsupported for now.
-
-	out.println();
-    }
-
-    public static void
-    main(String[] args)
-    {
-	String loggingLevel = System.getenv().get("JDTRACE_LOGGING_LEVEL");
-	try {
-	    logger.setLevel(Level.parse(loggingLevel));
-	} catch (Exception e) {
-	    logger.setLevel(Level.OFF);
-	}
-
-	if (args.length == 0) {
-	    usage();
-	}
-
-	List <CompileRequest> compileRequests = new LinkedList
-		<CompileRequest> ();
-	List <Program> programList = new LinkedList <Program> ();
-	boolean verbose = false;
-	Mode mode = Mode.EXEC;
-
-	final ExceptionHandler exceptionHandler = new ExceptionHandler() {
-	    public void handleException(Throwable e) {
-		if (e instanceof DTraceException) {
-		    DTraceException de = (DTraceException)e;
-		    System.err.printf("dtrace: %s\n", de.getMessage());
-		} else if (e instanceof ConsumerException) {
-		    ConsumerException ce = (ConsumerException)e;
-		    Object msg = ce.getNotificationObject();
-		    if ((msg instanceof org.opensolaris.os.dtrace.Error) ||
-			(msg instanceof Drop)) {
-			System.err.printf("dtrace: %s\n", ce.getMessage());
-		    } else {
-			ce.printStackTrace();
-		    }
-		} else {
-		    e.printStackTrace();
-		}
-		exit(1);
-	    }
-	};
-
-	Getopt g = new Getopt(CLASSNAME, args, OPTSTR);
-	int c = 0;
-
-	List <Consumer.OpenFlag> openFlags =
-		new ArrayList <Consumer.OpenFlag> ();
-
-	while ((c = g.getopt()) != -1) {
-	    switch (c) {
-		case '3': {
-		    String s = g.getOptarg();
-		    if (!s.equals("2")) {
-			System.err.println("dtrace: illegal option -- 3" + s);
-			usage();
-		    }
-		    openFlags.add(Consumer.OpenFlag.ILP32);
-		    break;
-		}
-		case '6': {
-		    String s = g.getOptarg();
-		    if (!s.equals("4")) {
-			System.err.println("dtrace: illegal option -- 6" + s);
-			usage();
-		    }
-		    openFlags.add(Consumer.OpenFlag.LP64);
-		    break;
-		}
-	    }
-	}
-
-	Consumer.OpenFlag[] oflags = new Consumer.OpenFlag[openFlags.size()];
-	oflags = (Consumer.OpenFlag[])openFlags.toArray(oflags);
-
-	dtrace = new LocalConsumer() {
-	    protected Thread createThread() {
-		Thread t = super.createThread();
-		t.setDaemon(false);
-		t.setPriority(Thread.MIN_PRIORITY);
-		return t;
-	    }
-	};
-
-	g = new Getopt(CLASSNAME, args, OPTSTR);
-	c = 0;
-
-	try {
-	    dtrace.open(oflags);
-
-	    // Set default options that may be overriden by options or #pragma
-	    dtrace.setOption(Option.bufsize, Option.mb(4));
-	    dtrace.setOption(Option.aggsize, Option.mb(4));
-
-	    CompileRequest r;
-	    while ((c = g.getopt()) != -1) {
-		switch (c) {
-		    case 'b':
-			dtrace.setOption(Option.bufsize, g.getOptarg());
-			break;
-		    case 'c':
-			dtrace.createProcess(g.getOptarg());
-			break;
-		    case 'C':
-			dtrace.setOption(Option.cpp);
-			break;
-		    case 'D':
-			dtrace.setOption(Option.define, g.getOptarg());
-			break;
-		    case 'e':
-			mode = Mode.INFO;
-			break;
-		    case 'f':
-			r = new CompileRequest();
-			r.s = g.getOptarg();
-			r.type = ProgramType.STRING;
-			r.probespec = ProbeDescription.Spec.FUNCTION;
-			compileRequests.add(r);
-			break;
-		    case 'F':
-			dtrace.setOption(Option.flowindent);
-			break;
-		    case 'i':
-			r = new CompileRequest();
-			r.s = g.getOptarg();
-			r.type = ProgramType.STRING;
-			r.probespec = ProbeDescription.Spec.NAME;
-			compileRequests.add(r);
-			break;
-		    case 'I':
-			dtrace.setOption(Option.incdir, g.getOptarg());
-			break;
-		    case 'l':
-			mode = Mode.LIST;
-			dtrace.setOption(Option.zdefs); // -l implies -Z
-			break;
-		    case 'L':
-			dtrace.setOption(Option.libdir, g.getOptarg());
-			break;
-		    case 'm':
-			r = new CompileRequest();
-			r.s = g.getOptarg();
-			r.type = ProgramType.STRING;
-			r.probespec = ProbeDescription.Spec.MODULE;
-			compileRequests.add(r);
-			break;
-		    case 'n':
-			r = new CompileRequest();
-			r.s = g.getOptarg();
-			r.type = ProgramType.STRING;
-			r.probespec = ProbeDescription.Spec.NAME;
-			compileRequests.add(r);
-			break;
-		    case 'o':
-			String outFileName = g.getOptarg();
-			File outFile = new File(outFileName);
-			try {
-			    FileOutputStream fos = new FileOutputStream(
-				    outFile, true);
-			    out = new PrintStream(fos);
-			} catch (FileNotFoundException e) {
-			    System.err.println("failed to open " +
-				outFileName + " in write mode");
-			    exit(1);
-			} catch (SecurityException e) {
-			    System.err.println("failed to open " +
-				outFileName);
-			    exit(1);
-			}
-			break;
-		    case 'p':
-			String pidstr = g.getOptarg();
-			int pid = -1;
-			try {
-			    pid = Integer.parseInt(pidstr);
-			} catch (NumberFormatException e) {
-			    System.err.println("invalid pid: " + pidstr);
-			    exit(1);
-			}
-			dtrace.grabProcess(pid);
-			break;
-		    case 'P':
-			r = new CompileRequest();
-			r.s = g.getOptarg();
-			r.type = ProgramType.STRING;
-			r.probespec = ProbeDescription.Spec.PROVIDER;
-			compileRequests.add(r);
-			break;
-		    case 'q':
-			dtrace.setOption(Option.quiet);
-			break;
-		    case 's':
-			r = new CompileRequest();
-			r.s = g.getOptarg();
-			r.type = ProgramType.FILE;
-			compileRequests.add(r);
-			break;
-		    case 'U':
-			dtrace.setOption(Option.undef, g.getOptarg());
-			break;
-		    case 'v':
-			verbose = true;
-			break;
-		    case 'V':
-			mode = Mode.VERSION;
-			break;
-		    case 'w':
-			dtrace.setOption(Option.destructive);
-			break;
-		    case 'x':
-			String[] xarg = g.getOptarg().split("=", 2);
-			if (xarg.length > 1) {
-			    dtrace.setOption(xarg[0], xarg[1]);
-			} else if (xarg.length == 1) {
-			    dtrace.setOption(xarg[0]);
-			}
-			break;
-		    case 'X':
-			dtrace.setOption(Option.stdc, g.getOptarg());
-			break;
-		    case 'Z':
-			dtrace.setOption(Option.zdefs);
-			break;
-		    case '?':
-			usage(); // getopt() already printed an error
-			break;
-		    default:
-			System.err.print("getopt() returned " + c + "\n");
-			c = 0;
-		 }
-	    }
-	    c = 0;
-	    List <String> argList = new LinkedList <String> ();
-	    for (int i = g.getOptind(); i < args.length; ++i) {
-		argList.add(args[i]);
-	    }
-
-	    if (mode == Mode.VERSION) {
-		out.printf("dtrace: %s\n", dtrace.getVersion());
-		dtrace.close();
-		exit(0);
-	    }
-
-	    String[] compileArgs = new String[argList.size()];
-	    compileArgs = (String[])argList.toArray(compileArgs);
-
-	    if (compileRequests.isEmpty()) {
-		System.err.println("dtrace: no probes specified");
-		exit(1);
-	    }
-
-	    Program program;
-	    for (CompileRequest req : compileRequests) {
-		switch (req.type) {
-		    case STRING:
-			applyProbespec(req);
-			program = dtrace.compile(req.s, compileArgs);
-			break;
-		    case FILE:
-			File file = new File(req.s);
-			program = dtrace.compile(file, compileArgs);
-			break;
-		    default:
-			throw new IllegalArgumentException(
-				"Unexpected program type: " + req.type);
-		}
-
-		programList.add(program);
-	    }
-
-	    // Get options set by #pragmas in compiled program
-	    long optval;
-	    quiet = (dtrace.getOption(Option.quiet) != Option.UNSET);
-	    flow = (dtrace.getOption(Option.flowindent) != Option.UNSET);
-	    optval = dtrace.getOption("stackindent");
-	    if (optval != Option.UNSET) {
-		stackindent = (int)optval;
-	    }
-
-	    if (mode == Mode.LIST) {
-		out.printf("%5s %10s %17s %33s %s\n",
-		    "ID", "PROVIDER", "MODULE", "FUNCTION", "NAME");
-
-		if (verbose) {
-		    List <List <Probe>> lists =
-			    new LinkedList <List <Probe>> ();
-		    for (Program p : programList) {
-			lists.add(dtrace.listProgramProbeDetail(p));
-		    }
-		    ProbeDescription p;
-		    ProbeInfo pinfo;
-		    for (List <Probe> list : lists) {
-			for (Probe probe : list) {
-			    p = probe.getDescription();
-			    pinfo = probe.getInfo();
-			    printProbeDescription(p);
-			    printProbeInfo(pinfo);
-			}
-		    }
-		} else {
-		    List <List <ProbeDescription>> lists =
-			    new LinkedList <List <ProbeDescription>> ();
-		    for (Program p : programList) {
-			lists.add(dtrace.listProgramProbes(p));
-		    }
-		    for (List <ProbeDescription> list : lists) {
-			for (ProbeDescription p : list) {
-			    printProbeDescription(p);
-			}
-		    }
-		}
-		exit(0);
-	    }
-
-	    String programType;
-	    String programDescription;
-	    ProgramInfo info;
-	    for (Program p : programList) {
-		if (p instanceof Program.File) {
-		    Program.File pf = (Program.File)p;
-		    programType = "script";
-		    programDescription = pf.getFile().getPath();
-		} else {
-		    programType = "description";
-		    programDescription =
-			p.getContents().split("[/{;]", 2)[0];
-		}
-
-		if (mode == Mode.EXEC) {
-		    dtrace.enable(p);
-		} else {
-		    dtrace.getProgramInfo(p);
-		}
-		info = p.getInfo();
-		if (!quiet) {
-		    System.err.printf("dtrace: %s '%s' matched %d probe%s\n",
-			    programType, programDescription,
-			    info.getMatchingProbeCount(),
-			    info.getMatchingProbeCount() == 1 ? "" : "s");
-		}
-		if (verbose) {
-		    printProgramStability(programType,
-			    programDescription, info);
-		}
-	    }
-	    if (mode != Mode.EXEC) {
-		exit(0);
-	    }
-	    dtrace.addConsumerListener(new ConsumerAdapter() {
-		public void consumerStarted(ConsumerEvent e) {
-		    started = true;
-		}
-		public void consumerStopped(ConsumerEvent e) {
-		    stopped = true;
-		    out.println();
-		    try {
-			Aggregate aggregate = dtrace.getAggregate();
-			if (aggregate != null) {
-			    printAggregate(aggregate);
-			}
-			dtrace.close();
-		    } catch (Throwable x) {
-			exceptionHandler.handleException(x);
-		    }
-		    exit(0);
-		}
-		public void dataDropped(DropEvent e) {
-		    System.err.printf("dtrace: %s",
-			    e.getDrop().getDefaultMessage());
-		}
-		public void errorEncountered(ErrorEvent e)
-			throws ConsumerException {
-		    org.opensolaris.os.dtrace.Error error = e.getError();
-		    if (logger.isLoggable(Level.FINE)) {
-			logger.fine(error.toString());
-		    }
-		    System.err.printf("dtrace: %s",
-			    error.getDefaultMessage());
-		}
-		public void dataReceived(DataEvent e)
-			throws ConsumerException {
-		    consumeProbeData(e.getProbeData());
-		}
-		public void processStateChanged(ProcessEvent e)
-			throws ConsumerException {
-		    if (logger.isLoggable(Level.FINE)) {
-			logger.fine(e.getProcessState().toString());
-		    }
-		}
-	    });
-	    // Print unprinted aggregations after Ctrl-C
-	    Runtime.getRuntime().addShutdownHook(new Thread() {
-		public void run() {
-		    if (stopped || !started) {
-			return;
-		    }
-
-		    try {
-			Aggregate aggregate = dtrace.getAggregate();
-			if (aggregate != null) {
-			    out.println();
-			    out.println();
-			    printAggregate(aggregate);
-			}
-		    } catch (Throwable x) {
-			exceptionHandler.handleException(x);
-		    }
-		}
-	    });
-	    dtrace.go(exceptionHandler);
-	} catch (DTraceException e) {
-	    if (c > 0) {
-		// set option error
-		if (g.getOptarg() == null) {
-		    System.err.printf("dtrace: failed to set -%c: %s\n",
-			c, e.getMessage());
-		} else {
-		    System.err.printf("dtrace: failed to set -%c %s: %s\n",
-			c, g.getOptarg(), e.getMessage());
-		}
-	    } else {
-		// any other error
-		System.err.printf("dtrace: %s\n", e.getMessage());
-	    }
-	    exit(1);
-	} catch (Exception e) {
-	    e.printStackTrace();
-	    exit(1);
-	}
-    }
-}
--- a/usr/src/cmd/dtrace/test/cmd/jdtrace/src/jdtrace.c	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-
-/*
- * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
-#include <alloca.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/systeminfo.h>
-
-int
-main(int argc, char **argv)
-{
-	int i, ac, has64;
-	char **av, **p;
-
-	ac = argc + 3;
-	av = p = alloca(sizeof (char *) * ac);
-
-	*p++ = "java";
-	*p++ = "-jar";
-	*p++ = "/opt/SUNWdtrt/lib/java/jdtrace.jar";
-
-	argc--;
-	argv++;
-
-	for (i = 0; i < argc; i++) {
-		p[i] = argv[i];
-	}
-	p[i] = NULL;
-
-	(void) execvp(av[0], av);
-
-	perror("exec failed");
-
-	return (0);
-}
--- a/usr/src/cmd/dtrace/test/pkg/Makefile	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
-# Use is subject to license terms.
-#
-#ident	"%Z%%M%	%I%	%E% SMI"
-
-SUBDIRS = SUNWdtrt
-include ../Makefile.subdirs
--- a/usr/src/cmd/dtrace/test/pkg/Makefile.pkg	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
-# Use is subject to license terms.
-#
-#ident	"%Z%%M%	%I%	%E% SMI"
-
-include $(SRC)/Makefile.master
-
-PACKAGE :sh= basename `pwd`
-ROOTOPTPKG = $(ROOT)/opt/$(PACKAGE)
-PSTAMP :sh= echo "`echo \$LOGNAME`:`date +%Y-%m-%d`:`basename \$CODEMGR_WS`"
-
-DATAFILES = copyright depend
-FILES = $(DATAFILES) pkginfo prototype_com prototype_$(MACH)
-
-CLEANFILES = $(DATAFILES) pkginfo awk_pkginfo ../bld_awk_pkginfo
-CLOBBERFILES = $(PKGARCHIVE)/$(PACKAGE)
-
-.KEEP_STATE:
-
-all: $(FILES)
-
-lint:
-
-clean:
-	$(RM) $(CLEANFILES)
-
-clobber: clean
-	$(RM) -r $(CLOBBERFILES)
-
-$(PKGARCHIVE):
-	[ -d $(PKGARCHIVE) ] || mkdir -p $(PKGARCHIVE)
-
-$(DATAFILES): ../common/$$@
-	 $(RM) $@; cp ../common/$@ $@
-
-awk_pkginfo: ../bld_awk_pkginfo
-	../bld_awk_pkginfo -m $(MACH) -p "$(RELEASE)/$(VERSION)/$(USER)" -o $@
-
-pkginfo: pkginfo.tmpl awk_pkginfo
-	$(RM) $@; nawk -f awk_pkginfo $@.tmpl > $@
-
-pkg: $(PKGARCHIVE) FRC
-	pkgmk -f prototype_$(MACH) -d $(PKGARCHIVE) -r $(ROOT) -o \
-		-p $(PSTAMP) $(PACKAGE)
-
-../%: ../common/%.ksh
-	$(RM) $@
-	cp $< $@
-	chmod +x $@
-
-$(ROOTOPTPKG)/%: ../common/%
-	$(RM) $@
-	cp $< $@
-
-FRC:
--- a/usr/src/cmd/dtrace/test/pkg/SUNWdtrt/Makefile	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
-# Use is subject to license terms.
-#
-#ident	"%Z%%M%	%I%	%E% SMI"
-
-include ../Makefile.pkg
-
-$(ROOTOPTPKG):
-	$(INS.dir)
-
-$(ROOTOPTPKG)/README: $(ROOTOPTPKG)
-
-install: all $(ROOTOPTPKG)/README .WAIT pkg
--- a/usr/src/cmd/dtrace/test/pkg/SUNWdtrt/pkginfo.tmpl	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
-# Use is subject to license terms.
-#
-#ident	"%Z%%M%	%I%	%E% SMI"
-
-PKG="SUNWdtrt"
-NAME="DTrace Test Suite"
-ARCH="ISA"
-VERSION="1.0.0,REV=0.0.0"
-SUNW_PRODNAME="SunOS"
-SUNW_PRODVERS="RELEASE/VERSION"
-SUNW_PKGTYPE="usr"
-MAXINST="1000"
-CATEGORY="internal"
-DESC="DTrace Test Suite Internal Distribution"
-VENDOR="Sun Microsystems, Inc."
-HOTLINE="Please contact the DTrace project team (dtrace-core@kiowa.eng)"
-EMAIL="dtrace-core@kiowa.eng"
-CLASSES="none"
-BASEDIR=/
-SUNW_PKGVERS="1.0"
--- a/usr/src/cmd/dtrace/test/pkg/SUNWdtrt/prototype_com	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1403 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
-# Use is subject to license terms.
-#
-# ident	"%Z%%M%	%I%	%E% SMI"
-#
-i pkginfo
-i copyright
-i depend
-#
-# SUNWdtrt
-#
-d none opt 755 root sys
-d none opt/SUNWdtrt 755 root sys
-f none opt/SUNWdtrt/README 444 root bin
-d none opt/SUNWdtrt/bin 755 root bin
-f none opt/SUNWdtrt/bin/baddof 555 root bin
-f none opt/SUNWdtrt/bin/badioctl 555 root bin
-f none opt/SUNWdtrt/bin/chkargs 555 root bin
-f none opt/SUNWdtrt/bin/dstyle 555 root bin
-f none opt/SUNWdtrt/bin/dtest 555 root bin
-d none opt/SUNWdtrt/tst 0755 root bin
-d none opt/SUNWdtrt/tst/common 0755 root bin
-d none opt/SUNWdtrt/tst/common/aggs 0755 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_AGG_FUNC.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_AGG_MDIM.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_AGG_NULL.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_AGG_REDEF.redef.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_AGG_SCALAR.avgtoofew.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_AGG_SCALAR.maxnoarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_AGG_SCALAR.mintoofew.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_AGG_SCALAR.quantizetoofew.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_AGG_SCALAR.sumtoofew.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_CLEAR_AGGARG.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_CLEAR_PROTO.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_FUNC_IDENT.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_FUNC_UNDEF.badaggfunc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_IDENT_UNDEF.badexpr.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_IDENT_UNDEF.badkey3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_IDENT_UNDEF.noeffect.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_KEY_TYPE.badkey1.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_KEY_TYPE.badkey2.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_KEY_TYPE.badkey4.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_LQUANT_BASETYPE.lqbad1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_LQUANT_BASETYPE.lqshort.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_LQUANT_BASEVAL.bad.d 0444 root bin 
-f none opt/SUNWdtrt/tst/common/aggs/err.D_LQUANT_LIMTYPE.lqbad1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_LQUANT_LIMVAL.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_LQUANT_MATCHBASE.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_LQUANT_MATCHBASE.order.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_LQUANT_MATCHLIM.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_LQUANT_MATCHLIM.order.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_LQUANT_MATCHSTEP.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_LQUANT_MISMATCH.lqbadarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_LQUANT_STEPLARGE.lqtoofew.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_LQUANT_STEPSMALL.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_LQUANT_STEPTYPE.lqbadinc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_LQUANT_STEPVAL.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_NORMALIZE_AGGARG.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_NORMALIZE_PROTO.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_NORMALIZE_SCALAR.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_PROTO_ARG.lquantizetoofew.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.avgnoarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.avgtoomany.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.counttoomany.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.lquantizenoarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.lquantizetoomany.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.maxnoarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.maxtoomany.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.minnoarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.mintoomany.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.quantizenoarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.quantizetoomany.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.sumnoarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.sumtoomany.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_TRUNC_AGGARG.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_TRUNC_PROTO.badmany.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_TRUNC_PROTO.badnone.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/err.D_TRUNC_SCALAR.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.allquant.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.allquant.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.avg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.avg.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.clear.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.clear.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.clearavg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.clearavg.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.clearavg2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.clearavg2.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.cleardenormalize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.cleardenormalize.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.clearlquantize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.clearlquantize.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.clearnormalize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.clearnormalize.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.count.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.count.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.count2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.count2.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.count3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.denormalize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.denormalize.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.denormalizeonly.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.denormalizeonly.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.fmtnormalize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.fmtnormalize.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.forms.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.forms.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.goodkey.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.keysort.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.keysort.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.lquantize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.lquantize.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.lquantnormal.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.lquantnormal.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.lquantrange.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.lquantrange.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.lquantround.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.lquantround.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.lquantzero.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.lquantzero.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.max.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.max.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.min.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.min.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.multiaggs1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.multiaggs2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.multiaggs2.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.multiaggs3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.multiaggs3.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.multinormalize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.multinormalize.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.neglquant.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.neglquant.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.negorder.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.negorder.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.negquant.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.negquant.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.negtrunc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.negtrunc.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.negtruncquant.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.negtruncquant.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.normalize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.normalize.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.order.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.order.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.quantize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.quantize.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.quantmany.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.quantmany.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.quantround.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.quantround.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.quantzero.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.quantzero.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.signature.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.signedkeys.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.signedkeys.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.signedkeyspos.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.signedkeyspos.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.subr.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.sum.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.sum.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.trunc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.trunc.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.trunc0.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.trunc0.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.truncquant.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.truncquant.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.valsortkeypos.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/aggs/tst.valsortkeypos.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/arithmetic 0755 root bin
-f none opt/SUNWdtrt/tst/common/arithmetic/err.D_DIV_ZERO.divby0.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arithmetic/err.D_DIV_ZERO.divby0_1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arithmetic/err.D_DIV_ZERO.divby0_2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arithmetic/err.D_DIV_ZERO.modby0.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arithmetic/err.D_SYNTAX.addmin.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arithmetic/err.D_SYNTAX.divmin.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arithmetic/err.D_SYNTAX.muladd.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arithmetic/err.D_SYNTAX.muldiv.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arithmetic/tst.basics.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arithmetic/tst.complex.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/arrays 0755 root bin
-f none opt/SUNWdtrt/tst/common/arrays/err.D_ARR_BADREF.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arrays/err.D_DECL_ARRBIG.toobig.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arrays/err.D_DECL_ARRNULL.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arrays/err.D_DECL_ARRSUB.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arrays/err.D_DECL_PROTO_TYPE.badtuple.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arrays/err.D_IDENT_UNDEF.badureg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arrays/tst.basic1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arrays/tst.basic2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arrays/tst.basic3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arrays/tst.basic4.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arrays/tst.basic5.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arrays/tst.basic6.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/arrays/tst.uregsarray.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/assocs 0755 root bin
-f none opt/SUNWdtrt/tst/common/assocs/err.D_OP_INCOMPAT.dupgtype.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/assocs/err.D_OP_INCOMPAT.dupttype.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/assocs/err.D_OP_INCOMPAT.this.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/assocs/err.D_PROTO_ARG.badsig.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/assocs/err.D_PROTO_LEN.toofew.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/assocs/err.D_PROTO_LEN.toomany.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/assocs/err.D_SYNTAX.errassign.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/assocs/err.tupoflow.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/assocs/tst.cpyarray.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/assocs/tst.diffprofile.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/assocs/tst.initialize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/assocs/tst.misc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/assocs/tst.orthogonality.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/assocs/tst.this.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/assocs/tst.valassign.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/begin 0755 root bin
-f none opt/SUNWdtrt/tst/common/begin/err.D_PDESC_ZERO.begin.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/begin/err.D_PDESC_ZERO.tick.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/begin/tst.begin.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/begin/tst.begin.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/begin/tst.multibegin.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/begin/tst.multibegin.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/bitfields 0755 root bin
-f none opt/SUNWdtrt/tst/common/bitfields/err.D_ADDROF_BITFIELD.BitfieldAddress.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/bitfields/err.D_DECL_BFCONST.NegBitField.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/bitfields/err.D_DECL_BFCONST.ZeroBitField.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/bitfields/err.D_DECL_BFSIZE.ExceedBaseType.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/bitfields/err.D_DECL_BFSIZE.GreaterThan64.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/bitfields/err.D_DECL_BFTYPE.badtype.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/bitfields/err.D_OFFSETOF_BITFIELD.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/bitfields/err.D_SIZEOF_BITFIELD.SizeofBitfield.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/bitfields/tst.BitFieldPromotion.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/bitfields/tst.SizeofBitField.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/buffering 0755 root bin
-f none opt/SUNWdtrt/tst/common/buffering/err.end.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/err.resize1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/err.resize2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/err.resize3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/err.zerobuf.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.alignring.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.cputime.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.dynvarsize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.fill1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.fill1.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.resize1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.resize2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.resize3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.ring1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.ring2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.ring2.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.ring3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.ring3.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.smallring.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.switch1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/buffering/tst.switch1.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/builtinvar 0755 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/err.D_XLATE_NOCONV.cpuusage.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/err.D_XLATE_NOCONV.nice.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/err.D_XLATE_NOCONV.priority.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/err.D_XLATE_NOCONV.prsize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/err.D_XLATE_NOCONV.rssize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.arg0.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.arg0clause.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.arg1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.arg1to8.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.arg1to8clause.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.caller.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.caller1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.epid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.epid1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.errno.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.errno1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.execname.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.hpriority.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.id.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.id1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.ipl.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.ipl1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.lwpsinfo.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.lwpsinfo1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.pid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.pid1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.psinfo.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.psinfo1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.tid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.tid1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.timestamp.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/builtinvar/tst.vtimestamp.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/clauses 0755 root bin
-f none opt/SUNWdtrt/tst/common/clauses/err.D_IDENT_UNDEF.aggfun.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/clauses/err.D_IDENT_UNDEF.aggtup.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/clauses/err.D_IDENT_UNDEF.arrtup.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/clauses/err.D_IDENT_UNDEF.body.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/clauses/err.D_IDENT_UNDEF.both.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/clauses/err.D_IDENT_UNDEF.pred.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/clauses/tst.nopred.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/clauses/tst.pred.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/clauses/tst.predfirst.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/clauses/tst.predlast.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/decls 0755 root bin
-f none opt/SUNWdtrt/tst/common/decls/err.D_DECL_PROTO_NAME.VoidName.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/decls/err.D_DECL_PROTO_TYPE.Dyn.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/decls/err.D_DECL_PROTO_VOID.NonSoleVoid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/decls/err.D_DECL_PROTO_VARARGS.VarLenArgs.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/decls/err.D_DECL_LOCASSC.NonLocalAssoc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/decls/err.D_DECL_LONGINT.LongStruct.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/decls/err.D_DECL_PARMCLASS.BadStorageClass.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/decls/err.D_DECL_SIGNINT.UnsignedStruct.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/decls/err.D_DECL_VOIDATTR.ShortVoidDecl.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/decls/tst.arrays.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/decls/tst.basics.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/decls/tst.funcs.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/decls/tst.pointers.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/decls/tst.varargsfuncs.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/dtraceUtil 0755 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/err.D_PDESC_ZERO.InvalidDescription1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.AddSearchPath.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.BufsizeGiga.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.BufsizeKilo.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.BufsizeMega.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.BufsizeTera.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.DataModel32.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.DataModel64.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.DefineNameWithCPP.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.DefineNameWithCPP.d.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithID.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithID.d.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithName.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithName.d.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithProvider.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithProvider.d.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithoutW.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.ELFGenerationOut.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.ELFGenerationWithO.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.ExitStatus1.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.ExitStatus2.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.ExtraneousProbeIds.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidFuncName1.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidFuncName2.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidId1.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidId2.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidId3.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidModule1.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidModule2.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidModule3.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidModule4.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidProbeIdentifier.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidProvider1.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidProvider2.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidProvider3.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidProvider4.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc1.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc2.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc3.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc4.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc5.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc6.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc7.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc8.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc9.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceID1.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceID2.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceID3.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceID4.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceID5.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceID6.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceID7.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule1.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule2.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule3.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule4.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule5.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule6.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule7.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule8.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName1.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName2.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName3.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName4.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName5.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName6.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName7.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName8.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName9.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceProvider1.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceProvider2.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceProvider3.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceProvider4.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceProvider5.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.MultipleInvalidProbeId.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.PreprocessorStatement.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.QuietMode.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.QuietMode.d.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.TestCompile.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.TestCompile.d.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.UnDefineNameWithCPP.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.ZeroNameProbes.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.ZeroNameProbes.d.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.ZeroProbeIdentfier.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.ZeroProbesWithoutZ.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.ZeroProviderProbes.d.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/dtraceUtil/tst.ZeroProviderProbes.d.ksh.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/drops 0755 root bin
-f none opt/SUNWdtrt/tst/common/drops/drp.DTRACEDROP_AGGREGATION.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/drops/drp.DTRACEDROP_DBLERROR.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/drops/drp.DTRACEDROP_DYNAMIC.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/drops/drp.DTRACEDROP_PRINCIPAL.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/drops/drp.DTRACEDROP_PRINCIPAL.end.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/drops/drp.DTRACEDROP_SPEC.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/drops/drp.DTRACEDROP_SPECUNAVAIL.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/drops/drp.DTRACEDROP_STKSTROVERFLOW.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/end 0755 root bin
-f none opt/SUNWdtrt/tst/common/end/err.D_IDENT_UNDEF.timespent.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/end/tst.end.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/end/tst.endwithoutbegin.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/end/tst.multibeginend.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/end/tst.multiend.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/enum 0755 root bin
-f none opt/SUNWdtrt/tst/common/enum/err.D_DECL_IDRED.EnumSameName.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/enum/err.D_UNKNOWN.RepeatIdentifiers.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/enum/tst.EnumEquality.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/enum/tst.EnumSameValue.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/enum/tst.EnumValAssign.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/error 0755 root bin
-f none opt/SUNWdtrt/tst/common/error/tst.DTRACEFLT_BADADDR.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/error/tst.DTRACEFLT_DIVZERO.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/error/tst.DTRACEFLT_UNKNOWN.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/error/tst.error.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/error/tst.errorend.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/exit 0755 root bin
-f none opt/SUNWdtrt/tst/common/exit/err.D_PROTO_LEN.noarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/exit/err.exitarg1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/exit/tst.basic1.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/fbtprovider 0755 root bin
-f none opt/SUNWdtrt/tst/common/fbtprovider/err.D_PDESC_ZERO.notreturn.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/fbtprovider/tst.basic.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/fbtprovider/tst.functionentry.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/fbtprovider/tst.functionreturnvalue.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/fbtprovider/tst.ioctlargs.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/fbtprovider/tst.offset.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/fbtprovider/tst.offsetzero.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/fbtprovider/tst.return.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/fbtprovider/tst.return0.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/fbtprovider/tst.tailcall.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/funcs 0755 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_FUNC_UNDEF.progenyofbad1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_OP_VFPTR.badop.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_ARG.chillbadarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_ARG.copyoutbadarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_ARG.mobadarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_ARG.raisebadarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.allocanoarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.badbreakpoint.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.chilltoofew.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.chilltoomany.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.copyoutstrbadarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.copyoutstrtoofew.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.copyouttoofew.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.copyouttoomany.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.motoofew.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.motoomany.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.mtabadarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.mtatoofew.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.mtatoomany.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.panicbadarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.progenyofbad2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.stopbadarg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_STRINGOF_TYPE.badstringof.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.D_VAR_UNDEF.badvar.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.badalloca.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.badalloca2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.badbcopy.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.badbcopy1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.badbcopy2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.badbcopy3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.badbcopy4.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.badbcopy5.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.badbcopy6.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.badchill.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.chillbadarg.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.copyout.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.copyoutbadaddr.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/err.copyoutstrbadaddr.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.badfreopen.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.basename.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.basename.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.bcopy.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.chill.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.cleanpath.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.cleanpath.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.copyin.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.copyinto.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.ddi_pathname.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.default.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.freopen.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.ftruncate.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.ftruncate.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.hton.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.index.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.index.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.lltostr.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.lltostr.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.mutex_owned.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.mutex_owner.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.mutex_type_adaptive.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.progenyof.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.rand.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.strchr.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.strchr.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.strjoin.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.strjoin.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.strstr.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.strstr.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.strtok.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.strtok.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.strtok_null.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.substr.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.substr.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.system.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/funcs/tst.system.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/grammar 0755 root bin
-f none opt/SUNWdtrt/tst/common/grammar/err.D_ADDROF_LVAL.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/grammar/err.D_EMPTY.empty.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/grammar/tst.clauses.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/grammar/tst.stmts.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/inline 0755 root bin
-f none opt/SUNWdtrt/tst/common/inline/err.D_DECL_IDRED.redef1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/inline/err.D_DECL_IDRED.redef2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/inline/err.D_IDENT_UNDEF.recur.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/inline/err.D_OP_INCOMPAT.baddef1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/inline/err.D_OP_INCOMPAT.baddef2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/inline/err.D_OP_INCOMPAT.badxlate.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/inline/tst.InlineDataAssign.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/inline/tst.InlineExpression.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/inline/tst.InlineKinds.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/inline/tst.InlineKinds.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/inline/tst.InlineTypedef.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/inline/tst.InlineWritableAssign.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/io 0755 root bin
-f none opt/SUNWdtrt/tst/common/io/tst.fds.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/io/tst.fds.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/io/tst.fds.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/lexer 0755 root bin
-f none opt/SUNWdtrt/tst/common/lexer/err.D_CHR_NL.char.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/lexer/err.D_CHR_NULL.char.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/lexer/err.D_INT_DIGIT.InvalidDigit.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/lexer/err.D_INT_OFLOW.BigInt.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/lexer/err.D_STR_NL.string.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/lexer/err.D_SYNTAX.brace1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/lexer/err.D_SYNTAX.brace2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/lexer/err.D_SYNTAX.brack1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/lexer/err.D_SYNTAX.brack2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/lexer/err.D_SYNTAX.brack3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/lexer/err.D_SYNTAX.paren1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/lexer/err.D_SYNTAX.paren2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/lexer/err.D_SYNTAX.paren3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/lexer/tst.D_MACRO_OFLOW.ParIntOvflow.d.ksh 0444 root bin
-d none opt/SUNWdtrt/tst/common/mdb 0755 root bin
-f none opt/SUNWdtrt/tst/common/mdb/tst.dtracedcmd.ksh 0444 root bin
-d none opt/SUNWdtrt/tst/common/mib 0755 root bin
-f none opt/SUNWdtrt/tst/common/mib/tst.icmp.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/mib/tst.tcp.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/mib/tst.udp.ksh 0444 root bin
-d none opt/SUNWdtrt/tst/common/misc 0755 root bin
-f none opt/SUNWdtrt/tst/common/misc/err.D_PRAGMA_OPTSET.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/misc/tst.badopt.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/misc/tst.boolopt.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/misc/tst.boolopt.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/misc/tst.dynopt.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/misc/tst.dynopt.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/misc/tst.enablerace.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/misc/tst.haslam.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/misc/tst.include.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/misc/tst.roch.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/misc/tst.schrock.ksh 0444 root bin
-d none opt/SUNWdtrt/tst/common/multiaggs 0755 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/err.D_PRINTA_AGGKEY.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/err.D_PRINTA_AGGPROTO.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.many.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.many.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.same.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.same.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.sort.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.sort.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.sortpos.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.sortpos.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.tuplecompat.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.tuplecompat.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.zero.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.zero.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.zero2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.zero2.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.zero3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/multiaggs/tst.zero3.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/offsetof 0755 root bin
-f none opt/SUNWdtrt/tst/common/offsetof/err.D_OFFSETOF_BITFIELD.bitfield.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/offsetof/err.D_OFFSETOF_TYPE.badtype.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/offsetof/err.D_OFFSETOF_TYPE.notsou.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/offsetof/err.D_UNKNOWN.OffsetofNULL.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/offsetof/err.D_UNKNOWN.badmemb.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/offsetof/tst.OffsetofAlias.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/offsetof/tst.OffsetofArith.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/offsetof/tst.OffsetofUnion.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/offsetof/tst.struct.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/offsetof/tst.struct.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/offsetof/tst.union.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/offsetof/tst.union.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/operators 0755 root bin
-f none opt/SUNWdtrt/tst/common/operators/tst.ternary.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/operators/tst.ternary.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/pid 0755 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PDESC_ZERO.badlib.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PDESC_ZERO.badlib.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PDESC_ZERO.badproc1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PROC_BADPID.badproc2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PROC_CREATEFAIL.many.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PROC_CREATEFAIL.many.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PROC_FUNC.badfunc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PROC_FUNC.badfunc.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PROC_LIB.libdash.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PROC_LIB.libdash.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PROC_NAME.alldash.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PROC_NAME.alldash.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PROC_NAME.badname.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PROC_NAME.badname.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PROC_NAME.globdash.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PROC_NAME.globdash.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PROC_OFF.toobig.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/err.D_PROC_OFF.toobig.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.args1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.args1.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.coverage.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.coverage.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.emptystack.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.emptystack.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.emptystack.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.float.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.float.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.fork.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.fork.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.gcc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.gcc.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.manypids.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.probemod.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.ret1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.ret1.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.ret2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.ret2.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.vfork.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.vfork.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.weak1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.weak1.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.weak2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pid/tst.weak2.exe 0555 root bin
-d none opt/SUNWdtrt/tst/common/plockstat 0755 root bin
-f none opt/SUNWdtrt/tst/common/plockstat/tst.available.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/plockstat/tst.available.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/plockstat/tst.libmap.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/plockstat/tst.libmap.exe 0555 root bin
-d none opt/SUNWdtrt/tst/common/pointers 0755 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.BadAlign.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.D_ADDROF_VAR.ArrayVar.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.D_ADDROF_VAR.DynamicVar.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.D_ADDROF_VAR.agg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.D_DEREF_NONPTR.noptr.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.D_DEREF_VOID.VoidPointerDeref.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.D_OP_ARRFUN.ArrayAssignment.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.D_OP_INCOMPAT.VoidPointerArith.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.D_OP_LVAL.AddressChange.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.D_OP_PTR.NonPointerAccess.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.D_OP_PTR.badpointer.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.D_OP_SOU.BadPointerAccess.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.D_OP_SOU.badpointer.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.InvalidAddress1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.InvalidAddress2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.InvalidAddress3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.InvalidAddress4.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/err.InvalidAddress5.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/tst.ArrayPointer1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/tst.ArrayPointer2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/tst.ArrayPointer3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/tst.GlobalVar.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/tst.IntegerArithmetic1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/tst.PointerArithmetic1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/tst.PointerArithmetic2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/tst.PointerArithmetic3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/tst.PointerAssignment.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/tst.ValidPointer1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/tst.ValidPointer2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/tst.VoidCast.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/tst.basic1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pointers/tst.basic2.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/pragma 0755 root bin
-f none opt/SUNWdtrt/tst/common/pragma/err.D_PRAGERR.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pragma/err.D_PRAGMA_INVAL.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pragma/err.D_PRAGMA_MALFORM.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/pragma/err.D_PRAGMA_UNUSED.UnusedPragma.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/predicates 0755 root bin
-f none opt/SUNWdtrt/tst/common/predicates/err.D_PRED_SCALAR.NonScalarPred.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/predicates/err.D_SYNTAX.invalid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/predicates/err.D_SYNTAX.operr.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/predicates/tst.argsnotcached.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/predicates/tst.basics.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/predicates/tst.basics.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/predicates/tst.complex.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/predicates/tst.complex.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/predicates/tst.predcache.ksh 0444 root bin
-d none opt/SUNWdtrt/tst/common/preprocessor 0755 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/err.D_IDENT_UNDEF.afterprobe.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/err.D_PRAGCTL_INVAL.tabdefine.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/err.D_SYNTAX.withoutpound.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/err.defincomp.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/err.ifdefelsenotendif.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/err.ifdefincomp.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/err.ifdefnotendif.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/err.incompelse.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/err.mulelse.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.ifdef.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.ifdef.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.ifndef.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.ifndef.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.ifnotdef.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.ifnotdef.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.logicaland.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.logicaland.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.logicalandor.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.logicalandor.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.logicalor.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.logicalor.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.muland.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.muland.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.mulor.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.mulor.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.precondi.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.precondi.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.predicatedeclare.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.preexp.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.preexp.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.preexpelse.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.preexpelse.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.preexpif.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.preexpif.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.preexpifelse.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.preexpifelse.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/preprocessor/tst.withinprobe.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/printa 0755 root bin
-f none opt/SUNWdtrt/tst/common/printa/err.D_PRINTA_AGGARG.badagg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/err.D_PRINTA_AGGARG.badfmt.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/err.D_PRINTA_AGGARG.badval.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/err.D_PRINTA_PROTO.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/err.D_PRINTF_ARG_TYPE.jstack.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/err.D_PRINTF_ARG_TYPE.stack.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/err.D_PRINTF_ARG_TYPE.ustack.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.basics.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.basics.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.def.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.def.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.dynwidth.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.dynwidth.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.fmt.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.fmt.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.many.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.manyval.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.manyval.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.stack.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.tuple.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.tuple.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.walltimestamp.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printa/tst.walltimestamp.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/printf 0755 root bin
-f none opt/SUNWdtrt/tst/common/printf/err.D_PRINTF_AGG_CONV.aggfmt.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/printf/err.D_PRINTF_ARG_EXTRA.toomany.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/printf/err.D_PRINTF_ARG_EXTRA.widths.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/err.D_PRINTF_ARG_FMT.badfmt.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/printf/err.D_PRINTF_ARG_PROTO.novalue.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/printf/err.D_PRINTF_ARG_TYPE.aggarg.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/printf/err.D_PRINTF_ARG_TYPE.recursive.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/err.D_PRINTF_DYN_PROTO.noprec.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/printf/err.D_PRINTF_DYN_PROTO.nowidth.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/printf/err.D_PRINTF_DYN_TYPE.badprec.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/printf/err.D_PRINTF_DYN_TYPE.badwidth.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/printf/err.D_PROTO_LEN.toofew.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/printf/err.D_SYNTAX.badconv1.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/printf/err.D_SYNTAX.badconv2.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/printf/err.D_SYNTAX.badconv3.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/printf/tst.basics.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.basics.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.flags.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.flags.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.hello.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.hello.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.ints.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.ints.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.precs.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.precs.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.print-f.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.print-f.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.printT.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.printT.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.printY.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.printY.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.printcont.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.printcont.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.printeE.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.printeE.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.printgG.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.printgG.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.rawfmt.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.rawfmt.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.str.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.str.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.sym.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.sym.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.uints.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.uints.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.widths.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.widths.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.widths1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.wp.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/printf/tst.wp.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/privs 0755 root bin
-f none opt/SUNWdtrt/tst/common/privs/tst.func_access.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/privs/tst.op_access.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/privs/tst.unpriv_funcs.ksh 0444 root bin
-d none opt/SUNWdtrt/tst/common/probes 0755 root bin
-f none opt/SUNWdtrt/tst/common/probes/err.D_PDESC_ZERO.probeqtn.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/err.D_PDESC_ZERO.probestar.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/err.D_PDESC_ZERO.tickstar.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/err.D_SYNTAX.assign.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/err.D_SYNTAX.declare.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/err.D_SYNTAX.declarein.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/err.D_SYNTAX.lbraces.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/err.D_SYNTAX.probespec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/err.D_SYNTAX.rbraces.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/err.D_SYNTAX.recdec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/tst.basic1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/tst.check.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/tst.declare.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/tst.declareafter.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/tst.emptyprobe.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/tst.pragma.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/tst.pragmaaftertab.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/tst.pragmainside.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/tst.pragmaoutside.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/probes/tst.probestar.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/proc 0755 root bin
-f none opt/SUNWdtrt/tst/common/proc/tst.create.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/proc/tst.discard.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/proc/tst.exec.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/proc/tst.execfail.ENOENT.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/proc/tst.execfail.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/proc/tst.exitcore.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/proc/tst.exitexit.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/proc/tst.exitkilled.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/proc/tst.signal.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/proc/tst.sigwait.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/proc/tst.sigwait.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/proc/tst.startexit.ksh 0444 root bin
-d none opt/SUNWdtrt/tst/common/profile-n 0755 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/err.D_PDESC_ZERO.profile.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/err.D_PDESC_ZEROonens.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/err.D_PDESC_ZEROonensec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/err.D_PDESC_ZEROoneus.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/err.D_PDESC_ZEROoneusec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.argtest.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.argtest.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.basic.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.basic.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.func.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.mod.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profilehz.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profilehz.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profilems.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profilems.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profilemsec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profilemsec.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profilenhz.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profilenhz.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profilens.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profilens.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profilensec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profilensec.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profiles.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profiles.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profilesec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profilesec.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profileus.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profileus.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profileusec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.profileusec.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.sym.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.ufunc.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.ufuncsort.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.ufuncsort.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.ufuncsort.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.umod.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/profile-n/tst.usym.ksh 0444 root bin
-d none opt/SUNWdtrt/tst/common/providers 0755 root bin
-f none opt/SUNWdtrt/tst/common/providers/err.D_PDESC_INVAL.wrongdec4.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/providers/err.D_PDESC_ZERO.nonprofile.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/providers/err.D_PDESC_ZERO.wrongdec1.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/providers/err.D_PDESC_ZERO.wrongdec2.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/providers/err.D_PDESC_ZERO.wrongdec3.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/providers/tst.basics.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.basics.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.beginexit.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.beginprof.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.beginprof.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.probattrs.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.probattrs.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.probefunc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.probefunc.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.probemod.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.probemod.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.probename.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.probename.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.probprov.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.probprov.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.profend.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.profend.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.profexit.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.profexit.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.trace.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.trace.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.twoprof.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/providers/tst.twoprof.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/raise 0755 root bin
-f none opt/SUNWdtrt/tst/common/raise/tst.raise1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/raise/tst.raise1.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/raise/tst.raise2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/raise/tst.raise2.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/raise/tst.raise3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/raise/tst.raise3.exe 0555 root bin
-d none opt/SUNWdtrt/tst/common/rates 0755 root bin
-f none opt/SUNWdtrt/tst/common/rates/tst.aggrate.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/rates/tst.aggrate.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/rates/tst.statusrate.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/rates/tst.switchrate.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/rates/tst.switchrate.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/safety 0755 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.basename.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.caller.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.cleanpath.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.copyin.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.copyin2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.ddi_pathname.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.dirname.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.execname.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.hton.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.errno.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.gid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.index.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.msgdsize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.msgsize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.null.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.pid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.ppid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.progenyof.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.random.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.rw.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.shortstr.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.stack.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.stackdepth.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.strchr.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.strjoin.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.strstr.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.strtok.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.substr.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.uid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.unalign.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.uregs.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.ustack.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.ustackdepth.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.vahole.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.violentdeath.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/safety/tst.zonename.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/scalars 0755 root bin
-f none opt/SUNWdtrt/tst/common/scalars/err.D_ARR_LOCAL.thisarray.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scalars/err.D_DECL_CLASS.selfthis.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scalars/err.D_DECL_CLASS.thisself.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scalars/err.D_DECL_IDRED.errval.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scalars/err.D_OP_INCOMPAT.dec.err.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scalars/err.D_OP_INCOMPAT.dupgtype.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/scalars/err.D_OP_INCOMPAT.dupltype.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/scalars/err.D_OP_INCOMPAT.dupttype.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/scalars/err.D_SYNTAX.declare.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scalars/tst.basicvar.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scalars/tst.basicvar.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/scalars/tst.localvar.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scalars/tst.misc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scalars/tst.self.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scalars/tst.selfarray.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scalars/tst.selfarray2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scalars/tst.selfthis.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scalars/tst.this.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scalars/tst.thisself.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/sched 0755 root bin
-f none opt/SUNWdtrt/tst/common/sched/tst.enqueue.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/sched/tst.oncpu.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/sched/tst.stackdepth.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/scripting 0755 root bin
-f none opt/SUNWdtrt/tst/common/scripting/err.D_MACRO_UNDEF.invalidargs.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/err.D_OP_LVAL.rdonly.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/err.D_OP_WRITE.usepidmacro.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/err.D_SYNTAX.concat.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/err.D_SYNTAX.desc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/err.D_SYNTAX.inval.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/err.D_SYNTAX.pid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.D_MACRO_UNUSED.overflow.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.arg0.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.arguments.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.assign.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.basic.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.egid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.egid.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.euid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.euid.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.gid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.gid.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.pgid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.pid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.ppid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.ppid.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.projid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.projid.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.quite.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.sid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.sid.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.stringmacro.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.taskid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.taskid.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.trace.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.uid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/scripting/tst.uid.ksh 0444 root bin
-d none opt/SUNWdtrt/tst/common/sizeof 0755 root bin
-f none opt/SUNWdtrt/tst/common/sizeof/err.D_IDENT_BADREF.SizeofAssoc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/sizeof/err.D_IDENT_UNDEF.UnknownSymbol.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/sizeof/err.D_SIZEOF_TYPE.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/sizeof/err.D_SYNTAX.SizeofBadType.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/sizeof/tst.SizeofArray.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/sizeof/tst.SizeofDataTypes.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/sizeof/tst.SizeofExpression.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/sizeof/tst.SizeofNULL.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/sizeof/tst.SizeofStrConst.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/sizeof/tst.SizeofStrConst.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/sizeof/tst.SizeofString1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/sizeof/tst.SizeofString1.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/sizeof/tst.SizeofString2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/sizeof/tst.SizeofString2.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/speculation 0755 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.BufSizeVariations1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.BufSizeVariations2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithBreakPoint.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithChill.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithCopyOut.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithCopyOutStr.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithPanic.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithRaise.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithStop.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_AGG_COMM.AggAftCommit.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithAvg.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithCount.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithLquant.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithMax.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithMin.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithQuant.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithSum.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_COMM_COMM.CommitAftCommit.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_COMM_COMM.DisjointCommit.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_COMM_DREC.CommitAftDataRec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_DREC_COMM.DataRecAftCommit.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_DREC_COMM.ExitAfterCommit.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_EXIT_SPEC.ExitAftSpec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_PRAGMA_MALFORM.NspecExpr.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_PRAGMA_OPTSET.HugeNspecValue.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_PRAGMA_OPTSET.InvalidSpecSize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_PRAGMA_OPTSET.NegSpecSize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_PROTO_LEN.SpecNoId.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_SPEC_COMM.SpecAftCommit.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_SPEC_DREC.SpecAftDataRec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.D_SPEC_SPEC.SpecAftSpec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.NegativeBufSize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.NegativeNspec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.NegativeSpecSize.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.SpecSizeVariations1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/err.SpecSizeVariations2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.CommitAfterDiscard.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.CommitWithZero.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.DataRecAftDiscard.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.DiscardAftCommit.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.DiscardAftDataRec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.DiscardAftDiscard.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.DiscardWithZero.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.ExitAftDiscard.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.NoSpecBuffer.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.SpecSizeVariations1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.SpecSizeVariations2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.SpecSizeVariations3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.SpeculateWithRandom.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.SpeculationCommit.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.SpeculationDiscard.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.SpeculationID.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.SpeculationWithZero.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.TwoSpecBuffers.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.negcommit.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.negspec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/speculation/tst.zerosize.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/stability 0755 root bin
-f none opt/SUNWdtrt/tst/common/stability/err.D_ATTR_MIN.MinAttributes.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/stack 0755 root bin
-f none opt/SUNWdtrt/tst/common/stack/err.D_STACK_PROTO.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/stack/err.D_STACK_SIZE.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/stack/err.D_USTACK_FRAMES.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/stack/err.D_USTACK_PROTO.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/stack/err.D_USTACK_STRSIZE.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/stack/tst.default.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/stackdepth 0755 root bin
-f none opt/SUNWdtrt/tst/common/stackdepth/tst.default.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/stop 0755 root bin
-f none opt/SUNWdtrt/tst/common/stop/tst.stop1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/stop/tst.stop1.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/stop/tst.stop2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/stop/tst.stop2.exe 0555 root bin
-d none opt/SUNWdtrt/tst/common/strlen 0755 root bin
-f none opt/SUNWdtrt/tst/common/strlen/tst.strlen1.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/struct 0755 root bin
-f none opt/SUNWdtrt/tst/common/struct/err.D_ADDROF_VAR.StructPointer.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/struct/err.D_DECL_COMBO.StructWithoutColon.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/struct/err.D_DECL_COMBO.StructWithoutColon1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/struct/err.D_DECL_INCOMPLETE.circular.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/struct/err.D_DECL_INCOMPLETE.order.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/struct/err.D_DECL_INCOMPLETE.order2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/struct/err.D_DECL_INCOMPLETE.recursive.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/struct/err.D_DECL_INCOMPLETE.simple.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/struct/err.D_DECL_VOIDOBJ.baddec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/struct/err.D_PROTO_ARG.DupStructAssoc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/struct/tst.StructAssoc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/struct/tst.StructDataTypes.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/struct/tst.StructInside.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/struct/tst.clauselocal.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/struct/tst.clauselocal.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/syscall 0755 root bin
-f none opt/SUNWdtrt/tst/common/syscall/tst.openret.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/syscall/tst.args.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/syscall/tst.args.exe 0555 root bin
-d none opt/SUNWdtrt/tst/common/sysevent 0755 root bin
-f none opt/SUNWdtrt/tst/common/sysevent/tst.post.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/sysevent/tst.post.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/sysevent/tst.post_chan.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/sysevent/tst.post_chan.exe 0555 root bin
-d none opt/SUNWdtrt/tst/common/tick-n 0755 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/err.D_PDESC_ZERO.tick.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/err.D_PDESC_ZEROonens.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/err.D_PDESC_ZEROonensec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/err.D_PDESC_ZEROoneus.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/err.D_PDESC_ZEROoneusec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.tickarg0.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.tickms.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.tickms.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.tickmsec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.tickmsec.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.tickns.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.tickns.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.ticknsec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.ticknsec.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.ticks.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.ticks.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.ticksec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.ticksec.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.tickus.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.tickus.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.tickusec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/tick-n/tst.tickusec.d.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/trace 0755 root bin
-f none opt/SUNWdtrt/tst/common/trace/err.D_PROTO_LEN.bad.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/trace/err.D_TRACE_VOID.bad.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/trace/tst.misc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/trace/tst.qstring.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/trace/tst.qstring.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/trace/tst.string.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/tracemem 0755 root bin
-f none opt/SUNWdtrt/tst/common/tracemem/err.D_PROTO_ARG.badsize.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/tracemem/err.D_PROTO_LEN.toofew.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/tracemem/err.D_PROTO_LEN.toomany.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/tracemem/err.D_TRACEMEM_ADDR.badaddr.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/tracemem/err.D_TRACEMEM_SIZE.negsize.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/tracemem/err.D_TRACEMEM_SIZE.zerosize.d 0444 nobody bin
-f none opt/SUNWdtrt/tst/common/tracemem/tst.rootvp.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/translators 0755 root bin
-f none opt/SUNWdtrt/tst/common/translators/err.D_DECL_TYPERED.BadTransDecl.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/err.D_OP_INCOMPLETE.NonExistentInput1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/err.D_SYNTAX.BadTransDecl1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/err.D_SYNTAX.BadTransDecl3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/err.D_SYNTAX.BadTransDecl4.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/err.D_TYPE_MEMBER.NonExistentInput2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/err.D_XLATE_INCOMPAT.BadInputType1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/err.D_XLATE_MEMB.NonExistentOutput2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/err.D_XLATE_NONE.BadTransDecl6.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/err.D_XLATE_REDECL.RepeatTransDecl.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/err.D_XLATE_SOU.BadTransDecl8.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/err.D_XLATE_SOU.BadTransInt.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/err.D_XLATE_SOU.NonExistentOutput1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.CircularTransDecl.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.EmptyTransDecl.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.ForwardTag.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.InputAliasTrans.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.InputIntTrans.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.OutputAliasTrans.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.PartialDereferencing.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.PartialOutputTransDefn.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.ProcModelTrans.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.RepeatDeclaration.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.SimultaneousTranslators.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.StructureAssignment.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.TransNonPointer.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.TransOutputPointer.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.TransPointer.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.TranslateSelf.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.UnionInputTrans.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/translators/tst.UnionOutputTrans.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/typedef 0755 root bin
-f none opt/SUNWdtrt/tst/common/typedef/err.D_DECL_IDRED.DupTypeDef.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/typedef/err.D_SYNTAX.BadExistingTypedef.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/typedef/err.D_SYNTAX.TypedefInClause.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/typedef/tst.ChainTypedef.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/typedef/tst.TypedefDataAssign.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/types 0755 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_CAST_INVAL.badcast.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_CG_DYN.ResultDynType.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_CHR_OFLOW.charconst.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_DECL_BADCLASS.bad.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_DECL_CHARATTR.badtype3.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_DECL_COMBO.badtype4.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_DECL_COMBO.badtype5.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_DECL_ENCONST.badeval.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_DECL_ENOFLOW.enoflow.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_DECL_ENOFLOW.enuflow.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_DECL_SCOPE.scopeop.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_DECL_USELESS.baddec.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_OP_ACT.badcond.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_OP_ARITH.badoperand.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_OP_INCOMPAT.badassign.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_OP_INT.badbitop.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_OP_INT.badshift.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_OP_SCALAR.badcond.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_OP_SCALAR.badincop.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_OP_SCALAR.badlogop.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_PROTO_LEN.badcond1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_SYNTAX.badenum.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_SYNTAX.badid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_SYNTAX.badstruct.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_UNKNOWN.badtype1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_UNKNOWN.badtype2.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_UNKNOWN.dupenum.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_UNKNOWN.dupstruct.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/err.D_XLATE_REDECL.ResultDynType.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.assignops.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.badshiftops.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.basics.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.basics.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.bitops.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.charconstants.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.complex.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.condexpr.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.constants.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.conv.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.enum.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.intincop.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.intops.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.inttypes.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.ptrincop.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.ptrops.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.relenum.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.relstring.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.shiftops.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.stringconstants.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.struct.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.typedef.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/types/tst.unaryop.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/union 0755 root bin
-f none opt/SUNWdtrt/tst/common/union/err.D_ADDROF_VAR.UnionPointer.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/union/err.D_DECL_COMBO.UnionWithoutColon.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/union/err.D_DECL_COMBO.UnionWithoutColon1.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/union/err.D_DECL_INCOMPLETE.circular.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/union/err.D_DECL_INCOMPLETE.order.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/union/err.D_DECL_INCOMPLETE.recursive.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/union/err.D_DECL_INCOMPLETE.simple.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/union/err.D_PROTO_ARG.DupUnionAssoc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/union/tst.UnionAssoc.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/union/tst.UnionDataTypes.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/union/tst.UnionInside.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/usdt 0755 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.andpid.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.argmap.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.argmap.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.args.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.args.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.badguess.ksh 0555 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.enabled.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.enabled.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.entryreturn.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.entryreturn.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.dlclose1.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.dlclose1.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.dlclose2.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.dlclose2.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.fork.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.fork.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.guess32.ksh 0555 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.guess64.ksh 0555 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.header.ksh 0555 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.include.ksh 0555 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.linkpriv.ksh 0555 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.linkunpriv.ksh 0555 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.multiple.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.multiple.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.nodtrace.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.onlyenabled.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.reeval.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.static.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.static.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.static2.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.static2.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.user.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/usdt/tst.user.ksh.out 0444 root bin
-d none opt/SUNWdtrt/tst/common/ustack 0755 root bin
-f none opt/SUNWdtrt/tst/common/ustack/tst.depth.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/ustack/tst.bigstack.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/ustack/tst.bigstack.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/ustack/tst.spin.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/ustack/tst.spin.ksh 0444 root bin
-d none opt/SUNWdtrt/tst/common/vars 0755 root bin
-f none opt/SUNWdtrt/tst/common/vars/tst.gid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/vars/tst.nullassign.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/vars/tst.ppid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/vars/tst.ucaller.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/vars/tst.ucaller.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/vars/tst.uid.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/vars/tst.walltimestamp.d 0444 root bin
-d none opt/SUNWdtrt/tst/common/version 0755 root bin
-f none opt/SUNWdtrt/tst/common/version/tst.1.0.d 0444 root bin
-
-# Java DTrace API
-d none opt/SUNWdtrt/lib 0755 root bin
-d none opt/SUNWdtrt/lib/java 0755 root bin
-f none opt/SUNWdtrt/lib/java/jdtrace.jar 0644 root bin
-f none opt/SUNWdtrt/bin/jdtrace 0555 root bin
-f none opt/SUNWdtrt/bin/exception.lst 0444 root bin
-d none opt/SUNWdtrt/tst/common/java_api 0755 root bin
-f none opt/SUNWdtrt/tst/common/java_api/test.jar 0644 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.ProbeDescription.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.ProbeDescription.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.Bean.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.Bean.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.StopLock.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.StopLock.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.FunctionLookup.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.FunctionLookup.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.FunctionLookup.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.Close.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.Close.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.Abort.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.Abort.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.MultiAggPrinta.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.MultiAggPrinta.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.printa.d 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.printa.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.ProbeData.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.ProbeData.exe 0555 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.ProbeData.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.StateMachine.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.StateMachine.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.Enable.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.Enable.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.MaxConsumers.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.MaxConsumers.ksh.out 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.Drop.ksh 0444 root bin
-f none opt/SUNWdtrt/tst/common/java_api/tst.Drop.ksh.out 0444 root bin
--- a/usr/src/cmd/dtrace/test/pkg/SUNWdtrt/prototype_i386	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
-# Use is subject to license terms.
-#
-# ident	"%Z%%M%	%I%	%E% SMI"
-
-!include prototype_com
-
-d none opt/SUNWdtrt/bin/amd64 0755 root bin
-f none opt/SUNWdtrt/bin/amd64/chkargs 0555 root bin
-d none opt/SUNWdtrt/bin/i86 0755 root bin
-f none opt/SUNWdtrt/bin/i86/chkargs 0555 root bin
-d none opt/SUNWdtrt/tst/i386 0755 root bin
-d none opt/SUNWdtrt/tst/i386/arrays 0755 root bin
-f none opt/SUNWdtrt/tst/i386/arrays/tst.uregsarray.d 0444 root bin
-d none opt/SUNWdtrt/tst/i386/funcs 0755 root bin
-f none opt/SUNWdtrt/tst/i386/funcs/tst.badcopyin.d 0444 root bin
-f none opt/SUNWdtrt/tst/i386/funcs/tst.badcopyinstr.d 0444 root bin
-f none opt/SUNWdtrt/tst/i386/funcs/tst.badcopyout.d 0444 root bin
-f none opt/SUNWdtrt/tst/i386/funcs/tst.badcopyoutstr.d 0444 root bin
-d none opt/SUNWdtrt/tst/i386/pid 0755 root bin
-f none opt/SUNWdtrt/tst/i386/pid/tst.badinstr.d 0444 root bin
-f none opt/SUNWdtrt/tst/i386/pid/tst.badinstr.exe 0555 root bin
-f none opt/SUNWdtrt/tst/i386/pid/tst.branch.d 0444 root bin
-f none opt/SUNWdtrt/tst/i386/pid/tst.branch.exe 0555 root bin
-f none opt/SUNWdtrt/tst/i386/pid/tst.embedded.d 0444 root bin
-f none opt/SUNWdtrt/tst/i386/pid/tst.embedded.exe 0555 root bin
-f none opt/SUNWdtrt/tst/i386/pid/tst.ret.d 0444 root bin
-f none opt/SUNWdtrt/tst/i386/pid/tst.ret.exe 0555 root bin
-f none opt/SUNWdtrt/tst/i386/pid/tst.retlist.exe 0555 root bin
-f none opt/SUNWdtrt/tst/i386/pid/tst.retlist.ksh 0555 root bin
-d none opt/SUNWdtrt/tst/i386/ustack 0755 root bin
-f none opt/SUNWdtrt/tst/i386/ustack/tst.annotated.d 0444 root bin
-f none opt/SUNWdtrt/tst/i386/ustack/tst.annotated.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/i386/ustack/tst.annotated.exe 0555 root bin
-f none opt/SUNWdtrt/tst/i386/ustack/tst.circstack.d 0444 root bin
-f none opt/SUNWdtrt/tst/i386/ustack/tst.circstack.exe 0555 root bin
-f none opt/SUNWdtrt/tst/i386/ustack/tst.helper.d 0444 root bin
-f none opt/SUNWdtrt/tst/i386/ustack/tst.helper.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/i386/ustack/tst.helper.exe 0555 root bin
--- a/usr/src/cmd/dtrace/test/pkg/SUNWdtrt/prototype_sparc	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
-# Use is subject to license terms.
-#
-#ident	"%Z%%M%	%I%	%E% SMI"
-
-!include prototype_com
-
-d none opt/SUNWdtrt/bin/sparcv7 0755 root bin
-f none opt/SUNWdtrt/bin/sparcv7/chkargs 0555 root bin
-d none opt/SUNWdtrt/bin/sparcv9 0755 root bin
-f none opt/SUNWdtrt/bin/sparcv9/chkargs 0555 root bin
-d none opt/SUNWdtrt/tst/sparc 0755 root bin
-d none opt/SUNWdtrt/tst/sparc/arrays 0755 root bin
-f none opt/SUNWdtrt/tst/sparc/arrays/tst.uregsarray.d 0444 root bin
-d none opt/SUNWdtrt/tst/sparc/pid 0755 root bin
-f none opt/SUNWdtrt/tst/sparc/pid/err.D_PROC_ALIGN.misaligned.d 0444 root bin
-f none opt/SUNWdtrt/tst/sparc/pid/err.D_PROC_ALIGN.misaligned.exe 0555 root bin
-f none opt/SUNWdtrt/tst/sparc/pid/tst.branch.d 0444 root bin
-f none opt/SUNWdtrt/tst/sparc/pid/tst.branch.exe 0555 root bin
-f none opt/SUNWdtrt/tst/sparc/pid/tst.embedded.d 0444 root bin
-f none opt/SUNWdtrt/tst/sparc/pid/tst.embedded.exe 0555 root bin  
-d none opt/SUNWdtrt/tst/sparc/ustack 0755 root bin
-f none opt/SUNWdtrt/tst/sparc/ustack/tst.annotated.d 0444 root bin
-f none opt/SUNWdtrt/tst/sparc/ustack/tst.annotated.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/sparc/ustack/tst.annotated.exe 0555 root bin
-f none opt/SUNWdtrt/tst/sparc/ustack/tst.circstack.d 0444 root bin
-f none opt/SUNWdtrt/tst/sparc/ustack/tst.circstack.exe 0555 root bin
-f none opt/SUNWdtrt/tst/sparc/ustack/tst.helper.d 0444 root bin
-f none opt/SUNWdtrt/tst/sparc/ustack/tst.helper.d.out 0444 root bin
-f none opt/SUNWdtrt/tst/sparc/ustack/tst.helper.exe 0555 root bin
--- a/usr/src/cmd/dtrace/test/pkg/common/README	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-
-CDDL HEADER START
-
-The contents of this file are subject to the terms of the
-Common Development and Distribution License (the "License").
-You may not use this file except in compliance with the License.
-
-You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-or http://www.opensolaris.org/os/licensing.
-See the License for the specific language governing permissions
-and limitations under the License.
-
-When distributing Covered Code, include this CDDL HEADER in each
-file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-If applicable, add the following below this CDDL HEADER, with the
-fields enclosed by brackets "[]" replaced with your own identifying
-information: Portions Copyright [yyyy] [name of copyright owner]
-
-CDDL HEADER END
-
-Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
-Use is subject to license terms.
-
-ident	"%Z%%M%	%I%	%E% SMI"
-
-DTrace Testing Suite
-
-The SUNWdtrt package delivers a set of test programs and D source
-files into the directory /opt/SUNWdtrt.  For more information see
-the following web site:
-
-	http://www.opensolaris.org/os/community/dtrace/dtest
--- a/usr/src/cmd/dtrace/test/pkg/common/bld_awk_pkginfo.ksh	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-#!/bin/ksh -p
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
-# Use is subject to license terms.
-#
-#ident	"%Z%%M%	%I%	%E% SMI"
-
-usage()
-{
-	echo "Usage: $0 -p <prodver> -m <mach> -o <awk_script>"
-	exit 1
-}
-
-#
-# Awk strings
-#
-# Two VERSION patterns: one for Dewey decimal, one for Dewey plus ",REV=n".
-# The first has one '=' character and the second has two or more '=' characters.
-#
-VERSION1="VERSION=[^=]*$"
-VERSION2="VERSION=[^=]*=.*$"
-PRODVERS="^SUNW_PRODVERS="
-ARCH='ARCH=\"ISA\"'
-
-rev=$(date "+%Y.%m.%d.%H.%M")
-unset mach prodver awk_script
-
-while getopts o:p:m: c; do
-	case $c in
-	o) awk_script=$OPTARG ;;
-	m) mach=$OPTARG ;;
-	p) prodver=$OPTARG ;;
-	\?) usage ;;
-	esac
-done
-
-[[ -z "$prodver" || -z "$mach" || -z "$awk_script" ]] && usage
-[[ -f $awk_script ]] && rm -f $awk_script
-
-#
-# Build awk script which will process all the pkginfo.tmpl files.
-# The first VERSION pattern is replaced with a leading quotation mark.
-#
-cat << EOF > $awk_script
-/$VERSION1/ {
-      sub(/\=[^=]*$/,"=\"$rev\"")
-      print
-      next
-   }
-/$VERSION2/ {
-      sub(/\=[^=]*$/,"=$rev\"")
-      print
-      next
-   }
-/$PRODVERS/ { 
-      printf "SUNW_PRODVERS=\"%s\"\n", "$prodver" 
-      next
-   }
-/$ARCH/ {
-      printf "ARCH=\"%s\"\n", "$mach"
-      next
-   }
-{ print }
-EOF
--- a/usr/src/cmd/dtrace/test/pkg/common/copyright	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
-Use is subject to license terms.
--- a/usr/src/cmd/dtrace/test/pkg/common/depend	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
-# Use is subject to license terms.
-#
-#ident	"%Z%%M%	%I%	%E% SMI"
-
-P SUNWdtrc	Dynamic Tracing (DTrace) Clients 
-P SUNWdtrp	Dynamic Tracing (DTrace) Providers
--- a/usr/src/cmd/dtrace/test/tst/Makefile.com	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/Makefile.com	Sun Apr 01 23:38:22 2007 -0700
@@ -20,12 +20,13 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
 
-include $(SRC)/Makefile.master
+include $(SRC)/cmd/Makefile.cmd
 
 .KEEP_STATE:
 
@@ -58,9 +59,9 @@
 clean lint:
 
 clobber: FRC
-	rm -f $(CSRCS:%.c=%.exe) $(CSRCS:%.c=%.o)
-	rm -f $(SSRCS:%.s=%.exe) $(SSRCS:%.s=%.o)
-	rm -f $(DSRC:%.d=%.o)
+	-$(RM) $(CSRCS:%.c=%.exe) $(CSRCS:%.c=%.o)
+	-$(RM) $(SSRCS:%.s=%.exe) $(SSRCS:%.s=%.o)
+	-$(RM) $(DSRCS:%.d=%.o)
 
 install: $(ROOT_TSTS) $(ROOT_EXES)
 
@@ -76,16 +77,20 @@
 	$(INS.file)
 
 %.exe: %.c
-	$(LINK.c) -o $@ $< $(LIBS)
+	$(LINK.c) -o $@ $< $(LDLIBS)
+	$(POST_PROCESS) ; $(STRIP_STABS)
 
 %.exe: %.o
-	$(CC) -o $@ $< $(LIBS)
+	$(LINK.c) -o $@ $< $(LDLIBS)
+	$(POST_PROCESS) ; $(STRIP_STABS)
 
 %.o: %.c
-	$(COMPILE.c) -o $@ $< $(LIBS)
+	$(COMPILE.c) -o $@ $<
+	$(POST_PROCESS_O)
 
 %.o: %.s
-	$(AS) $(ASFLAGS) -o $@ $< $(LIBS)
+	$(COMPILE.s) -o $@ $<
+	$(POST_PROCESS_O)
 
 scripts: FRC
 	@cd ../cmd/scripts; pwd; $(MAKE) install
--- a/usr/src/cmd/dtrace/test/tst/common/Makefile	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/Makefile	Sun Apr 01 23:38:22 2007 -0700
@@ -23,40 +23,42 @@
 # Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
 
 include $(SRC)/Makefile.master
 include ../Makefile.com
 
-fasttrap/tst.fasttrap.exe := LIBS += -ldtrace
-fasttrap/tst.stack.exe := LIBS += -ldtrace
+fasttrap/tst.fasttrap.exe := LDLIBS += -ldtrace
+fasttrap/tst.stack.exe := LDLIBS += -ldtrace
 
-proc/tst.sigwait.exe := LIBS += -lrt
+proc/tst.sigwait.exe := LDLIBS += -lrt
 
-sysevent/tst.post.exe := LIBS += -lsysevent
-sysevent/tst.post_chan.exe := LIBS += -lsysevent
+sysevent/tst.post.exe := LDLIBS += -lsysevent
+sysevent/tst.post_chan.exe := LDLIBS += -lsysevent
 
 ustack/tst.bigstack.exe := COPTFLAG += -xO1
 
-GCC = /usr/sfw/bin/gcc
-GCCFLAGS_sparc = -mcpu=ultrasparc
-GCCFLAGS = $(GCCFLAGS_$(MACH))
+GCC = $(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
 
 pid/tst.gcc.exe: pid/tst.gcc.c
-	$(GCC) $(GCCFLAGS) -o pid/tst.gcc.exe pid/tst.gcc.c
+	$(GCC) -o pid/tst.gcc.exe pid/tst.gcc.c $(LDFLAGS)
+	$(POST_PROCESS) ; $(STRIP_STABS)
 
 usdt/tst.args.exe: usdt/tst.args.o usdt/args.o
-	$(CC) -o usdt/tst.args.exe usdt/tst.args.o usdt/args.o
+	$(LINK.c) -o usdt/tst.args.exe usdt/tst.args.o usdt/args.o $(LDLIBS)
+	$(POST_PROCESS) ; $(STRIP_STABS)
 
 usdt/args.o: usdt/args.d usdt/tst.args.o
-	/usr/sbin/dtrace -G -32 -o usdt/args.o -s usdt/args.d usdt/tst.args.o
+	$(COMPILE.d) -o usdt/args.o -s usdt/args.d usdt/tst.args.o
 
 usdt/tst.argmap.exe: usdt/tst.argmap.o usdt/argmap.o
-	$(CC) -o usdt/tst.argmap.exe usdt/tst.argmap.o usdt/argmap.o
+	$(LINK.c) -o usdt/tst.argmap.exe usdt/tst.argmap.o usdt/argmap.o \
+		$(LDLIBS)
+	$(POST_PROCESS) ; $(STRIP_STABS)
 
 usdt/argmap.o: usdt/argmap.d usdt/tst.argmap.o
-	/usr/sbin/dtrace -G -32 -o usdt/argmap.o -s usdt/argmap.d \
-		usdt/tst.argmap.o
+	$(COMPILE.d) -o usdt/argmap.o -s usdt/argmap.d usdt/tst.argmap.o
 
 SUBDIRS = java_api
 include ../../Makefile.subdirs
--- a/usr/src/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -50,7 +50,7 @@
 }
 
 tick-100ms
-/x <= 20/
+/x > 5 && x <= 20/
 {
 	printa(" %@d\n", @time);
 	clear(@time);
--- a/usr/src/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d.out	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d.out	Sun Apr 01 23:38:22 2007 -0700
@@ -1,8 +1,3 @@
- 0
- 0
- 0
- 0
- 0
  0
  0
  0
--- a/usr/src/cmd/dtrace/test/tst/common/buffering/tst.resize1.d	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/buffering/tst.resize1.d	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -36,27 +36,14 @@
  *	Options and Tunables/bufresize
  *
  * NOTES:
- *	On some small memory machines, this test may consume so much memory
- *	that it induces memory allocation failure in the dtrace library.  This
- *	will manifest itself as an error like one of the following:
- *
- *	    dtrace: processing aborted: Memory allocation failure
- *	    dtrace: could not enable tracing: Memory allocation failure
- *
- *	These actually indicate that the test performed as expected; failures
- *	of the above nature should therefore be ignored.  If 32-bit libdtrace
- *      is used to execute this test on a 64-bit kernel, the failure mode
- *      becomes exceedingly likely because the kernel may be able to allocate
- *      a huge hunk of memory that then requires the client to match it with
- *      a malloc that exhausts the remainder of its 4GB address space.  For
- *      this reason, we no-op the test for 32-bit clients using an ifdef.
+ *	We use the undocumented "preallocate" option to make sure dtrace(1M)
+ *	has enough space in its heap to allocate a buffer as large as the
+ *	kernel's trace buffer.
  */
 
+#pragma D option preallocate=100t
 #pragma D option bufresize=auto
-
-#ifdef __SUNW_D_64
 #pragma D option bufsize=100t
-#endif
 
 BEGIN
 {
--- a/usr/src/cmd/dtrace/test/tst/common/buffering/tst.resize2.d	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/buffering/tst.resize2.d	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -36,18 +36,12 @@
  *	Options and Tunables/bufresize
  *
  * NOTES:
- *	On some small memory machines, this test may consume so much memory
- *	that it induces memory allocation failure in the dtrace library.  This
- *	will manifest itself as an error like one of the following:
- *
- *	    dtrace: processing aborted: Memory allocation failure
- *	    dtrace: could not enable tracing: Memory allocation failure
- *
- *	These actually indicate that the test performed as expected; failures
- *	of the above nature should therefore be ignored.
- *
+ *	We use the undocumented "preallocate" option to make sure dtrace(1M)
+ *	has enough space in its heap to allocate a buffer as large as the
+ *	kernel's trace buffer.
  */
 
+#pragma D option preallocate=100t
 #pragma D option bufresize=auto
 #pragma D option aggsize=100t
 
--- a/usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeGiga.d.ksh	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeGiga.d.ksh	Sun Apr 01 23:38:22 2007 -0700
@@ -1,5 +1,3 @@
-#!/bin/ksh -p
-
 #
 # CDDL HEADER START
 #
@@ -22,11 +20,11 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 
 #
 # ASSERTION:
@@ -35,18 +33,6 @@
 # SECTION: dtrace Utility/-b Option
 #
 
-script()
-{
-	$dtrace -b 1g -s /dev/stdin <<EOF
-	BEGIN
-	{
-		printf("This test should compile.\n");
-		exit(0);
-	}
-
-EOF
-}
-
 if [ $# != 1 ]; then
 	echo expected one argument: '<'dtrace-path'>'
 	exit 2
@@ -54,11 +40,6 @@
 
 dtrace=$1
 
-script
-status=$?
+$dtrace -b 1g -b 2g -e
 
-if [ "$status" -ne 0 ]; then
-	echo $tst: dtrace failed
-fi
-
-exit $status
+exit $?
--- a/usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeKilo.d.ksh	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeKilo.d.ksh	Sun Apr 01 23:38:22 2007 -0700
@@ -1,4 +1,3 @@
-#!/bin/ksh -p
 #
 # CDDL HEADER START
 #
@@ -21,31 +20,18 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 
-##
-# 
+#
 # ASSERTION:
 # The trace buffer size can include any of the size suffixes k, m, g or t
 #
 # SECTION: dtrace Utility/-b Option
 #
-##
-
-script()
-{
-	$dtrace -b 1k -b 2k -s /dev/stdin <<EOF
-	BEGIN
-	{
-		printf("This test should compile.\n");
-		exit(0);
-	}
-EOF
-}
 
 if [ $# != 1 ]; then
 	echo expected one argument: '<'dtrace-path'>'
@@ -54,11 +40,6 @@
 
 dtrace=$1
 
-script
-status=$?
+$dtrace -b 1k -b 2k -e
 
-if [ "$status" -ne 0 ]; then
-	echo $tst: dtrace failed
-fi
-
-exit $status
+exit $?
--- a/usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeMega.d.ksh	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeMega.d.ksh	Sun Apr 01 23:38:22 2007 -0700
@@ -1,4 +1,3 @@
-#!/bin/ksh -p
 #
 # CDDL HEADER START
 #
@@ -21,31 +20,18 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 
-##
 #
 # ASSERTION:
 # The trace buffer size can include any of the size suffixes k, m, g or t
 #
 # SECTION: dtrace Utility/-b Option
 #
-##
-
-script()
-{
-	$dtrace -b 1m -b 2m -s /dev/stdin <<EOF
-	BEGIN
-	{
-		printf("This test should compile.\n");
-		exit(0);
-	}
-EOF
-}
 
 if [ $# != 1 ]; then
 	echo expected one argument: '<'dtrace-path'>'
@@ -54,11 +40,6 @@
 
 dtrace=$1
 
-script
-status=$?
+$dtrace -b 1m -b 2m -e
 
-if [ "$status" -ne 0 ]; then
-	echo $tst: dtrace failed
-fi
-
-exit $status
+exit $?
--- a/usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeTera.d.ksh	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeTera.d.ksh	Sun Apr 01 23:38:22 2007 -0700
@@ -1,4 +1,3 @@
-#!/bin/ksh -p
 #
 # CDDL HEADER START
 #
@@ -21,31 +20,18 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 
-##
 #
 # ASSERTION:
 # The trace buffer size can include any of the size suffixes k, m, g or t
 #
 # SECTION: dtrace Utility/-b Option
 #
-##
-
-script()
-{
-	$dtrace -b 1t -b 2t -s /dev/stdin <<EOF
-	BEGIN
-	{
-		printf("This test should compile.\n");
-		exit(0);
-	}
-EOF
-}
 
 if [ $# != 1 ]; then
 	echo expected one argument: '<'dtrace-path'>'
@@ -54,11 +40,6 @@
 
 dtrace=$1
 
-script 
-status=$?
+$dtrace -b 1t -b 2t -e
 
-if [ "$status" -ne 0 ]; then
-	echo $tst: dtrace failed
-fi
-
-exit $status
+exit $?
--- a/usr/src/cmd/dtrace/test/tst/common/java_api/tst.FunctionLookup.c	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/java_api/tst.FunctionLookup.c	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -46,4 +46,6 @@
 main()
 {
 	f2(f1, 3);
+
+	return (0);
 }
--- a/usr/src/cmd/dtrace/test/tst/common/java_api/tst.ProbeData.c	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/java_api/tst.ProbeData.c	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -88,4 +88,6 @@
 	fN(f_e, e, -2);
 	fN(f_e, e, 2);
 	fN2(f_e, e, 2);
+
+	return (0);
 }
--- a/usr/src/cmd/dtrace/test/tst/common/misc/tst.include.ksh	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/misc/tst.include.ksh	Sun Apr 01 23:38:22 2007 -0700
@@ -20,10 +20,10 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 
 if [ $# != 1 ]; then
 	echo expected one argument: '<'dtrace-path'>'
@@ -87,7 +87,9 @@
 # becomes a problem, kindly fix it by reducing the number of bad files!  (That
 # is, fix it by fixing the broken file, not the broken script.)
 #
-badfiles="ctype.h eri_msg.h ser_sync.h sbpro.h"
+badfiles="ctype.h eri_msg.h ser_sync.h sbpro.h neti.h hook_event.h \
+    bootconf.h bootstat.h dtrace.h dumphdr.h exacct_impl.h fasttrap.h \
+    kobj.h kobj_impl.h ksyms.h lockstat.h smedia.h stat.h utsname.h"
 
 for inc in $files; do
 	file=`basename $inc`
--- a/usr/src/cmd/dtrace/test/tst/common/pid/tst.fork.d	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/pid/tst.fork.d	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -41,10 +41,10 @@
 	copyout(this->value, arg0, sizeof (int));
 }
 
-syscall::forkall:return
-/curpsinfo->pr_ppid == $1/
+proc:::create
+/pid == $1/
 {
-	child = pid;
+	child = args[0]->pr_pid;
 	trace(pid);
 }
 
@@ -55,14 +55,14 @@
 	exit(1);
 }
 
-syscall::rexit:entry
+proc:::exit
 /pid == $1 || pid == child/
 {
 	out++;
 	trace(pid);
 }
 
-syscall::rexit:entry
+proc:::exit
 /out == 2/
 {
 	exit(0);
--- a/usr/src/cmd/dtrace/test/tst/common/pid/tst.vfork.d	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/pid/tst.vfork.d	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -41,16 +41,16 @@
 	copyout(this->value, arg0, sizeof (int));
 }
 
-syscall::vfork:return
-/curpsinfo->pr_ppid == $1/
+proc:::create
+/pid == $1/
 {
-	self->pid = pid;
+	child = args[0]->pr_pid;
 }
 
 pid$1:a.out:go:
-/self->pid != pid/
+/child != pid/
 {
-	trace("wrong pid");
+	printf("wrong pid (%d %d)", pid, child);
 	exit(1);
 }
 
--- a/usr/src/cmd/dtrace/test/tst/common/predicates/tst.predcache.ksh	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/predicates/tst.predcache.ksh	Sun Apr 01 23:38:22 2007 -0700
@@ -20,26 +20,54 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 
 unload()
 {
-	svcadm disable -s svc:/network/nfs/mapid:default
+	#
+	# Get the list of services whose processes have USDT probes.  Ideally
+	# it would be possible to unload the fasttrap provider while USDT
+	# probes exist -- once that fix is integrated, this hack can go away
+	#
+	pids=$(dtrace -l | \
+	    perl -ne 'print "$1\n" if (/^\s*\S+\s+\S*\D(\d+)\s+/);' | \
+	    sort | uniq | tr '\n' ',')
+
+	ctids=$(ps -p $pids -o ctid | tail +2 | sort | uniq)
+	svcs=
+
+	for ct in $ctids
+	do
+		line=$(svcs -o fmri,ctid | grep " $ct\$")
+		svc=$(echo $line | cut -d' ' -f1)
+		svcs="$svcs $svc"
+	done
+
+	for svc in $svcs
+	do
+		svcadm disable -ts $svc
+	done
 
 	modunload -i 0
 	modunload -i 0
 	modunload -i 0
 
 	if ( modinfo | grep dtrace ); then
-		svcadm enable svc:/network/nfs/mapid:default
+		for svc in $svcs
+		do
+			svcadm enable -ts $svc
+		done
 		echo $tst: could not unload dtrace
 		exit 1
 	fi
 
-	svcadm enable svc:/network/nfs/mapid:default
+	for svc in $svcs
+	do
+		svcadm enable -ts $svc
+	done
 }
 
 script1()
--- a/usr/src/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.d	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-
-/*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
-#pragma D option quiet
-#pragma D option destructive
-
-BEGIN
-{
-	@foo = min(1075064400 * (hrtime_t)1000000000);
-	@bar = max(walltimestamp);
-	printa("%@T\n", @foo);
-	printa("%@Y\n", @foo);
-
-	freopen("/dev/null");
-	printa("%@T\n", @bar);
-	printa("%@Y\n", @bar);
-
-	exit(0);
-}
--- a/usr/src/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.d.out	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Sun, 25 Jan 2004 13:00:00 PST
-2004 Jan 25 13:00:00
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.ksh	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,62 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+
+if [ $# != 1 ]; then
+	echo expected one argument: '<'dtrace-path'>'
+	exit 2
+fi
+
+dtrace=$1
+
+# The output files assumes the timezone is US/Pacific
+TZ=US/Pacific
+
+$dtrace -s /dev/stdin <<EOF
+#pragma D option quiet
+#pragma D option destructive
+
+BEGIN
+{
+	@foo = min(1075064400 * (hrtime_t)1000000000);
+	@bar = max(walltimestamp);
+	printa("%@T\n", @foo);
+	printa("%@Y\n", @foo);
+
+	freopen("/dev/null");
+	printa("%@T\n", @bar);
+	printa("%@Y\n", @bar);
+
+	exit(0);
+}
+EOF
+
+if [ $? -ne 0 ]; then
+	print -u2 "dtrace failed"
+	exit 1
+fi
+
+exit 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.ksh.out	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,2 @@
+Sun, 25 Jan 2004 13:00:00 PST
+2004 Jan 25 13:00:00
--- a/usr/src/cmd/dtrace/test/tst/common/printf/tst.printT.d	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-
-/*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
-#pragma D option quiet
-
-inline uint64_t NANOSEC = 1000000000;
-
-BEGIN
-{
-	printf("%T\n%T\n%T", (uint64_t)0, (uint64_t)1062609821 * NANOSEC,
-	    (uint64_t)0x7fffffff * NANOSEC);
-	exit(0);
-}
--- a/usr/src/cmd/dtrace/test/tst/common/printf/tst.printT.d.out	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-Wed, 31 Dec 1970 16:00:00 PST
-Wed, 03 Sep 2003 10:23:41 PDT
-Mon, 18 Jan 2038 19:14:07 PST
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/printf/tst.printT.ksh	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,56 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+
+if [ $# != 1 ]; then
+	echo expected one argument: '<'dtrace-path'>'
+	exit 2
+fi
+
+dtrace=$1
+
+# The output files assumes the timezone is US/Pacific
+TZ=US/Pacific
+
+$dtrace -s /dev/stdin <<EOF
+#pragma D option quiet
+
+inline uint64_t NANOSEC = 1000000000;
+
+BEGIN
+{
+	printf("%T\n%T\n%T", (uint64_t)0, (uint64_t)1062609821 * NANOSEC,
+	    (uint64_t)0x7fffffff * NANOSEC);
+	exit(0);
+}
+EOF
+
+if [ $? -ne 0 ]; then
+	print -u2 "dtrace failed"
+	exit 1
+fi
+
+exit 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/printf/tst.printT.ksh.out	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,3 @@
+Wed, 31 Dec 1970 16:00:00 PST
+Wed, 03 Sep 2003 10:23:41 PDT
+Mon, 18 Jan 2038 19:14:07 PST
--- a/usr/src/cmd/dtrace/test/tst/common/printf/tst.printY.d	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-
-/*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
-#pragma D option quiet
-
-inline uint64_t NANOSEC = 1000000000;
-
-BEGIN
-{
-	printf("%Y\n%Y\n%Y", (uint64_t)0, (uint64_t)1062609821 * NANOSEC,
-	    (uint64_t)0x7fffffff * NANOSEC);
-	exit(0);
-}
--- a/usr/src/cmd/dtrace/test/tst/common/printf/tst.printY.d.out	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-1969 Dec 31 16:00:00
-2003 Sep  3 10:23:41
-2038 Jan 18 19:14:07
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/printf/tst.printY.ksh	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,56 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+
+if [ $# != 1 ]; then
+	echo expected one argument: '<'dtrace-path'>'
+	exit 2
+fi
+
+dtrace=$1
+
+# The output files assumes the timezone is US/Pacific
+TZ=US/Pacific
+
+$dtrace -s /dev/stdin <<EOF
+#pragma D option quiet
+
+inline uint64_t NANOSEC = 1000000000;
+
+BEGIN
+{
+	printf("%Y\n%Y\n%Y", (uint64_t)0, (uint64_t)1062609821 * NANOSEC,
+	    (uint64_t)0x7fffffff * NANOSEC);
+	exit(0);
+}
+EOF
+
+if [ $? -ne 0 ]; then
+	print -u2 "dtrace failed"
+	exit 1
+fi
+
+exit 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/printf/tst.printY.ksh.out	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,3 @@
+1969 Dec 31 16:00:00
+2003 Sep  3 10:23:41
+2038 Jan 18 19:14:07
--- a/usr/src/cmd/dtrace/test/tst/common/proc/tst.sigwait.c	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/proc/tst.sigwait.c	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -33,7 +33,7 @@
 #include <errno.h>
 #include <string.h>
 
-void
+int
 main(int argc, char **argv)
 {
 	struct sigevent ev;
@@ -69,4 +69,7 @@
 	for (;;) {
 		(void) sigwait(&set);
 	}
+
+	/*NOTREACHED*/
+	return (0);
 }
--- a/usr/src/cmd/dtrace/test/tst/common/profile-n/tst.ufuncsort.c	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/profile-n/tst.ufuncsort.c	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -73,4 +73,6 @@
 	fN(f_a, 101);
 	fN(f_c, 103);
 	fN(f_c, 1003);
+
+	return (0);
 }
--- a/usr/src/cmd/dtrace/test/tst/common/ustack/tst.bigstack.c	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/common/ustack/tst.bigstack.c	Sun Apr 01 23:38:22 2007 -0700
@@ -56,4 +56,6 @@
 main(int argc, char *argv[])
 {
 	grow(1);
+
+	return (0);
 }
--- a/usr/src/cmd/dtrace/test/tst/i386/Makefile	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/i386/Makefile	Sun Apr 01 23:38:22 2007 -0700
@@ -20,32 +20,32 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
 
 include ../Makefile.com
 
-ASFLAGS += -D_ASM -K PIC -P
-
-clobber := DSRC += ustack/tst.helper_helper.d ustack/tst.annotated_helper.d
+ASFLAGS += -D_ASM -P $(CPPFLAGS)
+CLOBBER_FILES += helper_helper.o annotated_helper.o
 
-all:	ustack/tst.helper.exe ustack/tst.annotated.exe
+# For the helper test we require an executable data section.
+ustack/tst.helper.exe := LDFLAGS = -M$(SRC)/cmd/mapfile_noexstk
 
-ustack/tst.helper.exe: ustack/tst.helper.o ustack/tst.helper_helper.o
-	$(CC) -o ustack/tst.helper.exe \
-		 ustack/tst.helper.o ustack/tst.helper_helper.o
-	$(STRIP) ustack/tst.helper.exe
+ustack/tst.helper.exe: ustack/tst.helper.o ustack/helper_helper.o
+	$(LINK.c) -o ustack/tst.helper.exe \
+		 ustack/tst.helper.o ustack/helper_helper.o $(LDLIBS)
+	$(POST_PROCESS) ; $(STRIP_STABS)
 
-ustack/tst.helper_helper.o: ustack/tst.helper_helper.d
-	/usr/sbin/dtrace -G -o ustack/tst.helper_helper.o \
-		-s ustack/tst.helper_helper.d
+ustack/helper_helper.o: ustack/helper_helper.d
+	$(COMPILE.d) -o ustack/helper_helper.o -s ustack/helper_helper.d
 
-ustack/tst.annotated.exe: ustack/tst.annotated.o ustack/tst.annotated_helper.o
-	$(CC) -o ustack/tst.annotated.exe \
-		 ustack/tst.annotated.o ustack/tst.annotated_helper.o
+ustack/tst.annotated.exe: ustack/tst.annotated.o ustack/annotated_helper.o
+	$(LINK.c) -o ustack/tst.annotated.exe  \
+		 ustack/tst.annotated.o ustack/annotated_helper.o $(LDLIBS)
+	$(POST_PROCESS) ; $(STRIP_STABS)
 
-ustack/tst.annotated_helper.o: ustack/tst.annotated_helper.d
-	/usr/sbin/dtrace -G -o ustack/tst.annotated_helper.o \
-		-s ustack/tst.annotated_helper.d
+ustack/annotated_helper.o: ustack/annotated_helper.d
+	$(COMPILE.d) -o ustack/annotated_helper.o -s ustack/annotated_helper.d
--- a/usr/src/cmd/dtrace/test/tst/i386/pid/tst.badinstr.s	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/i386/pid/tst.badinstr.s	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -28,6 +28,9 @@
 
 #include <sys/asm_linkage.h>
 
+	DGDEF(__fsr_init_value)
+	.long 0
+
 	ENTRY(badfunc)
 	.byte	0xff
 	.byte	0xff
--- a/usr/src/cmd/dtrace/test/tst/i386/pid/tst.branch.s	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/i386/pid/tst.branch.s	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -28,6 +28,9 @@
 
 #include <sys/asm_linkage.h>
 
+	DGDEF(__fsr_init_value)
+	.long 0
+
 	ENTRY(waiting)
 	pushl	%ebp
 	movl	%esp, %ebp
--- a/usr/src/cmd/dtrace/test/tst/i386/pid/tst.embedded.s	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/i386/pid/tst.embedded.s	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -28,6 +28,9 @@
 
 #include <sys/asm_linkage.h>
 
+	DGDEF(__fsr_init_value)
+	.long 0
+
 	ENTRY(waiting)
 	pushl	%ebp
 	movl	%esp, %ebp
--- a/usr/src/cmd/dtrace/test/tst/i386/pid/tst.ret.s	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/i386/pid/tst.ret.s	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -28,6 +28,9 @@
 
 #include <sys/asm_linkage.h>
 
+	DGDEF(__fsr_init_value)
+	.long 0
+
 	ENTRY(ret1)
 	ret
 	SET_SIZE(ret1)
--- a/usr/src/cmd/dtrace/test/tst/i386/pid/tst.retlist.s	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/i386/pid/tst.retlist.s	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -28,6 +28,9 @@
 
 #include <sys/asm_linkage.h>
 
+	DGDEF(__fsr_init_value)
+	.long 0
+
 	ENTRY(simple)
 	repz
 	ret
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/i386/ustack/annotated_helper.d	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,32 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+dtrace:helper:ustack:
+{
+	"@it's annotated"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/i386/ustack/helper_helper.d	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,32 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+dtrace:helper:ustack:
+{
+	"<it's working>"
+}
--- a/usr/src/cmd/dtrace/test/tst/i386/ustack/tst.annotated_helper.d	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-
-/*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
-dtrace:helper:ustack:
-{
-	"@it's annotated"
-}
--- a/usr/src/cmd/dtrace/test/tst/i386/ustack/tst.circstack.s	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/i386/ustack/tst.circstack.s	Sun Apr 01 23:38:22 2007 -0700
@@ -28,6 +28,9 @@
 
 #include <sys/asm_linkage.h>
 
+	DGDEF(__fsr_init_value)
+	.long 0
+
 	ENTRY(main)
 	pushl	%ebp
 	movl	%esp, %ebp
--- a/usr/src/cmd/dtrace/test/tst/i386/ustack/tst.helper.c	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/i386/ustack/tst.helper.c	Sun Apr 01 23:38:22 2007 -0700
@@ -20,13 +20,15 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
 #pragma ident	"%Z%%M%	%I%	%E% SMI"
 
 #include <stdint.h>
+#include <stdlib.h>
+#include <strings.h>
 
 int
 baz(void)
@@ -41,7 +43,7 @@
 	 * In order to assure that our helper is properly employed to identify
 	 * the frame, we're going to trampoline through data.
 	 */
-	unsigned char instr[] = {
+	uint8_t instr[] = {
 	    0x55,			/* pushl %ebp		*/
 	    0x8b, 0xec,			/* movl  %esp, %ebp	*/
 	    0xe8, 0x0, 0x0, 0x0, 0x0,	/* call  baz		*/
@@ -49,9 +51,24 @@
 	    0x5d,			/* popl  %ebp		*/
 	    0xc3			/* ret			*/
 	};
+	uint8_t *fp = malloc(sizeof (instr));
 
-	*((int *)&instr[4]) = (uintptr_t)baz - (uintptr_t)&instr[8];
-	return ((*(int(*)(void))instr)() + 3);
+	/*
+	 * Do our little relocation dance.
+	 */
+	*((int *)&instr[4]) = (uintptr_t)baz - (uintptr_t)&fp[8];
+
+	/*
+	 * Copy the code to the heap (it's a pain to build in ON with an
+	 * executable stack).
+	 */
+	bcopy(instr, fp, sizeof (instr));
+
+	(*(int (*)(void))fp)();
+
+	free(fp);
+
+	return (0);
 }
 
 int
--- a/usr/src/cmd/dtrace/test/tst/i386/ustack/tst.helper_helper.d	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-
-/*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
-dtrace:helper:ustack:
-{
-	"<it's working>"
-}
--- a/usr/src/cmd/dtrace/test/tst/sparc/Makefile	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/sparc/Makefile	Sun Apr 01 23:38:22 2007 -0700
@@ -20,32 +20,32 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
 
 include ../Makefile.com
 
-ASFLAGS += -D_ASM -K PIC -P
+ASFLAGS += -D_ASM -P
 
-clobber := DSRC += ustack/tst.helper_helper.d ustack/tst.annotated_helper.d
+pid/tst.br.o := ASFLAGS += -xarch=v8plus
 
 all:	ustack/tst.helper.exe ustack/tst.annotated.exe
 
-ustack/tst.helper.exe: ustack/tst.helper.o ustack/tst.helper_helper.o
-	$(CC) -o ustack/tst.helper.exe \
-		 ustack/tst.helper.o ustack/tst.helper_helper.o
-	$(STRIP) ustack/tst.helper.exe
+ustack/tst.helper.exe: ustack/tst.helper.o ustack/helper_helper.o
+	$(LINK.c) -o ustack/tst.helper.exe \
+		 ustack/tst.helper.o ustack/helper_helper.o $(LDLIBS)
+	$(POST_PROCESS) ; $(STRIP_STABS)
+
+ustack/helper_helper.o: ustack/helper_helper.d
+	$(COMPILE.d) -o ustack/helper_helper.o -s ustack/helper_helper.d
 
-ustack/tst.helper_helper.o: ustack/tst.helper_helper.d
-	/usr/sbin/dtrace -G -o ustack/tst.helper_helper.o \
-		-s ustack/tst.helper_helper.d
+ustack/tst.annotated.exe: ustack/tst.annotated.o ustack/annotated_helper.o
+	$(LINK.c) -o ustack/tst.annotated.exe \
+		 ustack/tst.annotated.o ustack/annotated_helper.o $(LDLIBS)
+	$(POST_PROCESS) ; $(STRIP_STABS)
 
-ustack/tst.annotated.exe: ustack/tst.annotated.o ustack/tst.annotated_helper.o
-	$(CC) -o ustack/tst.annotated.exe \
-		 ustack/tst.annotated.o ustack/tst.annotated_helper.o
-
-ustack/tst.annotated_helper.o: ustack/tst.annotated_helper.d
-	/usr/sbin/dtrace -G -o ustack/tst.annotated_helper.o \
-		-s ustack/tst.annotated_helper.d
+ustack/annotated_helper.o: ustack/annotated_helper.d
+	$(COMPILE.d) -o ustack/annotated_helper.o -s ustack/annotated_helper.d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/sparc/pid/tst.br.d	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,70 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+/*
+ * ASSERTION: Trace all instructions in the function 'test' to verify that
+ * the branches are emulated correctly.
+ */
+
+#pragma D option destructive
+#pragma D option quiet
+
+pid$1:a.out:waiting:entry
+{
+	this->a = (char *)alloca(1);
+	*this->a = 1;
+	copyout(this->a, arg0, 1);
+}
+
+pid$1:a.out:test:
+{
+	printf("%s:%s\n", probefunc, probename);
+}
+
+syscall::rexit:entry
+/pid == $1/
+{
+	exit(0);
+}
+
+
+BEGIN
+{
+	/*
+	 * Let's just do this for 5 seconds.
+	 */
+	timeout = timestamp + 5000000000;
+}
+
+profile:::tick-4
+/timestamp > timeout/
+{
+	trace("test timed out");
+	exit(1);
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/sparc/pid/tst.br.d.out	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,23 @@
+test:entry
+test:0
+test:4
+test:8
+test:c
+test:10
+test:14
+test:18
+test:1c
+test:20
+test:24
+test:28
+test:2c
+test:30
+test:34
+test:38
+test:3c
+test:40
+test:44
+test:48
+test:4c
+test:return
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/sparc/pid/tst.br.s	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,81 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+#include <sys/asm_linkage.h>
+
+	DGDEF(__fsr_init_value)
+	.word 0
+
+	ENTRY(waiting)
+	retl
+	ldub	[%o0], %o0
+	SET_SIZE(waiting)
+
+	ENTRY(test)
+	mov	1, %g1
+
+	brz	%g1, 1f
+	nop
+	brlez	%g1, 1f
+	nop
+	brlz	%g0, 1f
+	nop
+	brlz	%g1, 1f
+	nop
+	brnz	%g0, 1f
+	sub	%g0, 2, %g1
+	brgz	%g1, 1f
+	nop
+	brgz	%g0, 1f
+	nop
+	brgez	%g1, 1f
+	nop
+
+	mov	%g1, %o0
+
+1:
+	retl
+	nop
+	SET_SIZE(test)
+
+	ENTRY(main)
+	save	%sp, -SA(MINFRAME + 4), %sp
+	stb	%g0, [%fp - 4]
+1:
+	call	waiting
+	sub	%fp, 4, %o0
+	tst	%o0
+	bz	1b
+	nop
+
+	call	test
+	nop
+
+	ret
+	restore	%g0, %g0, %o0
+	SET_SIZE(main)
--- a/usr/src/cmd/dtrace/test/tst/sparc/pid/tst.branch.s	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/sparc/pid/tst.branch.s	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -28,6 +28,9 @@
 
 #include <sys/asm_linkage.h>
 
+	DGDEF(__fsr_init_value)
+	.word 0
+
 	ENTRY(waiting)
 	retl
 	ldub	[%o0], %o0
--- a/usr/src/cmd/dtrace/test/tst/sparc/pid/tst.embedded.s	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/sparc/pid/tst.embedded.s	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -28,6 +28,9 @@
 
 #include <sys/asm_linkage.h>
 
+	DGDEF(__fsr_init_value)
+	.word 0
+
 	ENTRY(waiting)
 	retl
 	ldub	[%o0], %o0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/sparc/ustack/annotated_helper.d	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,32 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#ident	"%Z%%M%	%I%	%E% SMI"
+
+dtrace:helper:ustack:
+{
+	"@it's annotated"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/sparc/ustack/helper_helper.d	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,32 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+dtrace:helper:ustack:
+{
+	"<it's working>"
+}
--- a/usr/src/cmd/dtrace/test/tst/sparc/ustack/tst.annotated_helper.d	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-
-/*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
- */
-
-#ident	"%Z%%M%	%I%	%E% SMI"
-
-dtrace:helper:ustack:
-{
-	"@it's annotated"
-}
--- a/usr/src/cmd/dtrace/test/tst/sparc/ustack/tst.circstack.s	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/sparc/ustack/tst.circstack.s	Sun Apr 01 23:38:22 2007 -0700
@@ -28,6 +28,9 @@
 
 #include <sys/asm_linkage.h>
 
+	DGDEF(__fsr_init_value)
+	.word 0
+
 	ENTRY(main)
 	save	%sp, -SA(MINFRAME), %sp
 	mov	%sp, %fp
--- a/usr/src/cmd/dtrace/test/tst/sparc/ustack/tst.helper.c	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/cmd/dtrace/test/tst/sparc/ustack/tst.helper.c	Sun Apr 01 23:38:22 2007 -0700
@@ -20,13 +20,15 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
 #pragma ident	"%Z%%M%	%I%	%E% SMI"
 
 #include <stdint.h>
+#include <stdlib.h>
+#include <strings.h>
 
 int
 baz(void)
@@ -48,10 +50,24 @@
 	    0x81c7e008,		/* ret			*/
 	    0x81e80000		/* restore		*/
 	};
+	uint32_t *fp = malloc(sizeof (instr));
 
-	instr[1] |= ((uintptr_t)baz - (uintptr_t)&instr[1]) >> 2;
+	/*
+	 * Do our little relocation dance.
+	 */
+	instr[1] |= ((uintptr_t)baz - (uintptr_t)&fp[1]) >> 2;
 
-	return ((*(int(*)(void))instr)() + 3);
+	/*
+	 * Copy the code to the heap (it's a pain to build in ON with an
+	 * executable stack).
+	 */
+	bcopy(instr, fp, sizeof (instr));
+
+	(*(int (*)(void))fp)();
+
+	free(fp);
+
+	return (0);
 }
 
 int
--- a/usr/src/cmd/dtrace/test/tst/sparc/ustack/tst.helper_helper.d	Sun Apr 01 22:45:05 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-
-/*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
-dtrace:helper:ustack:
-{
-	"<it's working>"
-}
--- a/usr/src/lib/libdtrace/common/dt_link.c	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/lib/libdtrace/common/dt_link.c	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -715,12 +715,13 @@
 }
 
 static int
-dt_symtab_lookup(Elf_Data *data_sym, uintptr_t addr, uint_t shn, GElf_Sym *sym)
+dt_symtab_lookup(Elf_Data *data_sym, int nsym, uintptr_t addr, uint_t shn,
+    GElf_Sym *sym)
 {
 	int i, ret = -1;
 	GElf_Sym s;
 
-	for (i = 0; gelf_getsym(data_sym, i, sym) != NULL; i++) {
+	for (i = 0; i < nsym && gelf_getsym(data_sym, i, sym) != NULL; i++) {
 		if (GELF_ST_TYPE(sym->st_info) == STT_FUNC &&
 		    shn == sym->st_shndx &&
 		    sym->st_value <= addr &&
@@ -1136,6 +1137,8 @@
 		 */
 		strtab = dt_strtab_create(1);
 		nsym = 0;
+		isym = data_sym->d_size / symsize;
+		istr = data_str->d_size;
 
 		for (i = 0; i < shdr_rel.sh_size / shdr_rel.sh_entsize; i++) {
 
@@ -1162,7 +1165,7 @@
 			if (strncmp(s, dt_prefix, sizeof (dt_prefix) - 1) != 0)
 				continue;
 
-			if (dt_symtab_lookup(data_sym, rela.r_offset,
+			if (dt_symtab_lookup(data_sym, isym, rela.r_offset,
 			    shdr_rel.sh_info, &fsym) != 0) {
 				dt_strtab_destroy(strtab);
 				goto err;
@@ -1244,9 +1247,6 @@
 			pair->dlp_next = bufs;
 			bufs = pair;
 
-			istr = data_str->d_size;
-			isym = data_sym->d_size / symsize;
-
 			bcopy(data_str->d_buf, pair->dlp_str, data_str->d_size);
 			data_str->d_buf = pair->dlp_str;
 			data_str->d_size += len;
@@ -1265,8 +1265,6 @@
 
 			nsym += isym;
 		} else {
-			istr = 0;
-			isym = 0;
 			dt_strtab_destroy(strtab);
 		}
 
@@ -1328,7 +1326,7 @@
 
 			p = strhyphenate(p + 3); /* strlen("___") */
 
-			if (dt_symtab_lookup(data_sym, rela.r_offset,
+			if (dt_symtab_lookup(data_sym, isym, rela.r_offset,
 			    shdr_rel.sh_info, &fsym) != 0)
 				goto err;
 
--- a/usr/src/lib/libdtrace/common/dt_options.c	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/lib/libdtrace/common/dt_options.c	Sun Apr 01 23:38:22 2007 -0700
@@ -2,9 +2,8 @@
  * CDDL HEADER START
  *
  * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License").  You may not use this file except in compliance
- * with the License.
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
  *
  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  * or http://www.opensolaris.org/os/licensing.
@@ -19,15 +18,17 @@
  *
  * CDDL HEADER END
  */
+
 /*
- * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
 #pragma ident	"%Z%%M%	%I%	%E% SMI"
 
+#include <sys/resource.h>
+#include <sys/mman.h>
 #include <sys/types.h>
-#include <sys/resource.h>
 
 #include <strings.h>
 #include <signal.h>
@@ -453,7 +454,6 @@
 }
 
 /*ARGSUSED*/
-
 static int
 dt_opt_cflags(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
 {
@@ -561,44 +561,53 @@
 }
 
 static int
+dt_optval_parse(const char *arg, dtrace_optval_t *rval)
+{
+	dtrace_optval_t mul = 1;
+	size_t len;
+	char *end;
+
+	len = strlen(arg);
+	errno = 0;
+
+	switch (arg[len - 1]) {
+	case 't':
+	case 'T':
+		mul *= 1024;
+		/*FALLTHRU*/
+	case 'g':
+	case 'G':
+		mul *= 1024;
+		/*FALLTHRU*/
+	case 'm':
+	case 'M':
+		mul *= 1024;
+		/*FALLTHRU*/
+	case 'k':
+	case 'K':
+		mul *= 1024;
+		/*FALLTHRU*/
+	default:
+		break;
+	}
+
+	errno = 0;
+	*rval = strtoull(arg, &end, 0) * mul;
+
+	if ((mul > 1 && end != &arg[len - 1]) || (mul == 1 && *end != '\0') ||
+	    *rval < 0 || errno != 0)
+		return (-1);
+
+	return (0);
+}
+
+static int
 dt_opt_size(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
 {
-	char *end;
-	int len;
-	dtrace_optval_t mul = 1, val = 0;
-
-	if (arg != NULL) {
-		len = strlen(arg);
-		errno = 0;
+	dtrace_optval_t val = 0;
 
-		switch (arg[len - 1]) {
-		case 't':
-		case 'T':
-			mul *= 1024;
-			/*FALLTHRU*/
-		case 'g':
-		case 'G':
-			mul *= 1024;
-			/*FALLTHRU*/
-		case 'm':
-		case 'M':
-			mul *= 1024;
-			/*FALLTHRU*/
-		case 'k':
-		case 'K':
-			mul *= 1024;
-			/*FALLTHRU*/
-		default:
-			break;
-		}
-
-		val = strtoull(arg, &end, 0) * mul;
-
-		if ((mul > 1 && end != &arg[len - 1]) ||
-		    (mul == 1 && *end != '\0') || val < 0 ||
-		    errno != 0 || val == DTRACEOPT_UNSET)
-			return (dt_set_errno(dtp, EDT_BADOPTVAL));
-	}
+	if (arg != NULL && dt_optval_parse(arg, &val) != 0)
+		return (dt_set_errno(dtp, EDT_BADOPTVAL));
 
 	dtp->dt_options[option] = val;
 	return (0);
@@ -828,6 +837,30 @@
 	return (0);
 }
 
+/*ARGSUSED*/
+static int
+dt_opt_preallocate(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
+{
+	dtrace_optval_t size;
+	void *p;
+
+	if (arg == NULL || dt_optval_parse(arg, &size) != 0)
+		return (dt_set_errno(dtp, EDT_BADOPTVAL));
+
+	if (size > SIZE_MAX)
+		size = SIZE_MAX;
+
+	if ((p = dt_zalloc(dtp, size)) == NULL) {
+		do {
+			size /= 2;
+		} while ((p = dt_zalloc(dtp, size)) == NULL);
+	}
+
+	dt_free(dtp, p);
+
+	return (0);
+}
+
 typedef struct dt_option {
 	const char *o_name;
 	int (*o_func)(dtrace_hdl_t *, const char *, uintptr_t);
@@ -866,6 +899,7 @@
 	{ "linktype", dt_opt_linktype },
 	{ "nolibs", dt_opt_cflags, DTRACE_C_NOLIBS },
 	{ "pgmax", dt_opt_pgmax },
+	{ "preallocate", dt_opt_preallocate },
 	{ "pspec", dt_opt_cflags, DTRACE_C_PSPEC },
 	{ "stdc", dt_opt_stdc },
 	{ "strip", dt_opt_dflags, DTRACE_D_STRIP },
--- a/usr/src/pkgdefs/Makefile	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/pkgdefs/Makefile	Sun Apr 01 23:38:22 2007 -0700
@@ -197,6 +197,7 @@
 	SUNWdpl  \
 	SUNWdtrc \
 	SUNWdtrp \
+	SUNWdtrt \
 	SUNWesu  \
 	SUNWfmd  \
 	SUNWfmdr  \
--- a/usr/src/pkgdefs/Makefile.targ	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/pkgdefs/Makefile.targ	Sun Apr 01 23:38:22 2007 -0700
@@ -2,9 +2,8 @@
 # CDDL HEADER START
 #
 # The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License").  You may not use this file except in compliance
-# with the License.
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
 #
 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 # or http://www.opensolaris.org/os/licensing.
@@ -19,19 +18,24 @@
 #
 # CDDL HEADER END
 #
+
 #
-# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 #
 
 pkginfo: pkginfo.tmpl $(PKGDEFS)/awk_pkginfo
 	$(RM) $@; nawk -f $(PKGDEFS)/awk_pkginfo $@.tmpl > $@
 
 pkg: $(PKGARCHIVE) FRC
-	pkgmk -f prototype_$(MACH) -d $(PKGARCHIVE) -r "$(ROOT) $(PARENT_ROOT)" \
-		-o $(PACKAGE)
+	pkgmk -f prototype_$(MACH) -d $(PKGARCHIVE) \
+	    -r "$(ROOT) $(PARENT_ROOT)" -o $(PACKAGE)
+
+optpkg: $(PKGARCHIVE) FRC
+	pkgmk -f prototype_$(MACH) -d $(PKGARCHIVE) \
+	    -r "$(ROOT) $(PARENT_ROOT)" -b opt -o $(PACKAGE)
 
 $(PKGARCHIVE):
 	[ -d $(PKGARCHIVE) ] || mkdir -p $(PKGARCHIVE)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/pkgdefs/SUNWdtrt/Makefile	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,37 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+
+include ../Makefile.com
+
+.KEEP_STATE:
+
+all: $(FILES) depend
+
+install: all optpkg
+
+include ../Makefile.targ
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/pkgdefs/SUNWdtrt/depend	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,29 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+#ident	"%Z%%M%	%I%	%E% SMI"
+
+P SUNWdtrc	Dynamic Tracing (DTrace) Clients 
+P SUNWdtrp	Dynamic Tracing (DTrace) Providers
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/pkgdefs/SUNWdtrt/pkginfo.tmpl	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,43 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+
+PKG="SUNWdtrt"
+NAME="DTrace Test Suite"
+ARCH="ISA"
+VERSION="ONVERS,REV=0.0.0"
+SUNW_PRODNAME="SunOS"
+SUNW_PRODVERS="RELEASE/VERSION"
+MAXINST="1000"
+CATEGORY="internal"
+DESC="DTrace Test Suite Internal Distribution"
+VENDOR="Sun Microsystems, Inc."
+HOTLINE="Contact the DTrace discussion forum"
+EMAIL="dtrace-discuss@opensolaris.org"
+CLASSES="none"
+BASEDIR=/opt
+SUNW_PKGVERS="1.0"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/pkgdefs/SUNWdtrt/prototype_com	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,1402 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+i pkginfo
+i copyright
+i depend
+#
+# SUNWdtrt
+#
+d none SUNWdtrt 755 root sys
+f none SUNWdtrt/README 444 root bin
+d none SUNWdtrt/bin 755 root bin
+f none SUNWdtrt/bin/baddof 555 root bin
+f none SUNWdtrt/bin/badioctl 555 root bin
+f none SUNWdtrt/bin/chkargs 555 root bin
+f none SUNWdtrt/bin/dstyle 555 root bin
+f none SUNWdtrt/bin/dtest 555 root bin
+d none SUNWdtrt/tst 0755 root bin
+d none SUNWdtrt/tst/common 0755 root bin
+d none SUNWdtrt/tst/common/aggs 0755 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_AGG_FUNC.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_AGG_MDIM.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_AGG_NULL.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_AGG_REDEF.redef.d 0444 nobody bin
+f none SUNWdtrt/tst/common/aggs/err.D_AGG_SCALAR.avgtoofew.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_AGG_SCALAR.maxnoarg.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_AGG_SCALAR.mintoofew.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_AGG_SCALAR.quantizetoofew.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_AGG_SCALAR.sumtoofew.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_CLEAR_AGGARG.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_CLEAR_PROTO.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_FUNC_IDENT.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_FUNC_UNDEF.badaggfunc.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_IDENT_UNDEF.badexpr.d 0444 nobody bin
+f none SUNWdtrt/tst/common/aggs/err.D_IDENT_UNDEF.badkey3.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_IDENT_UNDEF.noeffect.d 0444 nobody bin
+f none SUNWdtrt/tst/common/aggs/err.D_KEY_TYPE.badkey1.d 0444 nobody bin
+f none SUNWdtrt/tst/common/aggs/err.D_KEY_TYPE.badkey2.d 0444 nobody bin
+f none SUNWdtrt/tst/common/aggs/err.D_KEY_TYPE.badkey4.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_LQUANT_BASETYPE.lqbad1.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_LQUANT_BASETYPE.lqshort.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_LQUANT_BASEVAL.bad.d 0444 root bin 
+f none SUNWdtrt/tst/common/aggs/err.D_LQUANT_LIMTYPE.lqbad1.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_LQUANT_LIMVAL.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_LQUANT_MATCHBASE.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_LQUANT_MATCHBASE.order.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_LQUANT_MATCHLIM.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_LQUANT_MATCHLIM.order.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_LQUANT_MATCHSTEP.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_LQUANT_MISMATCH.lqbadarg.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_LQUANT_STEPLARGE.lqtoofew.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_LQUANT_STEPSMALL.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_LQUANT_STEPTYPE.lqbadinc.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_LQUANT_STEPVAL.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_NORMALIZE_AGGARG.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_NORMALIZE_PROTO.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_NORMALIZE_SCALAR.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_PROTO_ARG.lquantizetoofew.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.avgnoarg.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.avgtoomany.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.counttoomany.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.lquantizenoarg.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.lquantizetoomany.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.maxnoarg.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.maxtoomany.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.minnoarg.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.mintoomany.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.quantizenoarg.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.quantizetoomany.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.sumnoarg.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_PROTO_LEN.sumtoomany.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_TRUNC_AGGARG.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_TRUNC_PROTO.badmany.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_TRUNC_PROTO.badnone.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/err.D_TRUNC_SCALAR.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.allquant.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.allquant.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.avg.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.avg.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.clear.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.clear.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.clearavg.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.clearavg.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.clearavg2.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.clearavg2.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.cleardenormalize.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.cleardenormalize.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.clearlquantize.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.clearlquantize.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.clearnormalize.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.clearnormalize.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.count.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.count.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.count2.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.count2.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.count3.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.denormalize.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.denormalize.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.denormalizeonly.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.denormalizeonly.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.fmtnormalize.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.fmtnormalize.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.forms.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.forms.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.goodkey.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.keysort.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.keysort.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.lquantize.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.lquantize.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.lquantnormal.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.lquantnormal.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.lquantrange.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.lquantrange.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.lquantround.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.lquantround.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.lquantzero.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.lquantzero.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.max.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.max.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.min.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.min.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.multiaggs1.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.multiaggs2.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.multiaggs2.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.multiaggs3.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.multiaggs3.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.multinormalize.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.multinormalize.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.neglquant.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.neglquant.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.negorder.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.negorder.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.negquant.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.negquant.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.negtrunc.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.negtrunc.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.negtruncquant.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.negtruncquant.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.normalize.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.normalize.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.order.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.order.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.quantize.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.quantize.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.quantmany.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.quantmany.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.quantround.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.quantround.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.quantzero.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.quantzero.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.signature.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.signedkeys.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.signedkeys.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.signedkeyspos.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.signedkeyspos.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.subr.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.sum.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.sum.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.trunc.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.trunc.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.trunc0.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.trunc0.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.truncquant.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.truncquant.d.out 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.valsortkeypos.d 0444 root bin
+f none SUNWdtrt/tst/common/aggs/tst.valsortkeypos.d.out 0444 root bin
+d none SUNWdtrt/tst/common/arithmetic 0755 root bin
+f none SUNWdtrt/tst/common/arithmetic/err.D_DIV_ZERO.divby0.d 0444 root bin
+f none SUNWdtrt/tst/common/arithmetic/err.D_DIV_ZERO.divby0_1.d 0444 root bin
+f none SUNWdtrt/tst/common/arithmetic/err.D_DIV_ZERO.divby0_2.d 0444 root bin
+f none SUNWdtrt/tst/common/arithmetic/err.D_DIV_ZERO.modby0.d 0444 root bin
+f none SUNWdtrt/tst/common/arithmetic/err.D_SYNTAX.addmin.d 0444 root bin
+f none SUNWdtrt/tst/common/arithmetic/err.D_SYNTAX.divmin.d 0444 root bin
+f none SUNWdtrt/tst/common/arithmetic/err.D_SYNTAX.muladd.d 0444 root bin
+f none SUNWdtrt/tst/common/arithmetic/err.D_SYNTAX.muldiv.d 0444 root bin
+f none SUNWdtrt/tst/common/arithmetic/tst.basics.d 0444 root bin
+f none SUNWdtrt/tst/common/arithmetic/tst.complex.d 0444 root bin
+d none SUNWdtrt/tst/common/arrays 0755 root bin
+f none SUNWdtrt/tst/common/arrays/err.D_ARR_BADREF.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/arrays/err.D_DECL_ARRBIG.toobig.d 0444 root bin
+f none SUNWdtrt/tst/common/arrays/err.D_DECL_ARRNULL.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/arrays/err.D_DECL_ARRSUB.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/arrays/err.D_DECL_PROTO_TYPE.badtuple.d 0444 root bin
+f none SUNWdtrt/tst/common/arrays/err.D_IDENT_UNDEF.badureg.d 0444 root bin
+f none SUNWdtrt/tst/common/arrays/tst.basic1.d 0444 root bin
+f none SUNWdtrt/tst/common/arrays/tst.basic2.d 0444 root bin
+f none SUNWdtrt/tst/common/arrays/tst.basic3.d 0444 root bin
+f none SUNWdtrt/tst/common/arrays/tst.basic4.d 0444 root bin
+f none SUNWdtrt/tst/common/arrays/tst.basic5.d 0444 root bin
+f none SUNWdtrt/tst/common/arrays/tst.basic6.d 0444 root bin
+f none SUNWdtrt/tst/common/arrays/tst.uregsarray.d 0444 root bin
+d none SUNWdtrt/tst/common/assocs 0755 root bin
+f none SUNWdtrt/tst/common/assocs/err.D_OP_INCOMPAT.dupgtype.d 0444 root bin
+f none SUNWdtrt/tst/common/assocs/err.D_OP_INCOMPAT.dupttype.d 0444 root bin
+f none SUNWdtrt/tst/common/assocs/err.D_OP_INCOMPAT.this.d 0444 root bin
+f none SUNWdtrt/tst/common/assocs/err.D_PROTO_ARG.badsig.d 0444 root bin
+f none SUNWdtrt/tst/common/assocs/err.D_PROTO_LEN.toofew.d 0444 root bin
+f none SUNWdtrt/tst/common/assocs/err.D_PROTO_LEN.toomany.d 0444 root bin
+f none SUNWdtrt/tst/common/assocs/err.D_SYNTAX.errassign.d 0444 root bin
+f none SUNWdtrt/tst/common/assocs/err.tupoflow.d 0444 root bin
+f none SUNWdtrt/tst/common/assocs/tst.cpyarray.d 0444 root bin
+f none SUNWdtrt/tst/common/assocs/tst.diffprofile.d 0444 root bin
+f none SUNWdtrt/tst/common/assocs/tst.initialize.d 0444 root bin
+f none SUNWdtrt/tst/common/assocs/tst.misc.d 0444 root bin
+f none SUNWdtrt/tst/common/assocs/tst.orthogonality.d 0444 root bin
+f none SUNWdtrt/tst/common/assocs/tst.this.d 0444 root bin
+f none SUNWdtrt/tst/common/assocs/tst.valassign.d.out 0444 root bin
+d none SUNWdtrt/tst/common/begin 0755 root bin
+f none SUNWdtrt/tst/common/begin/err.D_PDESC_ZERO.begin.d 0444 root bin
+f none SUNWdtrt/tst/common/begin/err.D_PDESC_ZERO.tick.d 0444 root bin
+f none SUNWdtrt/tst/common/begin/tst.begin.d 0444 root bin
+f none SUNWdtrt/tst/common/begin/tst.begin.d.out 0444 root bin
+f none SUNWdtrt/tst/common/begin/tst.multibegin.d 0444 root bin
+f none SUNWdtrt/tst/common/begin/tst.multibegin.d.out 0444 root bin
+d none SUNWdtrt/tst/common/bitfields 0755 root bin
+f none SUNWdtrt/tst/common/bitfields/err.D_ADDROF_BITFIELD.BitfieldAddress.d 0444 root bin
+f none SUNWdtrt/tst/common/bitfields/err.D_DECL_BFCONST.NegBitField.d 0444 root bin
+f none SUNWdtrt/tst/common/bitfields/err.D_DECL_BFCONST.ZeroBitField.d 0444 root bin
+f none SUNWdtrt/tst/common/bitfields/err.D_DECL_BFSIZE.ExceedBaseType.d 0444 root bin
+f none SUNWdtrt/tst/common/bitfields/err.D_DECL_BFSIZE.GreaterThan64.d 0444 root bin
+f none SUNWdtrt/tst/common/bitfields/err.D_DECL_BFTYPE.badtype.d 0444 root bin
+f none SUNWdtrt/tst/common/bitfields/err.D_OFFSETOF_BITFIELD.d 0444 root bin
+f none SUNWdtrt/tst/common/bitfields/err.D_SIZEOF_BITFIELD.SizeofBitfield.d 0444 root bin
+f none SUNWdtrt/tst/common/bitfields/tst.BitFieldPromotion.d 0444 root bin
+f none SUNWdtrt/tst/common/bitfields/tst.SizeofBitField.d 0444 root bin
+d none SUNWdtrt/tst/common/buffering 0755 root bin
+f none SUNWdtrt/tst/common/buffering/err.end.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/err.resize1.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/err.resize2.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/err.resize3.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/err.zerobuf.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.alignring.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.cputime.ksh 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.dynvarsize.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.fill1.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.fill1.d.out 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.resize1.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.resize2.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.resize3.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.ring1.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.ring2.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.ring2.d.out 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.ring3.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.ring3.d.out 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.smallring.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.switch1.d 0444 root bin
+f none SUNWdtrt/tst/common/buffering/tst.switch1.d.out 0444 root bin
+d none SUNWdtrt/tst/common/builtinvar 0755 root bin
+f none SUNWdtrt/tst/common/builtinvar/err.D_XLATE_NOCONV.cpuusage.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/err.D_XLATE_NOCONV.nice.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/err.D_XLATE_NOCONV.priority.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/err.D_XLATE_NOCONV.prsize.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/err.D_XLATE_NOCONV.rssize.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.arg0.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.arg0clause.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.arg1.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.arg1to8.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.arg1to8clause.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.caller.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.caller1.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.epid.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.epid1.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.errno.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.errno1.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.execname.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.hpriority.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.id.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.id1.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.ipl.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.ipl1.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.lwpsinfo.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.lwpsinfo1.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.pid.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.pid1.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.psinfo.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.psinfo1.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.tid.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.tid1.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.timestamp.d 0444 root bin
+f none SUNWdtrt/tst/common/builtinvar/tst.vtimestamp.d 0444 root bin
+d none SUNWdtrt/tst/common/clauses 0755 root bin
+f none SUNWdtrt/tst/common/clauses/err.D_IDENT_UNDEF.aggfun.d 0444 root bin
+f none SUNWdtrt/tst/common/clauses/err.D_IDENT_UNDEF.aggtup.d 0444 root bin
+f none SUNWdtrt/tst/common/clauses/err.D_IDENT_UNDEF.arrtup.d 0444 root bin
+f none SUNWdtrt/tst/common/clauses/err.D_IDENT_UNDEF.body.d 0444 root bin
+f none SUNWdtrt/tst/common/clauses/err.D_IDENT_UNDEF.both.d 0444 root bin
+f none SUNWdtrt/tst/common/clauses/err.D_IDENT_UNDEF.pred.d 0444 root bin
+f none SUNWdtrt/tst/common/clauses/tst.nopred.d 0444 root bin
+f none SUNWdtrt/tst/common/clauses/tst.pred.d 0444 root bin
+f none SUNWdtrt/tst/common/clauses/tst.predfirst.d 0444 root bin
+f none SUNWdtrt/tst/common/clauses/tst.predlast.d 0444 root bin
+d none SUNWdtrt/tst/common/decls 0755 root bin
+f none SUNWdtrt/tst/common/decls/err.D_DECL_PROTO_NAME.VoidName.d 0444 root bin
+f none SUNWdtrt/tst/common/decls/err.D_DECL_PROTO_TYPE.Dyn.d 0444 root bin
+f none SUNWdtrt/tst/common/decls/err.D_DECL_PROTO_VOID.NonSoleVoid.d 0444 root bin
+f none SUNWdtrt/tst/common/decls/err.D_DECL_PROTO_VARARGS.VarLenArgs.d 0444 root bin
+f none SUNWdtrt/tst/common/decls/err.D_DECL_LOCASSC.NonLocalAssoc.d 0444 root bin
+f none SUNWdtrt/tst/common/decls/err.D_DECL_LONGINT.LongStruct.d 0444 root bin
+f none SUNWdtrt/tst/common/decls/err.D_DECL_PARMCLASS.BadStorageClass.d 0444 root bin
+f none SUNWdtrt/tst/common/decls/err.D_DECL_SIGNINT.UnsignedStruct.d 0444 root bin
+f none SUNWdtrt/tst/common/decls/err.D_DECL_VOIDATTR.ShortVoidDecl.d 0444 root bin
+f none SUNWdtrt/tst/common/decls/tst.arrays.d 0444 root bin
+f none SUNWdtrt/tst/common/decls/tst.basics.d 0444 root bin
+f none SUNWdtrt/tst/common/decls/tst.funcs.d 0444 root bin
+f none SUNWdtrt/tst/common/decls/tst.pointers.d 0444 root bin
+f none SUNWdtrt/tst/common/decls/tst.varargsfuncs.d 0444 root bin
+d none SUNWdtrt/tst/common/dtraceUtil 0755 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/err.D_PDESC_ZERO.InvalidDescription1.d 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.AddSearchPath.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.BufsizeGiga.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.BufsizeKilo.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.BufsizeMega.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.BufsizeTera.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.DataModel32.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.DataModel64.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.DefineNameWithCPP.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.DefineNameWithCPP.d.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithID.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithID.d.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithName.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithName.d.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithProvider.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithProvider.d.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.DestructWithoutW.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.ELFGenerationOut.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.ELFGenerationWithO.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.ExitStatus1.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.ExitStatus2.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.ExtraneousProbeIds.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidFuncName1.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidFuncName2.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidId1.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidId2.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidId3.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidModule1.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidModule2.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidModule3.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidModule4.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidProbeIdentifier.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidProvider1.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidProvider2.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidProvider3.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidProvider4.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc1.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc2.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc3.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc4.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc5.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc6.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc7.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc8.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceFunc9.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceID1.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceID2.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceID3.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceID4.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceID5.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceID6.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceID7.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule1.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule2.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule3.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule4.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule5.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule6.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule7.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceModule8.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName1.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName2.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName3.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName4.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName5.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName6.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName7.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName8.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceName9.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceProvider1.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceProvider2.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceProvider3.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceProvider4.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.InvalidTraceProvider5.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.MultipleInvalidProbeId.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.PreprocessorStatement.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.QuietMode.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.QuietMode.d.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.TestCompile.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.TestCompile.d.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.UnDefineNameWithCPP.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.ZeroNameProbes.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.ZeroNameProbes.d.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.ZeroProbeIdentfier.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.ZeroProbesWithoutZ.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.ZeroProviderProbes.d.ksh 0444 root bin
+f none SUNWdtrt/tst/common/dtraceUtil/tst.ZeroProviderProbes.d.ksh.out 0444 root bin
+d none SUNWdtrt/tst/common/drops 0755 root bin
+f none SUNWdtrt/tst/common/drops/drp.DTRACEDROP_AGGREGATION.d 0444 root bin
+f none SUNWdtrt/tst/common/drops/drp.DTRACEDROP_DBLERROR.d 0444 root bin
+f none SUNWdtrt/tst/common/drops/drp.DTRACEDROP_DYNAMIC.d 0444 root bin
+f none SUNWdtrt/tst/common/drops/drp.DTRACEDROP_PRINCIPAL.d 0444 root bin
+f none SUNWdtrt/tst/common/drops/drp.DTRACEDROP_PRINCIPAL.end.d 0444 root bin
+f none SUNWdtrt/tst/common/drops/drp.DTRACEDROP_SPEC.d 0444 root bin
+f none SUNWdtrt/tst/common/drops/drp.DTRACEDROP_SPECUNAVAIL.d 0444 root bin
+f none SUNWdtrt/tst/common/drops/drp.DTRACEDROP_STKSTROVERFLOW.d 0444 root bin
+d none SUNWdtrt/tst/common/end 0755 root bin
+f none SUNWdtrt/tst/common/end/err.D_IDENT_UNDEF.timespent.d 0444 root bin
+f none SUNWdtrt/tst/common/end/tst.end.d 0444 root bin
+f none SUNWdtrt/tst/common/end/tst.endwithoutbegin.d 0444 root bin
+f none SUNWdtrt/tst/common/end/tst.multibeginend.d 0444 root bin
+f none SUNWdtrt/tst/common/end/tst.multiend.d 0444 root bin
+d none SUNWdtrt/tst/common/enum 0755 root bin
+f none SUNWdtrt/tst/common/enum/err.D_DECL_IDRED.EnumSameName.d 0444 root bin
+f none SUNWdtrt/tst/common/enum/err.D_UNKNOWN.RepeatIdentifiers.d 0444 root bin
+f none SUNWdtrt/tst/common/enum/tst.EnumEquality.d 0444 root bin
+f none SUNWdtrt/tst/common/enum/tst.EnumSameValue.d 0444 root bin
+f none SUNWdtrt/tst/common/enum/tst.EnumValAssign.d 0444 root bin
+d none SUNWdtrt/tst/common/error 0755 root bin
+f none SUNWdtrt/tst/common/error/tst.DTRACEFLT_BADADDR.d 0444 root bin
+f none SUNWdtrt/tst/common/error/tst.DTRACEFLT_DIVZERO.d 0444 root bin
+f none SUNWdtrt/tst/common/error/tst.DTRACEFLT_UNKNOWN.d 0444 root bin
+f none SUNWdtrt/tst/common/error/tst.error.d 0444 root bin
+f none SUNWdtrt/tst/common/error/tst.errorend.d 0444 root bin
+d none SUNWdtrt/tst/common/exit 0755 root bin
+f none SUNWdtrt/tst/common/exit/err.D_PROTO_LEN.noarg.d 0444 root bin
+f none SUNWdtrt/tst/common/exit/err.exitarg1.d 0444 root bin
+f none SUNWdtrt/tst/common/exit/tst.basic1.d 0444 root bin
+d none SUNWdtrt/tst/common/fbtprovider 0755 root bin
+f none SUNWdtrt/tst/common/fbtprovider/err.D_PDESC_ZERO.notreturn.d 0444 root bin
+f none SUNWdtrt/tst/common/fbtprovider/tst.basic.d 0444 root bin
+f none SUNWdtrt/tst/common/fbtprovider/tst.functionentry.d 0444 root bin
+f none SUNWdtrt/tst/common/fbtprovider/tst.functionreturnvalue.d 0444 root bin
+f none SUNWdtrt/tst/common/fbtprovider/tst.ioctlargs.d 0444 root bin
+f none SUNWdtrt/tst/common/fbtprovider/tst.offset.d 0444 root bin
+f none SUNWdtrt/tst/common/fbtprovider/tst.offsetzero.d 0444 root bin
+f none SUNWdtrt/tst/common/fbtprovider/tst.return.d 0444 root bin
+f none SUNWdtrt/tst/common/fbtprovider/tst.return0.d 0444 root bin
+f none SUNWdtrt/tst/common/fbtprovider/tst.tailcall.d 0444 root bin
+d none SUNWdtrt/tst/common/funcs 0755 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_FUNC_UNDEF.progenyofbad1.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_OP_VFPTR.badop.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_ARG.chillbadarg.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_ARG.copyoutbadarg.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_ARG.mobadarg.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_ARG.raisebadarg.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.allocanoarg.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.badbreakpoint.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.chilltoofew.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.chilltoomany.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.copyoutstrbadarg.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.copyoutstrtoofew.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.copyouttoofew.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.copyouttoomany.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.motoofew.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.motoomany.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.mtabadarg.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.mtatoofew.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.mtatoomany.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.panicbadarg.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.progenyofbad2.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_PROTO_LEN.stopbadarg.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_STRINGOF_TYPE.badstringof.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.D_VAR_UNDEF.badvar.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.badalloca.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.badalloca2.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.badbcopy.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.badbcopy1.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.badbcopy2.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.badbcopy3.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.badbcopy4.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.badbcopy5.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.badbcopy6.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.badchill.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.chillbadarg.ksh 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.copyout.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.copyoutbadaddr.ksh 0444 root bin
+f none SUNWdtrt/tst/common/funcs/err.copyoutstrbadaddr.ksh 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.badfreopen.ksh 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.basename.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.basename.d.out 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.bcopy.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.chill.ksh 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.cleanpath.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.cleanpath.d.out 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.copyin.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.copyinto.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.ddi_pathname.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.default.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.freopen.ksh 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.ftruncate.ksh 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.ftruncate.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.hton.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.index.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.index.d.out 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.lltostr.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.lltostr.d.out 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.mutex_owned.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.mutex_owner.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.mutex_type_adaptive.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.progenyof.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.rand.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.strchr.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.strchr.d.out 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.strjoin.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.strjoin.d.out 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.strstr.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.strstr.d.out 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.strtok.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.strtok.d.out 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.strtok_null.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.substr.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.substr.d.out 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.system.d 0444 root bin
+f none SUNWdtrt/tst/common/funcs/tst.system.d.out 0444 root bin
+d none SUNWdtrt/tst/common/grammar 0755 root bin
+f none SUNWdtrt/tst/common/grammar/err.D_ADDROF_LVAL.d 0444 root bin
+f none SUNWdtrt/tst/common/grammar/err.D_EMPTY.empty.d 0444 root bin
+f none SUNWdtrt/tst/common/grammar/tst.clauses.d 0444 root bin
+f none SUNWdtrt/tst/common/grammar/tst.stmts.d 0444 root bin
+d none SUNWdtrt/tst/common/inline 0755 root bin
+f none SUNWdtrt/tst/common/inline/err.D_DECL_IDRED.redef1.d 0444 root bin
+f none SUNWdtrt/tst/common/inline/err.D_DECL_IDRED.redef2.d 0444 root bin
+f none SUNWdtrt/tst/common/inline/err.D_IDENT_UNDEF.recur.d 0444 root bin
+f none SUNWdtrt/tst/common/inline/err.D_OP_INCOMPAT.baddef1.d 0444 root bin
+f none SUNWdtrt/tst/common/inline/err.D_OP_INCOMPAT.baddef2.d 0444 root bin
+f none SUNWdtrt/tst/common/inline/err.D_OP_INCOMPAT.badxlate.d 0444 root bin
+f none SUNWdtrt/tst/common/inline/tst.InlineDataAssign.d 0444 root bin
+f none SUNWdtrt/tst/common/inline/tst.InlineExpression.d 0444 root bin
+f none SUNWdtrt/tst/common/inline/tst.InlineKinds.d 0444 root bin
+f none SUNWdtrt/tst/common/inline/tst.InlineKinds.d.out 0444 root bin
+f none SUNWdtrt/tst/common/inline/tst.InlineTypedef.d 0444 root bin
+f none SUNWdtrt/tst/common/inline/tst.InlineWritableAssign.d 0444 root bin
+d none SUNWdtrt/tst/common/io 0755 root bin
+f none SUNWdtrt/tst/common/io/tst.fds.d 0444 root bin
+f none SUNWdtrt/tst/common/io/tst.fds.exe 0555 root bin
+f none SUNWdtrt/tst/common/io/tst.fds.d.out 0444 root bin
+d none SUNWdtrt/tst/common/lexer 0755 root bin
+f none SUNWdtrt/tst/common/lexer/err.D_CHR_NL.char.d 0444 root bin
+f none SUNWdtrt/tst/common/lexer/err.D_CHR_NULL.char.d 0444 root bin
+f none SUNWdtrt/tst/common/lexer/err.D_INT_DIGIT.InvalidDigit.d 0444 root bin
+f none SUNWdtrt/tst/common/lexer/err.D_INT_OFLOW.BigInt.d 0444 root bin
+f none SUNWdtrt/tst/common/lexer/err.D_STR_NL.string.d 0444 root bin
+f none SUNWdtrt/tst/common/lexer/err.D_SYNTAX.brace1.d 0444 root bin
+f none SUNWdtrt/tst/common/lexer/err.D_SYNTAX.brace2.d 0444 root bin
+f none SUNWdtrt/tst/common/lexer/err.D_SYNTAX.brack1.d 0444 root bin
+f none SUNWdtrt/tst/common/lexer/err.D_SYNTAX.brack2.d 0444 root bin
+f none SUNWdtrt/tst/common/lexer/err.D_SYNTAX.brack3.d 0444 root bin
+f none SUNWdtrt/tst/common/lexer/err.D_SYNTAX.paren1.d 0444 root bin
+f none SUNWdtrt/tst/common/lexer/err.D_SYNTAX.paren2.d 0444 root bin
+f none SUNWdtrt/tst/common/lexer/err.D_SYNTAX.paren3.d 0444 root bin
+f none SUNWdtrt/tst/common/lexer/tst.D_MACRO_OFLOW.ParIntOvflow.d.ksh 0444 root bin
+d none SUNWdtrt/tst/common/mdb 0755 root bin
+f none SUNWdtrt/tst/common/mdb/tst.dtracedcmd.ksh 0444 root bin
+d none SUNWdtrt/tst/common/mib 0755 root bin
+f none SUNWdtrt/tst/common/mib/tst.icmp.ksh 0444 root bin
+f none SUNWdtrt/tst/common/mib/tst.tcp.ksh 0444 root bin
+f none SUNWdtrt/tst/common/mib/tst.udp.ksh 0444 root bin
+d none SUNWdtrt/tst/common/misc 0755 root bin
+f none SUNWdtrt/tst/common/misc/err.D_PRAGMA_OPTSET.d 0444 root bin
+f none SUNWdtrt/tst/common/misc/tst.badopt.d 0444 root bin
+f none SUNWdtrt/tst/common/misc/tst.boolopt.d 0444 root bin
+f none SUNWdtrt/tst/common/misc/tst.boolopt.d.out 0444 root bin
+f none SUNWdtrt/tst/common/misc/tst.dynopt.d 0444 root bin
+f none SUNWdtrt/tst/common/misc/tst.dynopt.d.out 0444 root bin
+f none SUNWdtrt/tst/common/misc/tst.enablerace.ksh 0444 root bin
+f none SUNWdtrt/tst/common/misc/tst.haslam.d 0444 root bin
+f none SUNWdtrt/tst/common/misc/tst.include.ksh 0444 root bin
+f none SUNWdtrt/tst/common/misc/tst.roch.d 0444 root bin
+f none SUNWdtrt/tst/common/misc/tst.schrock.ksh 0444 root bin
+d none SUNWdtrt/tst/common/multiaggs 0755 root bin
+f none SUNWdtrt/tst/common/multiaggs/err.D_PRINTA_AGGKEY.d 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/err.D_PRINTA_AGGPROTO.d 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.many.d 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.many.d.out 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.same.d 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.same.d.out 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.sort.d 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.sort.d.out 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.sortpos.d 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.sortpos.d.out 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.tuplecompat.d 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.tuplecompat.d.out 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.zero.d 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.zero.d.out 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.zero2.d 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.zero2.d.out 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.zero3.d 0444 root bin
+f none SUNWdtrt/tst/common/multiaggs/tst.zero3.d.out 0444 root bin
+d none SUNWdtrt/tst/common/offsetof 0755 root bin
+f none SUNWdtrt/tst/common/offsetof/err.D_OFFSETOF_BITFIELD.bitfield.d 0444 root bin
+f none SUNWdtrt/tst/common/offsetof/err.D_OFFSETOF_TYPE.badtype.d 0444 root bin
+f none SUNWdtrt/tst/common/offsetof/err.D_OFFSETOF_TYPE.notsou.d 0444 root bin
+f none SUNWdtrt/tst/common/offsetof/err.D_UNKNOWN.OffsetofNULL.d 0444 root bin
+f none SUNWdtrt/tst/common/offsetof/err.D_UNKNOWN.badmemb.d 0444 root bin
+f none SUNWdtrt/tst/common/offsetof/tst.OffsetofAlias.d 0444 root bin
+f none SUNWdtrt/tst/common/offsetof/tst.OffsetofArith.d 0444 root bin
+f none SUNWdtrt/tst/common/offsetof/tst.OffsetofUnion.d 0444 root bin
+f none SUNWdtrt/tst/common/offsetof/tst.struct.d 0444 root bin
+f none SUNWdtrt/tst/common/offsetof/tst.struct.d.out 0444 root bin
+f none SUNWdtrt/tst/common/offsetof/tst.union.d 0444 root bin
+f none SUNWdtrt/tst/common/offsetof/tst.union.d.out 0444 root bin
+d none SUNWdtrt/tst/common/operators 0755 root bin
+f none SUNWdtrt/tst/common/operators/tst.ternary.d 0444 root bin
+f none SUNWdtrt/tst/common/operators/tst.ternary.d.out 0444 root bin
+d none SUNWdtrt/tst/common/pid 0755 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PDESC_ZERO.badlib.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PDESC_ZERO.badlib.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PDESC_ZERO.badproc1.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PROC_BADPID.badproc2.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PROC_CREATEFAIL.many.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PROC_CREATEFAIL.many.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PROC_FUNC.badfunc.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PROC_FUNC.badfunc.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PROC_LIB.libdash.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PROC_LIB.libdash.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PROC_NAME.alldash.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PROC_NAME.alldash.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PROC_NAME.badname.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PROC_NAME.badname.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PROC_NAME.globdash.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PROC_NAME.globdash.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PROC_OFF.toobig.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/err.D_PROC_OFF.toobig.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/tst.args1.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/tst.args1.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/tst.coverage.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/tst.coverage.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/tst.emptystack.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/tst.emptystack.d.out 0444 root bin
+f none SUNWdtrt/tst/common/pid/tst.emptystack.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/tst.float.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/tst.float.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/tst.fork.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/tst.fork.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/tst.gcc.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/tst.gcc.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/tst.manypids.ksh 0444 root bin
+f none SUNWdtrt/tst/common/pid/tst.probemod.ksh 0444 root bin
+f none SUNWdtrt/tst/common/pid/tst.ret1.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/tst.ret1.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/tst.ret2.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/tst.ret2.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/tst.vfork.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/tst.vfork.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/tst.weak1.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/tst.weak1.exe 0555 root bin
+f none SUNWdtrt/tst/common/pid/tst.weak2.d 0444 root bin
+f none SUNWdtrt/tst/common/pid/tst.weak2.exe 0555 root bin
+d none SUNWdtrt/tst/common/plockstat 0755 root bin
+f none SUNWdtrt/tst/common/plockstat/tst.available.d 0444 root bin
+f none SUNWdtrt/tst/common/plockstat/tst.available.exe 0555 root bin
+f none SUNWdtrt/tst/common/plockstat/tst.libmap.d 0444 root bin
+f none SUNWdtrt/tst/common/plockstat/tst.libmap.exe 0555 root bin
+d none SUNWdtrt/tst/common/pointers 0755 root bin
+f none SUNWdtrt/tst/common/pointers/err.BadAlign.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.D_ADDROF_VAR.ArrayVar.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.D_ADDROF_VAR.DynamicVar.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.D_ADDROF_VAR.agg.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.D_DEREF_NONPTR.noptr.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.D_DEREF_VOID.VoidPointerDeref.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.D_OP_ARRFUN.ArrayAssignment.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.D_OP_INCOMPAT.VoidPointerArith.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.D_OP_LVAL.AddressChange.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.D_OP_PTR.NonPointerAccess.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.D_OP_PTR.badpointer.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.D_OP_SOU.BadPointerAccess.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.D_OP_SOU.badpointer.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.InvalidAddress1.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.InvalidAddress2.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.InvalidAddress3.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.InvalidAddress4.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/err.InvalidAddress5.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/tst.ArrayPointer1.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/tst.ArrayPointer2.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/tst.ArrayPointer3.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/tst.GlobalVar.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/tst.IntegerArithmetic1.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/tst.PointerArithmetic1.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/tst.PointerArithmetic2.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/tst.PointerArithmetic3.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/tst.PointerAssignment.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/tst.ValidPointer1.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/tst.ValidPointer2.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/tst.VoidCast.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/tst.basic1.d 0444 root bin
+f none SUNWdtrt/tst/common/pointers/tst.basic2.d 0444 root bin
+d none SUNWdtrt/tst/common/pragma 0755 root bin
+f none SUNWdtrt/tst/common/pragma/err.D_PRAGERR.d 0444 root bin
+f none SUNWdtrt/tst/common/pragma/err.D_PRAGMA_INVAL.d 0444 root bin
+f none SUNWdtrt/tst/common/pragma/err.D_PRAGMA_MALFORM.d 0444 root bin
+f none SUNWdtrt/tst/common/pragma/err.D_PRAGMA_UNUSED.UnusedPragma.d 0444 root bin
+d none SUNWdtrt/tst/common/predicates 0755 root bin
+f none SUNWdtrt/tst/common/predicates/err.D_PRED_SCALAR.NonScalarPred.d 0444 root bin
+f none SUNWdtrt/tst/common/predicates/err.D_SYNTAX.invalid.d 0444 root bin
+f none SUNWdtrt/tst/common/predicates/err.D_SYNTAX.operr.d 0444 root bin
+f none SUNWdtrt/tst/common/predicates/tst.argsnotcached.d 0444 root bin
+f none SUNWdtrt/tst/common/predicates/tst.basics.d 0444 root bin
+f none SUNWdtrt/tst/common/predicates/tst.basics.d.out 0444 root bin
+f none SUNWdtrt/tst/common/predicates/tst.complex.d 0444 root bin
+f none SUNWdtrt/tst/common/predicates/tst.complex.d.out 0444 root bin
+f none SUNWdtrt/tst/common/predicates/tst.predcache.ksh 0444 root bin
+d none SUNWdtrt/tst/common/preprocessor 0755 root bin
+f none SUNWdtrt/tst/common/preprocessor/err.D_IDENT_UNDEF.afterprobe.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/err.D_PRAGCTL_INVAL.tabdefine.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/err.D_SYNTAX.withoutpound.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/err.defincomp.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/err.ifdefelsenotendif.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/err.ifdefincomp.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/err.ifdefnotendif.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/err.incompelse.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/err.mulelse.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.ifdef.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.ifdef.d.out 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.ifndef.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.ifndef.d.out 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.ifnotdef.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.ifnotdef.d.out 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.logicaland.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.logicaland.d.out 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.logicalandor.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.logicalandor.d.out 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.logicalor.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.logicalor.d.out 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.muland.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.muland.d.out 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.mulor.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.mulor.d.out 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.precondi.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.precondi.d.out 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.predicatedeclare.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.preexp.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.preexp.d.out 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.preexpelse.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.preexpelse.d.out 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.preexpif.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.preexpif.d.out 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.preexpifelse.d 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.preexpifelse.d.out 0444 root bin
+f none SUNWdtrt/tst/common/preprocessor/tst.withinprobe.d 0444 root bin
+d none SUNWdtrt/tst/common/printa 0755 root bin
+f none SUNWdtrt/tst/common/printa/err.D_PRINTA_AGGARG.badagg.d 0444 root bin
+f none SUNWdtrt/tst/common/printa/err.D_PRINTA_AGGARG.badfmt.d 0444 root bin
+f none SUNWdtrt/tst/common/printa/err.D_PRINTA_AGGARG.badval.d 0444 root bin
+f none SUNWdtrt/tst/common/printa/err.D_PRINTA_PROTO.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/printa/err.D_PRINTF_ARG_TYPE.jstack.d 0444 root bin
+f none SUNWdtrt/tst/common/printa/err.D_PRINTF_ARG_TYPE.stack.d 0444 root bin
+f none SUNWdtrt/tst/common/printa/err.D_PRINTF_ARG_TYPE.ustack.d 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.basics.d 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.basics.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.def.d 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.def.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.dynwidth.d 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.dynwidth.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.fmt.d 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.fmt.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.many.d 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.manyval.d 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.manyval.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.stack.d 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.tuple.d 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.tuple.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.walltimestamp.ksh 0444 root bin
+f none SUNWdtrt/tst/common/printa/tst.walltimestamp.ksh.out 0444 root bin
+d none SUNWdtrt/tst/common/printf 0755 root bin
+f none SUNWdtrt/tst/common/printf/err.D_PRINTF_AGG_CONV.aggfmt.d 0444 nobody bin
+f none SUNWdtrt/tst/common/printf/err.D_PRINTF_ARG_EXTRA.toomany.d 0444 nobody bin
+f none SUNWdtrt/tst/common/printf/err.D_PRINTF_ARG_EXTRA.widths.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/err.D_PRINTF_ARG_FMT.badfmt.d 0444 nobody bin
+f none SUNWdtrt/tst/common/printf/err.D_PRINTF_ARG_PROTO.novalue.d 0444 nobody bin
+f none SUNWdtrt/tst/common/printf/err.D_PRINTF_ARG_TYPE.aggarg.d 0444 nobody bin
+f none SUNWdtrt/tst/common/printf/err.D_PRINTF_ARG_TYPE.recursive.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/err.D_PRINTF_DYN_PROTO.noprec.d 0444 nobody bin
+f none SUNWdtrt/tst/common/printf/err.D_PRINTF_DYN_PROTO.nowidth.d 0444 nobody bin
+f none SUNWdtrt/tst/common/printf/err.D_PRINTF_DYN_TYPE.badprec.d 0444 nobody bin
+f none SUNWdtrt/tst/common/printf/err.D_PRINTF_DYN_TYPE.badwidth.d 0444 nobody bin
+f none SUNWdtrt/tst/common/printf/err.D_PROTO_LEN.toofew.d 0444 nobody bin
+f none SUNWdtrt/tst/common/printf/err.D_SYNTAX.badconv1.d 0444 nobody bin
+f none SUNWdtrt/tst/common/printf/err.D_SYNTAX.badconv2.d 0444 nobody bin
+f none SUNWdtrt/tst/common/printf/err.D_SYNTAX.badconv3.d 0444 nobody bin
+f none SUNWdtrt/tst/common/printf/tst.basics.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.basics.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.flags.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.flags.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.hello.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.hello.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.ints.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.ints.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.precs.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.precs.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.print-f.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.print-f.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.printT.ksh 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.printT.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.printY.ksh 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.printY.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.printcont.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.printcont.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.printeE.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.printeE.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.printgG.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.printgG.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.rawfmt.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.rawfmt.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.str.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.str.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.sym.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.sym.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.uints.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.uints.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.widths.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.widths.d.out 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.widths1.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.wp.d 0444 root bin
+f none SUNWdtrt/tst/common/printf/tst.wp.d.out 0444 root bin
+d none SUNWdtrt/tst/common/privs 0755 root bin
+f none SUNWdtrt/tst/common/privs/tst.func_access.ksh 0444 root bin
+f none SUNWdtrt/tst/common/privs/tst.op_access.ksh 0444 root bin
+f none SUNWdtrt/tst/common/privs/tst.unpriv_funcs.ksh 0444 root bin
+d none SUNWdtrt/tst/common/probes 0755 root bin
+f none SUNWdtrt/tst/common/probes/err.D_PDESC_ZERO.probeqtn.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/err.D_PDESC_ZERO.probestar.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/err.D_PDESC_ZERO.tickstar.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/err.D_SYNTAX.assign.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/err.D_SYNTAX.declare.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/err.D_SYNTAX.declarein.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/err.D_SYNTAX.lbraces.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/err.D_SYNTAX.probespec.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/err.D_SYNTAX.rbraces.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/err.D_SYNTAX.recdec.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/tst.basic1.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/tst.check.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/tst.declare.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/tst.declareafter.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/tst.emptyprobe.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/tst.pragma.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/tst.pragmaaftertab.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/tst.pragmainside.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/tst.pragmaoutside.d 0444 root bin
+f none SUNWdtrt/tst/common/probes/tst.probestar.d 0444 root bin
+d none SUNWdtrt/tst/common/proc 0755 root bin
+f none SUNWdtrt/tst/common/proc/tst.create.ksh 0444 root bin
+f none SUNWdtrt/tst/common/proc/tst.discard.ksh 0444 root bin
+f none SUNWdtrt/tst/common/proc/tst.exec.ksh 0444 root bin
+f none SUNWdtrt/tst/common/proc/tst.execfail.ENOENT.ksh 0444 root bin
+f none SUNWdtrt/tst/common/proc/tst.execfail.ksh 0444 root bin
+f none SUNWdtrt/tst/common/proc/tst.exitcore.ksh 0444 root bin
+f none SUNWdtrt/tst/common/proc/tst.exitexit.ksh 0444 root bin
+f none SUNWdtrt/tst/common/proc/tst.exitkilled.ksh 0444 root bin
+f none SUNWdtrt/tst/common/proc/tst.signal.ksh 0444 root bin
+f none SUNWdtrt/tst/common/proc/tst.sigwait.d 0444 root bin
+f none SUNWdtrt/tst/common/proc/tst.sigwait.exe 0555 root bin
+f none SUNWdtrt/tst/common/proc/tst.startexit.ksh 0444 root bin
+d none SUNWdtrt/tst/common/profile-n 0755 root bin
+f none SUNWdtrt/tst/common/profile-n/err.D_PDESC_ZERO.profile.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/err.D_PDESC_ZEROonens.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/err.D_PDESC_ZEROonensec.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/err.D_PDESC_ZEROoneus.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/err.D_PDESC_ZEROoneusec.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.argtest.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.argtest.d.out 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.basic.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.basic.d.out 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.func.ksh 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.mod.ksh 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profilehz.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profilehz.d.out 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profilems.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profilems.d.out 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profilemsec.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profilemsec.d.out 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profilenhz.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profilenhz.d.out 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profilens.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profilens.d.out 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profilensec.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profilensec.d.out 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profiles.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profiles.d.out 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profilesec.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profilesec.d.out 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profileus.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profileus.d.out 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profileusec.d 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.profileusec.d.out 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.sym.ksh 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.ufunc.ksh 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.ufuncsort.ksh 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.ufuncsort.exe 0555 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.ufuncsort.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.umod.ksh 0444 root bin
+f none SUNWdtrt/tst/common/profile-n/tst.usym.ksh 0444 root bin
+d none SUNWdtrt/tst/common/providers 0755 root bin
+f none SUNWdtrt/tst/common/providers/err.D_PDESC_INVAL.wrongdec4.d 0444 nobody bin
+f none SUNWdtrt/tst/common/providers/err.D_PDESC_ZERO.nonprofile.d 0444 nobody bin
+f none SUNWdtrt/tst/common/providers/err.D_PDESC_ZERO.wrongdec1.d 0444 nobody bin
+f none SUNWdtrt/tst/common/providers/err.D_PDESC_ZERO.wrongdec2.d 0444 nobody bin
+f none SUNWdtrt/tst/common/providers/err.D_PDESC_ZERO.wrongdec3.d 0444 nobody bin
+f none SUNWdtrt/tst/common/providers/tst.basics.d 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.basics.d.out 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.beginexit.d 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.beginprof.d 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.beginprof.d.out 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.probattrs.d 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.probattrs.d.out 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.probefunc.d 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.probefunc.d.out 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.probemod.d 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.probemod.d.out 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.probename.d 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.probename.d.out 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.probprov.d 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.probprov.d.out 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.profend.d 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.profend.d.out 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.profexit.d 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.profexit.d.out 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.trace.d 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.trace.d.out 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.twoprof.d 0444 root bin
+f none SUNWdtrt/tst/common/providers/tst.twoprof.d.out 0444 root bin
+d none SUNWdtrt/tst/common/raise 0755 root bin
+f none SUNWdtrt/tst/common/raise/tst.raise1.d 0444 root bin
+f none SUNWdtrt/tst/common/raise/tst.raise1.exe 0555 root bin
+f none SUNWdtrt/tst/common/raise/tst.raise2.d 0444 root bin
+f none SUNWdtrt/tst/common/raise/tst.raise2.exe 0555 root bin
+f none SUNWdtrt/tst/common/raise/tst.raise3.d 0444 root bin
+f none SUNWdtrt/tst/common/raise/tst.raise3.exe 0555 root bin
+d none SUNWdtrt/tst/common/rates 0755 root bin
+f none SUNWdtrt/tst/common/rates/tst.aggrate.d 0444 root bin
+f none SUNWdtrt/tst/common/rates/tst.aggrate.d.out 0444 root bin
+f none SUNWdtrt/tst/common/rates/tst.statusrate.d 0444 root bin
+f none SUNWdtrt/tst/common/rates/tst.switchrate.d 0444 root bin
+f none SUNWdtrt/tst/common/rates/tst.switchrate.d.out 0444 root bin
+d none SUNWdtrt/tst/common/safety 0755 root bin
+f none SUNWdtrt/tst/common/safety/tst.basename.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.caller.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.cleanpath.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.copyin.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.copyin2.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.ddi_pathname.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.dirname.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.execname.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.hton.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.errno.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.gid.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.index.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.msgdsize.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.msgsize.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.null.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.pid.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.ppid.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.progenyof.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.random.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.rw.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.shortstr.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.stack.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.stackdepth.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.strchr.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.strjoin.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.strstr.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.strtok.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.substr.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.uid.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.unalign.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.uregs.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.ustack.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.ustackdepth.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.vahole.d 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.violentdeath.ksh 0444 root bin
+f none SUNWdtrt/tst/common/safety/tst.zonename.d 0444 root bin
+d none SUNWdtrt/tst/common/scalars 0755 root bin
+f none SUNWdtrt/tst/common/scalars/err.D_ARR_LOCAL.thisarray.d 0444 root bin
+f none SUNWdtrt/tst/common/scalars/err.D_DECL_CLASS.selfthis.d 0444 root bin
+f none SUNWdtrt/tst/common/scalars/err.D_DECL_CLASS.thisself.d 0444 root bin
+f none SUNWdtrt/tst/common/scalars/err.D_DECL_IDRED.errval.d 0444 root bin
+f none SUNWdtrt/tst/common/scalars/err.D_OP_INCOMPAT.dec.err.d 0444 root bin
+f none SUNWdtrt/tst/common/scalars/err.D_OP_INCOMPAT.dupgtype.d 0444 nobody bin
+f none SUNWdtrt/tst/common/scalars/err.D_OP_INCOMPAT.dupltype.d 0444 nobody bin
+f none SUNWdtrt/tst/common/scalars/err.D_OP_INCOMPAT.dupttype.d 0444 nobody bin
+f none SUNWdtrt/tst/common/scalars/err.D_SYNTAX.declare.d 0444 root bin
+f none SUNWdtrt/tst/common/scalars/tst.basicvar.d 0444 root bin
+f none SUNWdtrt/tst/common/scalars/tst.basicvar.d.out 0444 root bin
+f none SUNWdtrt/tst/common/scalars/tst.localvar.d 0444 root bin
+f none SUNWdtrt/tst/common/scalars/tst.misc.d 0444 root bin
+f none SUNWdtrt/tst/common/scalars/tst.self.d 0444 root bin
+f none SUNWdtrt/tst/common/scalars/tst.selfarray.d 0444 root bin
+f none SUNWdtrt/tst/common/scalars/tst.selfarray2.d 0444 root bin
+f none SUNWdtrt/tst/common/scalars/tst.selfthis.d 0444 root bin
+f none SUNWdtrt/tst/common/scalars/tst.this.d 0444 root bin
+f none SUNWdtrt/tst/common/scalars/tst.thisself.d 0444 root bin
+d none SUNWdtrt/tst/common/sched 0755 root bin
+f none SUNWdtrt/tst/common/sched/tst.enqueue.d 0444 root bin
+f none SUNWdtrt/tst/common/sched/tst.oncpu.d 0444 root bin
+f none SUNWdtrt/tst/common/sched/tst.stackdepth.d 0444 root bin
+d none SUNWdtrt/tst/common/scripting 0755 root bin
+f none SUNWdtrt/tst/common/scripting/err.D_MACRO_UNDEF.invalidargs.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/err.D_OP_LVAL.rdonly.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/err.D_OP_WRITE.usepidmacro.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/err.D_SYNTAX.concat.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/err.D_SYNTAX.desc.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/err.D_SYNTAX.inval.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/err.D_SYNTAX.pid.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.D_MACRO_UNUSED.overflow.ksh 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.arg0.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.arguments.ksh 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.assign.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.basic.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.egid.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.egid.ksh 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.euid.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.euid.ksh 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.gid.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.gid.ksh 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.pgid.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.pid.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.ppid.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.ppid.ksh 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.projid.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.projid.ksh 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.quite.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.sid.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.sid.ksh 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.stringmacro.ksh 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.taskid.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.taskid.ksh 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.trace.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.uid.d 0444 root bin
+f none SUNWdtrt/tst/common/scripting/tst.uid.ksh 0444 root bin
+d none SUNWdtrt/tst/common/sizeof 0755 root bin
+f none SUNWdtrt/tst/common/sizeof/err.D_IDENT_BADREF.SizeofAssoc.d 0444 root bin
+f none SUNWdtrt/tst/common/sizeof/err.D_IDENT_UNDEF.UnknownSymbol.d 0444 root bin
+f none SUNWdtrt/tst/common/sizeof/err.D_SIZEOF_TYPE.d 0444 root bin
+f none SUNWdtrt/tst/common/sizeof/err.D_SYNTAX.SizeofBadType.d 0444 root bin
+f none SUNWdtrt/tst/common/sizeof/tst.SizeofArray.d 0444 root bin
+f none SUNWdtrt/tst/common/sizeof/tst.SizeofDataTypes.d 0444 root bin
+f none SUNWdtrt/tst/common/sizeof/tst.SizeofExpression.d 0444 root bin
+f none SUNWdtrt/tst/common/sizeof/tst.SizeofNULL.d 0444 root bin
+f none SUNWdtrt/tst/common/sizeof/tst.SizeofStrConst.d 0444 root bin
+f none SUNWdtrt/tst/common/sizeof/tst.SizeofStrConst.d.out 0444 root bin
+f none SUNWdtrt/tst/common/sizeof/tst.SizeofString1.d 0444 root bin
+f none SUNWdtrt/tst/common/sizeof/tst.SizeofString1.d.out 0444 root bin
+f none SUNWdtrt/tst/common/sizeof/tst.SizeofString2.d 0444 root bin
+f none SUNWdtrt/tst/common/sizeof/tst.SizeofString2.d.out 0444 root bin
+d none SUNWdtrt/tst/common/speculation 0755 root bin
+f none SUNWdtrt/tst/common/speculation/err.BufSizeVariations1.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.BufSizeVariations2.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithBreakPoint.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithChill.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithCopyOut.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithCopyOutStr.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithPanic.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithRaise.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithStop.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_AGG_COMM.AggAftCommit.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithAvg.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithCount.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithLquant.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithMax.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithMin.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithQuant.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithSum.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_COMM_COMM.CommitAftCommit.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_COMM_COMM.DisjointCommit.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_COMM_DREC.CommitAftDataRec.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_DREC_COMM.DataRecAftCommit.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_DREC_COMM.ExitAfterCommit.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_EXIT_SPEC.ExitAftSpec.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_PRAGMA_MALFORM.NspecExpr.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_PRAGMA_OPTSET.HugeNspecValue.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_PRAGMA_OPTSET.InvalidSpecSize.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_PRAGMA_OPTSET.NegSpecSize.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_PROTO_LEN.SpecNoId.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_SPEC_COMM.SpecAftCommit.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_SPEC_DREC.SpecAftDataRec.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.D_SPEC_SPEC.SpecAftSpec.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.NegativeBufSize.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.NegativeNspec.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.NegativeSpecSize.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.SpecSizeVariations1.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/err.SpecSizeVariations2.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.CommitAfterDiscard.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.CommitWithZero.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.DataRecAftDiscard.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.DiscardAftCommit.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.DiscardAftDataRec.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.DiscardAftDiscard.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.DiscardWithZero.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.ExitAftDiscard.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.NoSpecBuffer.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.SpecSizeVariations1.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.SpecSizeVariations2.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.SpecSizeVariations3.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.SpeculateWithRandom.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.SpeculationCommit.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.SpeculationDiscard.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.SpeculationID.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.SpeculationWithZero.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.TwoSpecBuffers.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.negcommit.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.negspec.d 0444 root bin
+f none SUNWdtrt/tst/common/speculation/tst.zerosize.d 0444 root bin
+d none SUNWdtrt/tst/common/stability 0755 root bin
+f none SUNWdtrt/tst/common/stability/err.D_ATTR_MIN.MinAttributes.d 0444 root bin
+d none SUNWdtrt/tst/common/stack 0755 root bin
+f none SUNWdtrt/tst/common/stack/err.D_STACK_PROTO.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/stack/err.D_STACK_SIZE.d 0444 root bin
+f none SUNWdtrt/tst/common/stack/err.D_USTACK_FRAMES.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/stack/err.D_USTACK_PROTO.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/stack/err.D_USTACK_STRSIZE.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/stack/tst.default.d 0444 root bin
+d none SUNWdtrt/tst/common/stackdepth 0755 root bin
+f none SUNWdtrt/tst/common/stackdepth/tst.default.d 0444 root bin
+d none SUNWdtrt/tst/common/stop 0755 root bin
+f none SUNWdtrt/tst/common/stop/tst.stop1.d 0444 root bin
+f none SUNWdtrt/tst/common/stop/tst.stop1.exe 0555 root bin
+f none SUNWdtrt/tst/common/stop/tst.stop2.d 0444 root bin
+f none SUNWdtrt/tst/common/stop/tst.stop2.exe 0555 root bin
+d none SUNWdtrt/tst/common/strlen 0755 root bin
+f none SUNWdtrt/tst/common/strlen/tst.strlen1.d 0444 root bin
+d none SUNWdtrt/tst/common/struct 0755 root bin
+f none SUNWdtrt/tst/common/struct/err.D_ADDROF_VAR.StructPointer.d 0444 root bin
+f none SUNWdtrt/tst/common/struct/err.D_DECL_COMBO.StructWithoutColon.d 0444 root bin
+f none SUNWdtrt/tst/common/struct/err.D_DECL_COMBO.StructWithoutColon1.d 0444 root bin
+f none SUNWdtrt/tst/common/struct/err.D_DECL_INCOMPLETE.circular.d 0444 root bin
+f none SUNWdtrt/tst/common/struct/err.D_DECL_INCOMPLETE.order.d 0444 root bin
+f none SUNWdtrt/tst/common/struct/err.D_DECL_INCOMPLETE.order2.d 0444 root bin
+f none SUNWdtrt/tst/common/struct/err.D_DECL_INCOMPLETE.recursive.d 0444 root bin
+f none SUNWdtrt/tst/common/struct/err.D_DECL_INCOMPLETE.simple.d 0444 root bin
+f none SUNWdtrt/tst/common/struct/err.D_DECL_VOIDOBJ.baddec.d 0444 root bin
+f none SUNWdtrt/tst/common/struct/err.D_PROTO_ARG.DupStructAssoc.d 0444 root bin
+f none SUNWdtrt/tst/common/struct/tst.StructAssoc.d 0444 root bin
+f none SUNWdtrt/tst/common/struct/tst.StructDataTypes.d 0444 root bin
+f none SUNWdtrt/tst/common/struct/tst.StructInside.d 0444 root bin
+f none SUNWdtrt/tst/common/struct/tst.clauselocal.d 0444 root bin
+f none SUNWdtrt/tst/common/struct/tst.clauselocal.d.out 0444 root bin
+d none SUNWdtrt/tst/common/syscall 0755 root bin
+f none SUNWdtrt/tst/common/syscall/tst.openret.ksh 0444 root bin
+f none SUNWdtrt/tst/common/syscall/tst.args.d 0444 root bin
+f none SUNWdtrt/tst/common/syscall/tst.args.exe 0555 root bin
+d none SUNWdtrt/tst/common/sysevent 0755 root bin
+f none SUNWdtrt/tst/common/sysevent/tst.post.d 0444 root bin
+f none SUNWdtrt/tst/common/sysevent/tst.post.exe 0555 root bin
+f none SUNWdtrt/tst/common/sysevent/tst.post_chan.d 0444 root bin
+f none SUNWdtrt/tst/common/sysevent/tst.post_chan.exe 0555 root bin
+d none SUNWdtrt/tst/common/tick-n 0755 root bin
+f none SUNWdtrt/tst/common/tick-n/err.D_PDESC_ZERO.tick.d 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/err.D_PDESC_ZEROonens.d 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/err.D_PDESC_ZEROonensec.d 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/err.D_PDESC_ZEROoneus.d 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/err.D_PDESC_ZEROoneusec.d 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.tickarg0.d 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.tickms.d 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.tickms.d.out 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.tickmsec.d 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.tickmsec.d.out 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.tickns.d 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.tickns.d.out 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.ticknsec.d 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.ticknsec.d.out 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.ticks.d 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.ticks.d.out 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.ticksec.d 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.ticksec.d.out 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.tickus.d 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.tickus.d.out 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.tickusec.d 0444 root bin
+f none SUNWdtrt/tst/common/tick-n/tst.tickusec.d.out 0444 root bin
+d none SUNWdtrt/tst/common/trace 0755 root bin
+f none SUNWdtrt/tst/common/trace/err.D_PROTO_LEN.bad.d 0444 nobody bin
+f none SUNWdtrt/tst/common/trace/err.D_TRACE_VOID.bad.d 0444 nobody bin
+f none SUNWdtrt/tst/common/trace/tst.misc.d 0444 root bin
+f none SUNWdtrt/tst/common/trace/tst.qstring.d 0444 root bin
+f none SUNWdtrt/tst/common/trace/tst.qstring.d.out 0444 root bin
+f none SUNWdtrt/tst/common/trace/tst.string.d 0444 root bin
+d none SUNWdtrt/tst/common/tracemem 0755 root bin
+f none SUNWdtrt/tst/common/tracemem/err.D_PROTO_ARG.badsize.d 0444 nobody bin
+f none SUNWdtrt/tst/common/tracemem/err.D_PROTO_LEN.toofew.d 0444 nobody bin
+f none SUNWdtrt/tst/common/tracemem/err.D_PROTO_LEN.toomany.d 0444 nobody bin
+f none SUNWdtrt/tst/common/tracemem/err.D_TRACEMEM_ADDR.badaddr.d 0444 nobody bin
+f none SUNWdtrt/tst/common/tracemem/err.D_TRACEMEM_SIZE.negsize.d 0444 nobody bin
+f none SUNWdtrt/tst/common/tracemem/err.D_TRACEMEM_SIZE.zerosize.d 0444 nobody bin
+f none SUNWdtrt/tst/common/tracemem/tst.rootvp.d 0444 root bin
+d none SUNWdtrt/tst/common/translators 0755 root bin
+f none SUNWdtrt/tst/common/translators/err.D_DECL_TYPERED.BadTransDecl.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/err.D_OP_INCOMPLETE.NonExistentInput1.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/err.D_SYNTAX.BadTransDecl1.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/err.D_SYNTAX.BadTransDecl3.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/err.D_SYNTAX.BadTransDecl4.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/err.D_TYPE_MEMBER.NonExistentInput2.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/err.D_XLATE_INCOMPAT.BadInputType1.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/err.D_XLATE_MEMB.NonExistentOutput2.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/err.D_XLATE_NONE.BadTransDecl6.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/err.D_XLATE_REDECL.RepeatTransDecl.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/err.D_XLATE_SOU.BadTransDecl8.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/err.D_XLATE_SOU.BadTransInt.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/err.D_XLATE_SOU.NonExistentOutput1.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.CircularTransDecl.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.EmptyTransDecl.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.ForwardTag.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.InputAliasTrans.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.InputIntTrans.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.OutputAliasTrans.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.PartialDereferencing.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.PartialOutputTransDefn.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.ProcModelTrans.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.RepeatDeclaration.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.SimultaneousTranslators.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.StructureAssignment.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.TransNonPointer.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.TransOutputPointer.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.TransPointer.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.TranslateSelf.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.UnionInputTrans.d 0444 root bin
+f none SUNWdtrt/tst/common/translators/tst.UnionOutputTrans.d 0444 root bin
+d none SUNWdtrt/tst/common/typedef 0755 root bin
+f none SUNWdtrt/tst/common/typedef/err.D_DECL_IDRED.DupTypeDef.d 0444 root bin
+f none SUNWdtrt/tst/common/typedef/err.D_SYNTAX.BadExistingTypedef.d 0444 root bin
+f none SUNWdtrt/tst/common/typedef/err.D_SYNTAX.TypedefInClause.d 0444 root bin
+f none SUNWdtrt/tst/common/typedef/tst.ChainTypedef.d 0444 root bin
+f none SUNWdtrt/tst/common/typedef/tst.TypedefDataAssign.d 0444 root bin
+d none SUNWdtrt/tst/common/types 0755 root bin
+f none SUNWdtrt/tst/common/types/err.D_CAST_INVAL.badcast.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_CG_DYN.ResultDynType.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_CHR_OFLOW.charconst.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_DECL_BADCLASS.bad.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_DECL_CHARATTR.badtype3.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_DECL_COMBO.badtype4.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_DECL_COMBO.badtype5.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_DECL_ENCONST.badeval.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_DECL_ENOFLOW.enoflow.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_DECL_ENOFLOW.enuflow.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_DECL_SCOPE.scopeop.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_DECL_USELESS.baddec.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_OP_ACT.badcond.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_OP_ARITH.badoperand.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_OP_INCOMPAT.badassign.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_OP_INT.badbitop.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_OP_INT.badshift.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_OP_SCALAR.badcond.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_OP_SCALAR.badincop.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_OP_SCALAR.badlogop.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_PROTO_LEN.badcond1.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_SYNTAX.badenum.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_SYNTAX.badid.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_SYNTAX.badstruct.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_UNKNOWN.badtype1.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_UNKNOWN.badtype2.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_UNKNOWN.dupenum.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_UNKNOWN.dupstruct.d 0444 root bin
+f none SUNWdtrt/tst/common/types/err.D_XLATE_REDECL.ResultDynType.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.assignops.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.badshiftops.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.basics.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.basics.d.out 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.bitops.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.charconstants.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.complex.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.condexpr.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.constants.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.conv.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.enum.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.intincop.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.intops.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.inttypes.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.ptrincop.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.ptrops.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.relenum.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.relstring.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.shiftops.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.stringconstants.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.struct.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.typedef.d 0444 root bin
+f none SUNWdtrt/tst/common/types/tst.unaryop.d 0444 root bin
+d none SUNWdtrt/tst/common/union 0755 root bin
+f none SUNWdtrt/tst/common/union/err.D_ADDROF_VAR.UnionPointer.d 0444 root bin
+f none SUNWdtrt/tst/common/union/err.D_DECL_COMBO.UnionWithoutColon.d 0444 root bin
+f none SUNWdtrt/tst/common/union/err.D_DECL_COMBO.UnionWithoutColon1.d 0444 root bin
+f none SUNWdtrt/tst/common/union/err.D_DECL_INCOMPLETE.circular.d 0444 root bin
+f none SUNWdtrt/tst/common/union/err.D_DECL_INCOMPLETE.order.d 0444 root bin
+f none SUNWdtrt/tst/common/union/err.D_DECL_INCOMPLETE.recursive.d 0444 root bin
+f none SUNWdtrt/tst/common/union/err.D_DECL_INCOMPLETE.simple.d 0444 root bin
+f none SUNWdtrt/tst/common/union/err.D_PROTO_ARG.DupUnionAssoc.d 0444 root bin
+f none SUNWdtrt/tst/common/union/tst.UnionAssoc.d 0444 root bin
+f none SUNWdtrt/tst/common/union/tst.UnionDataTypes.d 0444 root bin
+f none SUNWdtrt/tst/common/union/tst.UnionInside.d 0444 root bin
+d none SUNWdtrt/tst/common/usdt 0755 root bin
+f none SUNWdtrt/tst/common/usdt/tst.andpid.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.argmap.d 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.argmap.exe 0555 root bin
+f none SUNWdtrt/tst/common/usdt/tst.args.d 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.args.exe 0555 root bin
+f none SUNWdtrt/tst/common/usdt/tst.badguess.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.enabled.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.enabled.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.entryreturn.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.entryreturn.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.dlclose1.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.dlclose1.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.dlclose2.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.dlclose2.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.fork.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.fork.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.guess32.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.guess64.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.header.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.include.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.linkpriv.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.linkunpriv.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.multiple.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.multiple.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.nodtrace.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.onlyenabled.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.reeval.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.static.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.static.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.static2.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.static2.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.user.ksh 0444 root bin
+f none SUNWdtrt/tst/common/usdt/tst.user.ksh.out 0444 root bin
+d none SUNWdtrt/tst/common/ustack 0755 root bin
+f none SUNWdtrt/tst/common/ustack/tst.depth.ksh 0444 root bin
+f none SUNWdtrt/tst/common/ustack/tst.bigstack.exe 0555 root bin
+f none SUNWdtrt/tst/common/ustack/tst.bigstack.d 0444 root bin
+f none SUNWdtrt/tst/common/ustack/tst.spin.exe 0555 root bin
+f none SUNWdtrt/tst/common/ustack/tst.spin.ksh 0444 root bin
+d none SUNWdtrt/tst/common/vars 0755 root bin
+f none SUNWdtrt/tst/common/vars/tst.gid.d 0444 root bin
+f none SUNWdtrt/tst/common/vars/tst.nullassign.d 0444 root bin
+f none SUNWdtrt/tst/common/vars/tst.ppid.d 0444 root bin
+f none SUNWdtrt/tst/common/vars/tst.ucaller.ksh 0444 root bin
+f none SUNWdtrt/tst/common/vars/tst.ucaller.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/vars/tst.uid.d 0444 root bin
+f none SUNWdtrt/tst/common/vars/tst.walltimestamp.d 0444 root bin
+d none SUNWdtrt/tst/common/version 0755 root bin
+f none SUNWdtrt/tst/common/version/tst.1.0.d 0444 root bin
+
+# Java DTrace API
+d none SUNWdtrt/lib 0755 root bin
+d none SUNWdtrt/lib/java 0755 root bin
+f none SUNWdtrt/lib/java/jdtrace.jar 0644 root bin
+f none SUNWdtrt/bin/jdtrace 0555 root bin
+f none SUNWdtrt/bin/exception.lst 0444 root bin
+d none SUNWdtrt/tst/common/java_api 0755 root bin
+f none SUNWdtrt/tst/common/java_api/test.jar 0644 root bin
+f none SUNWdtrt/tst/common/java_api/tst.ProbeDescription.ksh 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.ProbeDescription.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.Bean.ksh 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.Bean.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.StopLock.ksh 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.StopLock.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.FunctionLookup.ksh 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.FunctionLookup.exe 0555 root bin
+f none SUNWdtrt/tst/common/java_api/tst.FunctionLookup.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.Close.ksh 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.Close.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.Abort.ksh 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.Abort.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.MultiAggPrinta.ksh 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.MultiAggPrinta.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.printa.d 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.printa.d.out 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.ProbeData.ksh 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.ProbeData.exe 0555 root bin
+f none SUNWdtrt/tst/common/java_api/tst.ProbeData.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.StateMachine.ksh 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.StateMachine.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.Enable.ksh 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.Enable.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.MaxConsumers.ksh 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.MaxConsumers.ksh.out 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.Drop.ksh 0444 root bin
+f none SUNWdtrt/tst/common/java_api/tst.Drop.ksh.out 0444 root bin
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/pkgdefs/SUNWdtrt/prototype_i386	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,61 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+
+!include prototype_com
+
+d none SUNWdtrt/bin/amd64 0755 root bin
+f none SUNWdtrt/bin/amd64/chkargs 0555 root bin
+d none SUNWdtrt/bin/i86 0755 root bin
+f none SUNWdtrt/bin/i86/chkargs 0555 root bin
+d none SUNWdtrt/tst/i386 0755 root bin
+d none SUNWdtrt/tst/i386/arrays 0755 root bin
+f none SUNWdtrt/tst/i386/arrays/tst.uregsarray.d 0444 root bin
+d none SUNWdtrt/tst/i386/funcs 0755 root bin
+f none SUNWdtrt/tst/i386/funcs/tst.badcopyin.d 0444 root bin
+f none SUNWdtrt/tst/i386/funcs/tst.badcopyinstr.d 0444 root bin
+f none SUNWdtrt/tst/i386/funcs/tst.badcopyout.d 0444 root bin
+f none SUNWdtrt/tst/i386/funcs/tst.badcopyoutstr.d 0444 root bin
+d none SUNWdtrt/tst/i386/pid 0755 root bin
+f none SUNWdtrt/tst/i386/pid/tst.badinstr.d 0444 root bin
+f none SUNWdtrt/tst/i386/pid/tst.badinstr.exe 0555 root bin
+f none SUNWdtrt/tst/i386/pid/tst.branch.d 0444 root bin
+f none SUNWdtrt/tst/i386/pid/tst.branch.exe 0555 root bin
+f none SUNWdtrt/tst/i386/pid/tst.embedded.d 0444 root bin
+f none SUNWdtrt/tst/i386/pid/tst.embedded.exe 0555 root bin
+f none SUNWdtrt/tst/i386/pid/tst.ret.d 0444 root bin
+f none SUNWdtrt/tst/i386/pid/tst.ret.exe 0555 root bin
+f none SUNWdtrt/tst/i386/pid/tst.retlist.exe 0555 root bin
+f none SUNWdtrt/tst/i386/pid/tst.retlist.ksh 0444 root bin
+d none SUNWdtrt/tst/i386/ustack 0755 root bin
+f none SUNWdtrt/tst/i386/ustack/tst.annotated.d 0444 root bin
+f none SUNWdtrt/tst/i386/ustack/tst.annotated.d.out 0444 root bin
+f none SUNWdtrt/tst/i386/ustack/tst.annotated.exe 0555 root bin
+f none SUNWdtrt/tst/i386/ustack/tst.circstack.d 0444 root bin
+f none SUNWdtrt/tst/i386/ustack/tst.circstack.exe 0555 root bin
+f none SUNWdtrt/tst/i386/ustack/tst.helper.d 0444 root bin
+f none SUNWdtrt/tst/i386/ustack/tst.helper.d.out 0444 root bin
+f none SUNWdtrt/tst/i386/ustack/tst.helper.exe 0555 root bin
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/pkgdefs/SUNWdtrt/prototype_sparc	Sun Apr 01 23:38:22 2007 -0700
@@ -0,0 +1,56 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+
+!include prototype_com
+
+d none SUNWdtrt/bin/sparcv7 0755 root bin
+f none SUNWdtrt/bin/sparcv7/chkargs 0555 root bin
+d none SUNWdtrt/bin/sparcv9 0755 root bin
+f none SUNWdtrt/bin/sparcv9/chkargs 0555 root bin
+d none SUNWdtrt/tst/sparc 0755 root bin
+d none SUNWdtrt/tst/sparc/arrays 0755 root bin
+f none SUNWdtrt/tst/sparc/arrays/tst.uregsarray.d 0444 root bin
+d none SUNWdtrt/tst/sparc/pid 0755 root bin
+f none SUNWdtrt/tst/sparc/pid/err.D_PROC_ALIGN.misaligned.d 0444 root bin
+f none SUNWdtrt/tst/sparc/pid/err.D_PROC_ALIGN.misaligned.exe 0555 root bin
+f none SUNWdtrt/tst/sparc/pid/tst.br.d 0444 root bin
+f none SUNWdtrt/tst/sparc/pid/tst.br.d.out 0444 root bin
+f none SUNWdtrt/tst/sparc/pid/tst.br.exe 0555 root bin
+f none SUNWdtrt/tst/sparc/pid/tst.branch.d 0444 root bin
+f none SUNWdtrt/tst/sparc/pid/tst.branch.exe 0555 root bin
+f none SUNWdtrt/tst/sparc/pid/tst.embedded.d 0444 root bin
+f none SUNWdtrt/tst/sparc/pid/tst.embedded.exe 0555 root bin  
+d none SUNWdtrt/tst/sparc/ustack 0755 root bin
+f none SUNWdtrt/tst/sparc/ustack/tst.annotated.d 0444 root bin
+f none SUNWdtrt/tst/sparc/ustack/tst.annotated.d.out 0444 root bin
+f none SUNWdtrt/tst/sparc/ustack/tst.annotated.exe 0555 root bin
+f none SUNWdtrt/tst/sparc/ustack/tst.circstack.d 0444 root bin
+f none SUNWdtrt/tst/sparc/ustack/tst.circstack.exe 0555 root bin
+f none SUNWdtrt/tst/sparc/ustack/tst.helper.d 0444 root bin
+f none SUNWdtrt/tst/sparc/ustack/tst.helper.d.out 0444 root bin
+f none SUNWdtrt/tst/sparc/ustack/tst.helper.exe 0555 root bin
--- a/usr/src/uts/common/dtrace/fasttrap.c	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/uts/common/dtrace/fasttrap.c	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -43,21 +43,10 @@
 #include <sys/dtrace.h>
 #include <sys/dtrace_impl.h>
 #include <sys/sysmacros.h>
-#include <sys/frame.h>
-#include <sys/stack.h>
 #include <sys/proc.h>
 #include <sys/priv.h>
 #include <sys/policy.h>
-#include <sys/ontrap.h>
-#include <sys/vmsystm.h>
-#include <sys/prsystm.h>
-
-#include <vm/as.h>
-#include <vm/seg.h>
-#include <vm/seg_dev.h>
-#include <vm/seg_vn.h>
-#include <vm/seg_spt.h>
-#include <vm/seg_kmem.h>
+#include <util/qsort.h>
 
 /*
  * User-Land Trap-Based Tracing
@@ -738,10 +727,12 @@
 
 			if (tp->ftt_ids != NULL) {
 				tmp_probe = tp->ftt_ids->fti_probe;
+				/* LINTED - alignment */
 				tmp_index = FASTTRAP_ID_INDEX(tp->ftt_ids);
 				tmp_tp = &tmp_probe->ftp_tps[tmp_index].fit_tp;
 			} else {
 				tmp_probe = tp->ftt_retids->fti_probe;
+				/* LINTED - alignment */
 				tmp_index = FASTTRAP_ID_INDEX(tp->ftt_retids);
 				tmp_tp = &tmp_probe->ftp_tps[tmp_index].fit_tp;
 			}
@@ -753,7 +744,6 @@
 
 			probe->ftp_tps[index].fit_tp = *tmp_tp;
 			*tmp_tp = tp;
-
 		}
 
 		mutex_exit(&bucket->ftb_mtx);
@@ -989,14 +979,6 @@
 	proc_t *p;
 	int i, whack = 0;
 
-	if (!probe->ftp_enabled) {
-		mutex_enter(&provider->ftp_mtx);
-		provider->ftp_rcount--;
-		ASSERT(provider->ftp_rcount >= 0);
-		mutex_exit(&provider->ftp_mtx);
-		return;
-	}
-
 	ASSERT(id == probe->ftp_id);
 
 	/*
@@ -1013,10 +995,12 @@
 	mutex_enter(&provider->ftp_mtx);
 
 	/*
-	 * Disable all the associated tracepoints.
+	 * Disable all the associated tracepoints (for fully enabled probes).
 	 */
-	for (i = 0; i < probe->ftp_ntps; i++) {
-		fasttrap_tracepoint_disable(p, probe, i);
+	if (probe->ftp_enabled) {
+		for (i = 0; i < probe->ftp_ntps; i++) {
+			fasttrap_tracepoint_disable(p, probe, i);
+		}
 	}
 
 	ASSERT(provider->ftp_rcount > 0);
@@ -1047,6 +1031,9 @@
 	if (whack)
 		fasttrap_pid_cleanup();
 
+	if (!probe->ftp_enabled)
+		return;
+
 	probe->ftp_enabled = 0;
 
 	ASSERT(MUTEX_HELD(&cpu_lock));
@@ -1487,6 +1474,18 @@
 }
 
 static int
+fasttrap_uint32_cmp(const void *ap, const void *bp)
+{
+	return (*(const uint32_t *)ap - *(const uint32_t *)bp);
+}
+
+static int
+fasttrap_uint64_cmp(const void *ap, const void *bp)
+{
+	return (*(const uint64_t *)ap - *(const uint64_t *)bp);
+}
+
+static int
 fasttrap_add_probe(fasttrap_probe_spec_t *pdata)
 {
 	fasttrap_provider_t *provider;
@@ -1495,6 +1494,12 @@
 	char *name;
 	int i, aframes, whack;
 
+	/*
+	 * There needs to be at least one desired trace point.
+	 */
+	if (pdata->ftps_noffs == 0)
+		return (EINVAL);
+
 	switch (pdata->ftps_type) {
 	case DTFTP_ENTRY:
 		name = "entry";
@@ -1584,6 +1589,21 @@
 			goto no_mem;
 		}
 
+		/*
+		 * Make sure all tracepoint program counter values are unique.
+		 * We later assume that each probe has exactly one tracepoint
+		 * for a given pc.
+		 */
+		qsort(pdata->ftps_offs, pdata->ftps_noffs,
+		    sizeof (uint64_t), fasttrap_uint64_cmp);
+		for (i = 1; i < pdata->ftps_noffs; i++) {
+			if (pdata->ftps_offs[i] > pdata->ftps_offs[i - 1])
+				continue;
+
+			atomic_add_32(&fasttrap_total, -pdata->ftps_noffs);
+			goto no_mem;
+		}
+
 		ASSERT(pdata->ftps_noffs > 0);
 		pp = kmem_zalloc(offsetof(fasttrap_probe_t,
 		    ftp_tps[pdata->ftps_noffs]), KM_SLEEP);
@@ -1726,6 +1746,25 @@
 	ASSERT(provider->ftp_mcount > 0);
 
 	/*
+	 * The offsets must be unique.
+	 */
+	qsort(dhpb->dthpb_offs, dhpb->dthpb_noffs, sizeof (uint32_t),
+	    fasttrap_uint32_cmp);
+	for (i = 1; i < dhpb->dthpb_noffs; i++) {
+		if (dhpb->dthpb_base + dhpb->dthpb_offs[i] <=
+		    dhpb->dthpb_base + dhpb->dthpb_offs[i - 1])
+			return;
+	}
+
+	qsort(dhpb->dthpb_enoffs, dhpb->dthpb_nenoffs, sizeof (uint32_t),
+	    fasttrap_uint32_cmp);
+	for (i = 1; i < dhpb->dthpb_nenoffs; i++) {
+		if (dhpb->dthpb_base + dhpb->dthpb_enoffs[i] <=
+		    dhpb->dthpb_base + dhpb->dthpb_enoffs[i - 1])
+			return;
+	}
+
+	/*
 	 * Grab the creation lock to ensure consistency between calls to
 	 * dtrace_probe_lookup() and dtrace_probe_create() in the face of
 	 * other threads creating probes.
@@ -2070,7 +2109,7 @@
 	nent = ddi_getprop(DDI_DEV_T_ANY, devi, DDI_PROP_DONTPASS,
 	    "fasttrap-hash-size", FASTTRAP_TPOINTS_DEFAULT_SIZE);
 
-	if (nent <= 0 || nent > 0x1000000)
+	if (nent == 0 || nent > 0x1000000)
 		nent = FASTTRAP_TPOINTS_DEFAULT_SIZE;
 
 	if ((nent & (nent - 1)) == 0)
--- a/usr/src/uts/intel/dtrace/fasttrap_isa.c	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/uts/intel/dtrace/fasttrap_isa.c	Sun Apr 01 23:38:22 2007 -0700
@@ -358,6 +358,7 @@
 			tp->ftt_type = FASTTRAP_T_JCC;
 			tp->ftt_code = (instr[start + 1] & 0x0f) | FASTTRAP_JO;
 			tp->ftt_dest = pc + tp->ftt_size +
+			    /* LINTED - alignment */
 			    *(int32_t *)&instr[start + 2];
 			break;
 		}
@@ -428,12 +429,14 @@
 				i = 2;
 			}
 
-			if (sz == 1)
+			if (sz == 1) {
 				tp->ftt_dest = *(int8_t *)&instr[start + i];
-			else if (sz == 4)
+			} else if (sz == 4) {
+				/* LINTED - alignment */
 				tp->ftt_dest = *(int32_t *)&instr[start + i];
-			else
+			} else {
 				tp->ftt_dest = 0;
+			}
 		}
 	} else {
 		switch (instr[start]) {
@@ -443,6 +446,7 @@
 
 		case FASTTRAP_RET16:
 			tp->ftt_type = FASTTRAP_T_RET16;
+			/* LINTED - alignment */
 			tp->ftt_dest = *(uint16_t *)&instr[start + 1];
 			break;
 
@@ -486,6 +490,7 @@
 		case FASTTRAP_CALL:
 			tp->ftt_type = FASTTRAP_T_CALL;
 			tp->ftt_dest = pc + tp->ftt_size +
+			    /* LINTED - alignment */
 			    *(int32_t *)&instr[start + 1];
 			tp->ftt_code = 0;
 			break;
@@ -493,6 +498,7 @@
 		case FASTTRAP_JMP32:
 			tp->ftt_type = FASTTRAP_T_JMP;
 			tp->ftt_dest = pc + tp->ftt_size +
+			    /* LINTED - alignment */
 			    *(int32_t *)&instr[start + 1];
 			break;
 		case FASTTRAP_JMP8:
@@ -625,6 +631,7 @@
 	return (0);
 }
 
+#ifdef __amd64
 static uintptr_t
 fasttrap_fulword_noerr(const void *uaddr)
 {
@@ -635,6 +642,7 @@
 
 	return (0);
 }
+#endif
 
 static uint32_t
 fasttrap_fuword32_noerr(const void *uaddr)
@@ -1527,6 +1535,7 @@
 				break;
 			}
 
+			/* LINTED - alignment */
 			*(uint64_t *)&scratch[i] = *reg;
 			curthread->t_dtrace_regv = *reg;
 			*reg = pc + tp->ftt_size;
@@ -1545,8 +1554,10 @@
 		if (p->p_model == DATAMODEL_LP64) {
 			scratch[i++] = FASTTRAP_GROUP5_OP;
 			scratch[i++] = FASTTRAP_MODRM(0, 4, 5);
+			/* LINTED - alignment */
 			*(uint32_t *)&scratch[i] = 0;
 			i += sizeof (uint32_t);
+			/* LINTED - alignment */
 			*(uint64_t *)&scratch[i] = pc + tp->ftt_size;
 			i += sizeof (uint64_t);
 		} else {
@@ -1556,6 +1567,7 @@
 			 * the size of the traced instruction cancels out.
 			 */
 			scratch[i++] = FASTTRAP_JMP32;
+			/* LINTED - alignment */
 			*(uint32_t *)&scratch[i] = pc - addr - 5;
 			i += sizeof (uint32_t);
 #ifdef __amd64
--- a/usr/src/uts/intel/fasttrap/Makefile	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/uts/intel/fasttrap/Makefile	Sun Apr 01 23:38:22 2007 -0700
@@ -18,11 +18,13 @@
 #
 # CDDL HEADER END
 #
+
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
 
 UTSBASE	= ../..
 
@@ -40,17 +42,9 @@
 INSTALL_TARGET	= $(BINARY) $(ROOTMODULE) $(ROOTLINK) $(ROOT_CONFFILE)
 
 CFLAGS		+= $(CCVERBOSE)
+CPPFLAGS	+= -I$(SRC)/common
 LDFLAGS		+= -dy -Ndrv/dtrace
 
-#
-# For now, disable these lint checks; maintainers should endeavor
-# to investigate and remove these for maximum lint coverage.
-# Please do not carry these forward to new Makefiles.
-#
-LINTTAGS	+= -erroff=E_SUSPICIOUS_COMPARISON
-LINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
-LINTTAGS	+= -erroff=E_STATIC_UNUSED
-
 .KEEP_STATE:
 
 def:		$(DEF_DEPS)
--- a/usr/src/uts/sparc/dtrace/fasttrap_isa.c	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/uts/sparc/dtrace/fasttrap_isa.c	Sun Apr 01 23:38:22 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -776,7 +776,7 @@
 
 	case FASTTRAP_T_REG:
 	{
-		uint64_t value;
+		int64_t value;
 		uint_t taken;
 		uint_t reg = RS1(tp->ftt_instr);
 
@@ -789,7 +789,7 @@
 		 */
 		ASSERT(p->p_model == DATAMODEL_LP64 || reg < 16);
 
-		value = fasttrap_getreg(rp, reg);
+		value = (int64_t)fasttrap_getreg(rp, reg);
 
 		switch (tp->ftt_code) {
 		case 0x1:	/* BRZ */
@@ -803,7 +803,7 @@
 		case 0x6:	/* BRGZ */
 			taken = (value > 0);	break;
 		case 0x7:	/* BRGEZ */
-			taken = (value <= 0);	break;
+			taken = (value >= 0);	break;
 		default:
 		case 0x0:
 		case 0x4:
@@ -1380,6 +1380,7 @@
 	 * in the register window we're looking for; if we haven't, (and
 	 * we probably haven't) try to copy in the value of the register.
 	 */
+	/* LINTED - alignment */
 	mpcb = (struct machpcb *)((caddr_t)rp - REGOFF);
 
 	if (get_udatamodel() == DATAMODEL_NATIVE) {
@@ -1478,10 +1479,12 @@
 	 * code that all of the user's data have been flushed out of the
 	 * register file (since %otherwin is 0).
 	 */
+	/* LINTED - alignment */
 	mpcb = (struct machpcb *)((caddr_t)rp - REGOFF);
 
 	if (get_udatamodel() == DATAMODEL_NATIVE) {
 		struct frame *fr = (struct frame *)(rp->r_sp + STACK_BIAS);
+		/* LINTED - alignment */
 		struct rwindow *rwin = (struct rwindow *)mpcb->mpcb_wbuf;
 
 		if (mpcb->mpcb_wbcnt > 0) {
@@ -1511,6 +1514,7 @@
 	} else {
 		struct frame32 *fr =
 		    (struct frame32 *)(uintptr_t)(caddr32_t)rp->r_sp;
+		/* LINTED - alignment */
 		struct rwindow32 *rwin = (struct rwindow32 *)mpcb->mpcb_wbuf;
 		uint32_t v32 = (uint32_t)value;
 
--- a/usr/src/uts/sparc/fasttrap/Makefile	Sun Apr 01 22:45:05 2007 -0700
+++ b/usr/src/uts/sparc/fasttrap/Makefile	Sun Apr 01 23:38:22 2007 -0700
@@ -18,11 +18,13 @@
 #
 # CDDL HEADER END
 #
+
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
 
 UTSBASE	= ../..
 
@@ -40,16 +42,9 @@
 INSTALL_TARGET	= $(BINARY) $(ROOTMODULE) $(ROOTLINK) $(ROOT_CONFFILE)
 
 CFLAGS		+= $(CCVERBOSE)
+CPPFLAGS	+= -I$(SRC)/common
 LDFLAGS		+= -dy -Ndrv/dtrace
 
-#
-# For now, disable these lint checks; maintainers should endeavor
-# to investigate and remove these for maximum lint coverage.
-# Please do not carry these forward to new Makefiles.
-#
-LINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
-LINTTAGS	+= -erroff=E_SUSPICIOUS_COMPARISON
-
 .KEEP_STATE:
 
 def:		$(DEF_DEPS)