Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 May 2013 00:52:48 +0000 (UTC)
From:      Attilio Rao <attilio@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r250923 - in user/attilio/vmobj-readlock: . cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cg cddl/contrib/opensolaris/lib/libdtrace/common contrib/bmake contrib/bmake/mk contrib/f...
Message-ID:  <201305230052.r4N0qmDW046573@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: attilio
Date: Thu May 23 00:52:48 2013
New Revision: 250923
URL: http://svnweb.freebsd.org/changeset/base/250923

Log:
  Merge from vmcontention.

Added:
  user/attilio/vmobj-readlock/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cg/
     - copied from r250886, user/attilio/vmcontention/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cg/
  user/attilio/vmobj-readlock/contrib/bmake/mk/stage-install.sh
     - copied unchanged from r250886, user/attilio/vmcontention/contrib/bmake/mk/stage-install.sh
  user/attilio/vmobj-readlock/contrib/flex/
     - copied from r250886, user/attilio/vmcontention/contrib/flex/
  user/attilio/vmobj-readlock/include/uchar.h
     - copied unchanged from r250886, user/attilio/vmcontention/include/uchar.h
  user/attilio/vmobj-readlock/include/xlocale/_uchar.h
     - copied unchanged from r250886, user/attilio/vmcontention/include/xlocale/_uchar.h
  user/attilio/vmobj-readlock/lib/csu/Makefile
     - copied unchanged from r250886, user/attilio/vmcontention/lib/csu/Makefile
  user/attilio/vmobj-readlock/lib/libc/locale/c16rtomb.c
     - copied unchanged from r250886, user/attilio/vmcontention/lib/libc/locale/c16rtomb.c
  user/attilio/vmobj-readlock/lib/libc/locale/c32rtomb.c
     - copied unchanged from r250886, user/attilio/vmcontention/lib/libc/locale/c32rtomb.c
  user/attilio/vmobj-readlock/lib/libc/locale/mbrtoc16.c
     - copied unchanged from r250886, user/attilio/vmcontention/lib/libc/locale/mbrtoc16.c
  user/attilio/vmobj-readlock/lib/libc/locale/mbrtoc32.c
     - copied unchanged from r250886, user/attilio/vmcontention/lib/libc/locale/mbrtoc32.c
  user/attilio/vmobj-readlock/release/doc/ja_JP.eucJP/share/xml/dev-auto-ja.ent
     - copied unchanged from r250886, user/attilio/vmcontention/release/doc/ja_JP.eucJP/share/xml/dev-auto-ja.ent
  user/attilio/vmobj-readlock/release/doc/ru_RU.KOI8-R/share/xml/dev-auto-ru.ent
     - copied unchanged from r250886, user/attilio/vmcontention/release/doc/ru_RU.KOI8-R/share/xml/dev-auto-ru.ent
  user/attilio/vmobj-readlock/tools/build/options/WITHOUT_BMAKE
     - copied unchanged from r250886, user/attilio/vmcontention/tools/build/options/WITHOUT_BMAKE
  user/attilio/vmobj-readlock/tools/regression/lib/libc/gen/test-popen.c
     - copied unchanged from r250886, user/attilio/vmcontention/tools/regression/lib/libc/gen/test-popen.c
  user/attilio/vmobj-readlock/tools/regression/lib/libc/locale/test-c16rtomb.c
     - copied unchanged from r250886, user/attilio/vmcontention/tools/regression/lib/libc/locale/test-c16rtomb.c
  user/attilio/vmobj-readlock/tools/regression/lib/libc/locale/test-mbrtoc16.c
     - copied unchanged from r250886, user/attilio/vmcontention/tools/regression/lib/libc/locale/test-mbrtoc16.c
  user/attilio/vmobj-readlock/usr.bin/lex/initparse.c
     - copied unchanged from r250886, user/attilio/vmcontention/usr.bin/lex/initparse.c
  user/attilio/vmobj-readlock/usr.bin/lex/initparse.h
     - copied unchanged from r250886, user/attilio/vmcontention/usr.bin/lex/initparse.h
  user/attilio/vmobj-readlock/usr.bin/lex/initskel.c
     - copied unchanged from r250886, user/attilio/vmcontention/usr.bin/lex/initskel.c
  user/attilio/vmobj-readlock/usr.bin/lex/version.awk
     - copied unchanged from r250886, user/attilio/vmcontention/usr.bin/lex/version.awk
Deleted:
  user/attilio/vmobj-readlock/release/doc/ja_JP.eucJP/share/xml/dev-auto-ja.xml
  user/attilio/vmobj-readlock/release/doc/ru_RU.KOI8-R/share/xml/dev-auto-ru.xml
  user/attilio/vmobj-readlock/tools/build/options/WITH_BMAKE
  user/attilio/vmobj-readlock/usr.bin/lex/COPYING
  user/attilio/vmobj-readlock/usr.bin/lex/FlexLexer.h
  user/attilio/vmobj-readlock/usr.bin/lex/NEWS
  user/attilio/vmobj-readlock/usr.bin/lex/README
  user/attilio/vmobj-readlock/usr.bin/lex/ccl.c
  user/attilio/vmobj-readlock/usr.bin/lex/dfa.c
  user/attilio/vmobj-readlock/usr.bin/lex/ecs.c
  user/attilio/vmobj-readlock/usr.bin/lex/flex.skl
  user/attilio/vmobj-readlock/usr.bin/lex/flexdef.h
  user/attilio/vmobj-readlock/usr.bin/lex/gen.c
  user/attilio/vmobj-readlock/usr.bin/lex/lib/libmain.c
  user/attilio/vmobj-readlock/usr.bin/lex/lib/libyywrap.c
  user/attilio/vmobj-readlock/usr.bin/lex/main.c
  user/attilio/vmobj-readlock/usr.bin/lex/misc.c
  user/attilio/vmobj-readlock/usr.bin/lex/mkskel.sh
  user/attilio/vmobj-readlock/usr.bin/lex/nfa.c
  user/attilio/vmobj-readlock/usr.bin/lex/parse.y
  user/attilio/vmobj-readlock/usr.bin/lex/scan.l
  user/attilio/vmobj-readlock/usr.bin/lex/sym.c
  user/attilio/vmobj-readlock/usr.bin/lex/tblcmp.c
  user/attilio/vmobj-readlock/usr.bin/lex/version.h
  user/attilio/vmobj-readlock/usr.bin/lex/yylex.c
Modified:
  user/attilio/vmobj-readlock/MAINTAINERS   (contents, props changed)
  user/attilio/vmobj-readlock/Makefile.inc1
  user/attilio/vmobj-readlock/ObsoleteFiles.inc
  user/attilio/vmobj-readlock/UPDATING
  user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cg.c
  user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dis.c
  user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_error.c
  user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_errtags.h
  user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_regset.c
  user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_regset.h
  user/attilio/vmobj-readlock/contrib/bmake/ChangeLog
  user/attilio/vmobj-readlock/contrib/bmake/FILES
  user/attilio/vmobj-readlock/contrib/bmake/Makefile
  user/attilio/vmobj-readlock/contrib/bmake/meta.c
  user/attilio/vmobj-readlock/contrib/bmake/mk/ChangeLog
  user/attilio/vmobj-readlock/contrib/bmake/mk/FILES
  user/attilio/vmobj-readlock/contrib/bmake/mk/gendirdeps.mk
  user/attilio/vmobj-readlock/contrib/bmake/mk/install-mk
  user/attilio/vmobj-readlock/contrib/bmake/mk/meta.stage.mk
  user/attilio/vmobj-readlock/contrib/bmake/mk/meta2deps.py
  user/attilio/vmobj-readlock/contrib/bmake/mk/meta2deps.sh
  user/attilio/vmobj-readlock/contrib/bmake/mk/options.mk
  user/attilio/vmobj-readlock/contrib/bmake/mk/progs.mk
  user/attilio/vmobj-readlock/contrib/bmake/suff.c
  user/attilio/vmobj-readlock/contrib/bmake/var.c
  user/attilio/vmobj-readlock/crypto/heimdal/lib/kadm5/ipropd_master.c
  user/attilio/vmobj-readlock/etc/rc
  user/attilio/vmobj-readlock/etc/rc.d/ipfw
  user/attilio/vmobj-readlock/etc/rc.d/netif
  user/attilio/vmobj-readlock/etc/rc.d/routing
  user/attilio/vmobj-readlock/etc/rc.shutdown
  user/attilio/vmobj-readlock/gnu/usr.bin/diff/Makefile
  user/attilio/vmobj-readlock/gnu/usr.bin/grep/Makefile
  user/attilio/vmobj-readlock/gnu/usr.bin/grep/dfa.c
  user/attilio/vmobj-readlock/gnu/usr.bin/grep/grep.c
  user/attilio/vmobj-readlock/gnu/usr.bin/grep/search.c
  user/attilio/vmobj-readlock/include/Makefile
  user/attilio/vmobj-readlock/include/arpa/tftp.h
  user/attilio/vmobj-readlock/include/fts.h
  user/attilio/vmobj-readlock/include/ifaddrs.h
  user/attilio/vmobj-readlock/include/protocols/rwhod.h
  user/attilio/vmobj-readlock/include/stdatomic.h
  user/attilio/vmobj-readlock/include/xlocale/Makefile
  user/attilio/vmobj-readlock/lib/libc/gen/fts.3
  user/attilio/vmobj-readlock/lib/libc/gen/popen.3
  user/attilio/vmobj-readlock/lib/libc/gen/popen.c
  user/attilio/vmobj-readlock/lib/libc/locale/Makefile.inc
  user/attilio/vmobj-readlock/lib/libc/locale/Symbol.map
  user/attilio/vmobj-readlock/lib/libc/locale/mbrtowc.3
  user/attilio/vmobj-readlock/lib/libc/locale/wcrtomb.3
  user/attilio/vmobj-readlock/lib/libc/locale/xlocale_private.h
  user/attilio/vmobj-readlock/lib/libc/net/getifaddrs.3
  user/attilio/vmobj-readlock/lib/libc/net/getifmaddrs.3
  user/attilio/vmobj-readlock/lib/libc/sys/setfib.2
  user/attilio/vmobj-readlock/release/doc/en_US.ISO8859-1/hardware/Makefile
  user/attilio/vmobj-readlock/release/doc/ja_JP.eucJP/hardware/alpha/Makefile
  user/attilio/vmobj-readlock/release/doc/ja_JP.eucJP/hardware/amd64/Makefile
  user/attilio/vmobj-readlock/release/doc/ja_JP.eucJP/hardware/i386/Makefile
  user/attilio/vmobj-readlock/release/doc/ja_JP.eucJP/hardware/ia64/Makefile
  user/attilio/vmobj-readlock/release/doc/ja_JP.eucJP/hardware/pc98/Makefile
  user/attilio/vmobj-readlock/release/doc/ja_JP.eucJP/hardware/sparc64/Makefile
  user/attilio/vmobj-readlock/release/doc/ja_JP.eucJP/share/xml/catalog
  user/attilio/vmobj-readlock/release/doc/ja_JP.eucJP/share/xml/catalog.xml
  user/attilio/vmobj-readlock/release/doc/ru_RU.KOI8-R/hardware/alpha/Makefile
  user/attilio/vmobj-readlock/release/doc/ru_RU.KOI8-R/hardware/amd64/Makefile
  user/attilio/vmobj-readlock/release/doc/ru_RU.KOI8-R/hardware/i386/Makefile
  user/attilio/vmobj-readlock/release/doc/ru_RU.KOI8-R/hardware/ia64/Makefile
  user/attilio/vmobj-readlock/release/doc/ru_RU.KOI8-R/hardware/pc98/Makefile
  user/attilio/vmobj-readlock/release/doc/ru_RU.KOI8-R/hardware/sparc64/Makefile
  user/attilio/vmobj-readlock/release/doc/ru_RU.KOI8-R/share/xml/catalog
  user/attilio/vmobj-readlock/release/doc/ru_RU.KOI8-R/share/xml/catalog.xml
  user/attilio/vmobj-readlock/release/doc/zh_CN.GB2312/hardware/Makefile
  user/attilio/vmobj-readlock/sbin/hastd/hast.h
  user/attilio/vmobj-readlock/sbin/hastd/parse.y
  user/attilio/vmobj-readlock/sbin/hastd/token.l
  user/attilio/vmobj-readlock/share/i18n/csmapper/Makefile
  user/attilio/vmobj-readlock/share/i18n/esdb/Makefile
  user/attilio/vmobj-readlock/share/man/man5/src.conf.5
  user/attilio/vmobj-readlock/share/man/man9/locking.9
  user/attilio/vmobj-readlock/share/misc/bsd-family-tree
  user/attilio/vmobj-readlock/sys/dev/mps/mps_user.c
  user/attilio/vmobj-readlock/sys/dev/xen/netfront/netfront.c
  user/attilio/vmobj-readlock/sys/kern/kern_poll.c
  user/attilio/vmobj-readlock/sys/kern/uipc_usrreq.c
  user/attilio/vmobj-readlock/sys/net/ppp_defs.h
  user/attilio/vmobj-readlock/sys/sys/timex.h
  user/attilio/vmobj-readlock/sys/ufs/ffs/ffs_softdep.c
  user/attilio/vmobj-readlock/sys/xen/xenbus/xenbusb.c
  user/attilio/vmobj-readlock/tools/regression/lib/libc/gen/Makefile
  user/attilio/vmobj-readlock/tools/regression/lib/libc/locale/Makefile
  user/attilio/vmobj-readlock/tools/tools/ath/athalq/main.c
  user/attilio/vmobj-readlock/tools/tools/makeroot/makeroot.8
  user/attilio/vmobj-readlock/usr.bin/bmake/Makefile
  user/attilio/vmobj-readlock/usr.bin/lex/Makefile
  user/attilio/vmobj-readlock/usr.bin/lex/config.h
  user/attilio/vmobj-readlock/usr.bin/lex/initscan.c
  user/attilio/vmobj-readlock/usr.bin/lex/lex.1
  user/attilio/vmobj-readlock/usr.bin/lex/lib/Makefile
  user/attilio/vmobj-readlock/usr.bin/split/split.c
  user/attilio/vmobj-readlock/usr.sbin/acpi/acpidb/Makefile
  user/attilio/vmobj-readlock/usr.sbin/acpi/iasl/Makefile
  user/attilio/vmobj-readlock/usr.sbin/mergemaster/mergemaster.sh
  user/attilio/vmobj-readlock/usr.sbin/pkg_install/version/pkg_version.1
Directory Properties:
  user/attilio/vmobj-readlock/   (props changed)
  user/attilio/vmobj-readlock/cddl/   (props changed)
  user/attilio/vmobj-readlock/cddl/contrib/opensolaris/   (props changed)
  user/attilio/vmobj-readlock/contrib/bmake/   (props changed)
  user/attilio/vmobj-readlock/crypto/heimdal/   (props changed)
  user/attilio/vmobj-readlock/lib/libc/   (props changed)
  user/attilio/vmobj-readlock/sbin/   (props changed)
  user/attilio/vmobj-readlock/sys/   (props changed)

Modified: user/attilio/vmobj-readlock/MAINTAINERS
==============================================================================
--- user/attilio/vmobj-readlock/MAINTAINERS	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/MAINTAINERS	Thu May 23 00:52:48 2013	(r250923)
@@ -28,6 +28,7 @@ MAC Framework	rwatson	Pre-commit review 
 MAC Modules	rwatson	Pre-commit review requested.
 contrib/openbsm	rwatson	Pre-commit review requested.
 sys/security/audit	rwatson	Pre-commit review requested.
+ath(4)		adrian	Pre-commit review requested, send to freebsd-wireless@freebsd.org
 ahc(4)		gibbs	Pre-commit review requested.
 ahd(4)		gibbs	Pre-commit review requested.
 PC Card		imp	Pre-commit review requested.
@@ -63,6 +64,7 @@ procfs		des	Pre-commit review requested.
 linprocfs	des	Pre-commit review requested.
 lpr		gad	Pre-commit review requested, particularly for
 			lpd/recvjob.c and lpd/printjob.c.
+net80211	adrian	Pre-commit review requested, send to freebsd-wireless@freebsd.org
 nvi		peter	Try not to break it.
 libz		peter	Try not to break it.
 groff		ru	Recommends pre-commit review.

Modified: user/attilio/vmobj-readlock/Makefile.inc1
==============================================================================
--- user/attilio/vmobj-readlock/Makefile.inc1	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/Makefile.inc1	Thu May 23 00:52:48 2013	(r250923)
@@ -366,10 +366,12 @@ LIB32WMAKEFLAGS=	\
 
 
 LIB32FLAGS=	-m32 ${LIB32CPUFLAGS} -DCOMPAT_32BIT \
-		--sysroot=${WORLDTMP} \
 		-isystem ${LIB32TMP}/usr/include/ \
 		-L${LIB32TMP}/usr/lib32 \
 		-B${LIB32TMP}/usr/lib32
+.if ${XCC:M/*}
+LIB32FLAGS+=		--sysroot=${WORLDTMP}
+.endif
 
 # Yes, the flags are redundant.
 LIB32WMAKEENV+=	MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \
@@ -1032,8 +1034,10 @@ distributekernel distributekernel.debug:
 	    ${IMAKE_MTREE} PATH=${TMPPATH} ${MAKE} KERNEL=${INSTKERNNAME} \
 	    DESTDIR=${INSTALL_DDIR:S://:/:g:C:/$::}/kernel \
 	    ${.TARGET:S/distributekernel/install/}
+.if defined(NO_ROOT)
 	sed -e 's|^./kernel|.|' ${DESTDIR}/${DISTDIR}/kernel.premeta > \
 	    ${DESTDIR}/${DISTDIR}/kernel.meta
+.endif
 .for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//}
 .if defined(NO_ROOT)
 	echo "#${MTREE_MAGIC}" > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.premeta
@@ -1202,6 +1206,10 @@ _sed=		usr.bin/sed
 _lex=		usr.bin/lex
 .endif
 
+.if ${BOOTSTRAPPING} < 1000002
+_m4=		usr.bin/m4
+.endif
+
 .if ${BOOTSTRAPPING} < 1000013
 _yacc=		lib/liby \
 		usr.bin/yacc
@@ -1279,6 +1287,7 @@ bootstrap-tools:
     usr.bin/rpcgen \
     ${_sed} \
     ${_yacc} \
+    ${_m4} \
     ${_lex} \
     lib/libmd \
     usr.bin/xinstall \

Modified: user/attilio/vmobj-readlock/ObsoleteFiles.inc
==============================================================================
--- user/attilio/vmobj-readlock/ObsoleteFiles.inc	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/ObsoleteFiles.inc	Thu May 23 00:52:48 2013	(r250923)
@@ -38,6 +38,8 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20130417: nfs fha moved from nfsserver to nfs
+OLD_FILES+=usr/include/nfsserver/nfs_fha.h
 # 20130411: new clang import which bumps version from 3.2 to 3.3.
 OLD_FILES+=usr/include/clang/3.2/__wmmintrin_aes.h
 OLD_FILES+=usr/include/clang/3.2/__wmmintrin_pclmul.h

Modified: user/attilio/vmobj-readlock/UPDATING
==============================================================================
--- user/attilio/vmobj-readlock/UPDATING	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/UPDATING	Thu May 23 00:52:48 2013	(r250923)
@@ -31,6 +31,18 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20130516:
+	Use bmake by default.
+	Whereas before one could choose to build with bmake via
+	-DWITH_BMAKE one must now use -DWITHOUT_BMAKE to use the old
+	make. The goal is to remove these knobs for 10-RELEASE.
+
+	It is worth noting that bmake (like gmake) treats the command
+	line as the unit of failure, rather than statements within the
+	command line.  Thus '(cd some/where && dosomething)' is safer
+	than 'cd some/where; dosomething'. The '()' allows consistent
+	behavior in parallel build.
+
 20130429:
         Fix a bug that allows NFS clients to issue READDIR on files.
 

Modified: user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cg.c
==============================================================================
--- user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cg.c	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cg.c	Thu May 23 00:52:48 2013	(r250923)
@@ -19,12 +19,15 @@
  *
  * CDDL HEADER END
  */
+
 /*
  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
+/*
+ * Copyright (c) 2012 by Delphix. All rights reserved.
+ */
 
 #include <sys/types.h>
 #include <sys/sysmacros.h>
@@ -193,9 +196,6 @@ dt_cg_ptrsize(dt_node_t *dnp, dt_irlist_
 	ssize_t size;
 	int sreg;
 
-	if ((sreg = dt_regset_alloc(drp)) == -1)
-		longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
-
 	type = ctf_type_resolve(ctfp, dnp->dn_type);
 	kind = ctf_type_kind(ctfp, type);
 	assert(kind == CTF_K_POINTER || kind == CTF_K_ARRAY);
@@ -212,6 +212,7 @@ dt_cg_ptrsize(dt_node_t *dnp, dt_irlist_
 	if ((size = ctf_type_size(ctfp, type)) == 1)
 		return; /* multiply or divide by one can be omitted */
 
+	sreg = dt_regset_alloc(drp);
 	dt_cg_setx(dlp, sreg, size);
 	instr = DIF_INSTR_FMT(op, dreg, sreg, dreg);
 	dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
@@ -251,9 +252,7 @@ dt_cg_field_get(dt_node_t *dnp, dt_irlis
 
 	assert(dnp->dn_op == DT_TOK_PTR || dnp->dn_op == DT_TOK_DOT);
 	r1 = dnp->dn_left->dn_reg;
-
-	if ((r2 = dt_regset_alloc(drp)) == -1)
-		longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
+	r2 = dt_regset_alloc(drp);
 
 	/*
 	 * On little-endian architectures, ctm_offset counts from the right so
@@ -356,10 +355,9 @@ dt_cg_field_set(dt_node_t *src, dt_irlis
 		    "bits %u\n", m.ctm_offset, m.ctm_type, e.cte_bits);
 	}
 
-	if ((r1 = dt_regset_alloc(drp)) == -1 ||
-	    (r2 = dt_regset_alloc(drp)) == -1 ||
-	    (r3 = dt_regset_alloc(drp)) == -1)
-		longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
+	r1 = dt_regset_alloc(drp);
+	r2 = dt_regset_alloc(drp);
+	r3 = dt_regset_alloc(drp);
 
 	/*
 	 * Compute shifts and masks.  We need to compute "shift" as the amount
@@ -423,8 +421,7 @@ dt_cg_store(dt_node_t *src, dt_irlist_t 
 		size = dt_node_type_size(src);
 
 	if (src->dn_flags & DT_NF_REF) {
-		if ((reg = dt_regset_alloc(drp)) == -1)
-			longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
+		reg = dt_regset_alloc(drp);
 		dt_cg_setx(dlp, reg, size);
 		instr = DIF_INSTR_COPYS(src->dn_reg, reg, dst->dn_reg);
 		dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
@@ -474,30 +471,58 @@ dt_cg_typecast(const dt_node_t *src, con
 	size_t dstsize = dt_node_type_size(dst);
 
 	dif_instr_t instr;
-	int reg, n;
+	int rg;
 
-	if (dt_node_is_scalar(dst) && (dstsize < srcsize ||
-	    (src->dn_flags & DT_NF_SIGNED) ^ (dst->dn_flags & DT_NF_SIGNED))) {
-		if ((reg = dt_regset_alloc(drp)) == -1)
-			longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
+	if (!dt_node_is_scalar(dst))
+		return; /* not a scalar */
+	if (dstsize == srcsize &&
+	    ((src->dn_flags ^ dst->dn_flags) & DT_NF_SIGNED) != 0)
+		return; /* not narrowing or changing signed-ness */
+	if (dstsize > srcsize && (src->dn_flags & DT_NF_SIGNED) == 0)
+		return; /* nothing to do in this case */
 
-		if (dstsize < srcsize)
-			n = sizeof (uint64_t) * NBBY - dstsize * NBBY;
-		else
-			n = sizeof (uint64_t) * NBBY - srcsize * NBBY;
+	rg = dt_regset_alloc(drp);
+
+	if (dstsize > srcsize) {
+		int n = sizeof (uint64_t) * NBBY - srcsize * NBBY;
+		int s = (dstsize - srcsize) * NBBY;
 
-		dt_cg_setx(dlp, reg, n);
+		dt_cg_setx(dlp, rg, n);
 
-		instr = DIF_INSTR_FMT(DIF_OP_SLL,
-		    src->dn_reg, reg, dst->dn_reg);
+		instr = DIF_INSTR_FMT(DIF_OP_SLL, src->dn_reg, rg, dst->dn_reg);
 		dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
 
-		instr = DIF_INSTR_FMT((dst->dn_flags & DT_NF_SIGNED) ?
-		    DIF_OP_SRA : DIF_OP_SRL, dst->dn_reg, reg, dst->dn_reg);
+		if ((dst->dn_flags & DT_NF_SIGNED) || n == s) {
+			instr = DIF_INSTR_FMT(DIF_OP_SRA,
+			    dst->dn_reg, rg, dst->dn_reg);
+			dt_irlist_append(dlp,
+			    dt_cg_node_alloc(DT_LBL_NONE, instr));
+		} else {
+			dt_cg_setx(dlp, rg, s);
+			instr = DIF_INSTR_FMT(DIF_OP_SRA,
+			    dst->dn_reg, rg, dst->dn_reg);
+			dt_irlist_append(dlp,
+			    dt_cg_node_alloc(DT_LBL_NONE, instr));
+			dt_cg_setx(dlp, rg, n - s);
+			instr = DIF_INSTR_FMT(DIF_OP_SRL,
+			    dst->dn_reg, rg, dst->dn_reg);
+			dt_irlist_append(dlp,
+			    dt_cg_node_alloc(DT_LBL_NONE, instr));
+		}
+	} else if (dstsize != sizeof (uint64_t)) {
+		int n = sizeof (uint64_t) * NBBY - dstsize * NBBY;
+
+		dt_cg_setx(dlp, rg, n);
 
+		instr = DIF_INSTR_FMT(DIF_OP_SLL, src->dn_reg, rg, dst->dn_reg);
+		dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
+
+		instr = DIF_INSTR_FMT((dst->dn_flags & DT_NF_SIGNED) ?
+		    DIF_OP_SRA : DIF_OP_SRL, dst->dn_reg, rg, dst->dn_reg);
 		dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
-		dt_regset_free(drp, reg);
 	}
+
+	dt_regset_free(drp, rg);
 }
 
 /*
@@ -523,8 +548,7 @@ dt_cg_arglist(dt_ident_t *idp, dt_node_t
 	for (dnp = args; dnp != NULL; dnp = dnp->dn_list)
 		dt_cg_node(dnp, dlp, drp);
 
-	dt_irlist_append(dlp,
-	    dt_cg_node_alloc(DT_LBL_NONE, DIF_INSTR_FLUSHTS));
+	dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, DIF_INSTR_FLUSHTS));
 
 	for (dnp = args; dnp != NULL; dnp = dnp->dn_list, i++) {
 		dtrace_diftype_t t;
@@ -538,17 +562,18 @@ dt_cg_arglist(dt_ident_t *idp, dt_node_t
 		dt_cg_typecast(dnp, &isp->dis_args[i], dlp, drp);
 		isp->dis_args[i].dn_reg = -1;
 
-		if (t.dtdt_flags & DIF_TF_BYREF)
+		if (t.dtdt_flags & DIF_TF_BYREF) {
 			op = DIF_OP_PUSHTR;
-		else
+			if (t.dtdt_size != 0) {
+				reg = dt_regset_alloc(drp);
+				dt_cg_setx(dlp, reg, t.dtdt_size);
+			} else {
+				reg = DIF_REG_R0;
+			}
+		} else {
 			op = DIF_OP_PUSHTV;
-
-		if (t.dtdt_size != 0) {
-			if ((reg = dt_regset_alloc(drp)) == -1)
-				longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
-			dt_cg_setx(dlp, reg, t.dtdt_size);
-		} else
 			reg = DIF_REG_R0;
+		}
 
 		instr = DIF_INSTR_PUSHTS(op, t.dtdt_kind, reg, dnp->dn_reg);
 		dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
@@ -629,9 +654,7 @@ dt_cg_prearith_op(dt_node_t *dnp, dt_irl
 	dt_cg_node(dnp->dn_child, dlp, drp);
 	dnp->dn_reg = dnp->dn_child->dn_reg;
 
-	if ((reg = dt_regset_alloc(drp)) == -1)
-		longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
-
+	reg = dt_regset_alloc(drp);
 	dt_cg_setx(dlp, reg, size);
 
 	instr = DIF_INSTR_FMT(op, dnp->dn_reg, reg, dnp->dn_reg);
@@ -688,9 +711,7 @@ dt_cg_postarith_op(dt_node_t *dnp, dt_ir
 	dt_cg_node(dnp->dn_child, dlp, drp);
 	dnp->dn_reg = dnp->dn_child->dn_reg;
 
-	if ((nreg = dt_regset_alloc(drp)) == -1)
-		longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
-
+	nreg = dt_regset_alloc(drp);
 	dt_cg_setx(dlp, nreg, size);
 	instr = DIF_INSTR_FMT(op, dnp->dn_reg, nreg, nreg);
 	dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
@@ -1008,9 +1029,7 @@ dt_cg_asgn_op(dt_node_t *dnp, dt_irlist_
 		 * set it to the size of our data structure, and then replace
 		 * it with the result of an allocs of the specified size.
 		 */
-		if ((r1 = dt_regset_alloc(drp)) == -1)
-			longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
-
+		r1 = dt_regset_alloc(drp);
 		dt_cg_setx(dlp, r1,
 		    ctf_type_size(dxp->dx_dst_ctfp, dxp->dx_dst_base));
 
@@ -1054,8 +1073,7 @@ dt_cg_asgn_op(dt_node_t *dnp, dt_irlist_
 			 * and add r1 to it before storing the result.
 			 */
 			if (ctm.ctm_offset != 0) {
-				if ((r2 = dt_regset_alloc(drp)) == -1)
-					longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
+				r2 = dt_regset_alloc(drp);
 
 				/*
 				 * Add the member offset rounded down to the
@@ -1142,8 +1160,7 @@ dt_cg_assoc_op(dt_node_t *dnp, dt_irlist
 
 	dt_cg_arglist(dnp->dn_ident, dnp->dn_args, dlp, drp);
 
-	if ((dnp->dn_reg = dt_regset_alloc(drp)) == -1)
-		longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
+	dnp->dn_reg = dt_regset_alloc(drp);
 
 	if (dnp->dn_ident->di_flags & DT_IDFLG_TLS)
 		op = DIF_OP_LDTAA;
@@ -1273,9 +1290,7 @@ dt_cg_array_op(dt_node_t *dnp, dt_irlist
 	if ((size = dt_node_type_size(dnp)) == sizeof (uint64_t))
 		return;
 
-	if ((reg = dt_regset_alloc(drp)) == -1)
-		longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
-
+	reg = dt_regset_alloc(drp);
 	assert(size < sizeof (uint64_t));
 	n = sizeof (uint64_t) * NBBY - size * NBBY;
 
@@ -1384,7 +1399,6 @@ dt_cg_node(dt_node_t *dnp, dt_irlist_t *
 	dt_ident_t *idp;
 	ssize_t stroff;
 	uint_t op;
-	int reg;
 
 	switch (dnp->dn_op) {
 	case DT_TOK_COMMA:
@@ -1622,10 +1636,7 @@ dt_cg_node(dt_node_t *dnp, dt_irlist_t *
 
 	case DT_TOK_SIZEOF: {
 		size_t size = dt_node_sizeof(dnp->dn_child);
-
-		if ((dnp->dn_reg = dt_regset_alloc(drp)) == -1)
-			longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
-
+		dnp->dn_reg = dt_regset_alloc(drp);
 		assert(size != 0);
 		dt_cg_setx(dlp, dnp->dn_reg, size);
 		break;
@@ -1650,8 +1661,7 @@ dt_cg_node(dt_node_t *dnp, dt_irlist_t *
 			assert(dxp->dx_ident->di_flags & DT_IDFLG_CGREG);
 			assert(dxp->dx_ident->di_id != 0);
 
-			if ((dnp->dn_reg = dt_regset_alloc(drp)) == -1)
-				longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
+			dnp->dn_reg = dt_regset_alloc(drp);
 
 			if (dxp->dx_arg == -1) {
 				instr = DIF_INSTR_MOV(
@@ -1735,8 +1745,9 @@ dt_cg_node(dt_node_t *dnp, dt_irlist_t *
 		}
 
 		if (m.ctm_offset != 0) {
-			if ((reg = dt_regset_alloc(drp)) == -1)
-				longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
+			int reg;
+
+			reg = dt_regset_alloc(drp);
 
 			/*
 			 * If the offset is not aligned on a byte boundary, it
@@ -1782,8 +1793,7 @@ dt_cg_node(dt_node_t *dnp, dt_irlist_t *
 		break;
 
 	case DT_TOK_STRING:
-		if ((dnp->dn_reg = dt_regset_alloc(drp)) == -1)
-			longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
+		dnp->dn_reg = dt_regset_alloc(drp);
 
 		assert(dnp->dn_kind == DT_NODE_STRING);
 		stroff = dt_strtab_insert(yypcb->pcb_strtab, dnp->dn_string);
@@ -1806,8 +1816,7 @@ dt_cg_node(dt_node_t *dnp, dt_irlist_t *
 		 */
 		if (dnp->dn_kind == DT_NODE_VAR &&
 		    (dnp->dn_ident->di_flags & DT_IDFLG_CGREG)) {
-			if ((dnp->dn_reg = dt_regset_alloc(drp)) == -1)
-				longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
+			dnp->dn_reg = dt_regset_alloc(drp);
 			instr = DIF_INSTR_MOV(dnp->dn_ident->di_id,
 			    dnp->dn_reg);
 			dt_irlist_append(dlp,
@@ -1848,11 +1857,9 @@ dt_cg_node(dt_node_t *dnp, dt_irlist_t *
 
 			dt_cg_arglist(dnp->dn_ident, dnp->dn_args, dlp, drp);
 
-			if ((dnp->dn_reg = dt_regset_alloc(drp)) == -1)
-				longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
-
-			instr = DIF_INSTR_CALL(
-			    dnp->dn_ident->di_id, dnp->dn_reg);
+			dnp->dn_reg = dt_regset_alloc(drp);
+			instr = DIF_INSTR_CALL(dnp->dn_ident->di_id,
+			    dnp->dn_reg);
 
 			dt_irlist_append(dlp,
 			    dt_cg_node_alloc(DT_LBL_NONE, instr));
@@ -1880,8 +1887,7 @@ dt_cg_node(dt_node_t *dnp, dt_irlist_t *
 				break;
 			}
 
-			if ((dnp->dn_reg = dt_regset_alloc(drp)) == -1)
-				longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
+			dnp->dn_reg = dt_regset_alloc(drp);
 
 			if (dnp->dn_ident->di_flags & DT_IDFLG_LOCAL)
 				op = DIF_OP_LDLS;
@@ -1911,9 +1917,7 @@ dt_cg_node(dt_node_t *dnp, dt_irlist_t *
 				    dtrace_errmsg(dtp, dtrace_errno(dtp)));
 			}
 
-			if ((dnp->dn_reg = dt_regset_alloc(drp)) == -1)
-				longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
-
+			dnp->dn_reg = dt_regset_alloc(drp);
 			dt_cg_xsetx(dlp, dnp->dn_ident,
 			    DT_LBL_NONE, dnp->dn_reg, sym.st_value);
 
@@ -1933,9 +1937,7 @@ dt_cg_node(dt_node_t *dnp, dt_irlist_t *
 		break;
 
 	case DT_TOK_INT:
-		if ((dnp->dn_reg = dt_regset_alloc(drp)) == -1)
-			longjmp(yypcb->pcb_jmpbuf, EDT_NOREG);
-
+		dnp->dn_reg = dt_regset_alloc(drp);
 		dt_cg_setx(dlp, dnp->dn_reg, dnp->dn_value);
 		break;
 
@@ -1950,6 +1952,7 @@ dt_cg(dt_pcb_t *pcb, dt_node_t *dnp)
 {
 	dif_instr_t instr;
 	dt_xlator_t *dxp;
+	dt_ident_t *idp;
 
 	if (pcb->pcb_regs == NULL && (pcb->pcb_regs =
 	    dt_regset_create(pcb->pcb_hdl->dt_conf.dtc_difintregs)) == NULL)
@@ -1976,9 +1979,9 @@ dt_cg(dt_pcb_t *pcb, dt_node_t *dnp)
 	assert(pcb->pcb_dret == NULL);
 	pcb->pcb_dret = dnp;
 
-	if (dt_node_is_dynamic(dnp)) {
+	if (dt_node_resolve(dnp, DT_IDENT_XLPTR) != NULL) {
 		dnerror(dnp, D_CG_DYN, "expression cannot evaluate to result "
-		    "of dynamic type\n");
+		    "of a translated pointer\n");
 	}
 
 	/*
@@ -1994,6 +1997,7 @@ dt_cg(dt_pcb_t *pcb, dt_node_t *dnp)
 	}
 
 	dt_cg_node(dnp, &pcb->pcb_ir, pcb->pcb_regs);
+
 	instr = DIF_INSTR_RET(dnp->dn_reg);
 	dt_regset_free(pcb->pcb_regs, dnp->dn_reg);
 	dt_irlist_append(&pcb->pcb_ir, dt_cg_node_alloc(DT_LBL_NONE, instr));
@@ -2003,4 +2007,7 @@ dt_cg(dt_pcb_t *pcb, dt_node_t *dnp)
 		dxp->dx_ident->di_id = 0;
 		dxp->dx_ident->di_flags &= ~DT_IDFLG_CGREG;
 	}
+
+	dt_regset_free(pcb->pcb_regs, 0);
+	dt_regset_assert_free(pcb->pcb_regs);
 }

Modified: user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dis.c
==============================================================================
--- user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dis.c	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dis.c	Thu May 23 00:52:48 2013	(r250923)
@@ -19,12 +19,15 @@
  *
  * CDDL HEADER END
  */
+
 /*
  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
+/*
+ * Copyright (c) 2012 by Delphix. All rights reserved.
+ */
 
 #include <strings.h>
 #include <stdio.h>
@@ -212,12 +215,22 @@ dt_dis_pushts(const dtrace_difo_t *dp,
 {
 	static const char *const tnames[] = { "D type", "string" };
 	uint_t type = DIF_INSTR_TYPE(in);
+	const char *pad;
 
-	(void) fprintf(fp, "%-4s DT_TYPE(%u), %%r%u, %%r%u",
-	    name, type, DIF_INSTR_R2(in), DIF_INSTR_RS(in));
+	if (DIF_INSTR_OP(in) == DIF_OP_PUSHTV) {
+		(void) fprintf(fp, "%-4s DT_TYPE(%u), %%r%u",
+		    name, type, DIF_INSTR_RS(in));
+		pad = "\t\t";
+	} else {
+		(void) fprintf(fp, "%-4s DT_TYPE(%u), %%r%u, %%r%u",
+		    name, type, DIF_INSTR_R2(in), DIF_INSTR_RS(in));
+		pad = "\t";
+	}
 
-	if (type < sizeof (tnames) / sizeof (tnames[0]))
-		(void) fprintf(fp, "\t! DT_TYPE(%u) = %s", type, tnames[type]);
+	if (type < sizeof (tnames) / sizeof (tnames[0])) {
+		(void) fprintf(fp, "%s! DT_TYPE(%u) = %s", pad,
+		    type, tnames[type]);
+	}
 }
 
 static void

Modified: user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_error.c
==============================================================================
--- user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_error.c	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_error.c	Thu May 23 00:52:48 2013	(r250923)
@@ -23,6 +23,10 @@
  * Use is subject to license terms.
  */
 
+/*
+ * Copyright (c) 2012 by Delphix. All rights reserved.
+ */
+
 #include <string.h>
 #include <strings.h>
 #include <dt_impl.h>
@@ -37,7 +41,6 @@ static const struct {
 	{ EDT_VERSREDUCED, "Requested version conflicts with earlier setting" },
 	{ EDT_CTF,	"Unexpected libctf error" },
 	{ EDT_COMPILER, "Error in D program compilation" },
-	{ EDT_NOREG,	"Insufficient registers to generate code" },
 	{ EDT_NOTUPREG,	"Insufficient tuple registers to generate code" },
 	{ EDT_NOMEM,	"Memory allocation failure" },
 	{ EDT_INT2BIG,	"Integer constant table limit exceeded" },

Modified: user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_errtags.h
==============================================================================
--- user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_errtags.h	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_errtags.h	Thu May 23 00:52:48 2013	(r250923)
@@ -26,7 +26,7 @@
 
  /*
   * Copyright (c) 2011, Joyent, Inc. All rights reserved.
-  * Copyright (c) 2011 by Delphix. All rights reserved.
+  * Copyright (c) 2012 by Delphix. All rights reserved.
   */
 
 #ifndef	_DT_ERRTAGS_H
@@ -260,6 +260,7 @@ typedef enum {
 	D_LLQUANT_FACTOREVEN,		/* llquantize() bad # steps/factor */
 	D_LLQUANT_FACTORSMALL,		/* llquantize() magnitude too small */
 	D_LLQUANT_MAGTOOBIG,		/* llquantize() high mag too large */
+	D_NOREG,			/* no available internal registers */
 	D_PRINTM_ADDR,			/* printm() memref bad type */
 	D_PRINTM_SIZE,			/* printm() size bad type */
 	D_PRINTT_ADDR,			/* printt() typeref bad type */

Modified: user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_regset.c
==============================================================================
--- user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_regset.c	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_regset.c	Thu May 23 00:52:48 2013	(r250923)
@@ -19,12 +19,15 @@
  *
  * CDDL HEADER END
  */
+
 /*
  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
+/*
+ * Copyright (c) 2012 by Delphix. All rights reserved.
+ */
 
 #include <sys/types.h>
 #include <sys/bitmap.h>
@@ -33,18 +36,19 @@
 #include <stdlib.h>
 
 #include <dt_regset.h>
+#include <dt_impl.h>
 
 dt_regset_t *
-dt_regset_create(ulong_t size)
+dt_regset_create(ulong_t nregs)
 {
-	ulong_t n = BT_BITOUL(size + 1); /* + 1 for %r0 */
+	ulong_t n = BT_BITOUL(nregs);
 	dt_regset_t *drp = malloc(sizeof (dt_regset_t));
 
 	if (drp == NULL)
 		return (NULL);
 
 	drp->dr_bitmap = malloc(sizeof (ulong_t) * n);
-	drp->dr_size = size + 1;
+	drp->dr_size = nregs;
 
 	if (drp->dr_bitmap == NULL) {
 		dt_regset_destroy(drp);
@@ -68,6 +72,25 @@ dt_regset_reset(dt_regset_t *drp)
 	bzero(drp->dr_bitmap, sizeof (ulong_t) * BT_BITOUL(drp->dr_size));
 }
 
+void
+dt_regset_assert_free(dt_regset_t *drp)
+{
+	int reg;
+	boolean_t fail = B_FALSE;
+	for (reg = 0; reg < drp->dr_size; reg++) {
+		if (BT_TEST(drp->dr_bitmap, reg) != 0)  {
+			dt_dprintf("%%r%d was left allocated\n", reg);
+			fail = B_TRUE;
+		}
+	}
+
+	/*
+	 * We set this during dtest runs to check for register leaks.
+	 */
+	if (fail && getenv("DTRACE_DEBUG_REGSET") != NULL)
+		abort();
+}
+
 int
 dt_regset_alloc(dt_regset_t *drp)
 {
@@ -95,13 +118,15 @@ dt_regset_alloc(dt_regset_t *drp)
 		}
 	}
 
-	return (-1); /* no available registers */
+	xyerror(D_NOREG, "Insufficient registers to generate code");
+	/*NOTREACHED*/
+	return (-1);
 }
 
 void
 dt_regset_free(dt_regset_t *drp, int reg)
 {
-	assert(reg > 0 && reg < drp->dr_size);
+	assert(reg >= 0 && reg < drp->dr_size);
 	assert(BT_TEST(drp->dr_bitmap, reg) != 0);
 	BT_CLEAR(drp->dr_bitmap, reg);
 }

Modified: user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_regset.h
==============================================================================
--- user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_regset.h	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/cddl/contrib/opensolaris/lib/libdtrace/common/dt_regset.h	Thu May 23 00:52:48 2013	(r250923)
@@ -19,16 +19,19 @@
  *
  * CDDL HEADER END
  */
+
 /*
  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
+/*
+ * Copyright (c) 2012 by Delphix. All rights reserved.
+ */
+
 #ifndef	_DT_REGSET_H
 #define	_DT_REGSET_H
 
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
 #include <sys/types.h>
 
 #ifdef	__cplusplus
@@ -45,6 +48,7 @@ extern void dt_regset_destroy(dt_regset_
 extern void dt_regset_reset(dt_regset_t *);
 extern int dt_regset_alloc(dt_regset_t *);
 extern void dt_regset_free(dt_regset_t *, int);
+extern void dt_regset_assert_free(dt_regset_t *);
 
 #ifdef	__cplusplus
 }

Modified: user/attilio/vmobj-readlock/contrib/bmake/ChangeLog
==============================================================================
--- user/attilio/vmobj-readlock/contrib/bmake/ChangeLog	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/contrib/bmake/ChangeLog	Thu May 23 00:52:48 2013	(r250923)
@@ -1,3 +1,17 @@
+2013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
+
+	* Makefile (MAKE_VERSION): 20130520
+	  generate manifest from component FILES rather than have to
+	  update FILES when mk/FILES changes.
+
+2013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
+
+	* Makefile (MAKE_VERSION): 20130518
+	  Merge with NetBSD make, pick up
+	  o suff.c: don't skip all processsing for .PHONY targets
+	    else wildcard srcs do not get expanded.
+	  o var.c: expand name of variable to delete if necessary.
+
 2013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
 
 	* Makefile (MAKE_VERSION): 20130330

Modified: user/attilio/vmobj-readlock/contrib/bmake/FILES
==============================================================================
--- user/attilio/vmobj-readlock/contrib/bmake/FILES	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/contrib/bmake/FILES	Thu May 23 00:52:48 2013	(r250923)
@@ -1,29 +1,26 @@
-FILES
 ChangeLog
-bmake.cat1
-boot-strap
-bsd.after-import.mk
-os.sh
-makefile.in
+FILES
 Makefile
 Makefile.config.in
 PSD.doc/Makefile
 PSD.doc/tutorial.ms
 README
+aclocal.m4
 arch.c
+bmake.1
+bmake.cat1
+boot-strap
+bsd.after-import.mk
 buf.c
 buf.h
 compat.c
 cond.c
-make-conf.h
-make_malloc.c
-make_malloc.h
 config.h.in
 configure
-aclocal.m4
 configure.in
 dir.c
 dir.h
+dirname.c
 find_lib.sh
 for.c
 getopt.c
@@ -32,16 +29,6 @@ hash.h
 install-sh
 job.c
 job.h
-meta.c
-meta.h
-dirname.c
-realpath.c
-strlcpy.c
-strlist.c
-strlist.h
-stresep.c
-trace.c
-trace.h
 lst.h
 lst.lib/Makefile
 lst.lib/lstAppend.c
@@ -74,26 +61,36 @@ lst.lib/lstReplace.c
 lst.lib/lstSucc.c
 machine.sh
 main.c
+make-bootstrap.sh.in
+make-conf.h
 make.1
-bmake.1
 make.c
 make.h
-make-bootstrap.sh.in
+make_malloc.c
+make_malloc.h
+makefile.in
+meta.c
+meta.h
 missing/sys/cdefs.h
 mkdeps.sh
 nonints.h
+os.sh
 parse.c
 pathnames.h
 ranlib.h
+realpath.c
 setenv.c
 sigcompat.c
 sprite.h
 str.c
+stresep.c
+strlcpy.c
+strlist.c
+strlist.h
 suff.c
 targ.c
-util.c
-var.c
-wait.h
+trace.c
+trace.h
 unit-tests/Makefile.in
 unit-tests/comment
 unit-tests/cond1
@@ -123,63 +120,6 @@ unit-tests/test.exp
 unit-tests/unexport
 unit-tests/unexport-env
 unit-tests/varcmd
-mk/ChangeLog
-mk/FILES
-mk/README
-mk/auto.obj.mk
-mk/autoconf.mk
-mk/autodep.mk
-mk/auto.dep.mk
-mk/dep.mk
-mk/doc.mk
-mk/dpadd.mk
-mk/final.mk
-mk/host-target.mk
-mk/host.libnames.mk
-mk/inc.mk
-mk/init.mk
-mk/install-mk
-mk/java.mk
-mk/lib.mk
-mk/libnames.mk
-mk/libs.mk
-mk/links.mk
-mk/man.mk
-mk/mk-files.txt
-mk/nls.mk
-mk/obj.mk
-mk/options.mk
-mk/own.mk
-mk/prlist.mk
-mk/prog.mk
-mk/progs.mk
-mk/rst2htm.mk
-mk/scripts.mk
-mk/srctop.mk
-mk/subdir.mk
-mk/sys.mk
-mk/sys.clean-env.mk
-mk/sys.dependfile.mk
-mk/sys/AIX.mk
-mk/sys/Darwin.mk
-mk/sys/Generic.mk
-mk/sys/HP-UX.mk
-mk/sys/IRIX.mk
-mk/sys/Linux.mk
-mk/sys/NetBSD.mk
-mk/sys/OSF1.mk
-mk/sys/OpenBSD.mk
-mk/sys/SunOS.mk
-mk/sys/UnixWare.mk
-mk/target-flags.mk
-mk/warnings.mk
-mk/yacc.mk
-mk/dirdeps.mk
-mk/gendirdeps.mk
-mk/install-new.mk
-mk/meta2deps.py
-mk/meta2deps.sh
-mk/meta.sys.mk
-mk/meta.autodep.mk
-mk/meta.stage.mk
-mk/meta.subdir.mk
+util.c
+var.c
+wait.h

Modified: user/attilio/vmobj-readlock/contrib/bmake/Makefile
==============================================================================
--- user/attilio/vmobj-readlock/contrib/bmake/Makefile	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/contrib/bmake/Makefile	Thu May 23 00:52:48 2013	(r250923)
@@ -1,7 +1,7 @@
-#	$Id: Makefile,v 1.10 2013/03/31 05:57:19 sjg Exp $
+#	$Id: Makefile,v 1.12 2013/05/20 16:05:10 sjg Exp $
 
 # Base version on src date
-MAKE_VERSION= 20130330
+MAKE_VERSION= 20130520
 
 PROG=	bmake
 

Modified: user/attilio/vmobj-readlock/contrib/bmake/meta.c
==============================================================================
--- user/attilio/vmobj-readlock/contrib/bmake/meta.c	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/contrib/bmake/meta.c	Thu May 23 00:52:48 2013	(r250923)
@@ -1,4 +1,4 @@
-/*      $NetBSD: meta.c,v 1.29 2013/03/31 05:49:51 sjg Exp $ */
+/*      $NetBSD: meta.c,v 1.30 2013/05/16 21:56:56 sjg Exp $ */
 
 /*
  * Implement 'meta' mode.
@@ -543,7 +543,7 @@ boolValue(char *s)
  * Initialization we need before reading makefiles.
  */
 void
-meta_init()
+meta_init(void)
 {
 #ifdef USE_FILEMON
 	/* this allows makefiles to test if we have filemon support */

Modified: user/attilio/vmobj-readlock/contrib/bmake/mk/ChangeLog
==============================================================================
--- user/attilio/vmobj-readlock/contrib/bmake/mk/ChangeLog	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/contrib/bmake/mk/ChangeLog	Thu May 23 00:52:48 2013	(r250923)
@@ -1,3 +1,23 @@
+2013-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
+
+	* install-mk (MK_VERSION): 20130505
+	* gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
+	  for when $MACHINE isn't enough for objdir distinction.
+	  Bring meta2deps.sh closer to par with meta2deps.py.
+
+2013-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
+
+	* meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
+	  also if the target 'beforeinstall' exists, make it depend on
+	  .dirdep (incase it uses STAGE_INSTALL).
+
+2013-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
+
+	* install-mk (MK_VERSION): 20130401 ;-)
+	* meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
+	  wrapper around install(1).
+	* options.mk (OPTION_PREFIX): Allow a prefix other than MK_
+
 2013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
 
 	* meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.

Modified: user/attilio/vmobj-readlock/contrib/bmake/mk/FILES
==============================================================================
--- user/attilio/vmobj-readlock/contrib/bmake/mk/FILES	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/contrib/bmake/mk/FILES	Thu May 23 00:52:48 2013	(r250923)
@@ -31,6 +31,7 @@ progs.mk
 rst2htm.mk
 scripts.mk
 srctop.mk
+stage-install.sh
 subdir.mk
 sys.mk
 sys.clean-env.mk

Modified: user/attilio/vmobj-readlock/contrib/bmake/mk/gendirdeps.mk
==============================================================================
--- user/attilio/vmobj-readlock/contrib/bmake/mk/gendirdeps.mk	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/contrib/bmake/mk/gendirdeps.mk	Thu May 23 00:52:48 2013	(r250923)
@@ -1,4 +1,4 @@
-# $Id: gendirdeps.mk,v 1.21 2013/03/28 20:01:05 sjg Exp $
+# $Id: gendirdeps.mk,v 1.22 2013/05/11 05:16:26 sjg Exp $
 
 # Copyright (c) 2010-2013, Juniper Networks, Inc.
 # All rights reserved.
@@ -111,13 +111,24 @@ _py_d =
 .if ${META2DEPS:E} == "py"
 # we can afford to do this all the time.
 DPDEPS ?= no
-META2DEPS_CMD = ${_time} ${PYTHON} ${META2DEPS} ${_py_d} \
-	-R ${RELDIR} -H ${HOST_TARGET} \
-	${M2D_OBJROOTS:O:u:@o@-O $o@}
-
+META2DEPS_CMD = ${_time} ${PYTHON} ${META2DEPS} ${_py_d} 
 .if ${DPDEPS:tl} != "no"
 META2DEPS_CMD += -D ${DPDEPS}
 .endif
+META2DEPS_FILTER = sed 's,^src:,${SRCTOP}/,;s,^\([^/]\),${OBJTOP}/\1,' |
+.elif ${META2DEPS:E} == "sh"
+META2DEPS_CMD = ${_time} ${_sh_x} ${META2DEPS} OBJTOP=${_OBJTOP}
+.else
+META2DEPS_CMD ?= ${META2DEPS}
+.endif
+
+.if ${TARGET_OBJ_SPEC:U${MACHINE}} != ${MACHINE}
+META2DEPS_CMD += -T ${TARGET_OBJ_SPEC}
+.endif
+META2DEPS_CMD += \
+	-R ${RELDIR} -H ${HOST_TARGET} \
+	${M2D_OBJROOTS:O:u:@o@-O $o@}
+
 
 M2D_OBJROOTS += ${OBJTOP} ${_OBJROOT} ${_objroot}
 .if defined(SB_OBJROOT)
@@ -133,13 +144,6 @@ META2DEPS_ARGS += MACHINE=none
 META2DEPS_CMD += -S ${SB_BACKING_SB}/src 
 M2D_OBJROOTS += ${SB_BACKING_SB}/${SB_OBJPREFIX}
 .endif
-META2DEPS_FILTER = sed 's,^src:,${SRCTOP}/,;s,^\([^/]\),${OBJTOP}/\1,' |
-.elif ${META2DEPS:E} == "sh"
-META2DEPS_CMD = ${_time} ${_sh_x} ${META2DEPS} \
-	OBJTOP=${_objtop} SB_OBJROOT=${_objroot}
-.else
-META2DEPS_CMD ?= ${META2DEPS}
-.endif
 
 # we are only interested in the dirs
 # sepecifically those we read something from.

Modified: user/attilio/vmobj-readlock/contrib/bmake/mk/install-mk
==============================================================================
--- user/attilio/vmobj-readlock/contrib/bmake/mk/install-mk	Thu May 23 00:49:52 2013	(r250922)
+++ user/attilio/vmobj-readlock/contrib/bmake/mk/install-mk	Thu May 23 00:52:48 2013	(r250923)
@@ -55,7 +55,7 @@
 #       Simon J. Gerraty <sjg@crufty.net>
 
 # RCSid:
-#	$Id: install-mk,v 1.88 2013/03/31 22:31:59 sjg Exp $

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



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