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...
Attilio Rao
attilio at FreeBSD.org
Thu May 23 00:52:52 UTC 2013
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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at -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 at -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 at crufty.net>
# RCSid:
-# $Id: install-mk,v 1.88 2013/03/31 22:31:59 sjg Exp $
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-user
mailing list