svn commit: r231126 - in user/attilio/vmcontention: bin/sh contrib/llvm/tools/bugpoint contrib/llvm/tools/llc contrib/llvm/tools/lli contrib/llvm/tools/llvm-ar contrib/llvm/tools/llvm-as contrib/ll...

Attilio Rao attilio at FreeBSD.org
Tue Feb 7 11:28:42 UTC 2012


Author: attilio
Date: Tue Feb  7 11:28:40 2012
New Revision: 231126
URL: http://svn.freebsd.org/changeset/base/231126

Log:
  MFC

Added:
  user/attilio/vmcontention/contrib/llvm/tools/bugpoint/
     - copied from r231125, head/contrib/llvm/tools/bugpoint/
  user/attilio/vmcontention/contrib/llvm/tools/llc/
     - copied from r231125, head/contrib/llvm/tools/llc/
  user/attilio/vmcontention/contrib/llvm/tools/lli/
     - copied from r231125, head/contrib/llvm/tools/lli/
  user/attilio/vmcontention/contrib/llvm/tools/llvm-ar/
     - copied from r231125, head/contrib/llvm/tools/llvm-ar/
  user/attilio/vmcontention/contrib/llvm/tools/llvm-as/
     - copied from r231125, head/contrib/llvm/tools/llvm-as/
  user/attilio/vmcontention/contrib/llvm/tools/llvm-bcanalyzer/
     - copied from r231125, head/contrib/llvm/tools/llvm-bcanalyzer/
  user/attilio/vmcontention/contrib/llvm/tools/llvm-diff/
     - copied from r231125, head/contrib/llvm/tools/llvm-diff/
  user/attilio/vmcontention/contrib/llvm/tools/llvm-dis/
     - copied from r231125, head/contrib/llvm/tools/llvm-dis/
  user/attilio/vmcontention/contrib/llvm/tools/llvm-extract/
     - copied from r231125, head/contrib/llvm/tools/llvm-extract/
  user/attilio/vmcontention/contrib/llvm/tools/llvm-ld/
     - copied from r231125, head/contrib/llvm/tools/llvm-ld/
  user/attilio/vmcontention/contrib/llvm/tools/llvm-link/
     - copied from r231125, head/contrib/llvm/tools/llvm-link/
  user/attilio/vmcontention/contrib/llvm/tools/llvm-mc/
     - copied from r231125, head/contrib/llvm/tools/llvm-mc/
  user/attilio/vmcontention/contrib/llvm/tools/llvm-nm/
     - copied from r231125, head/contrib/llvm/tools/llvm-nm/
  user/attilio/vmcontention/contrib/llvm/tools/llvm-objdump/
     - copied from r231125, head/contrib/llvm/tools/llvm-objdump/
  user/attilio/vmcontention/contrib/llvm/tools/llvm-prof/
     - copied from r231125, head/contrib/llvm/tools/llvm-prof/
  user/attilio/vmcontention/contrib/llvm/tools/llvm-ranlib/
     - copied from r231125, head/contrib/llvm/tools/llvm-ranlib/
  user/attilio/vmcontention/contrib/llvm/tools/llvm-rtdyld/
     - copied from r231125, head/contrib/llvm/tools/llvm-rtdyld/
  user/attilio/vmcontention/contrib/llvm/tools/llvm-stub/
     - copied from r231125, head/contrib/llvm/tools/llvm-stub/
  user/attilio/vmcontention/contrib/llvm/tools/macho-dump/
     - copied from r231125, head/contrib/llvm/tools/macho-dump/
  user/attilio/vmcontention/contrib/llvm/tools/opt/
     - copied from r231125, head/contrib/llvm/tools/opt/
  user/attilio/vmcontention/lib/clang/libllvmarchive/
     - copied from r231125, head/lib/clang/libllvmarchive/
  user/attilio/vmcontention/lib/clang/libllvmdebuginfo/
     - copied from r231125, head/lib/clang/libllvmdebuginfo/
  user/attilio/vmcontention/lib/clang/libllvmexecutionengine/
     - copied from r231125, head/lib/clang/libllvmexecutionengine/
  user/attilio/vmcontention/lib/clang/libllvminterpreter/
     - copied from r231125, head/lib/clang/libllvminterpreter/
  user/attilio/vmcontention/lib/clang/libllvmjit/
     - copied from r231125, head/lib/clang/libllvmjit/
  user/attilio/vmcontention/lib/clang/libllvmlinker/
     - copied from r231125, head/lib/clang/libllvmlinker/
  user/attilio/vmcontention/lib/clang/libllvmmcdisassembler/
     - copied from r231125, head/lib/clang/libllvmmcdisassembler/
  user/attilio/vmcontention/lib/clang/libllvmmcjit/
     - copied from r231125, head/lib/clang/libllvmmcjit/
  user/attilio/vmcontention/lib/clang/libllvmobject/
     - copied from r231125, head/lib/clang/libllvmobject/
  user/attilio/vmcontention/lib/clang/libllvmruntimedyld/
     - copied from r231125, head/lib/clang/libllvmruntimedyld/
  user/attilio/vmcontention/sys/powerpc/ofw/ofw_pci.c
     - copied unchanged from r231125, head/sys/powerpc/ofw/ofw_pci.c
  user/attilio/vmcontention/sys/powerpc/ofw/ofw_pci.h
     - copied unchanged from r231125, head/sys/powerpc/ofw/ofw_pci.h
  user/attilio/vmcontention/tools/build/options/WITH_CLANG_EXTRAS
     - copied unchanged from r231125, head/tools/build/options/WITH_CLANG_EXTRAS
  user/attilio/vmcontention/tools/tools/fixwhite/
     - copied from r231125, head/tools/tools/fixwhite/
  user/attilio/vmcontention/usr.bin/clang/bugpoint/
     - copied from r231125, head/usr.bin/clang/bugpoint/
  user/attilio/vmcontention/usr.bin/clang/llc/
     - copied from r231125, head/usr.bin/clang/llc/
  user/attilio/vmcontention/usr.bin/clang/lli/
     - copied from r231125, head/usr.bin/clang/lli/
  user/attilio/vmcontention/usr.bin/clang/llvm-ar/
     - copied from r231125, head/usr.bin/clang/llvm-ar/
  user/attilio/vmcontention/usr.bin/clang/llvm-as/
     - copied from r231125, head/usr.bin/clang/llvm-as/
  user/attilio/vmcontention/usr.bin/clang/llvm-bcanalyzer/
     - copied from r231125, head/usr.bin/clang/llvm-bcanalyzer/
  user/attilio/vmcontention/usr.bin/clang/llvm-diff/
     - copied from r231125, head/usr.bin/clang/llvm-diff/
  user/attilio/vmcontention/usr.bin/clang/llvm-dis/
     - copied from r231125, head/usr.bin/clang/llvm-dis/
  user/attilio/vmcontention/usr.bin/clang/llvm-extract/
     - copied from r231125, head/usr.bin/clang/llvm-extract/
  user/attilio/vmcontention/usr.bin/clang/llvm-ld/
     - copied from r231125, head/usr.bin/clang/llvm-ld/
  user/attilio/vmcontention/usr.bin/clang/llvm-link/
     - copied from r231125, head/usr.bin/clang/llvm-link/
  user/attilio/vmcontention/usr.bin/clang/llvm-mc/
     - copied from r231125, head/usr.bin/clang/llvm-mc/
  user/attilio/vmcontention/usr.bin/clang/llvm-nm/
     - copied from r231125, head/usr.bin/clang/llvm-nm/
  user/attilio/vmcontention/usr.bin/clang/llvm-objdump/
     - copied from r231125, head/usr.bin/clang/llvm-objdump/
  user/attilio/vmcontention/usr.bin/clang/llvm-prof/
     - copied from r231125, head/usr.bin/clang/llvm-prof/
  user/attilio/vmcontention/usr.bin/clang/llvm-ranlib/
     - copied from r231125, head/usr.bin/clang/llvm-ranlib/
  user/attilio/vmcontention/usr.bin/clang/llvm-rtdyld/
     - copied from r231125, head/usr.bin/clang/llvm-rtdyld/
  user/attilio/vmcontention/usr.bin/clang/llvm-stub/
     - copied from r231125, head/usr.bin/clang/llvm-stub/
  user/attilio/vmcontention/usr.bin/clang/macho-dump/
     - copied from r231125, head/usr.bin/clang/macho-dump/
  user/attilio/vmcontention/usr.bin/clang/opt/
     - copied from r231125, head/usr.bin/clang/opt/
Modified:
  user/attilio/vmcontention/bin/sh/eval.c
  user/attilio/vmcontention/bin/sh/jobs.c
  user/attilio/vmcontention/bin/sh/jobs.h
  user/attilio/vmcontention/bin/sh/var.c
  user/attilio/vmcontention/bin/sh/var.h
  user/attilio/vmcontention/etc/rc.d/routing
  user/attilio/vmcontention/include/rpc/Makefile
  user/attilio/vmcontention/include/rpcsvc/Makefile
  user/attilio/vmcontention/lib/clang/Makefile
  user/attilio/vmcontention/lib/clang/libllvmanalysis/Makefile
  user/attilio/vmcontention/lib/clang/libllvmipa/Makefile
  user/attilio/vmcontention/lib/clang/libllvmipo/Makefile
  user/attilio/vmcontention/lib/clang/libllvmmc/Makefile
  user/attilio/vmcontention/lib/clang/libllvmscalaropts/Makefile
  user/attilio/vmcontention/lib/clang/libllvmsupport/Makefile
  user/attilio/vmcontention/lib/clang/libllvmtransformutils/Makefile
  user/attilio/vmcontention/lib/clang/libllvmx86disassembler/Makefile
  user/attilio/vmcontention/lib/libc/powerpc/SYS.h
  user/attilio/vmcontention/lib/libc/powerpc/gen/setjmp.S
  user/attilio/vmcontention/lib/libc/powerpc64/SYS.h
  user/attilio/vmcontention/lib/libc/powerpc64/gen/setjmp.S
  user/attilio/vmcontention/lib/libc/rpc/Makefile.inc
  user/attilio/vmcontention/lib/libc/yp/Makefile.inc
  user/attilio/vmcontention/lib/librpcsvc/Makefile
  user/attilio/vmcontention/lib/libthr/thread/thr_list.c
  user/attilio/vmcontention/lib/libthr/thread/thr_private.h
  user/attilio/vmcontention/lib/libutil/pidfile.c
  user/attilio/vmcontention/lib/libypclnt/Makefile
  user/attilio/vmcontention/libexec/ypxfr/Makefile
  user/attilio/vmcontention/release/picobsd/tinyware/passwd/Makefile
  user/attilio/vmcontention/release/rc.local
  user/attilio/vmcontention/sbin/fsdb/fsdbutil.c
  user/attilio/vmcontention/sbin/hastd/primary.c
  user/attilio/vmcontention/sbin/ipfw/ipfw.8
  user/attilio/vmcontention/sbin/ipfw/ipfw2.c
  user/attilio/vmcontention/sbin/route/route.c
  user/attilio/vmcontention/share/man/man4/tcp.4
  user/attilio/vmcontention/share/man/man5/src.conf.5
  user/attilio/vmcontention/share/man/man7/ports.7
  user/attilio/vmcontention/share/mk/bsd.own.mk
  user/attilio/vmcontention/sys/boot/ficl/fileaccess.c
  user/attilio/vmcontention/sys/boot/ficl/i386/sysdep.h
  user/attilio/vmcontention/sys/cam/ctl/ctl_frontend_cam_sim.c
  user/attilio/vmcontention/sys/compat/freebsd32/freebsd32_signal.h
  user/attilio/vmcontention/sys/conf/files
  user/attilio/vmcontention/sys/conf/files.powerpc
  user/attilio/vmcontention/sys/dev/ath/ath_dfs/null/dfs_null.c
  user/attilio/vmcontention/sys/dev/cxgb/cxgb_adapter.h
  user/attilio/vmcontention/sys/dev/cxgb/cxgb_main.c
  user/attilio/vmcontention/sys/dev/cxgb/cxgb_sge.c
  user/attilio/vmcontention/sys/dev/cxgbe/adapter.h
  user/attilio/vmcontention/sys/dev/cxgbe/t4_l2t.c
  user/attilio/vmcontention/sys/dev/cxgbe/t4_l2t.h
  user/attilio/vmcontention/sys/dev/cxgbe/t4_main.c
  user/attilio/vmcontention/sys/dev/sound/pci/hda/hdacc.c
  user/attilio/vmcontention/sys/fs/ext2fs/inode.h
  user/attilio/vmcontention/sys/fs/nfsclient/nfs_clvnops.c
  user/attilio/vmcontention/sys/fs/nwfs/nwfs_vnops.c
  user/attilio/vmcontention/sys/fs/smbfs/smbfs_vnops.c
  user/attilio/vmcontention/sys/geom/journal/g_journal.c
  user/attilio/vmcontention/sys/geom/part/g_part.c
  user/attilio/vmcontention/sys/kern/kern_kthread.c
  user/attilio/vmcontention/sys/kern/subr_mchain.c
  user/attilio/vmcontention/sys/kern/tty.c
  user/attilio/vmcontention/sys/kern/tty_info.c
  user/attilio/vmcontention/sys/kern/tty_ttydisc.c
  user/attilio/vmcontention/sys/kern/vfs_aio.c
  user/attilio/vmcontention/sys/kern/vfs_cache.c
  user/attilio/vmcontention/sys/kern/vfs_mount.c
  user/attilio/vmcontention/sys/kern/vfs_subr.c
  user/attilio/vmcontention/sys/kern/vfs_syscalls.c
  user/attilio/vmcontention/sys/modules/Makefile
  user/attilio/vmcontention/sys/modules/kgssapi/Makefile
  user/attilio/vmcontention/sys/modules/kgssapi_krb5/Makefile
  user/attilio/vmcontention/sys/net/if.c
  user/attilio/vmcontention/sys/net80211/ieee80211.h
  user/attilio/vmcontention/sys/netinet/ipfw/ip_fw2.c
  user/attilio/vmcontention/sys/netinet/ipfw/ip_fw_sockopt.c
  user/attilio/vmcontention/sys/netinet/sctp_structs.h
  user/attilio/vmcontention/sys/netinet/tcp.h
  user/attilio/vmcontention/sys/netinet/tcp_input.c
  user/attilio/vmcontention/sys/netinet/tcp_syncache.c
  user/attilio/vmcontention/sys/netinet/tcp_timer.c
  user/attilio/vmcontention/sys/netinet/tcp_timer.h
  user/attilio/vmcontention/sys/netinet/tcp_usrreq.c
  user/attilio/vmcontention/sys/netinet/tcp_var.h
  user/attilio/vmcontention/sys/nfsclient/nfs_vnops.c
  user/attilio/vmcontention/sys/powerpc/aim/swtch64.S
  user/attilio/vmcontention/sys/powerpc/include/asm.h
  user/attilio/vmcontention/sys/powerpc/ofw/ofw_pcib_pci.c
  user/attilio/vmcontention/sys/powerpc/ofw/ofw_syscons.c
  user/attilio/vmcontention/sys/powerpc/powermac/cpcht.c
  user/attilio/vmcontention/sys/powerpc/powermac/grackle.c
  user/attilio/vmcontention/sys/powerpc/powermac/gracklevar.h
  user/attilio/vmcontention/sys/powerpc/powermac/uninorthpci.c
  user/attilio/vmcontention/sys/powerpc/powermac/uninorthvar.h
  user/attilio/vmcontention/sys/powerpc/ps3/ps3_syscons.c
  user/attilio/vmcontention/sys/sys/param.h
  user/attilio/vmcontention/sys/sys/proc.h
  user/attilio/vmcontention/sys/sys/ttycom.h
  user/attilio/vmcontention/sys/sys/ttydefaults.h
  user/attilio/vmcontention/sys/sys/vnode.h
  user/attilio/vmcontention/sys/ufs/ffs/ffs_softdep.c
  user/attilio/vmcontention/sys/ufs/ufs/inode.h
  user/attilio/vmcontention/sys/ufs/ufs/ufs_acl.c
  user/attilio/vmcontention/sys/ufs/ufs/ufs_vnops.c
  user/attilio/vmcontention/tools/build/mk/OptionalObsoleteFiles.inc
  user/attilio/vmcontention/usr.bin/clang/Makefile
  user/attilio/vmcontention/usr.bin/rpcgen/rpc_main.c
  user/attilio/vmcontention/usr.bin/rpcgen/rpcgen.1
  user/attilio/vmcontention/usr.bin/systat/icmp.c
  user/attilio/vmcontention/usr.bin/systat/ifstat.c
  user/attilio/vmcontention/usr.bin/systat/iostat.c
  user/attilio/vmcontention/usr.bin/systat/ip.c
  user/attilio/vmcontention/usr.bin/systat/netcmds.c
  user/attilio/vmcontention/usr.bin/systat/netstat.c
  user/attilio/vmcontention/usr.bin/systat/pigs.c
  user/attilio/vmcontention/usr.bin/systat/tcp.c
  user/attilio/vmcontention/usr.sbin/amd/Makefile.inc
  user/attilio/vmcontention/usr.sbin/bootparamd/bootparamd/Makefile
  user/attilio/vmcontention/usr.sbin/bootparamd/callbootd/Makefile
  user/attilio/vmcontention/usr.sbin/gssd/Makefile
  user/attilio/vmcontention/usr.sbin/keyserv/Makefile
  user/attilio/vmcontention/usr.sbin/rpc.lockd/Makefile
  user/attilio/vmcontention/usr.sbin/rpc.statd/Makefile
  user/attilio/vmcontention/usr.sbin/rpc.yppasswdd/Makefile
  user/attilio/vmcontention/usr.sbin/rpc.ypupdated/Makefile
  user/attilio/vmcontention/usr.sbin/rpc.ypxfrd/Makefile
  user/attilio/vmcontention/usr.sbin/yppush/Makefile
  user/attilio/vmcontention/usr.sbin/ypserv/Makefile
Directory Properties:
  user/attilio/vmcontention/   (props changed)
  user/attilio/vmcontention/contrib/llvm/   (props changed)
  user/attilio/vmcontention/lib/libc/   (props changed)
  user/attilio/vmcontention/lib/libutil/   (props changed)
  user/attilio/vmcontention/sbin/   (props changed)
  user/attilio/vmcontention/sbin/ipfw/   (props changed)
  user/attilio/vmcontention/share/man/man4/   (props changed)
  user/attilio/vmcontention/sys/   (props changed)
  user/attilio/vmcontention/sys/boot/   (props changed)
  user/attilio/vmcontention/sys/conf/   (props changed)

Modified: user/attilio/vmcontention/bin/sh/eval.c
==============================================================================
--- user/attilio/vmcontention/bin/sh/eval.c	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/bin/sh/eval.c	Tue Feb  7 11:28:40 2012	(r231126)
@@ -921,6 +921,15 @@ evalcommand(union node *cmd, int flags, 
 			if (pipe(pip) < 0)
 				error("Pipe call failed: %s", strerror(errno));
 		}
+		if (cmdentry.cmdtype == CMDNORMAL &&
+		    cmd->ncmd.redirect == NULL &&
+		    varlist.list == NULL &&
+		    (mode == FORK_FG || mode == FORK_NOJOB) &&
+		    !disvforkset() && !iflag && !mflag) {
+			vforkexecshell(jp, argv, environment(), path,
+			    cmdentry.u.index, flags & EV_BACKCMD ? pip : NULL);
+			goto parent;
+		}
 		if (forkshell(jp, cmd, mode) != 0)
 			goto parent;	/* at end of routine */
 		if (flags & EV_BACKCMD) {

Modified: user/attilio/vmcontention/bin/sh/jobs.c
==============================================================================
--- user/attilio/vmcontention/bin/sh/jobs.c	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/bin/sh/jobs.c	Tue Feb  7 11:28:40 2012	(r231126)
@@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$");
 #undef CEOF			/* syntax.h redefines this */
 #endif
 #include "redir.h"
+#include "exec.h"
 #include "show.h"
 #include "main.h"
 #include "parser.h"
@@ -885,6 +886,54 @@ forkshell(struct job *jp, union node *n,
 }
 
 
+pid_t
+vforkexecshell(struct job *jp, char **argv, char **envp, const char *path, int idx, int pip[2])
+{
+	pid_t pid;
+	struct jmploc jmploc;
+	struct jmploc *savehandler;
+
+	TRACE(("vforkexecshell(%%%td, %p, %d) called\n", jp - jobtab, (void *)n,
+	    mode));
+	INTOFF;
+	flushall();
+	savehandler = handler;
+	pid = vfork();
+	if (pid == -1) {
+		TRACE(("Vfork failed, errno=%d\n", errno));
+		INTON;
+		error("Cannot fork: %s", strerror(errno));
+	}
+	if (pid == 0) {
+		TRACE(("Child shell %d\n", (int)getpid()));
+		if (setjmp(jmploc.loc))
+			_exit(exception == EXEXEC ? exerrno : 2);
+		if (pip != NULL) {
+			close(pip[0]);
+			if (pip[1] != 1) {
+				dup2(pip[1], 1);
+				close(pip[1]);
+			}
+		}
+		handler = &jmploc;
+		shellexec(argv, envp, path, idx);
+	}
+	handler = savehandler;
+	if (jp) {
+		struct procstat *ps = &jp->ps[jp->nprocs++];
+		ps->pid = pid;
+		ps->status = -1;
+		ps->cmd = nullstr;
+		jp->foreground = 1;
+#if JOBS
+		setcurjob(jp);
+#endif
+	}
+	INTON;
+	TRACE(("In parent shell:  child = %d\n", (int)pid));
+	return pid;
+}
+
 
 /*
  * Wait for job to finish.

Modified: user/attilio/vmcontention/bin/sh/jobs.h
==============================================================================
--- user/attilio/vmcontention/bin/sh/jobs.h	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/bin/sh/jobs.h	Tue Feb  7 11:28:40 2012	(r231126)
@@ -91,6 +91,7 @@ void setjobctl(int);
 void showjobs(int, int);
 struct job *makejob(union node *, int);
 pid_t forkshell(struct job *, union node *, int);
+pid_t vforkexecshell(struct job *, char **, char **, const char *, int, int []);
 int waitforjob(struct job *, int *);
 int stoppedjobs(void);
 int backgndpidset(void);

Modified: user/attilio/vmcontention/bin/sh/var.c
==============================================================================
--- user/attilio/vmcontention/bin/sh/var.c	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/bin/sh/var.c	Tue Feb  7 11:28:40 2012	(r231126)
@@ -94,6 +94,7 @@ struct var vps2;
 struct var vps4;
 struct var vvers;
 static struct var voptind;
+struct var vdisvfork;
 
 int forcelocal;
 
@@ -125,6 +126,8 @@ static const struct varinit varinit[] = 
 #endif
 	{ &voptind,	0,				"OPTIND=1",
 	  getoptsreset },
+	{ &vdisvfork,	VUNSET,				"SH_DISABLE_VFORK=",
+	  NULL },
 	{ NULL,	0,				NULL,
 	  NULL }
 };
@@ -600,7 +603,7 @@ showvarscmd(int argc __unused, char **ar
 		}
 	}
 
-	INTON;
+	INTOFF;
 	vars = ckmalloc(n * sizeof(*vars));
 	i = 0;
 	for (vpp = vartab; vpp < vartab + VTABSIZE; vpp++) {
@@ -625,7 +628,7 @@ showvarscmd(int argc __unused, char **ar
 		out1c('\n');
 	}
 	ckfree(vars);
-	INTOFF;
+	INTON;
 
 	return 0;
 }

Modified: user/attilio/vmcontention/bin/sh/var.h
==============================================================================
--- user/attilio/vmcontention/bin/sh/var.h	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/bin/sh/var.h	Tue Feb  7 11:28:40 2012	(r231126)
@@ -79,6 +79,7 @@ extern struct var vppid;
 extern struct var vps1;
 extern struct var vps2;
 extern struct var vps4;
+extern struct var vdisvfork;
 #ifndef NO_HISTORY
 extern struct var vhistsize;
 extern struct var vterm;
@@ -109,6 +110,7 @@ extern int initial_localeisutf8;
 #endif
 
 #define mpathset()	((vmpath.flags & VUNSET) == 0)
+#define disvforkset()	((vdisvfork.flags & VUNSET) == 0)
 
 void initvar(void);
 void setvar(const char *, const char *, int);

Modified: user/attilio/vmcontention/etc/rc.d/routing
==============================================================================
--- user/attilio/vmcontention/etc/rc.d/routing	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/etc/rc.d/routing	Tue Feb  7 11:28:40 2012	(r231126)
@@ -98,8 +98,10 @@ routing_stop_inet6()
 	local i
 
 	route -n flush -inet6
-	for i in ${ipv6_network_interfaces}; do
-		ifconfig $i inet6 -defaultif
+	for i in `list_net_interfaces`; do
+		if ipv6if $i; then
+			ifconfig $i inet6 -defaultif
+		fi
 	done
 }
 

Modified: user/attilio/vmcontention/include/rpc/Makefile
==============================================================================
--- user/attilio/vmcontention/include/rpc/Makefile	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/include/rpc/Makefile	Tue Feb  7 11:28:40 2012	(r231126)
@@ -3,7 +3,7 @@
 
 .SUFFIXES: .x
 
-RPCCOM = rpcgen -C
+RPCCOM=	RPCGEN_CPP=${CPP:Q} rpcgen -C
 
 HDRS=	rpcb_prot.h
 

Modified: user/attilio/vmcontention/include/rpcsvc/Makefile
==============================================================================
--- user/attilio/vmcontention/include/rpcsvc/Makefile	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/include/rpcsvc/Makefile	Tue Feb  7 11:28:40 2012	(r231126)
@@ -3,7 +3,7 @@
 
 .SUFFIXES: .x
 
-RPCCOM = rpcgen -C
+RPCCOM=	RPCGEN_CPP=${CPP:Q} rpcgen -C
 
 HDRS= key_prot.h klm_prot.h mount.h nfs_prot.h nlm_prot.h rex.h rnusers.h \
       rquota.h rstat.h rwall.h sm_inter.h spray.h yppasswd.h yp.h \

Modified: user/attilio/vmcontention/lib/clang/Makefile
==============================================================================
--- user/attilio/vmcontention/lib/clang/Makefile	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/clang/Makefile	Tue Feb  7 11:28:40 2012	(r231126)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 .if !make(install)
 SUBDIR=	libclanganalysis \
 	libclangarcmigrate \
@@ -60,6 +62,19 @@ SUBDIR=	libclanganalysis \
 	libllvmx86info \
 	libllvmx86instprinter \
 	libllvmx86utils
+
+.if ${MK_CLANG_EXTRAS} != "no"
+SUBDIR+=libllvmarchive \
+	libllvmdebuginfo \
+	libllvmexecutionengine \
+	libllvminterpreter \
+	libllvmjit \
+	libllvmlinker \
+	libllvmmcdisassembler \
+	libllvmmcjit \
+	libllvmobject \
+	libllvmruntimedyld
+.endif
 .endif
 
 SUBDIR+= include

Modified: user/attilio/vmcontention/lib/clang/libllvmanalysis/Makefile
==============================================================================
--- user/attilio/vmcontention/lib/clang/libllvmanalysis/Makefile	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/clang/libllvmanalysis/Makefile	Tue Feb  7 11:28:40 2012	(r231126)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 LIB=	llvmanalysis
 
 SRCDIR=	lib/Analysis
@@ -55,6 +57,14 @@ SRCS=	AliasAnalysis.cpp \
 	TypeBasedAliasAnalysis.cpp \
 	ValueTracking.cpp
 
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+=	BlockFrequencyInfo.cpp \
+	LibCallSemantics.cpp \
+	PathNumbering.cpp \
+	PathProfileInfo.cpp \
+	PathProfileVerifier.cpp
+.endif
+
 TGHDRS=	Intrinsics
 
 .include "../clang.lib.mk"

Modified: user/attilio/vmcontention/lib/clang/libllvmipa/Makefile
==============================================================================
--- user/attilio/vmcontention/lib/clang/libllvmipa/Makefile	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/clang/libllvmipa/Makefile	Tue Feb  7 11:28:40 2012	(r231126)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 LIB=	llvmipa
 
 SRCDIR=	lib/Analysis/IPA
@@ -8,6 +10,10 @@ SRCS=	CallGraph.cpp \
 	FindUsedTypes.cpp \
 	GlobalsModRef.cpp
 
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+=	IPA.cpp
+.endif
+
 TGHDRS=	Intrinsics
 
 .include "../clang.lib.mk"

Modified: user/attilio/vmcontention/lib/clang/libllvmipo/Makefile
==============================================================================
--- user/attilio/vmcontention/lib/clang/libllvmipo/Makefile	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/clang/libllvmipo/Makefile	Tue Feb  7 11:28:40 2012	(r231126)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 LIB=	llvmipo
 
 SRCDIR=	lib/Transforms/IPO
@@ -23,6 +25,10 @@ SRCS=	ArgumentPromotion.cpp \
 	StripDeadPrototypes.cpp \
 	StripSymbols.cpp
 
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+=	IPO.cpp
+.endif
+
 TGHDRS=	Intrinsics
 
 .include "../clang.lib.mk"

Modified: user/attilio/vmcontention/lib/clang/libllvmmc/Makefile
==============================================================================
--- user/attilio/vmcontention/lib/clang/libllvmmc/Makefile	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/clang/libllvmmc/Makefile	Tue Feb  7 11:28:40 2012	(r231126)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 LIB=	llvmmc
 
 SRCDIR=	lib/MC
@@ -43,4 +45,8 @@ SRCS=	ELFObjectWriter.cpp \
 	WinCOFFObjectWriter.cpp \
 	WinCOFFStreamer.cpp
 
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+=	MCDisassembler.cpp
+.endif
+
 .include "../clang.lib.mk"

Modified: user/attilio/vmcontention/lib/clang/libllvmscalaropts/Makefile
==============================================================================
--- user/attilio/vmcontention/lib/clang/libllvmscalaropts/Makefile	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/clang/libllvmscalaropts/Makefile	Tue Feb  7 11:28:40 2012	(r231126)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 LIB=	llvmscalaropts
 
 SRCDIR=	lib/Transforms/Scalar
@@ -31,6 +33,13 @@ SRCS=	ADCE.cpp \
 	Sink.cpp \
 	TailRecursionElimination.cpp
 
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+=	LoopInstSimplify.cpp \
+	LowerAtomic.cpp \
+	Reg2Mem.cpp \
+	Scalar.cpp
+.endif
+
 TGHDRS=	Intrinsics
 
 .include "../clang.lib.mk"

Modified: user/attilio/vmcontention/lib/clang/libllvmsupport/Makefile
==============================================================================
--- user/attilio/vmcontention/lib/clang/libllvmsupport/Makefile	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/clang/libllvmsupport/Makefile	Tue Feb  7 11:28:40 2012	(r231126)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 LIB=	llvmsupport
 
 SRCDIR=	lib/Support
@@ -67,4 +69,14 @@ SRCS=	APFloat.cpp \
 	system_error.cpp
 LLVM_REQUIRES_RTTI=
 
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+=	BlockFrequency.cpp \
+	BranchProbability.cpp \
+	DataExtractor.cpp \
+	Disassembler.cpp \
+	FileUtilities.cpp \
+	MemoryObject.cpp \
+	SystemUtils.cpp
+.endif
+
 .include "../clang.lib.mk"

Modified: user/attilio/vmcontention/lib/clang/libllvmtransformutils/Makefile
==============================================================================
--- user/attilio/vmcontention/lib/clang/libllvmtransformutils/Makefile	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/clang/libllvmtransformutils/Makefile	Tue Feb  7 11:28:40 2012	(r231126)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 LIB=	llvmtransformutils
 
 SRCDIR=	lib/Transforms/Utils
@@ -29,6 +31,11 @@ SRCS=	AddrModeMatcher.cpp \
 	UnifyFunctionExitNodes.cpp \
 	ValueMapper.cpp
 
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+=	SimplifyInstructions.cpp \
+	Utils.cpp
+.endif
+
 TGHDRS=	Intrinsics
 
 .include "../clang.lib.mk"

Modified: user/attilio/vmcontention/lib/clang/libllvmx86disassembler/Makefile
==============================================================================
--- user/attilio/vmcontention/lib/clang/libllvmx86disassembler/Makefile	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/clang/libllvmx86disassembler/Makefile	Tue Feb  7 11:28:40 2012	(r231126)
@@ -1,11 +1,17 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 LIB=	llvmx86disassembler
 
 SRCDIR=	lib/Target/X86/Disassembler
 INCDIR=	lib/Target/X86
 SRCS=	X86Disassembler.cpp
 
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+=	X86DisassemblerDecoder.c
+.endif
+
 TGHDRS=	X86GenDisassemblerTables \
 	X86GenEDInfo \
 	X86GenInstrInfo \

Modified: user/attilio/vmcontention/lib/libc/powerpc/SYS.h
==============================================================================
--- user/attilio/vmcontention/lib/libc/powerpc/SYS.h	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/libc/powerpc/SYS.h	Tue Feb  7 11:28:40 2012	(r231126)
@@ -33,38 +33,38 @@
 #include <sys/syscall.h>
 #include <machine/asm.h>
 
-#define _SYSCALL(x)						\
+#define	_SYSCALL(name)						\
 	.text;							\
 	.align 2;						\
-	li	0,(__CONCAT(SYS_,x));				\
+	li	0,(__CONCAT(SYS_, name));			\
 	sc
 
-#define	SYSCALL(x)						\
+#define	SYSCALL(name)						\
 	.text;							\
 	.align 2;						\
 2:	b	PIC_PLT(CNAME(HIDENAME(cerror)));		\
-ENTRY(__CONCAT(__sys_,x));					\
-	WEAK_ALIAS(x,__CONCAT(__sys_,x));			\
-	WEAK_ALIAS(__CONCAT(_,x),__CONCAT(__sys_,x));		\
-	_SYSCALL(x);						\
+ENTRY(__CONCAT(__sys_, name));				\
+	WEAK_REFERENCE(__CONCAT(__sys_, name), name);		\
+	WEAK_REFERENCE(__CONCAT(__sys_, name), __CONCAT(_, name));\
+	_SYSCALL(name);						\
 	bso	2b
 
-#define	PSEUDO(x)						\
+#define	PSEUDO(name)						\
 	.text;							\
 	.align 2;						\
-ENTRY(__CONCAT(__sys_,x));					\
-	WEAK_ALIAS(__CONCAT(_,x),__CONCAT(__sys_,x));		\
-	_SYSCALL(x);						\
+ENTRY(__CONCAT(__sys_, name));				\
+	WEAK_REFERENCE(__CONCAT(__sys_, name), __CONCAT(_, name));\
+	_SYSCALL(name);						\
 	bnslr;							\
 	b	PIC_PLT(CNAME(HIDENAME(cerror)))
 
-#define	RSYSCALL(x)						\
+#define	RSYSCALL(name)						\
 	.text;							\
 	.align 2;						\
 2:	b	PIC_PLT(CNAME(HIDENAME(cerror)));		\
-ENTRY(__CONCAT(__sys_,x));					\
-	WEAK_ALIAS(x,__CONCAT(__sys_,x));			\
-	WEAK_ALIAS(__CONCAT(_,x), __CONCAT(__sys_,x));		\
-	_SYSCALL(x);						\
+ENTRY(__CONCAT(__sys_, name));				\
+	WEAK_REFERENCE(__CONCAT(__sys_, name), name);		\
+	WEAK_REFERENCE(__CONCAT(__sys_, name), __CONCAT(_, name));\
+	_SYSCALL(name);						\
 	bnslr;							\
 	b	PIC_PLT(CNAME(HIDENAME(cerror)))

Modified: user/attilio/vmcontention/lib/libc/powerpc/gen/setjmp.S
==============================================================================
--- user/attilio/vmcontention/lib/libc/powerpc/gen/setjmp.S	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/libc/powerpc/gen/setjmp.S	Tue Feb  7 11:28:40 2012	(r231126)
@@ -69,7 +69,7 @@ ENTRY(setjmp)
 	li	%r3,0			/* return (0) */
 	blr
 
-	WEAK_ALIAS(longjmp, __longjmp)
+	WEAK_REFERENCE(CNAME(__longjmp), longjmp)
 ENTRY(__longjmp)
 	lmw	%r9,20(%r3)		/* restore regs */
 	mr	%r6,%r4			/* save val param */

Modified: user/attilio/vmcontention/lib/libc/powerpc64/SYS.h
==============================================================================
--- user/attilio/vmcontention/lib/libc/powerpc64/SYS.h	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/libc/powerpc64/SYS.h	Tue Feb  7 11:28:40 2012	(r231126)
@@ -33,13 +33,13 @@
 #include <sys/syscall.h>
 #include <machine/asm.h>
 
-#define _SYSCALL(x)						\
+#define	_SYSCALL(name)						\
 	.text;							\
 	.align 2;						\
-	li	0,(__CONCAT(SYS_,x));				\
+	li	0,(__CONCAT(SYS_, name));			\
 	sc
 
-#define	SYSCALL(x)						\
+#define	SYSCALL(name)						\
 	.text;							\
 	.align 2;						\
 2:	mflr	%r0;						\
@@ -51,18 +51,18 @@
 	ld	%r0,16(%r1);					\
 	mtlr	%r0;						\
 	blr;							\
-ENTRY(__CONCAT(__sys_,x));					\
-	WEAK_ALIAS(x,__CONCAT(__sys_,x));			\
-	WEAK_ALIAS(__CONCAT(_,x),__CONCAT(__sys_,x));		\
-	_SYSCALL(x);						\
+ENTRY(__CONCAT(__sys_, name));						\
+	WEAK_REFERENCE(__CONCAT(__sys_, name), name);			\
+	WEAK_REFERENCE(__CONCAT(__sys_, name), __CONCAT(_, name)); 	\
+	_SYSCALL(name);							\
 	bso	2b
 
-#define	PSEUDO(x)						\
+#define	PSEUDO(name)						\
 	.text;							\
 	.align 2;						\
-ENTRY(__CONCAT(__sys_,x));					\
-	WEAK_ALIAS(__CONCAT(_,x),__CONCAT(__sys_,x));		\
-	_SYSCALL(x);						\
+ENTRY(__CONCAT(__sys_, name));					\
+	WEAK_REFERENCE(__CONCAT(__sys_, name), __CONCAT(_, name));   \
+	_SYSCALL(name);						\
 	bnslr;							\
 	mflr	%r0;						\
 	std	%r0,16(%r1);					\
@@ -74,13 +74,13 @@ ENTRY(__CONCAT(__sys_,x));					\
 	mtlr	%r0;						\
 	blr;
 
-#define	RSYSCALL(x)						\
+#define	RSYSCALL(name)						\
 	.text;							\
 	.align 2;						\
-ENTRY(__CONCAT(__sys_,x));					\
-	WEAK_ALIAS(x,__CONCAT(__sys_,x));			\
-	WEAK_ALIAS(__CONCAT(_,x), __CONCAT(__sys_,x));		\
-	_SYSCALL(x);						\
+ENTRY(__CONCAT(__sys_, name));					\
+	WEAK_REFERENCE(__CONCAT(__sys_, name), name);		\
+	WEAK_REFERENCE(__CONCAT(__sys_, name), __CONCAT(_, name));\
+	_SYSCALL(name);						\
 	bnslr;							\
 								\
 	mflr	%r0;						\

Modified: user/attilio/vmcontention/lib/libc/powerpc64/gen/setjmp.S
==============================================================================
--- user/attilio/vmcontention/lib/libc/powerpc64/gen/setjmp.S	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/libc/powerpc64/gen/setjmp.S	Tue Feb  7 11:28:40 2012	(r231126)
@@ -93,7 +93,7 @@ ENTRY(setjmp)
 	li	%r3,0			/* return (0) */
 	blr
 
-	WEAK_ALIAS(longjmp, __longjmp)
+	WEAK_REFERENCE(__longjmp, longjmp)
 ENTRY(__longjmp)
 	ld	%r9,40 + 0*8(%r3)
 	ld	%r10,40 + 1*8(%r3)

Modified: user/attilio/vmcontention/lib/libc/rpc/Makefile.inc
==============================================================================
--- user/attilio/vmcontention/lib/libc/rpc/Makefile.inc	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/libc/rpc/Makefile.inc	Tue Feb  7 11:28:40 2012	(r231126)
@@ -34,7 +34,7 @@ CFLAGS+= -I${.CURDIR}/rpc
 CLEANFILES+= crypt_clnt.c crypt_xdr.c crypt.h
 
 RPCDIR= ${DESTDIR}/usr/include/rpcsvc
-RPCGEN= rpcgen -C
+RPCGEN= RPCGEN_CPP=${CPP:Q} rpcgen -C
 
 crypt_clnt.c: ${RPCDIR}/crypt.x crypt.h
 	${RPCGEN} -l -o ${.TARGET} ${RPCDIR}/crypt.x

Modified: user/attilio/vmcontention/lib/libc/yp/Makefile.inc
==============================================================================
--- user/attilio/vmcontention/lib/libc/yp/Makefile.inc	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/libc/yp/Makefile.inc	Tue Feb  7 11:28:40 2012	(r231126)
@@ -10,7 +10,7 @@ CLEANFILES+=	yp.h yp_xdr.c
 SYM_MAPS+=	${.CURDIR}/yp/Symbol.map
 
 RPCSRC=	${DESTDIR}/usr/include/rpcsvc/yp.x
-RPCGEN=	rpcgen -C
+RPCGEN=	RPCGEN_CPP=${CPP:Q} rpcgen -C
 
 yp_xdr.c: ${RPCSRC}
 	${RPCGEN} -c -o ${.TARGET} ${RPCSRC}

Modified: user/attilio/vmcontention/lib/librpcsvc/Makefile
==============================================================================
--- user/attilio/vmcontention/lib/librpcsvc/Makefile	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/librpcsvc/Makefile	Tue Feb  7 11:28:40 2012	(r231126)
@@ -18,7 +18,7 @@ SECRPCSRCS= secretkey.c xcrypt.c
 OTHERSRCS+= yp_passwd.c yp_update.c
 .endif
 
-RPCCOM = rpcgen -C
+RPCCOM=	RPCGEN_CPP=${CPP:Q} rpcgen -C
 
 INCDIRS= -I${DESTDIR}/usr/include/rpcsvc
 

Modified: user/attilio/vmcontention/lib/libthr/thread/thr_list.c
==============================================================================
--- user/attilio/vmcontention/lib/libthr/thread/thr_list.c	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/libthr/thread/thr_list.c	Tue Feb  7 11:28:40 2012	(r231126)
@@ -149,11 +149,16 @@ _thr_alloc(struct pthread *curthread)
 		if (total_threads > MAX_THREADS)
 			return (NULL);
 		atomic_fetchadd_int(&total_threads, 1);
-		thread = malloc(sizeof(struct pthread));
+		thread = calloc(1, sizeof(struct pthread));
 		if (thread == NULL) {
 			atomic_fetchadd_int(&total_threads, -1);
 			return (NULL);
 		}
+		thread->sleepqueue = _sleepq_alloc();
+		thread->wake_addr = _thr_alloc_wake_addr();
+	} else {
+		bzero(&thread->_pthread_startzero, 
+			__rangeof(struct pthread, _pthread_startzero, _pthread_endzero));
 	}
 	if (curthread != NULL) {
 		THR_LOCK_ACQUIRE(curthread, &tcb_lock);
@@ -163,10 +168,7 @@ _thr_alloc(struct pthread *curthread)
 		tcb = _tcb_ctor(thread, 1 /* initial tls */);
 	}
 	if (tcb != NULL) {
-		memset(thread, 0, sizeof(*thread));
 		thread->tcb = tcb;
-		thread->sleepqueue = _sleepq_alloc();
-		thread->wake_addr = _thr_alloc_wake_addr();
 	} else {
 		thr_destroy(curthread, thread);
 		atomic_fetchadd_int(&total_threads, -1);
@@ -194,8 +196,6 @@ _thr_free(struct pthread *curthread, str
 	}
 	thread->tcb = NULL;
 	if ((curthread == NULL) || (free_thread_count >= MAX_CACHED_THREADS)) {
-		_sleepq_free(thread->sleepqueue);
-		_thr_release_wake_addr(thread->wake_addr);
 		thr_destroy(curthread, thread);
 		atomic_fetchadd_int(&total_threads, -1);
 	} else {
@@ -213,6 +213,10 @@ _thr_free(struct pthread *curthread, str
 static void
 thr_destroy(struct pthread *curthread __unused, struct pthread *thread)
 {
+	if (thread->sleepqueue != NULL)
+		_sleepq_free(thread->sleepqueue);
+	if (thread->wake_addr != NULL)
+		_thr_release_wake_addr(thread->wake_addr);
 	free(thread);
 }
 

Modified: user/attilio/vmcontention/lib/libthr/thread/thr_private.h
==============================================================================
--- user/attilio/vmcontention/lib/libthr/thread/thr_private.h	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/libthr/thread/thr_private.h	Tue Feb  7 11:28:40 2012	(r231126)
@@ -343,6 +343,7 @@ struct pthread_key {
  * Thread structure.
  */
 struct pthread {
+#define _pthread_startzero	tid
 	/* Kernel thread id. */
 	long			tid;
 #define	TID_TERMINATED		1
@@ -506,12 +507,6 @@ struct pthread {
 	/* Event */
 	td_event_msg_t		event_buf;
 
-	struct wake_addr	*wake_addr;
-#define WAKE_ADDR(td)           ((td)->wake_addr)
-
-	/* Sleep queue */
-	struct	sleepqueue	*sleepqueue;
-
 	/* Wait channel */
 	void			*wchan;
 
@@ -526,6 +521,14 @@ struct pthread {
 
 	/* Deferred threads from pthread_cond_signal. */
 	unsigned int 		*defer_waiters[MAX_DEFER_WAITERS];
+#define _pthread_endzero	wake_addr
+
+	struct wake_addr	*wake_addr;
+#define WAKE_ADDR(td)           ((td)->wake_addr)
+
+	/* Sleep queue */
+	struct	sleepqueue	*sleepqueue;
+
 };
 
 #define THR_SHOULD_GC(thrd) 						\

Modified: user/attilio/vmcontention/lib/libutil/pidfile.c
==============================================================================
--- user/attilio/vmcontention/lib/libutil/pidfile.c	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/libutil/pidfile.c	Tue Feb  7 11:28:40 2012	(r231126)
@@ -124,7 +124,7 @@ pidfile_open(const char *path, mode_t mo
 	 * pidfile_write() can be called multiple times.
 	 */
 	fd = flopen(pfh->pf_path,
-	    O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC | O_NONBLOCK, mode);
+	    O_WRONLY | O_CREAT | O_TRUNC | O_NONBLOCK, mode);
 	if (fd == -1) {
 		if (errno == EWOULDBLOCK && pidptr != NULL) {
 			count = 20;

Modified: user/attilio/vmcontention/lib/libypclnt/Makefile
==============================================================================
--- user/attilio/vmcontention/lib/libypclnt/Makefile	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/lib/libypclnt/Makefile	Tue Feb  7 11:28:40 2012	(r231126)
@@ -22,7 +22,7 @@ GENSRCS=yp.h \
 	yppasswd_private_clnt.c \
 	yppasswd_private_xdr.c
 
-RPCGEN=	rpcgen -C
+RPCGEN=	RPCGEN_CPP=${CPP:Q} rpcgen -C
 RPCSRC=	${.CURDIR}/../../include/rpcsvc/yp.x
 RPCSRC_PW=	${.CURDIR}/../../include/rpcsvc/yppasswd.x
 RPCSRC_PRIV=	${.CURDIR}/../../usr.sbin/rpc.yppasswdd/yppasswd_private.x

Modified: user/attilio/vmcontention/libexec/ypxfr/Makefile
==============================================================================
--- user/attilio/vmcontention/libexec/ypxfr/Makefile	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/libexec/ypxfr/Makefile	Tue Feb  7 11:28:40 2012	(r231126)
@@ -22,7 +22,7 @@ LDADD=	-lrpcsvc
 CLEANFILES= ${GENSRCS}
 
 RPCDIR= ${.CURDIR}/../../include/rpcsvc
-RPCGEN= rpcgen -I -C
+RPCGEN=	RPCGEN_CPP=${CPP:Q} rpcgen -I -C
 
 ypxfr_clnt.c: ${RPCDIR}/yp.x
 	rm -f ${.TARGET}

Modified: user/attilio/vmcontention/release/picobsd/tinyware/passwd/Makefile
==============================================================================
--- user/attilio/vmcontention/release/picobsd/tinyware/passwd/Makefile	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/release/picobsd/tinyware/passwd/Makefile	Tue Feb  7 11:28:40 2012	(r231126)
@@ -26,7 +26,7 @@ CFLAGS+= -DLOGIN_CAP -DCRYPT -I. -I${.CU
 
 CLEANFILES= ${GENSRCS}
 
-RPCGEN= rpcgen -C
+RPCGEN=	RPCGEN_CPP=${CPP:Q} rpcgen -C
 RPCSRC= ${DESTDIR}/usr/include/rpcsvc/yp.x
 RPCSRC_PW= ${DESTDIR}/usr/include/rpcsvc/yppasswd.x
 RPCSRC_PRIV= ${.CURDIR}/../../usr.sbin/rpc.yppasswdd/yppasswd_private.x

Modified: user/attilio/vmcontention/release/rc.local
==============================================================================
--- user/attilio/vmcontention/release/rc.local	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/release/rc.local	Tue Feb  7 11:28:40 2012	(r231126)
@@ -8,17 +8,23 @@
 : ${DIALOG_ITEM_HELP=4}
 : ${DIALOG_ESC=255}
 
+MACHINE=`uname -m`
+
 kbdcontrol -d >/dev/null 2>&1
 if [ $? -eq 0 ]; then
 	# Syscons: use xterm, start interesting things on other VTYs
-	TERM=xterm
+	if [ ${MACHINE} = "pc98" ]; then
+		TERM=cons25w
+	else
+		TERM=xterm
+	fi
 
 	if [ -z "$EXTERNAL_VTY_STARTED" ]; then
 		# Init will clean these processes up if/when the system
 		# goes multiuser
 		touch /tmp/bsdinstall_log
 		tail -f /tmp/bsdinstall_log > /dev/ttyv2 &
-		/usr/libexec/getty autologin ttyv3
+		/usr/libexec/getty autologin ttyv3 &
 		EXTERNAL_VTY_STARTED=1
 	fi
 else
@@ -31,6 +37,7 @@ else
 	echo "   ansi     Standard ANSI terminal"
 	echo "   vt100    VT100 or compatible terminal"
 	echo "   xterm    xterm terminal emulator (or compatible)"
+	echo "   cons25w  cons25w terminal"
 	echo
 	echo -n "Console type [vt100]: "
 	read TERM

Modified: user/attilio/vmcontention/sbin/fsdb/fsdbutil.c
==============================================================================
--- user/attilio/vmcontention/sbin/fsdb/fsdbutil.c	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/sbin/fsdb/fsdbutil.c	Tue Feb  7 11:28:40 2012	(r231126)
@@ -293,22 +293,21 @@ printblocks(ino_t inum, union dinode *dp
     printf("Blocks for inode %d:\n", inum);
     printf("Direct blocks:\n");
     ndb = howmany(DIP(dp, di_size), sblock.fs_bsize);
-    for (i = 0; i < NDADDR; i++) {
-	if (DIP(dp, di_db[i]) == 0) {
-	    putchar('\n');
-	    return;
-	}
+    for (i = 0; i < NDADDR && i < ndb; i++) {
 	if (i > 0)
 	    printf(", ");
 	blkno = DIP(dp, di_db[i]);
 	printf("%jd", (intmax_t)blkno);
-	if (--ndb == 0 && (offset = blkoff(&sblock, DIP(dp, di_size))) != 0) {
+    }
+    if (ndb <= NDADDR) {
+	offset = blkoff(&sblock, DIP(dp, di_size));
+	if (offset != 0) {
 	    nfrags = numfrags(&sblock, fragroundup(&sblock, offset));
 	    printf(" (%d frag%s)", nfrags, nfrags > 1? "s": "");
 	}
     }
     putchar('\n');
-    if (ndb == 0)
+    if (ndb <= NDADDR)
 	return;
 
     bufp = malloc((unsigned int)sblock.fs_bsize);

Modified: user/attilio/vmcontention/sbin/hastd/primary.c
==============================================================================
--- user/attilio/vmcontention/sbin/hastd/primary.c	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/sbin/hastd/primary.c	Tue Feb  7 11:28:40 2012	(r231126)
@@ -1255,7 +1255,7 @@ ggate_recv_thread(void *arg)
 		pjdlog_debug(2,
 		    "ggate_recv: (%p) Moving request to the send queues.", hio);
 		refcount_init(&hio->hio_countdown, ncomps);
-		for (ii = ncomp; ii < ncomps; ii++)
+		for (ii = ncomp; ii < ncomp + ncomps; ii++)
 			QUEUE_INSERT1(hio, send, ii);
 	}
 	/* NOTREACHED */
@@ -1326,7 +1326,8 @@ local_send_thread(void *arg)
 			} else {
 				hio->hio_errors[ncomp] = 0;
 				if (hio->hio_replication ==
-				    HAST_REPLICATION_ASYNC) {
+				    HAST_REPLICATION_ASYNC &&
+				    !ISSYNCREQ(hio)) {
 					ggio->gctl_error = 0;
 					write_complete(res, hio);
 				}

Modified: user/attilio/vmcontention/sbin/ipfw/ipfw.8
==============================================================================
--- user/attilio/vmcontention/sbin/ipfw/ipfw.8	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/sbin/ipfw/ipfw.8	Tue Feb  7 11:28:40 2012	(r231126)
@@ -1,7 +1,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd November 10, 2011
+.Dd February 6, 2012
 .Dt IPFW 8
 .Os
 .Sh NAME
@@ -1652,10 +1652,12 @@ option for details on matching fragmente
 TCP packets only.
 Match if the TCP header sequence number field is set to
 .Ar seq .
-.It Cm tcpwin Ar win
-TCP packets only.
-Match if the TCP header window field is set to
-.Ar win .
+.It Cm tcpwin Ar tcpwin-list
+Matches TCP packets whose  header window field is set to
+.Ar tcpwin-list ,
+which is either a single value or a list of values or ranges
+specified in the same way as
+.Ar ports .
 .It Cm tcpoptions Ar spec
 TCP packets only.
 Match if the TCP header contains the comma separated list of

Modified: user/attilio/vmcontention/sbin/ipfw/ipfw2.c
==============================================================================
--- user/attilio/vmcontention/sbin/ipfw/ipfw2.c	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/sbin/ipfw/ipfw2.c	Tue Feb  7 11:28:40 2012	(r231126)
@@ -512,6 +512,7 @@ static struct _s_x _port_name[] = {
 	{"ipttl",	O_IPTTL},
 	{"mac-type",	O_MAC_TYPE},
 	{"tcpdatalen",	O_TCPDATALEN},
+	{"tcpwin",	O_TCPWIN},
 	{"tagged",	O_TAGGED},
 	{NULL,		0}
 };
@@ -1480,7 +1481,11 @@ show_ipfw(struct ip_fw *rule, int pcwidt
 				break;
 
 			case O_TCPWIN:
-				printf(" tcpwin %d", ntohs(cmd->arg1));
+				if (F_LEN(cmd) == 1)
+				    printf(" tcpwin %u", cmd->arg1);
+				else
+				    print_newports((ipfw_insn_u16 *)cmd, 0,
+					O_TCPWIN);
 				break;
 
 			case O_TCPACK:
@@ -3447,8 +3452,12 @@ read_options:
 
 		case TOK_TCPWIN:
 			NEED1("tcpwin requires length");
-			fill_cmd(cmd, O_TCPWIN, 0,
-			    htons(strtoul(*av, NULL, 0)));
+			if (strpbrk(*av, "-,")) {
+			    if (!add_ports(cmd, *av, 0, O_TCPWIN))
+				errx(EX_DATAERR, "invalid tcpwin len %s", *av);
+			} else
+			    fill_cmd(cmd, O_TCPWIN, 0,
+				    strtoul(*av, NULL, 0));
 			av++;
 			break;
 

Modified: user/attilio/vmcontention/sbin/route/route.c
==============================================================================
--- user/attilio/vmcontention/sbin/route/route.c	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/sbin/route/route.c	Tue Feb  7 11:28:40 2012	(r231126)
@@ -460,8 +460,8 @@ netname(struct sockaddr *sa)
 			 * Guess at the subnet mask, assuming reasonable
 			 * width subnet fields.
 			 */
-			while (in.s_addr &~ mask)
-				mask = (long)mask >> subnetshift;
+			while (in.s_addr & ~mask)
+				mask |= mask >> subnetshift;
 			net = in.s_addr & mask;
 			while ((mask & 1) == 0)
 				mask >>= 1, net >>= 1;

Modified: user/attilio/vmcontention/share/man/man4/tcp.4
==============================================================================
--- user/attilio/vmcontention/share/man/man4/tcp.4	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/share/man/man4/tcp.4	Tue Feb  7 11:28:40 2012	(r231126)
@@ -38,7 +38,7 @@
 .\"     From: @(#)tcp.4	8.1 (Berkeley) 6/5/93
 .\" $FreeBSD$
 .\"
-.Dd November 14, 2011
+.Dd February 5, 2012
 .Dt TCP 4
 .Os
 .Sh NAME
@@ -146,6 +146,65 @@ connection.
 See
 .Xr mod_cc 4
 for details.
+.It Dv TCP_KEEPINIT
+This write-only 
+.Xr setsockopt 2
+option accepts a per-socket timeout argument of
+.Vt "u_int"
+in seconds, for new, non-established
+.Tn TCP
+connections.
+For the global default in milliseconds see
+.Va keepinit
+in the
+.Sx MIB Variables
+section further down.
+.It Dv TCP_KEEPIDLE
+This write-only 
+.Xr setsockopt 2
+option accepts an argument of
+.Vt "u_int"
+for the amount of time, in seconds, that the connection must be idle
+before keepalive probes (if enabled) are sent for the connection of this
+socket.
+If set on a listening socket, the value is inherited by the newly created
+socket upon
+.Xr accept 2 .
+For the global default in milliseconds see
+.Va keepidle
+in the
+.Sx MIB Variables
+section further down.
+.It Dv TCP_KEEPINTVL
+This write-only 
+.Xr setsockopt 2
+option accepts an argument of
+.Vt "u_int"
+to set the per-socket interval, in seconds, between keepalive probes sent
+to a peer.
+If set on a listening socket, the value is inherited by the newly created
+socket upon
+.Xr accept 2 .
+For the global default in milliseconds see
+.Va keepintvl
+in the
+.Sx MIB Variables
+section further down.
+.It Dv TCP_KEEPCNT
+This write-only 
+.Xr setsockopt 2
+option accepts an argument of
+.Vt "u_int"
+and allows a per-socket tuning of the number of probes sent, with no response,
+before the connection will be dropped.
+If set on a listening socket, the value is inherited by the newly created
+socket upon
+.Xr accept 2 .
+For the global default see the
+.Va keepcnt
+in the
+.Sx MIB Variables
+section further down.
 .It Dv TCP_NODELAY
 Under most circumstances,
 .Tn TCP
@@ -296,17 +355,21 @@ The Maximum Segment Lifetime, in millise
 Timeout, in milliseconds, for new, non-established
 .Tn TCP
 connections.
+The default is 75000 msec.
 .It Va keepidle
 Amount of time, in milliseconds, that the connection must be idle
 before keepalive probes (if enabled) are sent.
+The default is 7200000 msec (2 hours).
 .It Va keepintvl
 The interval, in milliseconds, between keepalive probes sent to remote
 machines, when no response is received on a
 .Va keepidle
 probe.
-After
-.Dv TCPTV_KEEPCNT
-(default 8) probes are sent, with no response, the connection is dropped.
+The default is 75000 msec.
+.It Va keepcnt
+Number of probes sent, with no response, before a connection
+is dropped.
+The default is 8 packets.
 .It Va always_keepalive
 Assume that
 .Dv SO_KEEPALIVE

Modified: user/attilio/vmcontention/share/man/man5/src.conf.5
==============================================================================
--- user/attilio/vmcontention/share/man/man5/src.conf.5	Tue Feb  7 11:25:35 2012	(r231125)
+++ user/attilio/vmcontention/share/man/man5/src.conf.5	Tue Feb  7 11:28:40 2012	(r231126)
@@ -1,7 +1,7 @@
 .\" DO NOT EDIT-- this file is automatically generated.
 .\" from FreeBSD: head/tools/build/options/makeman 221733 2011-05-10 13:01:11Z ru
 .\" $FreeBSD$
-.Dd January 13, 2012
+.Dd February 6, 2012
 .Dt SRC.CONF 5
 .Os
 .Sh NAME
@@ -271,12 +271,21 @@ Set to not build the Clang C/C++ compile
 .Pp
 It is a default setting on
 arm/arm, arm/armeb, ia64/ia64, mips/mipsel, mips/mipseb, mips/mips64el, mips/mips64eb, mips/mipsn32eb and sparc64/sparc64.
+When set, it also enforces the following options:
+.Pp
+.Bl -item -compact
+.It
+.Va WITHOUT_CLANG_EXTRAS
+.El
 .It Va WITH_CLANG
 .\" from FreeBSD: head/tools/build/options/WITH_CLANG 221730 2011-05-10 11:14:40Z ru
 Set to build the Clang C/C++ compiler.
 .Pp
 It is a default setting on
 amd64/amd64, i386/i386, pc98/i386, powerpc/powerpc and powerpc/powerpc64.
+.It Va WITH_CLANG_EXTRAS
+.\" $FreeBSD$

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


More information about the svn-src-user mailing list