Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Mar 2008 02:02:39 GMT
From:      John Birrell <jb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 138779 for review
Message-ID:  <200803280202.m2S22d3M007693@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=138779

Change 138779 by jb@jb_freebsd1 on 2008/03/28 02:02:01

	Apply the FreeBSD changes to the files in their new location.

Affected files ...

.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dstyle.pl#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_OP_INCOMPAT.dupgtype.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_OP_INCOMPAT.dupttype.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.psinfo.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.psinfo1.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.hton.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntoa.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntoa6.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntop.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.mutex_owned.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.mutex_owner.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.mutex_type_adaptive.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.create.ksh#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exec.ksh#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ENOENT.ksh#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ksh#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitcore.ksh#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitexit.ksh#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.sigwait.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.sigwait.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise1.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise3.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise3.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.rw.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/trace/tst.misc.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/tracemem/tst.rootvp.d#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/mdb/tools/common/die.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/mdb/tools/common/util.h#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/sgs/include/alist.h#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/sgs/include/sgs.h#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/sgs/tools/common/findprime.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libctf/common/ctf_lib.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libctf/common/ctf_subr.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cc.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cg.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_error.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_errtags.h#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_handle.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_ident.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_map.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_options.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_parser.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pragma.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.h#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_program.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_work.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/mkerrtags.sh#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/mknames.sh#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libgen/common/gmatch.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/common/list.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/common/memory.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/alist.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/alist.h#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/barrier.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/barrier.h#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/ctf.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/ctfconvert.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/ctftools.h#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/fixup_tdescs.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/hash.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/iidesc.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/input.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/output.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/st_parse.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/stabs.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/strtab.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/strtab.h#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/tdata.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/traverse.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/traverse.h#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/cvt/util.c#2 edit
.. //depot/projects/dtrace/src/cddl/contrib/opensolaris/tools/ctf/dump/dump.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/d.out#1 add
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/outputFile#1 add
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/sleep.core#1 add

Differences ...

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c#2 (text) ====

@@ -34,15 +34,20 @@
 #include <stdlib.h>
 #include <stdarg.h>
 #include <stdio.h>
+#include <string.h>
 #include <strings.h>
 #include <unistd.h>
 #include <limits.h>
 #include <fcntl.h>
 #include <errno.h>
 #include <signal.h>
+#if defined(sun)
 #include <alloca.h>
+#endif
 #include <libgen.h>
+#if defined(sun)
 #include <libproc.h>
+#endif
 
 typedef struct dtrace_cmd {
 	void (*dc_func)(struct dtrace_cmd *);	/* function to compile arg */
@@ -92,8 +97,9 @@
 static int g_status = E_SUCCESS;
 static int g_grabanon = 0;
 static const char *g_ofile = NULL;
-static FILE *g_ofp = stdout;
+static FILE *g_ofp;
 static dtrace_hdl_t *g_dtp;
+#if defined(sun)
 static char *g_etcfile = "/etc/system";
 static const char *g_etcbegin = "* vvvv Added by DTrace";
 static const char *g_etcend = "* ^^^^ Added by DTrace";
@@ -108,6 +114,7 @@
 "* chapter of the Solaris Dynamic Tracing Guide for details.",
 "*",
 NULL };
+#endif
 
 static int
 usage(FILE *fp)
@@ -195,6 +202,10 @@
 static void
 dfatal(const char *fmt, ...)
 {
+#if !defined(sun) && defined(NEED_ERRLOC)
+	char *p_errfile = NULL;
+	int errline = 0;
+#endif
 	va_list ap;
 
 	va_start(ap, fmt);
@@ -212,6 +223,11 @@
 		(void) fprintf(stderr, "%s\n",
 		    dtrace_errmsg(g_dtp, dtrace_errno(g_dtp)));
 	}
+#if !defined(sun) && defined(NEED_ERRLOC)
+	dt_get_errloc(g_dtp, &p_errfile, &errline);
+	if (p_errfile != NULL)
+		printf("File '%s', line %d\n", p_errfile, errline);
+#endif
 
 	/*
 	 * Close the DTrace handle to ensure that any controlled processes are
@@ -372,6 +388,7 @@
 	free(buf);
 }
 
+#if defined(sun)
 static void
 etcsystem_prune(void)
 {
@@ -482,6 +499,7 @@
 
 	error("added forceload directives to %s\n", g_ofile);
 }
+#endif
 
 static void
 print_probe_info(const dtrace_probeinfo_t *p)
@@ -611,12 +629,26 @@
 	p = (uchar_t *)dof;
 	q = p + dof->dofh_loadsz;
 
+#if defined(sun)
 	oprintf("dof-data-%d=0x%x", n, *p++);
 
 	while (p < q)
 		oprintf(",0x%x", *p++);
 
 	oprintf(";\n");
+#else
+	/*
+	 * On FreeBSD, the DOF data is handled as a kernel environment (kenv)
+	 * string. We use two hex characters per DOF byte.
+	 */
+	oprintf("dof-data-%d=%02x", n, *p++);
+
+	while (p < q)
+		oprintf("%02x", *p++);
+
+	oprintf("\n");
+#endif
+
 	dtrace_dof_destroy(g_dtp, dof);
 }
 
@@ -741,6 +773,8 @@
 static void
 prochandler(struct ps_prochandle *P, const char *msg, void *arg)
 {
+fatal("DOODAD in function %s, file %s, line %d\n",__FUNCTION__,__FILE__,__LINE__);
+#ifdef DOODAD
 	const psinfo_t *prp = Ppsinfo(P);
 	int pid = Pstatus(P)->pr_pid;
 	char name[SIG2STR_MAX];
@@ -778,6 +812,7 @@
 		g_pslive--;
 		break;
 	}
+#endif
 }
 
 /*ARGSUSED*/
@@ -1159,9 +1194,10 @@
 	dtrace_optval_t opt;
 	dtrace_cmd_t *dcp;
 
+	g_ofp = stdout;
 	int done = 0, mode = 0;
-	int err, i;
-	char c, *p, **v;
+	int err, i, c;
+	char *p, **v;
 	struct ps_prochandle *P;
 	pid_t pid;
 
@@ -1188,7 +1224,7 @@
 	 * options into g_argv[], and abort if any invalid options are found.
 	 */
 	for (optind = 1; optind < argc; optind++) {
-		while ((c = getopt(argc, argv, DTRACE_OPTSTR)) != EOF) {
+		while ((c = getopt(argc, argv, DTRACE_OPTSTR)) != -1) {
 			switch (c) {
 			case '3':
 				if (strcmp(optarg, "2") != 0) {
@@ -1337,8 +1373,14 @@
 		    dtrace_errmsg(NULL, err));
 	}
 
+#if defined(__i386__)
+	/* XXX The 32-bit seems to need more buffer space by default -sson */
+	(void) dtrace_setopt(g_dtp, "bufsize", "12m");
+	(void) dtrace_setopt(g_dtp, "aggsize", "12m");
+#else
 	(void) dtrace_setopt(g_dtp, "bufsize", "4m");
 	(void) dtrace_setopt(g_dtp, "aggsize", "4m");
+#endif
 
 	/*
 	 * If -G is specified, enable -xlink=dynamic and -xunodefs to permit
@@ -1371,7 +1413,7 @@
 	 * this time; these will compiled as part of the fourth processing pass.
 	 */
 	for (optind = 1; optind < argc; optind++) {
-		while ((c = getopt(argc, argv, DTRACE_OPTSTR)) != EOF) {
+		while ((c = getopt(argc, argv, DTRACE_OPTSTR)) != -1) {
 			switch (c) {
 			case 'a':
 				if (dtrace_setopt(g_dtp, "grabanon", 0) != 0)
@@ -1528,7 +1570,7 @@
 	 * may been affected by any library options set by the second pass.
 	 */
 	for (optind = 1; optind < argc; optind++) {
-		while ((c = getopt(argc, argv, DTRACE_OPTSTR)) != EOF) {
+		while ((c = getopt(argc, argv, DTRACE_OPTSTR)) != -1) {
 			switch (c) {
 			case 'c':
 				if ((v = make_argv(optarg)) == NULL)
@@ -1616,10 +1658,21 @@
 
 	case DMODE_ANON:
 		if (g_ofile == NULL)
+#if defined(sun)
 			g_ofile = "/kernel/drv/dtrace.conf";
+#else
+			/*
+			 * On FreeBSD, anonymous DOF data is written to
+			 * the DTrace DOF file that the boot loader will
+			 * read if booting with the DTrace option.
+			 */
+			g_ofile = "/boot/dtrace.dof";
+#endif
 
 		dof_prune(g_ofile); /* strip out any old DOF directives */
+#if defined(sun)
 		etcsystem_prune(); /* string out any forceload directives */
+#endif
 
 		if (g_cmdc == 0) {
 			dtrace_close(g_dtp);
@@ -1650,8 +1703,10 @@
 		 * that itself contains a #pragma D option quiet.
 		 */
 		error("saved anonymous enabling in %s\n", g_ofile);
+#if defined(sun)
 		etcsystem_add();
 		error("run update_drv(1M) or reboot to enable changes\n");
+#endif
 
 		dtrace_close(g_dtp);
 		return (g_status);
@@ -1780,6 +1835,11 @@
 	if (sigaction(SIGTERM, NULL, &oact) == 0 && oact.sa_handler != SIG_IGN)
 		(void) sigaction(SIGTERM, &act, NULL);
 
+#if !defined(sun)
+	if (sigaction(SIGUSR1, NULL, &oact) == 0 && oact.sa_handler != SIG_IGN)
+		(void) sigaction(SIGUSR1, &act, NULL);
+#endif
+
 	/*
 	 * Now that tracing is active and we are ready to consume trace data,
 	 * continue any grabbed or created processes, setting them running

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dstyle.pl#2 (text+ko) ====

@@ -1,4 +1,4 @@
-#!/usr/perl5/bin/perl
+#!/usr/local/bin/perl
 #
 # CDDL HEADER START
 #

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl#2 (text+ko) ====

@@ -1,4 +1,4 @@
-#!/usr/perl5/bin/perl
+#!/usr/local/bin/perl
 #
 # CDDL HEADER START
 #
@@ -43,7 +43,7 @@
 
 @dtrace_argv = ();
 
-$ksh_path = '/usr/bin/ksh';
+$ksh_path = '/bin/sh';
 
 @files = ();
 %exceptions = ();
@@ -273,7 +273,7 @@
 		}
 
 		$fullname = "$dir/$name";
-		$exe = "$dir/$base.exe";
+		$exe = "./$base.exe";
 		$exe_pid = -1;
 
 		if ($opt_a && ($status != 0 || $tag != 0 || $droptag != 0 ||
@@ -592,7 +592,7 @@
 # Ensure that $PATH contains a cc(1) so that we can execute the
 # test programs that require compilation of C code.
 #
-$ENV{'PATH'} = $ENV{'PATH'} . ':/ws/onnv-tools/SUNWspro/SS11/bin';
+#$ENV{'PATH'} = $ENV{'PATH'} . ':/ws/onnv-tools/SUNWspro/SS11/bin';
 
 if ($opt_b) {
 	logmsg("badioctl'ing ... ");

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_OP_INCOMPAT.dupgtype.d#2 (text+ko) ====

@@ -40,3 +40,8 @@
 	x[123] = `kmem_flags;
 	x[456] = *`rootvp;
 }
+
+ERROR
+{
+	exit(1);
+}

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_OP_INCOMPAT.dupttype.d#2 (text+ko) ====

@@ -40,3 +40,8 @@
 	self->x[123] = `kmem_flags;
 	self->x[456] = *`rootvp;
 }
+
+ERROR
+{
+	exit(1);
+}

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.psinfo.d#2 (text+ko) ====

@@ -53,3 +53,8 @@
 	printf("address of process = %u\n", curpsinfo->pr_addr);
 	exit (0);
 }
+
+ERROR
+{
+	exit(1);
+}

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.psinfo1.d#2 (text+ko) ====

@@ -49,3 +49,8 @@
 	printf("address of process = %u\n", curpsinfo->pr_addr);
 	exit (0);
 }
+
+ERROR
+{
+	exit(1);
+}

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh#2 (text+ko) ====

@@ -46,7 +46,7 @@
 dtrace=$1
 
 $dtrace -qZm wassup'{printf("Iamkool");}' \
--qm unix'{printf("I am done"); exit(0);}'
+-qm BEGIN'{printf("I am done"); exit(0);}'
 
 status=$?
 

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.hton.d#2 (text+ko) ====

@@ -30,7 +30,9 @@
  * ASSERTION: Test network byte-ordering routines.
  */
 
-#include <sys/isa_defs.h>
+#if defined(__amd64__) || defined(__i386__)
+#define _LITTLE_ENDIAN
+#endif
 
 BEGIN
 {

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntoa.d#2 (text+ko) ====

@@ -28,17 +28,17 @@
 
 #pragma D option quiet
 
-ipaddr_t *ip4a;
-ipaddr_t *ip4b;
-ipaddr_t *ip4c;
-ipaddr_t *ip4d;
+in_addr_t *ip4a;
+in_addr_t *ip4b;
+in_addr_t *ip4c;
+in_addr_t *ip4d;
 
 BEGIN
 {
-	this->buf4a = alloca(sizeof (ipaddr_t));
-	this->buf4b = alloca(sizeof (ipaddr_t));
-	this->buf4c = alloca(sizeof (ipaddr_t));
-	this->buf4d = alloca(sizeof (ipaddr_t));
+	this->buf4a = alloca(sizeof (in_addr_t));
+	this->buf4b = alloca(sizeof (in_addr_t));
+	this->buf4c = alloca(sizeof (in_addr_t));
+	this->buf4d = alloca(sizeof (in_addr_t));
 	ip4a = this->buf4a;
 	ip4b = this->buf4b;
 	ip4c = this->buf4c;

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntoa6.d#2 (text+ko) ====

@@ -53,35 +53,35 @@
 	ip6f = this->buf6f;
 	ip6g = this->buf6g;
 
-	ip6a->_S6_un._S6_u8[0] = 0xfe;
-	ip6a->_S6_un._S6_u8[1] = 0x80;
-	ip6a->_S6_un._S6_u8[8] = 0x02;
-	ip6a->_S6_un._S6_u8[9] = 0x14;
-	ip6a->_S6_un._S6_u8[10] = 0x4f;
-	ip6a->_S6_un._S6_u8[11] = 0xff;
-	ip6a->_S6_un._S6_u8[12] = 0xfe;
-	ip6a->_S6_un._S6_u8[13] = 0x0b;
-	ip6a->_S6_un._S6_u8[14] = 0x76;
-	ip6a->_S6_un._S6_u8[15] = 0xc8;
-	ip6b->_S6_un._S6_u8[0] = 0x10;
-	ip6b->_S6_un._S6_u8[1] = 0x80;
-	ip6b->_S6_un._S6_u8[10] = 0x08;
-	ip6b->_S6_un._S6_u8[11] = 0x08;
-	ip6b->_S6_un._S6_u8[13] = 0x20;
-	ip6b->_S6_un._S6_u8[13] = 0x0c;
-	ip6b->_S6_un._S6_u8[14] = 0x41;
-	ip6b->_S6_un._S6_u8[15] = 0x7a;
-	ip6c->_S6_un._S6_u8[15] = 0x01;
-	ip6e->_S6_un._S6_u8[12] = 0x7f;
-	ip6e->_S6_un._S6_u8[15] = 0x01;
-	ip6f->_S6_un._S6_u8[10] = 0xff;
-	ip6f->_S6_un._S6_u8[11] = 0xff;
-	ip6f->_S6_un._S6_u8[12] = 0x7f;
-	ip6f->_S6_un._S6_u8[15] = 0x01;
-	ip6g->_S6_un._S6_u8[10] = 0xff;
-	ip6g->_S6_un._S6_u8[11] = 0xfe;
-	ip6g->_S6_un._S6_u8[12] = 0x7f;
-	ip6g->_S6_un._S6_u8[15] = 0x01;
+	ip6a->__u6_addr.__u6_addr8[0] = 0xfe;
+	ip6a->__u6_addr.__u6_addr8[1] = 0x80;
+	ip6a->__u6_addr.__u6_addr8[8] = 0x02;
+	ip6a->__u6_addr.__u6_addr8[9] = 0x14;
+	ip6a->__u6_addr.__u6_addr8[10] = 0x4f;
+	ip6a->__u6_addr.__u6_addr8[11] = 0xff;
+	ip6a->__u6_addr.__u6_addr8[12] = 0xfe;
+	ip6a->__u6_addr.__u6_addr8[13] = 0x0b;
+	ip6a->__u6_addr.__u6_addr8[14] = 0x76;
+	ip6a->__u6_addr.__u6_addr8[15] = 0xc8;
+	ip6b->__u6_addr.__u6_addr8[0] = 0x10;
+	ip6b->__u6_addr.__u6_addr8[1] = 0x80;
+	ip6b->__u6_addr.__u6_addr8[10] = 0x08;
+	ip6b->__u6_addr.__u6_addr8[11] = 0x08;
+	ip6b->__u6_addr.__u6_addr8[13] = 0x20;
+	ip6b->__u6_addr.__u6_addr8[13] = 0x0c;
+	ip6b->__u6_addr.__u6_addr8[14] = 0x41;
+	ip6b->__u6_addr.__u6_addr8[15] = 0x7a;
+	ip6c->__u6_addr.__u6_addr8[15] = 0x01;
+	ip6e->__u6_addr.__u6_addr8[12] = 0x7f;
+	ip6e->__u6_addr.__u6_addr8[15] = 0x01;
+	ip6f->__u6_addr.__u6_addr8[10] = 0xff;
+	ip6f->__u6_addr.__u6_addr8[11] = 0xff;
+	ip6f->__u6_addr.__u6_addr8[12] = 0x7f;
+	ip6f->__u6_addr.__u6_addr8[15] = 0x01;
+	ip6g->__u6_addr.__u6_addr8[10] = 0xff;
+	ip6g->__u6_addr.__u6_addr8[11] = 0xfe;
+	ip6g->__u6_addr.__u6_addr8[12] = 0x7f;
+	ip6g->__u6_addr.__u6_addr8[15] = 0x01;
 
 	printf("%s\n", inet_ntoa6(ip6a));
 	printf("%s\n", inet_ntoa6(ip6b));

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntop.d#2 (text+ko) ====

@@ -28,10 +28,13 @@
 
 #pragma D option quiet
 
-ipaddr_t *ip4a;
-ipaddr_t *ip4b;
-ipaddr_t *ip4c;
-ipaddr_t *ip4d;
+inline int AF_INET = 2;
+inline int AF_INET6 = 28;
+
+in_addr_t *ip4a;
+in_addr_t *ip4b;
+in_addr_t *ip4c;
+in_addr_t *ip4d;
 struct in6_addr *ip6a;
 struct in6_addr *ip6b;
 struct in6_addr *ip6c;
@@ -43,10 +46,10 @@
 
 BEGIN
 {
-	this->buf4a = alloca(sizeof (ipaddr_t));
-	this->buf4b = alloca(sizeof (ipaddr_t));
-	this->buf4c = alloca(sizeof (ipaddr_t));
-	this->buf4d = alloca(sizeof (ipaddr_t));
+	this->buf4a = alloca(sizeof (in_addr_t));
+	this->buf4b = alloca(sizeof (in_addr_t));
+	this->buf4c = alloca(sizeof (in_addr_t));
+	this->buf4d = alloca(sizeof (in_addr_t));
 	this->buf6a = alloca(sizeof (struct in6_addr));
 	this->buf6b = alloca(sizeof (struct in6_addr));
 	this->buf6c = alloca(sizeof (struct in6_addr));
@@ -72,51 +75,51 @@
 	*ip4b = htonl(0x7f000001);
 	*ip4c = htonl(0xffffffff);
 	*ip4d = htonl(0x00000000);
-	ip6a->_S6_un._S6_u8[0] = 0xfe;
-	ip6a->_S6_un._S6_u8[1] = 0x80;
-	ip6a->_S6_un._S6_u8[8] = 0x02;
-	ip6a->_S6_un._S6_u8[9] = 0x14;
-	ip6a->_S6_un._S6_u8[10] = 0x4f;
-	ip6a->_S6_un._S6_u8[11] = 0xff;
-	ip6a->_S6_un._S6_u8[12] = 0xfe;
-	ip6a->_S6_un._S6_u8[13] = 0x0b;
-	ip6a->_S6_un._S6_u8[14] = 0x76;
-	ip6a->_S6_un._S6_u8[15] = 0xc8;
-	ip6b->_S6_un._S6_u8[0] = 0x10;
-	ip6b->_S6_un._S6_u8[1] = 0x80;
-	ip6b->_S6_un._S6_u8[10] = 0x08;
-	ip6b->_S6_un._S6_u8[11] = 0x08;
-	ip6b->_S6_un._S6_u8[13] = 0x20;
-	ip6b->_S6_un._S6_u8[13] = 0x0c;
-	ip6b->_S6_un._S6_u8[14] = 0x41;
-	ip6b->_S6_un._S6_u8[15] = 0x7a;
-	ip6c->_S6_un._S6_u8[15] = 0x01;
-	ip6e->_S6_un._S6_u8[12] = 0x7f;
-	ip6e->_S6_un._S6_u8[15] = 0x01;
-	ip6f->_S6_un._S6_u8[10] = 0xff;
-	ip6f->_S6_un._S6_u8[11] = 0xff;
-	ip6f->_S6_un._S6_u8[12] = 0x7f;
-	ip6f->_S6_un._S6_u8[15] = 0x01;
-	ip6g->_S6_un._S6_u8[10] = 0xff;
-	ip6g->_S6_un._S6_u8[11] = 0xfe;
-	ip6g->_S6_un._S6_u8[12] = 0x7f;
-	ip6g->_S6_un._S6_u8[15] = 0x01;
-	ip6h->_S6_un._S6_u8[0] = 0xff;
-	ip6h->_S6_un._S6_u8[1] = 0xff;
-	ip6h->_S6_un._S6_u8[2] = 0xff;
-	ip6h->_S6_un._S6_u8[3] = 0xff;
-	ip6h->_S6_un._S6_u8[4] = 0xff;
-	ip6h->_S6_un._S6_u8[5] = 0xff;
-	ip6h->_S6_un._S6_u8[6] = 0xff;
-	ip6h->_S6_un._S6_u8[7] = 0xff;
-	ip6h->_S6_un._S6_u8[8] = 0xff;
-	ip6h->_S6_un._S6_u8[9] = 0xff;
-	ip6h->_S6_un._S6_u8[10] = 0xff;
-	ip6h->_S6_un._S6_u8[11] = 0xff;
-	ip6h->_S6_un._S6_u8[12] = 0xff;
-	ip6h->_S6_un._S6_u8[13] = 0xff;
-	ip6h->_S6_un._S6_u8[14] = 0xff;
-	ip6h->_S6_un._S6_u8[15] = 0xff;
+	ip6a->__u6_addr.__u6_addr8[0] = 0xfe;
+	ip6a->__u6_addr.__u6_addr8[1] = 0x80;
+	ip6a->__u6_addr.__u6_addr8[8] = 0x02;
+	ip6a->__u6_addr.__u6_addr8[9] = 0x14;
+	ip6a->__u6_addr.__u6_addr8[10] = 0x4f;
+	ip6a->__u6_addr.__u6_addr8[11] = 0xff;
+	ip6a->__u6_addr.__u6_addr8[12] = 0xfe;
+	ip6a->__u6_addr.__u6_addr8[13] = 0x0b;
+	ip6a->__u6_addr.__u6_addr8[14] = 0x76;
+	ip6a->__u6_addr.__u6_addr8[15] = 0xc8;
+	ip6b->__u6_addr.__u6_addr8[0] = 0x10;
+	ip6b->__u6_addr.__u6_addr8[1] = 0x80;
+	ip6b->__u6_addr.__u6_addr8[10] = 0x08;
+	ip6b->__u6_addr.__u6_addr8[11] = 0x08;
+	ip6b->__u6_addr.__u6_addr8[13] = 0x20;
+	ip6b->__u6_addr.__u6_addr8[13] = 0x0c;
+	ip6b->__u6_addr.__u6_addr8[14] = 0x41;
+	ip6b->__u6_addr.__u6_addr8[15] = 0x7a;
+	ip6c->__u6_addr.__u6_addr8[15] = 0x01;
+	ip6e->__u6_addr.__u6_addr8[12] = 0x7f;
+	ip6e->__u6_addr.__u6_addr8[15] = 0x01;
+	ip6f->__u6_addr.__u6_addr8[10] = 0xff;
+	ip6f->__u6_addr.__u6_addr8[11] = 0xff;
+	ip6f->__u6_addr.__u6_addr8[12] = 0x7f;
+	ip6f->__u6_addr.__u6_addr8[15] = 0x01;
+	ip6g->__u6_addr.__u6_addr8[10] = 0xff;
+	ip6g->__u6_addr.__u6_addr8[11] = 0xfe;
+	ip6g->__u6_addr.__u6_addr8[12] = 0x7f;
+	ip6g->__u6_addr.__u6_addr8[15] = 0x01;
+	ip6h->__u6_addr.__u6_addr8[0] = 0xff;
+	ip6h->__u6_addr.__u6_addr8[1] = 0xff;
+	ip6h->__u6_addr.__u6_addr8[2] = 0xff;
+	ip6h->__u6_addr.__u6_addr8[3] = 0xff;
+	ip6h->__u6_addr.__u6_addr8[4] = 0xff;
+	ip6h->__u6_addr.__u6_addr8[5] = 0xff;
+	ip6h->__u6_addr.__u6_addr8[6] = 0xff;
+	ip6h->__u6_addr.__u6_addr8[7] = 0xff;
+	ip6h->__u6_addr.__u6_addr8[8] = 0xff;
+	ip6h->__u6_addr.__u6_addr8[9] = 0xff;
+	ip6h->__u6_addr.__u6_addr8[10] = 0xff;
+	ip6h->__u6_addr.__u6_addr8[11] = 0xff;
+	ip6h->__u6_addr.__u6_addr8[12] = 0xff;
+	ip6h->__u6_addr.__u6_addr8[13] = 0xff;
+	ip6h->__u6_addr.__u6_addr8[14] = 0xff;
+	ip6h->__u6_addr.__u6_addr8[15] = 0xff;
 
 	printf("%s\n", inet_ntop(AF_INET, ip4a));
 	printf("%s\n", inet_ntop(AF_INET, ip4b));

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.mutex_owned.d#2 (text+ko) ====

@@ -38,8 +38,8 @@
 
 lockstat:::adaptive-acquire
 {
-	this->owned = mutex_owned((kmutex_t *)arg0);
-	this->owner = mutex_owner((kmutex_t *)arg0);
+	this->owned = mutex_owned((struct mtx *)arg0);
+	this->owner = mutex_owner((struct mtx *)arg0);
 }
 
 lockstat:::adaptive-acquire

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.mutex_owner.d#2 (text+ko) ====

@@ -41,17 +41,17 @@
 
 #pragma D option quiet
 
-kthread_t *ptr;
+struct thread *ptr;
 
 BEGIN
 {
 	i = 0;
 }
 
-lockstat:genunix:mutex_enter:adaptive-acquire
+lockstat::mtx_lock:adaptive-acquire
 {
 
-	ptr = mutex_owner((kmutex_t *)arg0);
+	ptr = mutex_owner((struct mtx *)arg0);
 	i++;
 }
 

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.mutex_type_adaptive.d#2 (text+ko) ====

@@ -44,9 +44,9 @@
 	ret = -99;
 }
 
-mutex_enter:adaptive-acquire
+mtx_lock:adaptive-acquire
 {
-	ret = mutex_type_adaptive((kmutex_t *)arg0);
+	ret = mutex_type_adaptive((struct mtx *)arg0);
 	i++;
 }
 

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.create.ksh#2 (text+ko) ====

@@ -36,7 +36,7 @@
 {
 	$dtrace -s /dev/stdin <<EOF
 	proc:::create
-	/args[0]->pr_ppid == $child && pid == $child/
+	/args[0]->p_pptr->p_pid == $child && pid == $child/
 	{
 		exit(0);
 	}
@@ -46,7 +46,7 @@
 sleeper()
 {
 	while true; do
-		/usr/bin/sleep 1
+		/bin/sleep 1
 	done
 }
 

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exec.ksh#2 (text+ko) ====

@@ -36,12 +36,12 @@
 {
 	$dtrace -s /dev/stdin <<EOF
 	proc:::exec
-	/curpsinfo->pr_ppid == $child && args[0] == "/usr/bin/sleep"/
+	/curpsinfo->pr_ppid == $child && args[0] == "/bin/sleep"/
 	{
 		self->exec = 1;
 	}
 
-	proc:::exec-success
+	proc:::exec_success
 	/self->exec/
 	{
 		exit(0);
@@ -52,7 +52,7 @@
 sleeper()
 {
 	while true; do
-		/usr/bin/sleep 1
+		/bin/sleep 1
 	done
 }
 

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ENOENT.ksh#2 (text+ko) ====

@@ -42,7 +42,7 @@
 		self->exec = 1;
 	}
 
-	proc:::exec-failure
+	proc:::exec_failure
 	/self->exec && args[0] == ENOENT/
 	{
 		exit(0);
@@ -53,7 +53,7 @@
 sleeper()
 {
 	while true; do
-		/usr/bin/sleep 1
+		/bin/sleep 1
 		$badexec
 	done
 }

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ksh#2 (text+ko) ====

@@ -45,7 +45,7 @@
 		self->exec = 1;
 	}
 
-	proc:::exec-failure
+	proc:::exec_failure
 	/self->exec/
 	{
 		exit(0);
@@ -56,7 +56,7 @@
 sleeper()
 {
 	while true; do
-		/usr/bin/sleep 1
+		/bin/sleep 1
 		$badexec
 	done
 }

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitcore.ksh#2 (text+ko) ====

@@ -43,18 +43,16 @@
 	$dtrace -s /dev/stdin <<EOF
 	proc:::exit
 	/curpsinfo->pr_ppid == $child &&
-	    curpsinfo->pr_psargs == "$longsleep" && args[0] == CLD_DUMPED/
+	    execargs == "$longsleep" && args[0] == CLD_DUMPED/
 	{
 		exit(0);
 	}
 
 	proc:::exit
 	/curpsinfo->pr_ppid == $child &&
-	    curpsinfo->pr_psargs == "$longsleep" && args[0] != CLD_DUMPED/
+	    execargs == "$longsleep" && args[0] != CLD_DUMPED/
 	{
-		printf("Child process could not dump core.  Check coreadm(1M)");
-		printf(" settings; either per-process or global core dumps ");
-		printf("must be enabled for this test to work properly.");
+		printf("Child process could did dump core.");
 		exit(1);
 	}
 EOF
@@ -62,13 +60,12 @@
 
 sleeper()
 {
-	/usr/bin/coreadm -p $corefile
 	while true; do
 		$longsleep &
-		/usr/bin/sleep 1
+		/bin/sleep 1
 		kill -SEGV $!
 	done
-	/usr/bin/rm -f $corefile
+	/bin/rm -f $corefile
 }
 
 if [ $# != 1 ]; then
@@ -77,8 +74,8 @@
 fi
 
 dtrace=$1
-longsleep="/usr/bin/sleep 10000"
-corefile=/tmp/core.$$
+longsleep="/bin/sleep 10000"
+corefile=/tmp/sleep.core
 
 sleeper &
 child=$!
@@ -86,10 +83,10 @@
 script
 status=$?
 
-pstop $child
-pkill -P $child
+#pstop $child
+#pkill -P $child
 kill $child
-prun $child
+#prun $child
 
-/usr/bin/rm -f $corefile
+/bin/rm -f $corefile
 exit $status

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitexit.ksh#2 (text+ko) ====

@@ -46,7 +46,7 @@
 sleeper()
 {
 	while true; do
-		/usr/bin/sleep 1
+		/bin/sleep 1
 	done
 }
 

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.sigwait.c#2 (text+ko) ====

@@ -33,6 +33,8 @@
 #include <errno.h>
 #include <string.h>
 
+#define NANOSEC	1000000000
+
 int
 main(int argc, char **argv)
 {
@@ -41,6 +43,7 @@
 	sigset_t set;
 	timer_t tid;
 	char *cmd = argv[0];
+	int sig;
 
 	ev.sigev_notify = SIGEV_SIGNAL;
 	ev.sigev_signo = SIGUSR1;
@@ -66,9 +69,9 @@
 		exit(EXIT_FAILURE);
 	}
 
-	for (;;) {
-		(void) sigwait(&set);
-	}
+	do {
+		(void) sigwait(&set, &sig);
+	} while(sig != SIGUSR1);
 
 	/*NOTREACHED*/
 	return (0);

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.sigwait.d#2 (text+ko) ====

@@ -28,13 +28,13 @@
 
 #pragma D option destructive
 
-proc:::signal-send
-/pid == 0 && args[1]->pr_pid == $1 && args[2] == SIGUSR1/
+proc:::signal_send
+/args[1]->p_pid == $1 && args[2] == SIGUSR1/
 {
 	sent = 1;
 }
 
-proc:::signal-clear
+proc:::signal_clear
 /pid == $1 && args[0] == SIGUSR1 && sent/
 {
 	exit(0);

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise1.d#2 (text+ko) ====

@@ -54,7 +54,7 @@
 	timeout = timestamp + 500000000;
 }
 
-syscall::rexit:entry
+syscall::exit:entry
 {
 	exit(0);
 }

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.c#2 (text+ko) ====

@@ -28,6 +28,7 @@
 
 #include <unistd.h>
 #include <signal.h>
+#include <stdlib.h>
 
 static void
 handle(int sig)

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.d#2 (text+ko) ====

@@ -54,7 +54,7 @@
 	timeout = timestamp + 500000000;
 }
 
-syscall::rexit:entry
+syscall::exit:entry
 {
 	exit(0);
 }

==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise3.c#2 (text+ko) ====

@@ -28,6 +28,7 @@
 
 #include <unistd.h>
 #include <signal.h>
+#include <stdlib.h>
 

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803280202.m2S22d3M007693>