# HG changeset patch # User ahl # Date 1175495902 25200 # Node ID 75371f1722915afd2af86624ecf0c9c3a468a0d2 # Parent 302736821720f06a67b3df7cabec34f38b264d0e 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 diff -r 302736821720 -r 75371f172291 deleted_files/usr/src/cmd/dtrace/test/pkg/Makefile --- /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 diff -r 302736821720 -r 75371f172291 deleted_files/usr/src/cmd/dtrace/test/pkg/Makefile.pkg --- /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: diff -r 302736821720 -r 75371f172291 deleted_files/usr/src/cmd/dtrace/test/pkg/common/bld_awk_pkginfo.ksh --- /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 -m -o " + 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 diff -r 302736821720 -r 75371f172291 deleted_files/usr/src/cmd/dtrace/test/pkg/common/copyright --- /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. diff -r 302736821720 -r 75371f172291 deleted_files/usr/src/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.d --- /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); +} diff -r 302736821720 -r 75371f172291 deleted_files/usr/src/cmd/dtrace/test/tst/common/printf/tst.printT.d --- /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); +} diff -r 302736821720 -r 75371f172291 deleted_files/usr/src/cmd/dtrace/test/tst/common/printf/tst.printY.d --- /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); +} diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/Makefile --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/Makefile --- 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) $< $@ diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/README --- /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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/cmd/baddof/Makefile --- 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: diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/cmd/baddof/baddof.c --- 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 #include #include - -#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 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) diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/cmd/badioctl/Makefile --- 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)/%) diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/cmd/chkargs/32/Makefile --- 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) diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/cmd/chkargs/64/Makefile --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/cmd/chkargs/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) diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/cmd/jdtrace/Getopt.java --- /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 getopt(3C) 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: + *
    + *
  • NULL: No argument was found
  • + *
  • empty string (""): Argument was explicitly left empty + * by the user (e.g., --option= )
  • + *
  • valid string: Argument found on the command line
  • + *
+ * @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. + *

+ * 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); + } +} diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/cmd/jdtrace/JDTrace.java --- /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 records = data.getRecords(); + Iterator 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 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 + getAggValCmp(final int keypos) + { + Comparator CMP = new Comparator () { + 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 + getAggKeyCmp(final int keypos) + { + Comparator CMP = new Comparator () { + 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 list = + new ArrayList (); + List sortList = new ArrayList (); + 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 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 compileRequests = new LinkedList + (); + List programList = new LinkedList (); + 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 openFlags = + new ArrayList (); + + 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 argList = new LinkedList (); + 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 > lists = + new LinkedList > (); + for (Program p : programList) { + lists.add(dtrace.listProgramProbeDetail(p)); + } + ProbeDescription p; + ProbeInfo pinfo; + for (List list : lists) { + for (Probe probe : list) { + p = probe.getDescription(); + pinfo = probe.getInfo(); + printProbeDescription(p); + printProbeInfo(pinfo); + } + } + } else { + List > lists = + new LinkedList > (); + for (Program p : programList) { + lists.add(dtrace.listProgramProbes(p)); + } + for (List 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); + } + } +} diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/cmd/jdtrace/Makefile --- 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) diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/cmd/jdtrace/jdtrace.c --- /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 +#include +#include +#include + +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); +} diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/cmd/jdtrace/src/Getopt.java --- 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 getopt(3C) 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: - *

    - *
  • NULL: No argument was found
  • - *
  • empty string (""): Argument was explicitly left empty - * by the user (e.g., --option= )
  • - *
  • valid string: Argument found on the command line
  • - *
- * @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. - *

- * 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); - } -} diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/cmd/jdtrace/src/JDTrace.java --- 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 records = data.getRecords(); - Iterator 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 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 - getAggValCmp(final int keypos) - { - Comparator CMP = new Comparator () { - 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 - getAggKeyCmp(final int keypos) - { - Comparator CMP = new Comparator () { - 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 list = - new ArrayList (); - List sortList = new ArrayList (); - 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 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 compileRequests = new LinkedList - (); - List programList = new LinkedList (); - 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 openFlags = - new ArrayList (); - - 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 argList = new LinkedList (); - 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 > lists = - new LinkedList > (); - for (Program p : programList) { - lists.add(dtrace.listProgramProbeDetail(p)); - } - ProbeDescription p; - ProbeInfo pinfo; - for (List list : lists) { - for (Probe probe : list) { - p = probe.getDescription(); - pinfo = probe.getInfo(); - printProbeDescription(p); - printProbeInfo(pinfo); - } - } - } else { - List > lists = - new LinkedList > (); - for (Program p : programList) { - lists.add(dtrace.listProgramProbes(p)); - } - for (List 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); - } - } -} diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/cmd/jdtrace/src/jdtrace.c --- 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 -#include -#include -#include - -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); -} diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/pkg/Makefile --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/pkg/Makefile.pkg --- 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: diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/pkg/SUNWdtrt/Makefile --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/pkg/SUNWdtrt/pkginfo.tmpl --- 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" diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/pkg/SUNWdtrt/prototype_com --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/pkg/SUNWdtrt/prototype_i386 --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/pkg/SUNWdtrt/prototype_sparc --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/pkg/common/README --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/pkg/common/bld_awk_pkginfo.ksh --- 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 -m -o " - 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/pkg/common/copyright --- 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. diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/pkg/common/depend --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/Makefile.com --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/Makefile --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d --- 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); diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d.out --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/buffering/tst.resize1.d --- 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 { diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/buffering/tst.resize2.d --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeGiga.d.ksh --- 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 <' 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 $? diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeKilo.d.ksh --- 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 <' @@ -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 $? diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeMega.d.ksh --- 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 <' @@ -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 $? diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeTera.d.ksh --- 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 <' @@ -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 $? diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/java_api/tst.FunctionLookup.c --- 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); } diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/java_api/tst.ProbeData.c --- 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); } diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/misc/tst.include.ksh --- 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` diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/pid/tst.fork.d --- 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); diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/pid/tst.vfork.d --- 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); } diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/predicates/tst.predcache.ksh --- 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() diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.d --- 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); -} diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.d.out --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.ksh --- /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 <' + exit 2 +fi + +dtrace=$1 + +# The output files assumes the timezone is US/Pacific +TZ=US/Pacific + +$dtrace -s /dev/stdin <' + exit 2 +fi + +dtrace=$1 + +# The output files assumes the timezone is US/Pacific +TZ=US/Pacific + +$dtrace -s /dev/stdin < #include -void +int main(int argc, char **argv) { struct sigevent ev; @@ -69,4 +69,7 @@ for (;;) { (void) sigwait(&set); } + + /*NOTREACHED*/ + return (0); } diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/profile-n/tst.ufuncsort.c --- 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); } diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/common/ustack/tst.bigstack.c --- 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); } diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/i386/Makefile --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/i386/pid/tst.badinstr.s --- 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 + DGDEF(__fsr_init_value) + .long 0 + ENTRY(badfunc) .byte 0xff .byte 0xff diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/i386/pid/tst.branch.s --- 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 + DGDEF(__fsr_init_value) + .long 0 + ENTRY(waiting) pushl %ebp movl %esp, %ebp diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/i386/pid/tst.embedded.s --- 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 + DGDEF(__fsr_init_value) + .long 0 + ENTRY(waiting) pushl %ebp movl %esp, %ebp diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/i386/pid/tst.ret.s --- 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 + DGDEF(__fsr_init_value) + .long 0 + ENTRY(ret1) ret SET_SIZE(ret1) diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/i386/pid/tst.retlist.s --- 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 + DGDEF(__fsr_init_value) + .long 0 + ENTRY(simple) repz ret diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/i386/ustack/annotated_helper.d --- /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" +} diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/i386/ustack/helper_helper.d --- /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: +{ + "" +} diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/i386/ustack/tst.annotated_helper.d --- 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" -} diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/i386/ustack/tst.circstack.s --- 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 + DGDEF(__fsr_init_value) + .long 0 + ENTRY(main) pushl %ebp movl %esp, %ebp diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/i386/ustack/tst.helper.c --- 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 +#include +#include 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/i386/ustack/tst.helper_helper.d --- 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: -{ - "" -} diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/sparc/Makefile --- 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/sparc/pid/tst.br.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); +} + diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/sparc/pid/tst.br.d.out --- /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 + diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/sparc/pid/tst.br.s --- /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 + + 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) diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/sparc/pid/tst.branch.s --- 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 + DGDEF(__fsr_init_value) + .word 0 + ENTRY(waiting) retl ldub [%o0], %o0 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/sparc/pid/tst.embedded.s --- 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 + DGDEF(__fsr_init_value) + .word 0 + ENTRY(waiting) retl ldub [%o0], %o0 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/sparc/ustack/annotated_helper.d --- /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" +} diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/sparc/ustack/helper_helper.d --- /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: +{ + "" +} diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/sparc/ustack/tst.annotated_helper.d --- 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" -} diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/sparc/ustack/tst.circstack.s --- 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 + DGDEF(__fsr_init_value) + .word 0 + ENTRY(main) save %sp, -SA(MINFRAME), %sp mov %sp, %fp diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/sparc/ustack/tst.helper.c --- 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 +#include +#include 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 diff -r 302736821720 -r 75371f172291 usr/src/cmd/dtrace/test/tst/sparc/ustack/tst.helper_helper.d --- 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: -{ - "" -} diff -r 302736821720 -r 75371f172291 usr/src/lib/libdtrace/common/dt_link.c --- 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; diff -r 302736821720 -r 75371f172291 usr/src/lib/libdtrace/common/dt_options.c --- 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 +#include #include -#include #include #include @@ -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 }, diff -r 302736821720 -r 75371f172291 usr/src/pkgdefs/Makefile --- 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 \ diff -r 302736821720 -r 75371f172291 usr/src/pkgdefs/Makefile.targ --- 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) diff -r 302736821720 -r 75371f172291 usr/src/pkgdefs/SUNWdtrt/Makefile --- /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 diff -r 302736821720 -r 75371f172291 usr/src/pkgdefs/SUNWdtrt/depend --- /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 diff -r 302736821720 -r 75371f172291 usr/src/pkgdefs/SUNWdtrt/pkginfo.tmpl --- /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" diff -r 302736821720 -r 75371f172291 usr/src/pkgdefs/SUNWdtrt/prototype_com --- /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 diff -r 302736821720 -r 75371f172291 usr/src/pkgdefs/SUNWdtrt/prototype_i386 --- /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 diff -r 302736821720 -r 75371f172291 usr/src/pkgdefs/SUNWdtrt/prototype_sparc --- /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 diff -r 302736821720 -r 75371f172291 usr/src/uts/common/dtrace/fasttrap.c --- 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 #include #include -#include -#include #include #include #include -#include -#include -#include - -#include -#include -#include -#include -#include -#include +#include /* * 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) diff -r 302736821720 -r 75371f172291 usr/src/uts/intel/dtrace/fasttrap_isa.c --- 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 diff -r 302736821720 -r 75371f172291 usr/src/uts/intel/fasttrap/Makefile --- 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) diff -r 302736821720 -r 75371f172291 usr/src/uts/sparc/dtrace/fasttrap_isa.c --- 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; diff -r 302736821720 -r 75371f172291 usr/src/uts/sparc/fasttrap/Makefile --- 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)