From f215e02bf85f68d3a6106c2a1f4f7f063f819064 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 11 Apr 2024 10:17:27 +0200 Subject: Adding upstream version 7.0.14-dfsg. Signed-off-by: Daniel Baumann --- .../cmd/dtrace/test/tst/common/misc/Makefile.kup | 0 .../test/tst/common/misc/err.D_PRAGMA_OPTSET.d | 34 ++++++ .../cmd/dtrace/test/tst/common/misc/tst.badopt.d | 41 +++++++ .../cmd/dtrace/test/tst/common/misc/tst.boolopt.d | 50 ++++++++ .../dtrace/test/tst/common/misc/tst.boolopt.d.out | 2 + .../cmd/dtrace/test/tst/common/misc/tst.dynopt.d | 61 ++++++++++ .../dtrace/test/tst/common/misc/tst.dynopt.d.out | 31 +++++ .../dtrace/test/tst/common/misc/tst.enablerace.ksh | 89 ++++++++++++++ .../cmd/dtrace/test/tst/common/misc/tst.haslam.d | 63 ++++++++++ .../dtrace/test/tst/common/misc/tst.include.ksh | 135 +++++++++++++++++++++ .../dtrace/test/tst/common/misc/tst.macroglob.ksh | 41 +++++++ .../test/tst/common/misc/tst.macroglob.ksh.out | 15 +++ .../cmd/dtrace/test/tst/common/misc/tst.roch.d | 93 ++++++++++++++ .../dtrace/test/tst/common/misc/tst.schrock.ksh | 79 ++++++++++++ 14 files changed, 734 insertions(+) create mode 100644 src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/Makefile.kup create mode 100644 src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/err.D_PRAGMA_OPTSET.d create mode 100644 src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.badopt.d create mode 100644 src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.boolopt.d create mode 100644 src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.boolopt.d.out create mode 100644 src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.dynopt.d create mode 100644 src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.dynopt.d.out create mode 100644 src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.enablerace.ksh create mode 100644 src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.haslam.d create mode 100644 src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.include.ksh create mode 100644 src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh create mode 100644 src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh.out create mode 100644 src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.roch.d create mode 100644 src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.schrock.ksh (limited to 'src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc') diff --git a/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/Makefile.kup b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/Makefile.kup new file mode 100644 index 00000000..e69de29b diff --git a/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/err.D_PRAGMA_OPTSET.d b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/err.D_PRAGMA_OPTSET.d new file mode 100644 index 00000000..5238e3f3 --- /dev/null +++ b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/err.D_PRAGMA_OPTSET.d @@ -0,0 +1,34 @@ +/* + * 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=please + +BEGIN +{ + exit(0); +} diff --git a/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.badopt.d b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.badopt.d new file mode 100644 index 00000000..868b756f --- /dev/null +++ b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.badopt.d @@ -0,0 +1,41 @@ +/* + * 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 + +BEGIN +{ + setopt("Nixon"); + setopt("Harding"); + setopt("Hoover"); + setopt("Bush"); + setopt("quiet", "hell no"); + setopt("aggrate", "0.5hz"); + setopt("bufsize", "1m"); + exit(0); +} diff --git a/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.boolopt.d b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.boolopt.d new file mode 100644 index 00000000..0755271f --- /dev/null +++ b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.boolopt.d @@ -0,0 +1,50 @@ +/* + * 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=yes +#pragma D option quiet=YES +#pragma D option quiet=true +#pragma D option quiet=enable +#pragma D option quiet=enabled +#pragma D option quiet=on +#pragma D option quiet=set +#pragma D option quiet=SeT + +#pragma D option flowindent=no +#pragma D option flowindent=NO +#pragma D option flowindent=false +#pragma D option flowindent=disable +#pragma D option flowindent=disabled +#pragma D option flowindent=off +#pragma D option flowindent=UnSeT + +BEGIN +{ + printf(".lived eht si paTmetsyS, lived eht si paTmetsyS\n"); + exit(0); +} diff --git a/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.boolopt.d.out b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.boolopt.d.out new file mode 100644 index 00000000..2554be5c --- /dev/null +++ b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.boolopt.d.out @@ -0,0 +1,2 @@ +.lived eht si paTmetsyS, lived eht si paTmetsyS + diff --git a/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.dynopt.d b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.dynopt.d new file mode 100644 index 00000000..cb98d733 --- /dev/null +++ b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.dynopt.d @@ -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 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 switchrate=1ms +#pragma D option aggrate=1ms + +tick-100ms +{ + i++; +} + +tick-100ms +/i > 1/ +{ + setopt("quiet", "no"); + setopt("quiet"); + setopt("quiet"); + setopt("quiet", "yes"); + @["abc"] = count(); + printa("%@d\n", @); +} + +tick-100ms +/i == 5/ +{ + setopt("switchrate", "5sec"); + setopt("aggrate", "5sec"); +} + +tick-100ms +/i == 31/ +{ + exit(0); +} diff --git a/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.dynopt.d.out b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.dynopt.d.out new file mode 100644 index 00000000..092a0426 --- /dev/null +++ b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.dynopt.d.out @@ -0,0 +1,31 @@ +1 +2 +3 +4 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 + diff --git a/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.enablerace.ksh b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.enablerace.ksh new file mode 100644 index 00000000..b4d56bb6 --- /dev/null +++ b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.enablerace.ksh @@ -0,0 +1,89 @@ +# +# 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" + +# +# This script attempts to tease out a race when probes are initially enabled. +# +script() +{ + # + # Nauseatingly, the #defines below must be in the 0th column to + # satisfy the ancient cpp that -C defaults to. + # + $dtrace -C -s /dev/stdin <x = 0; + } + + PROF512 + { + this->x++; + } + + PROF1 + /this->x != 512/ + { + printf("failed! x is %d (expected 512)", this->x); + exit(1); + } + + tick-1sec + /secs++/ + { + exit(0); + } +EOF +} + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 +let i=0 + +while [ "$i" -lt 20 ]; do + script + status=$? + + if [ "$status" -ne 0 ]; then + exit $status + fi + + let i=i+1 +done + +exit 0 diff --git a/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.haslam.d b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.haslam.d new file mode 100644 index 00000000..a0b437b4 --- /dev/null +++ b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.haslam.d @@ -0,0 +1,63 @@ +/* + * 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" + +/* + * ASSERTION: test for off-by-one error in the format lookup code + * + * SECTION: Aggregations/Aggregations; Misc + */ + +/* + * A script from Jon Haslam that induced an off-by-one error in the + * format lookup code. + */ +BEGIN +{ + start = timestamp; + allocd = 0; + numallocs = 0; + numfrees = 0; + numtids = 0; +} + +syscall:::entry +{ + @sys[tid] = sum(tid); +} + +END +{ + printf("%s, %s, %s, %d numtids", "hhh", "jjj", "ggg", numtids ); + printa(@sys); +} + +tick-1sec +/n++ == 5/ +{ + exit(0); +} diff --git a/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.include.ksh b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.include.ksh new file mode 100644 index 00000000..ec328021 --- /dev/null +++ b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.include.ksh @@ -0,0 +1,135 @@ +# +# 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 +CC=/usr/sfw/bin/gcc +CFLAGS= + +doit() +{ + file=$1 + ofile=$2 + errfile=$3 + cfile=${TMPDIR:-/tmp}/inc.$$.$file.c + cofile=${TMPDIR:-/tmp}/inc.$$.$file + cat > $cfile < +void +main() +{} +EOF + if $CC $CFLAGS -o $cofile $cfile >/dev/null 2>&1; then + $dtrace -xerrtags -C -s /dev/stdin \ + >/dev/null 2>$errfile < +BEGIN +{ + exit(0); +} +EOF + if [ $? -ne 0 ]; then + echo $inc failed: `cat $errfile | head -1` > $ofile + else + echo $inc succeeded > $ofile + fi + rm -f $errfile + fi + + rm -f $cofile $cfile 2>/dev/null +} + +if [ ! -x $CC ]; then + echo "$0: bad compiler: $CC" >& 2 + exit 1 +fi + +concurrency=`psrinfo | wc -l` +let concurrency=concurrency*4 +let i=0 + +files=/usr/include/sys/*.h + +# +# There are a few files in /usr/include/sys that are known to be bad -- usually +# because they include static globals (!) or function bodies (!!) in the header +# file. Hopefully these remain sufficiently few that the O(#files * #badfiles) +# algorithm, below, doesn't become a problem. (And yes, writing scripts in +# something other than ksh1888 would probably be a good idea.) If this script +# 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 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` + for bad in $badfiles; do + if [ "$file" = "$bad" ]; then + continue 2 + fi + done + + ofile=${TMPDIR:-/tmp}/inc.$file.$$.out + errfile=${TMPDIR:-/tmp}/inc.$file.$$.err + doit $file $ofile $errfile & + let i=i+1 + + if [ $i -eq $concurrency ]; then + # + # This isn't optimal -- it creates a highly fluctuating load + # as we wait for all work to complete -- but it's an easy + # way of parallelizing work. + # + wait + let i=0 + fi +done + +wait + +bigofile=${TMPDIR:-/tmp}/inc.$$.out + +for inc in $files; do + file=`basename $inc` + ofile=${TMPDIR:-/tmp}/inc.$file.$$.out + + if [ -f $ofile ]; then + cat $ofile >> $bigofile + rm $ofile + fi +done + +status=$(grep "failed:" $bigofile | wc -l) +cat $bigofile +rm -f $bigofile +exit $status diff --git a/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh new file mode 100644 index 00000000..a5114f49 --- /dev/null +++ b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh @@ -0,0 +1,41 @@ +# +# 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 2009 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 + +$dtrace -ln 'syscall::*$1:entry' read | awk '{print $(NF-1),$NF}' | sort +$dtrace -ln 'syscall::$1*:entry' read | awk '{print $(NF-1),$NF}' | sort +$dtrace -ln 'syscall::re$1*:entry' ad | awk '{print $(NF-1),$NF}' | sort +$dtrace -ln 'syscall::$1l*:entry' read | awk '{print $(NF-1),$NF}' | sort +$dtrace -ln 'syscall::p$1[0-9][0-9]:entry' read | awk '{print $(NF-1),$NF}' | \ + sort + +exit $status diff --git a/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh.out b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh.out new file mode 100644 index 00000000..8a9ac6d9 --- /dev/null +++ b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh.out @@ -0,0 +1,15 @@ +FUNCTION NAME +pread entry +read entry +FUNCTION NAME +read entry +readlink entry +readv entry +FUNCTION NAME +read entry +readlink entry +readv entry +FUNCTION NAME +readlink entry +FUNCTION NAME +pread64 entry diff --git a/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.roch.d b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.roch.d new file mode 100644 index 00000000..67f44622 --- /dev/null +++ b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.roch.d @@ -0,0 +1,93 @@ +/* + * 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" + +/* + * ASSERTION: test for assertion failure in the ring buffer code + * + * SECTION: Buffers and Buffering/ring Policy; Misc + */ + +#pragma ident "@(#)tst.roch.d 1.2 03/08/11 SMI" + +/* + * A script from Roch Bourbonnais that induced an assertion failure in the + * ring buffer code. + */ +#pragma D option strsize=16 +#pragma D option bufsize=10K +#pragma D option bufpolicy=ring + +fbt:::entry +/(self->done == 0) && (curthread->t_cpu->cpu_intr_actv == 0) / +{ + self->done = 1; + printf(" %u 0x%llX %d %d comm:%s csathr:%lld", timestamp, + (long long)curthread, pid, tid, + execname, (long long)stackdepth); + stack(20); +} + +fbt:::return +/(self->done == 0) && (curthread->t_cpu->cpu_intr_actv == 0) / +{ + self->done = 1; + printf(" %u 0x%llX %d %d comm:%s csathr:%lld", timestamp, + (long long) curthread, pid, tid, + execname, (long long) stackdepth); + stack(20); +} + +fbt:::entry +{ + printf(" %u 0x%llX %d %d ", timestamp, + (long long)curthread, pid, tid); +} + +fbt:::return +{ + printf(" %u 0x%llX %d %d tag:%d off:%d ", timestamp, + (long long)curthread, pid, tid, (int)arg1, (int)arg0); +} + +mutex_enter:adaptive-acquire +{ + printf(" %u 0x%llX %d %d lock:0x%llX", timestamp, + (long long)curthread, pid, tid, arg0); +} + +mutex_exit:adaptive-release +{ + printf(" %u 0x%llX %d %d lock:0x%llX", timestamp, + (long long) curthread, pid, tid, arg0); +} + +tick-1sec +/n++ == 10/ +{ + exit(0); +} diff --git a/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.schrock.ksh b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.schrock.ksh new file mode 100644 index 00000000..494f6f8e --- /dev/null +++ b/src/VBox/ExtPacks/VBoxDTrace/onnv/cmd/dtrace/test/tst/common/misc/tst.schrock.ksh @@ -0,0 +1,79 @@ +# +# 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" + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 + +# +# /usr/ccs/bin/nm execs a 64-bit version of itself. DTrace uses libproc +# (which uses /proc) to find out when the traced process exits, but a +# 32-bit process can't examine a 64-bit one with libproc. The +# LD_NOEXEC_64 variable prevents nm from re-execing itself. +# +LD_NOEXEC_64=tomeeisrad $dtrace -F -s /dev/stdin -c \ + '/usr/ccs/bin/nm /bin/ls' stat <start = vtimestamp; +} + +pid\$target:::entry +/self->start/ +{ + trace(vtimestamp - self->start); +} + +pid\$target:::return +/self->start/ +{ + trace(vtimestamp - self->start); +} + +pid\$target::\$1:return +/self->start/ +{ + self->start = 0; + exit(0); +} + +syscall::: +/self->start/ +{ + trace(vtimestamp - self->start); +} + +fbt::: +/self->start/ +{ + trace(vtimestamp - self->start); +} +EOF -- cgit v1.2.3