From owner-svn-src-projects@FreeBSD.ORG  Sun Oct 12 11:22:27 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 60455411;
 Sun, 12 Oct 2014 11:22:27 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 4AE43A3C;
 Sun, 12 Oct 2014 11:22:27 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9CBMRGt092462;
 Sun, 12 Oct 2014 11:22:27 GMT (envelope-from melifaro@FreeBSD.org)
Received: (from melifaro@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9CBMQ4J092457;
 Sun, 12 Oct 2014 11:22:26 GMT (envelope-from melifaro@FreeBSD.org)
Message-Id: <201410121122.s9CBMQ4J092457@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: melifaro set sender to
 melifaro@FreeBSD.org using -f
From: "Alexander V. Chernikov" <melifaro@FreeBSD.org>
Date: Sun, 12 Oct 2014 11:22:26 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r272982 - in projects/routing/sys: conf net netpfil/ipfw
 netpfil/pf
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 12 Oct 2014 11:22:27 -0000

Author: melifaro
Date: Sun Oct 12 11:22:25 2014
New Revision: 272982
URL: https://svnweb.freebsd.org/changeset/base/272982

Log:
  Implement fib*_lookup_nh_basic to provide fast non-refcounted
  way to determine egress ifp / mtu.

Added:
  projects/routing/sys/net/rt_nhops.c   (contents, props changed)
  projects/routing/sys/net/rt_nhops.h   (contents, props changed)
Modified:
  projects/routing/sys/conf/files
  projects/routing/sys/netpfil/ipfw/ip_fw2.c
  projects/routing/sys/netpfil/pf/pf.c

Modified: projects/routing/sys/conf/files
==============================================================================
--- projects/routing/sys/conf/files	Sun Oct 12 10:39:59 2014	(r272981)
+++ projects/routing/sys/conf/files	Sun Oct 12 11:22:25 2014	(r272982)
@@ -3254,6 +3254,7 @@ net/radix_mpath.c		standard
 net/raw_cb.c			standard
 net/raw_usrreq.c		standard
 net/route.c			standard
+net/rt_nhops.c			standard
 net/rtsock.c			standard
 net/slcompress.c		optional netgraph_vjc | sppp | \
 					 netgraph_sppp

Added: projects/routing/sys/net/rt_nhops.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/routing/sys/net/rt_nhops.c	Sun Oct 12 11:22:25 2014	(r272982)
@@ -0,0 +1,240 @@
+/*-
+ * Copyright (c) 2014
+ * 	Alexander V. Chernikov <melifaro@FreeBSD.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * Temporary file. In future it should be split between net/route.c
+ * and per-AF files like netinet/in_rmx.c | netinet6/in6_rmx.c
+ */
+
+#include "opt_inet.h"
+#include "opt_inet6.h"
+#include "opt_route.h"
+#include "opt_mpath.h"
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/syslog.h>
+#include <sys/malloc.h>
+#include <sys/mbuf.h>
+#include <sys/socket.h>
+#include <sys/sysctl.h>
+#include <sys/syslog.h>
+#include <sys/sysproto.h>
+#include <sys/proc.h>
+#include <sys/domain.h>
+#include <sys/kernel.h>
+#include <sys/sbuf.h>
+
+#include <net/if.h>
+#include <net/if_var.h>
+#include <net/if_dl.h>
+#include <net/route.h>
+#include <net/vnet.h>
+
+#ifdef RADIX_MPATH
+#include <net/radix_mpath.h>
+#endif
+
+#include <netinet/in.h>
+#include <netinet/ip_mroute.h>
+#include <netinet/ip6.h>
+
+#include <net/rt_nhops.h>
+
+#include <vm/uma.h>
+
+struct fwd_info {
+	fib_lookup_t	*lookup;
+	void		*state;
+};
+
+#define	FWD_FSM_NONE	0
+#define	FWD_FSM_INIT	1
+#define	FWD_FSM_FWD	2
+struct fwd_control {
+	int		fwd_state;	/* FSM */
+	struct fwd_module	*fm;
+};
+
+#if 0
+static struct fwd_info *fwd_db[FWD_SIZE];
+static struct fwd_control *fwd_ctl[FWD_SIZE];
+
+static TAILQ_HEAD(fwd_module_list, fwd_module)	modulehead = TAILQ_HEAD_INITIALIZER(modulehead);
+static struct fwd_module_list fwd_modules[FWD_SIZE];
+
+static uint8_t fwd_map_af[] = {
+	AF_INET,
+	AF_INET6,
+};
+
+static struct rwlock fwd_lock;
+#define	FWD_LOCK_INIT()	rw_init(&fwd_lock, "fwd_lock")
+#define	FWD_RLOCK()	rw_rlock(&fwd_lock)
+#define	FWD_RUNLOCK()	rw_runlock(&fwd_lock)
+#define	FWD_WLOCK()	rw_wlock(&fwd_lock)
+#define	FWD_WUNLOCK()	rw_wunlock(&fwd_lock)
+
+int fwd_attach_fib(struct fwd_module *fm, u_int fib);
+int fwd_destroy_fib(struct fwd_module *fm, u_int fib);
+#endif
+MALLOC_DEFINE(M_RTFIB, "rtfib", "routing fwd");
+
+
+
+/*
+ * Per-AF fast routines returning minimal needed info.
+ * It is not safe to dereference any pointers since it
+ * may end up with use-after-free case.
+ * Typically it may be used to check if outgoing
+ * interface matches or to calculate proper MTU.
+ *
+ * Note that returned interface pointer is logical one,
+ * e.g. actual transmit ifp may be different.
+ * Difference may be triggered by
+ * 1) loopback routes installed for interface addresses.
+ *  e.g. for address 10.0.0.1 with prefix /24 bound to
+ *  interface ix0, "logical" interface will be "ix0",
+ *  while "trasmit" interface will be "lo0" since this is
+ *  loopback route. You should consider using other
+ *  functions if you need "transmit" interface or both.
+ *
+ *
+ * Returns 0 on match, error code overwise.
+ */
+
+#define	NHOP_FLAGS_MASK	(RTF_REJECT|RTF_BLACKHOLE)
+//#define	NHOP_DIRECT	
+#define RNTORT(p)	((struct rtentry *)(p))
+#ifdef INET
+int
+fib4_lookup_nh_basic(uint32_t fibnum, struct in_addr dst, uint32_t flowid,
+    struct nhop4_basic *pnh4)
+{
+	struct radix_node_head *rnh;
+	struct radix_node *rn;
+	struct sockaddr_in *gw, sin;
+	struct rtentry *rte;
+
+	KASSERT((fibnum < rt_numfibs), ("fib4_lookup_nh_basic: bad fibnum"));
+	rnh = rt_tables_get_rnh(fibnum, AF_INET);
+	if (rnh == NULL)
+		return (ENOENT);
+
+	/* Prepare lookup key */
+	memset(&sin, 0, sizeof(sin));
+	sin.sin_addr = dst;
+
+	RADIX_NODE_HEAD_RLOCK(rnh);
+	rn = rnh->rnh_matchaddr((void *)&sin, rnh);
+	if (rn != NULL && ((rn->rn_flags & RNF_ROOT) == 0)) {
+		rte = RNTORT(rn);
+		/* Ensure route & ifp is UP */
+		if (RT_LINK_IS_UP(rte->rt_ifp)) {
+			pnh4->nh_ifp = rte->rt_ifa->ifa_ifp;
+			pnh4->nh_mtu = min(rte->rt_mtu, rte->rt_ifp->if_mtu);
+			if (rte->rt_flags & RTF_GATEWAY) {
+				gw = (struct sockaddr_in *)rte->rt_gateway;
+				pnh4->nh_addr = gw->sin_addr;
+			} else
+				pnh4->nh_addr = dst;
+			/* Set flags */
+			pnh4->nh_flags = rte->rt_flags & NHOP_FLAGS_MASK;
+			gw = (struct sockaddr_in *)rt_key(rte);
+			if (gw->sin_addr.s_addr == 0)
+				pnh4->nh_flags |= NHOP_DEFAULT;
+			RADIX_NODE_HEAD_RUNLOCK(rnh);
+
+			return (0);
+		}
+	}
+	RADIX_NODE_HEAD_RUNLOCK(rnh);
+
+	return (ENOENT);
+}
+#endif
+
+#ifdef INET6
+int
+fib6_lookup_nh_basic(uint32_t fibnum, struct in6_addr dst, uint32_t flowid,
+    struct nhop6_basic *pnh6)
+{
+	struct radix_node_head *rnh;
+	struct radix_node *rn;
+	struct sockaddr_in6 *gw, sin6;
+	struct rtentry *rte;
+
+	KASSERT((fibnum < rt_numfibs), ("fib6_lookup_nh_basic: bad fibnum"));
+	rnh = rt_tables_get_rnh(fibnum, AF_INET);
+	if (rnh == NULL)
+		return (ENOENT);
+
+	/* Prepare lookup key */
+	memset(&sin6, 0, sizeof(sin6));
+	sin6.sin6_addr = dst;
+
+	RADIX_NODE_HEAD_RLOCK(rnh);
+	rn = rnh->rnh_matchaddr((void *)&sin6, rnh);
+	if (rn != NULL && ((rn->rn_flags & RNF_ROOT) == 0)) {
+		rte = RNTORT(rn);
+		/* Ensure route & ifp is UP */
+		if (RT_LINK_IS_UP(rte->rt_ifp)) {
+			pnh6->nh_ifp = rte->rt_ifa->ifa_ifp;
+			pnh6->nh_mtu = min(rte->rt_mtu, rte->rt_ifp->if_mtu);
+			if (rte->rt_flags & RTF_GATEWAY) {
+				gw = (struct sockaddr_in6 *)rte->rt_gateway;
+				pnh6->nh_addr = gw->sin6_addr;
+			} else
+				pnh6->nh_addr = dst;
+			/* Set flags */
+			pnh6->nh_flags = rte->rt_flags & NHOP_FLAGS_MASK;
+			gw = (struct sockaddr_in6 *)rt_key(rte);
+			if (IN6_IS_ADDR_UNSPECIFIED(&gw->sin6_addr))
+				pnh6->nh_flags |= NHOP_DEFAULT;
+			RADIX_NODE_HEAD_RUNLOCK(rnh);
+			return (0);
+		}
+	}
+	RADIX_NODE_HEAD_RUNLOCK(rnh);
+
+	return (ENOENT);
+}
+#endif
+
+
+
+
+
+
+
+
+
+
+
+

Added: projects/routing/sys/net/rt_nhops.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/routing/sys/net/rt_nhops.h	Sun Oct 12 11:22:25 2014	(r272982)
@@ -0,0 +1,178 @@
+/*-
+ * Copyright (c) 2014
+ * 	Alexander V. Chernikov <melifaro@FreeBSD.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef _NET_RT_NHOPS_H_
+#define	_NET_RT_NHOPS_H_
+
+#define	MAX_PREPEND_LEN		64	/* Max data that can be prepended */
+
+
+#define	NH_TYPE_DIRECT		1	/* Directly reachable, no data */
+#define	NH_TYPE_BLACKHOLE	2	/* Blackhole route */
+#define	NH_TYPE_REJECT		3	/* Send reject  */
+#define	NH_TYPE_L2		4	/* Provides full prepend header */
+#define	NH_TYPE_MUTATOR		5	/* NH+callback function  */
+#define	NH_TYPE_MULTIPATH	6	/* Multipath route */
+
+struct nhop_info {
+	uint64_t	refcnt;		/* Use references */
+	uint64_t	flags;		/* Options */
+
+};
+
+/* Multipath nhop info */
+struct nhop_mpath_info {
+	uint16_t	nhop;		/* Netxthop id */
+};
+
+/* mutator info */
+struct nhop_mutator_info;
+struct nhop_data;
+
+typedef int nhop_mutate_t(struct mbuf **, struct nhop_data *nd, void *storage);
+struct nhop_mutator_info {
+	nhop_mutate_t	*func;
+	char		data[];
+};
+
+/* Structure used for forwarding purposes */
+struct nhop_data {
+	uint8_t		flags;	/* NH flags */
+	uint8_t		count;	/* Number of nexthops or data length */
+	uint16_t	mtu;
+	uint16_t	lifp_idx;	/* Logical interface index */
+	uint16_t	ifp_idx;	/* Transmit interface index */
+	union {
+		struct nhop_mpath_info mp[32];	/* Multipath info */
+		struct nhop_mutator_info mm;	/* mutator info */
+		char	data[MAX_PREPEND_LEN - 8];	/* data to prepend */
+	} d;
+};
+
+/* Per-AF per-fib nhop table */
+struct nhops_descr {
+	uint32_t	nhop_size;	/* Nehthop data size */
+	uint32_t	nhops_max;	/* Max number of nhops */
+	void		*nhops_data;	/* Pointer to nhop data table */
+	void		*nhops_info;	/* Pointer to nhop info table */
+};
+
+
+#if 0
+typedef int nhop_resolve_t(struct sockaddr *dst, u_int fib, struct nhop_data *nd, struct nhop_info *nf);
+
+
+
+int
+lla_create_notify(struct sockaddr *dst, u_int fib, lla_notify_t *func, void *state, int flags);
+#endif
+
+/* Basic nexthop info used for uRPF/mtu checks */
+struct nhop4_basic {
+	struct ifnet	*nh_ifp;	/* Logical egress interface */
+	uint16_t	nh_mtu;		/* nexthop mtu */
+	uint16_t	nh_flags;	/* nhop flags */
+	struct in_addr	nh_addr;	/* GW/DST IPv4 address */
+};
+
+struct nhop6_basic {
+	struct ifnet	*nh_ifp;	/* Logical egress interface */
+	uint16_t	nh_mtu;		/* nexthop mtu */
+	uint16_t	nh_flags;	/* nhop flags */
+	struct in6_addr	nh_addr;	/* GW/DST IPv4 address */
+};
+
+struct nhop64_basic {
+	union {
+		struct nhop4_basic	nh4;
+		struct nhop6_basic	nh6;
+	} u;
+};
+
+int fib4_lookup_nh_basic(uint32_t fibnum, struct in_addr dst, uint32_t flowid,
+    struct nhop4_basic *pnh4);
+int fib6_lookup_nh_basic(uint32_t fibnum, struct in6_addr dst, uint32_t flowid,
+    struct nhop6_basic *pnh6);
+
+#define	NHOP_REJECT	RTF_REJECT
+#define	NHOP_BLACKHOLE	RTF_BLACKHOLE
+#define	NHOP_DEFAULT	0x80	/* Default route */
+
+#define	FWD_INET	0
+#define	FWD_INET6	1
+
+#define	FWD_SIZE	2
+
+#define	FWD_NAME_MAX	15
+
+#define	FWD_MULTIPATH	0x0001	/* has multipath support */
+#define	FWD_OLDMASKS	0x0002	/* has support for non-contig masks */
+#define	FWD_DEFAULT	0x0004	/* installs as default fib mechanism */
+#define	FWD_MANAGELOCK	0x0004	/* manage its own locking */
+
+typedef void *fib_init_t(u_int fibnum);
+typedef void fib_destroy_t(void *state);
+typedef int fib_dump_t(void *state, struct radix_node_head *rnh);
+typedef	int fib_change_t(void *state, int req, struct rtentry *rte,
+    struct rt_addrinfo *info);
+typedef int fib_lookup_t(void *state, void *key, uint64_t *attr, u_int flowid,
+    void *nhop);
+
+/* Structure used by external module */
+struct fwd_module_info {
+	uint8_t		fwd_family;	/* family we're registering to */
+	char		name[FWD_NAME_MAX];	/* fwd module name */
+	uint32_t	capabilities;
+	fib_init_t	*fib_init;
+	fib_destroy_t	*fib_destroy;
+	fib_dump_t	*fib_dump;
+	fib_change_t	*fib_change;
+	fib_lookup_t	*fib_lookup;
+};
+
+/* Internal version of previous structure */
+struct fwd_module {
+	TAILQ_ENTRY(fwd_module)	list;
+	uint8_t		fwd_family;
+	char		name[FWD_NAME_MAX];
+	uint32_t	capabilities;
+	fib_init_t	*fib_init;
+	fib_destroy_t	*fib_destroy;
+	fib_dump_t	*fib_dump;
+	fib_change_t	*fib_change;
+	fib_lookup_t	*fib_lookup;
+};
+
+int fwd_attach_module(struct fwd_module_info *m, void **);
+int fwd_destroy_module(void *state);
+int fwd_change_fib(struct radix_node_head *rnh, int req, struct rtentry *rte,
+    struct rt_addrinfo *info);
+
+#endif
+

Modified: projects/routing/sys/netpfil/ipfw/ip_fw2.c
==============================================================================
--- projects/routing/sys/netpfil/ipfw/ip_fw2.c	Sun Oct 12 10:39:59 2014	(r272981)
+++ projects/routing/sys/netpfil/ipfw/ip_fw2.c	Sun Oct 12 11:22:25 2014	(r272982)
@@ -89,6 +89,7 @@ __FBSDID("$FreeBSD$");
 #include <netinet6/scope6_var.h>
 #include <netinet6/ip6_var.h>
 #endif
+#include <net/rt_nhops.h>
 
 #include <netpfil/ipfw/ip_fw_private.h>
 
@@ -434,19 +435,10 @@ verify_path(struct in_addr src, struct i
 #if defined(USERSPACE) || !defined(__FreeBSD__)
 	return 0;
 #else
-	struct route ro;
-	struct sockaddr_in *dst;
+	struct nhop4_basic nh4;
 
-	bzero(&ro, sizeof(ro));
-
-	dst = (struct sockaddr_in *)&(ro.ro_dst);
-	dst->sin_family = AF_INET;
-	dst->sin_len = sizeof(*dst);
-	dst->sin_addr = src;
-	in_rtalloc_ign(&ro, 0, fib);
-
-	if (ro.ro_rt == NULL)
-		return 0;
+	if (fib4_lookup_nh_basic(fib, src, 0, &nh4) != 0)
+		return (0);
 
 	/*
 	 * If ifp is provided, check for equality with rtentry.
@@ -455,27 +447,18 @@ verify_path(struct in_addr src, struct i
 	 * routing entry (via lo0) for our own address
 	 * may exist, so we need to handle routing assymetry.
 	 */
-	if (ifp != NULL && ro.ro_rt->rt_ifa->ifa_ifp != ifp) {
-		RTFREE(ro.ro_rt);
-		return 0;
-	}
+	if (ifp != NULL && ifp != nh4.nh_ifp)
+		return (0);
 
 	/* if no ifp provided, check if rtentry is not default route */
-	if (ifp == NULL &&
-	     satosin(rt_key(ro.ro_rt))->sin_addr.s_addr == INADDR_ANY) {
-		RTFREE(ro.ro_rt);
-		return 0;
-	}
+	if (ifp == NULL && (nh4.nh_flags & NHOP_DEFAULT) != 0)
+		return (0);
 
 	/* or if this is a blackhole/reject route */
-	if (ifp == NULL && ro.ro_rt->rt_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
-		RTFREE(ro.ro_rt);
-		return 0;
-	}
+	if (ifp == NULL && (nh4.nh_flags & (NHOP_REJECT|NHOP_BLACKHOLE)) != 0)
+		return (0);
 
-	/* found valid route */
-	RTFREE(ro.ro_rt);
-	return 1;
+	return (1);
 #endif /* __FreeBSD__ */
 }
 
@@ -530,49 +513,24 @@ search_ip6_addr_net (struct in6_addr * i
 static int
 verify_path6(struct in6_addr *src, struct ifnet *ifp, u_int fib)
 {
-	struct route_in6 ro;
-	struct sockaddr_in6 *dst;
-
-	bzero(&ro, sizeof(ro));
-
-	dst = (struct sockaddr_in6 * )&(ro.ro_dst);
-	dst->sin6_family = AF_INET6;
-	dst->sin6_len = sizeof(*dst);
-	dst->sin6_addr = *src;
+	struct nhop6_basic nh6;
 
-	in6_rtalloc_ign(&ro, 0, fib);
-	if (ro.ro_rt == NULL)
-		return 0;
+	if (fib6_lookup_nh_basic(fib, *src, 0, &nh6) != 0)
+		return (0);
 
-	/* 
-	 * if ifp is provided, check for equality with rtentry
-	 * We should use rt->rt_ifa->ifa_ifp, instead of rt->rt_ifp,
-	 * to support the case of sending packets to an address of our own.
-	 * (where the former interface is the first argument of if_simloop()
-	 *  (=ifp), the latter is lo0)
-	 */
-	if (ifp != NULL && ro.ro_rt->rt_ifa->ifa_ifp != ifp) {
-		RTFREE(ro.ro_rt);
-		return 0;
-	}
+	/* If ifp is provided, check for equality with route table. */
+	if (ifp != NULL && ifp != nh6.nh_ifp)
+		return (0);
 
 	/* if no ifp provided, check if rtentry is not default route */
-	if (ifp == NULL &&
-	    IN6_IS_ADDR_UNSPECIFIED(&satosin6(rt_key(ro.ro_rt))->sin6_addr)) {
-		RTFREE(ro.ro_rt);
-		return 0;
-	}
+	if (ifp == NULL && (nh6.nh_flags & NHOP_DEFAULT) != 0)
+		return (0);
 
 	/* or if this is a blackhole/reject route */
-	if (ifp == NULL && ro.ro_rt->rt_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
-		RTFREE(ro.ro_rt);
-		return 0;
-	}
-
-	/* found valid route */
-	RTFREE(ro.ro_rt);
-	return 1;
+	if (ifp == NULL && (nh6.nh_flags & (NHOP_REJECT|NHOP_BLACKHOLE)) != 0)
+		return (0);
 
+	return (1);
 }
 
 static int

Modified: projects/routing/sys/netpfil/pf/pf.c
==============================================================================
--- projects/routing/sys/netpfil/pf/pf.c	Sun Oct 12 10:39:59 2014	(r272981)
+++ projects/routing/sys/netpfil/pf/pf.c	Sun Oct 12 11:22:25 2014	(r272982)
@@ -96,6 +96,8 @@ __FBSDID("$FreeBSD$");
 #include <netinet6/in6_pcb.h>
 #endif /* INET6 */
 
+#include <net/rt_nhops.h>
+
 #include <machine/in_cksum.h>
 #include <security/mac/mac_framework.h>
 
@@ -2906,15 +2908,7 @@ pf_get_mss(struct mbuf *m, int off, u_in
 static u_int16_t
 pf_calc_mss(struct pf_addr *addr, sa_family_t af, int rtableid, u_int16_t offer)
 {
-#ifdef INET
-	struct sockaddr_in	*dst;
-	struct route		 ro;
-#endif /* INET */
-#ifdef INET6
-	struct sockaddr_in6	*dst6;
-	struct route_in6	 ro6;
-#endif /* INET6 */
-	struct rtentry		*rt = NULL;
+	struct nhop64_basic	 nh;
 	int			 hlen = 0;
 	u_int16_t		 mss = V_tcp_mssdflt;
 
@@ -2922,34 +2916,19 @@ pf_calc_mss(struct pf_addr *addr, sa_fam
 #ifdef INET
 	case AF_INET:
 		hlen = sizeof(struct ip);
-		bzero(&ro, sizeof(ro));
-		dst = (struct sockaddr_in *)&ro.ro_dst;
-		dst->sin_family = AF_INET;
-		dst->sin_len = sizeof(*dst);
-		dst->sin_addr = addr->v4;
-		in_rtalloc_ign(&ro, 0, rtableid);
-		rt = ro.ro_rt;
+		if (fib4_lookup_nh_basic(rtableid, addr->v4, 0, &nh.u.nh4) == 0)
+			mss = nh.u.nh4.nh_mtu - hlen - sizeof(struct tcphdr);
 		break;
 #endif /* INET */
 #ifdef INET6
 	case AF_INET6:
 		hlen = sizeof(struct ip6_hdr);
-		bzero(&ro6, sizeof(ro6));
-		dst6 = (struct sockaddr_in6 *)&ro6.ro_dst;
-		dst6->sin6_family = AF_INET6;
-		dst6->sin6_len = sizeof(*dst6);
-		dst6->sin6_addr = addr->v6;
-		in6_rtalloc_ign(&ro6, 0, rtableid);
-		rt = ro6.ro_rt;
+		if (fib6_lookup_nh_basic(rtableid, addr->v6, 0, &nh.u.nh6) == 0)
+			mss = nh.u.nh6.nh_mtu - hlen - sizeof(struct tcphdr);
 		break;
 #endif /* INET6 */
 	}
 
-	if (rt && rt->rt_ifp) {
-		mss = rt->rt_ifp->if_mtu - hlen - sizeof(struct tcphdr);
-		mss = max(V_tcp_mssdflt, mss);
-		RTFREE(rt);
-	}
 	mss = min(mss, offer);
 	mss = max(mss, 64);		/* sanity - at least max opt space */
 	return (mss);
@@ -5105,37 +5084,14 @@ int
 pf_routable(struct pf_addr *addr, sa_family_t af, struct pfi_kif *kif,
     int rtableid)
 {
-#ifdef RADIX_MPATH
-	struct radix_node_head	*rnh;
-#endif
-	struct sockaddr_in	*dst;
-	int			 ret = 1;
-	int			 check_mpath;
-#ifdef INET6
-	struct sockaddr_in6	*dst6;
-	struct route_in6	 ro;
-#else
-	struct route		 ro;
-#endif
-	struct radix_node	*rn;
-	struct rtentry		*rt;
-	struct ifnet		*ifp;
-
-	check_mpath = 0;
-#ifdef RADIX_MPATH
-	/* XXX: stick to table 0 for now */
-	rnh = rt_tables_get_rnh(0, af);
-	if (rnh != NULL && rn_mpath_capable(rnh))
-		check_mpath = 1;
-#endif
-	bzero(&ro, sizeof(ro));
+	struct nhop64_basic	nh;
+
+	/* Skip checks for ipsec interfaces */
+	if (kif != NULL && kif->pfik_ifp->if_type == IFT_ENC)
+		return (0);
+
+	bzero(&nh, sizeof(nh));
 	switch (af) {
-	case AF_INET:
-		dst = satosin(&ro.ro_dst);
-		dst->sin_family = AF_INET;
-		dst->sin_len = sizeof(*dst);
-		dst->sin_addr = addr->v4;
-		break;
 #ifdef INET6
 	case AF_INET6:
 		/*
@@ -5143,66 +5099,33 @@ pf_routable(struct pf_addr *addr, sa_fam
 		 * as they would always match anyway.
 		 */
 		if (IN6_IS_SCOPE_EMBED(&addr->v6))
-			goto out;
-		dst6 = (struct sockaddr_in6 *)&ro.ro_dst;
-		dst6->sin6_family = AF_INET6;
-		dst6->sin6_len = sizeof(*dst6);
-		dst6->sin6_addr = addr->v6;
-		break;
-#endif /* INET6 */
-	default:
-		return (0);
-	}
-
-	/* Skip checks for ipsec interfaces */
-	if (kif != NULL && kif->pfik_ifp->if_type == IFT_ENC)
-		goto out;
-
-	switch (af) {
-#ifdef INET6
-	case AF_INET6:
-		in6_rtalloc_ign(&ro, 0, rtableid);
+			return (1);
+		if (fib6_lookup_nh_basic(rtableid, addr->v6, 0, &nh.u.nh6) != 0)
+			return (0);
 		break;
 #endif
 #ifdef INET
 	case AF_INET:
-		in_rtalloc_ign((struct route *)&ro, 0, rtableid);
+		if (fib4_lookup_nh_basic(rtableid, addr->v4, 0, &nh.u.nh4) != 0)
+			return (0);
 		break;
 #endif
 	default:
-		rtalloc_ign((struct route *)&ro, 0);	/* No/default FIB. */
-		break;
+		return (0);
 	}
 
-	if (ro.ro_rt != NULL) {
-		/* No interface given, this is a no-route check */
-		if (kif == NULL)
-			goto out;
+	/* No interface given, this is a no-route check */
+	if (kif == NULL)
+		return (1);
 
-		if (kif->pfik_ifp == NULL) {
-			ret = 0;
-			goto out;
-		}
+	if (kif->pfik_ifp == NULL)
+		return (0);
 
-		/* Perform uRPF check if passed input interface */
-		ret = 0;
-		rn = (struct radix_node *)ro.ro_rt;
-		do {
-			rt = (struct rtentry *)rn;
-			ifp = rt->rt_ifp;
+	/* Perform uRPF check if passed input interface */
+	if (kif->pfik_ifp == nh.u.nh4.nh_ifp)
+		return (1);
 
-			if (kif->pfik_ifp == ifp)
-				ret = 1;
-#ifdef RADIX_MPATH
-			rn = rn_mpath_next(rn);
-#endif
-		} while (check_mpath == 1 && rn != NULL && ret == 0);
-	} else
-		ret = 0;
-out:
-	if (ro.ro_rt != NULL)
-		RTFREE(ro.ro_rt);
-	return (ret);
+	return (0);
 }
 
 #ifdef INET

From owner-svn-src-projects@FreeBSD.ORG  Mon Oct 13 11:04:01 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id EF046FD6;
 Mon, 13 Oct 2014 11:04:01 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id DB4DB25F;
 Mon, 13 Oct 2014 11:04:01 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9DB41d6077586;
 Mon, 13 Oct 2014 11:04:01 GMT (envelope-from melifaro@FreeBSD.org)
Received: (from melifaro@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9DB41nw077585;
 Mon, 13 Oct 2014 11:04:01 GMT (envelope-from melifaro@FreeBSD.org)
Message-Id: <201410131104.s9DB41nw077585@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: melifaro set sender to
 melifaro@FreeBSD.org using -f
From: "Alexander V. Chernikov" <melifaro@FreeBSD.org>
Date: Mon, 13 Oct 2014 11:04:01 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273030 - projects/routing/sbin/ipfw
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Oct 2014 11:04:02 -0000

Author: melifaro
Date: Mon Oct 13 11:04:01 2014
New Revision: 273030
URL: https://svnweb.freebsd.org/changeset/base/273030

Log:
  Fix zeroing individual entries via ipfw(8).
  
  Found by:	Oleg Ginzburg

Modified:
  projects/routing/sbin/ipfw/ipfw2.c

Modified: projects/routing/sbin/ipfw/ipfw2.c
==============================================================================
--- projects/routing/sbin/ipfw/ipfw2.c	Mon Oct 13 11:00:58 2014	(r273029)
+++ projects/routing/sbin/ipfw/ipfw2.c	Mon Oct 13 11:04:01 2014	(r273030)
@@ -4799,6 +4799,7 @@ ipfw_zero(int ac, char *av[], int optnam
 		} else {
 			errx(EX_USAGE, "invalid rule number ``%s''", *av);
 		}
+		av++; ac--;
 	}
 	if (failed != EX_OK)
 		exit(failed);

From owner-svn-src-projects@FreeBSD.ORG  Mon Oct 13 11:16:45 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 9BB941E8;
 Mon, 13 Oct 2014 11:16:45 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 87D74367;
 Mon, 13 Oct 2014 11:16:45 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9DBGjVt082665;
 Mon, 13 Oct 2014 11:16:45 GMT (envelope-from melifaro@FreeBSD.org)
Received: (from melifaro@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9DBGjqv082664;
 Mon, 13 Oct 2014 11:16:45 GMT (envelope-from melifaro@FreeBSD.org)
Message-Id: <201410131116.s9DBGjqv082664@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: melifaro set sender to
 melifaro@FreeBSD.org using -f
From: "Alexander V. Chernikov" <melifaro@FreeBSD.org>
Date: Mon, 13 Oct 2014 11:16:45 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273031 - projects/routing/sbin/ipfw
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Oct 2014 11:16:45 -0000

Author: melifaro
Date: Mon Oct 13 11:16:44 2014
New Revision: 273031
URL: https://svnweb.freebsd.org/changeset/base/273031

Log:
  Report error and return non-zero exit code if zeroing
  non-matched entries.
  
  Found by:	Oleg Ginzburg

Modified:
  projects/routing/sbin/ipfw/ipfw2.c

Modified: projects/routing/sbin/ipfw/ipfw2.c
==============================================================================
--- projects/routing/sbin/ipfw/ipfw2.c	Mon Oct 13 11:04:01 2014	(r273030)
+++ projects/routing/sbin/ipfw/ipfw2.c	Mon Oct 13 11:16:44 2014	(r273031)
@@ -2111,13 +2111,19 @@ static int
 do_range_cmd(int cmd, ipfw_range_tlv *rt)
 {
 	ipfw_range_header rh;
+	size_t sz;
 
 	memset(&rh, 0, sizeof(rh));
 	memcpy(&rh.range, rt, sizeof(*rt));
 	rh.range.head.length = sizeof(*rt);
 	rh.range.head.type = IPFW_TLV_RANGE;
+	sz = sizeof(rh);
 
-	return (do_set3(cmd, &rh.opheader, sizeof(rh)));
+	if (do_get3(cmd, &rh.opheader, &sz) != 0)
+		return (-1);
+	/* Save number of matched objects */
+	rt->new_set = rh.range.new_set;
+	return (0);
 }
 
 /*
@@ -4792,6 +4798,9 @@ ipfw_zero(int ac, char *av[], int optnam
 				warn("rule %u: setsockopt(IP_FW_X%s)",
 				    arg, name);
 				failed = EX_UNAVAILABLE;
+			} else if (rt.new_set == 0) {
+				printf("Entry %d not found\n", arg);
+				failed = EX_UNAVAILABLE;
 			} else if (!co.do_quiet)
 				printf("Entry %d %s.\n", arg,
 				    optname == IP_FW_XZERO ?

From owner-svn-src-projects@FreeBSD.ORG  Mon Oct 13 15:16:21 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id D15EFA67;
 Mon, 13 Oct 2014 15:16:21 +0000 (UTC)
Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1])
 (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id A85CF8E;
 Mon, 13 Oct 2014 15:16:21 +0000 (UTC)
Received: from ralph.baldwin.cx (pool-173-70-85-31.nwrknj.fios.verizon.net
 [173.70.85.31])
 by bigwig.baldwin.cx (Postfix) with ESMTPSA id B1E90B917;
 Mon, 13 Oct 2014 11:16:20 -0400 (EDT)
From: John Baldwin <jhb@freebsd.org>
To: "Alexander V. Chernikov" <melifaro@ipfw.ru>
Subject: Re: svn commit: r272515 - projects/ipfw/sys/netpfil/ipfw
Date: Mon, 13 Oct 2014 09:46:28 -0400
Message-ID: <2638508.DdhyVaDRpY@ralph.baldwin.cx>
User-Agent: KMail/4.12.5 (FreeBSD/10.1-BETA2; KDE/4.12.5; amd64; ; )
In-Reply-To: <AC6B3AB3-30C2-44BC-933F-A37F14F01C90@ipfw.ru>
References: <201410041210.s94CAX7I012628@svn.freebsd.org>
 <201410091711.28587.jhb@freebsd.org>
 <AC6B3AB3-30C2-44BC-933F-A37F14F01C90@ipfw.ru>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7
 (bigwig.baldwin.cx); Mon, 13 Oct 2014 11:16:20 -0400 (EDT)
Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org,
 "Alexander V. Chernikov" <melifaro@freebsd.org>
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Oct 2014 15:16:22 -0000

On Sunday, October 12, 2014 12:13:00 AM Alexander V. Chernikov wrote:
> On 10 Oct 2014, at 01:11, John Baldwin <jhb@freebsd.org> wrote:
> > On Thursday, October 09, 2014 12:17:50 pm Alexander V. Chernikov wr=
ote:
> >> On 06.10.2014 19:45, John Baldwin wrote:
> >>> On Saturday, October 04, 2014 12:10:33 PM Alexander V. Chernikov =
wrote:
> >>>> Author: melifaro
> >>>> Date: Sat Oct  4 12:10:32 2014
> >>>> New Revision: 272515
> >>>> URL: https://svnweb.freebsd.org/changeset/base/272515
> >>>>=20
> >>>> Log:
> >>>>   Add "ipfw_ctl3" FEATURE to indicate presence of new ipfw inter=
face.
> >>>>=20
> >>>> Modified:
> >>>>   projects/ipfw/sys/netpfil/ipfw/ip_fw2.c
> >>>>=20
> >>>> Modified: projects/ipfw/sys/netpfil/ipfw/ip_fw2.c
> >>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
> >>>> =3D=3D=3D=3D=3D =3D=3D --- projects/ipfw/sys/netpfil/ipfw/ip_fw2=
.c=09Sat Oct  4
> >>>> 11:40:35 2014=09(r272514) +++
> >>>> projects/ipfw/sys/netpfil/ipfw/ip_fw2.c=09Sat Oct  4 12:10:32
> >>>> 2014=09(r272515) @@ -2874,6 +2874,7 @@ static moduledata_t ipfwm=
od =3D {
> >>>>=20
> >>>>  #define=09IPFW_VNET_ORDER=09=09(IPFW_MODEVENT_ORDER + 2) /* Lat=
er still.=20
*/
> >>>> =20
> >>>>  DECLARE_MODULE(ipfw, ipfwmod, IPFW_SI_SUB_FIREWALL,
> >>>>  IPFW_MODEVENT_ORDER);
> >>>>=20
> >>>> +FEATURE(ipfw_ctl3, "ipfw new sockopt calls");
> >>>>=20
> >>>>  MODULE_VERSION(ipfw, 2);
> >>>>  /* should declare some dependencies here */
> >>>=20
> >>> Would it be better to bump the module version to 3 instead?  User=
land
> >>> programs can then use modfind() and modstat() to determine the ve=
rsion.
> >>=20
> >> I've bumped ipfw module version in r272828. Actually, I've entirel=
y
> >> forgotten about this possibility.
> >> However, it is a bit hard to determine module version inside
> >> (perl|python|sh|any) script.
> >> On the other case, FEATURE framework provides nice and easy way to=

> >> determine any "feature" status
> >> both in C and interpreted programs.
> >=20
> > I'll grant you that feature is convenient.  Perhaps create a SYSCTL=
 node
> > though that holds the current version?  That is 'foo.ipfw.version' =
being
> > 2 or 3 is more future proof than 'feature.ipfw2/3/4=E2=80=99.
>=20
> No, this is not about new _ipfw_ version. I=E2=80=99m unsure if all t=
hese changes
> are large enough to name ipfw as =E2=80=9Cipfw3=E2=80=9D. This is jus=
t an indication that
> all ipfw-related sockopts are available via single setsockopt called
> IP_FW3. Maybe naming is not the best - I=E2=80=99m open to any sugges=
tion.

Hmm, it sure seems like a new version in that there is a different styl=
e of=20
interface similar to how umtx changed from discrete system calls=20
(umtx_lock/unlock) to a multiplexer (umtx_op).

> However, I=E2=80=99m not sure why should I invent additional sysctls =
instead of
> using standard interface.

Well, I think using FEATURE() to communicate version numbers is not rea=
lly
its intended application.  That said, if you wanted, another option wou=
ld be
to possibly rename the socket options to something like 'IP_FW_OP' and
'IP_DUMMYNET_OP' (to reflect that they take an operation as an argument=

similar to umtx_op).  Also, if what you care about is 'xtable' support,=
 you
could have 'FEATURE(ipfw_xtable)'.  That is more along the lines of how=

FEATURE() is currently used rather than version numbers.

> > Alternatively, we could change the module code to export a dynamic =
sysctl
> > tree for all loaded modules that includes the versions, i.e.
> > 'module.<foo>.version', etc.

This is still another idea that would transparently export MODULE_VERSI=
ON()
info via sysctls without requiring API changes.

--=20
John Baldwin

From owner-svn-src-projects@FreeBSD.ORG  Tue Oct 14 03:39:44 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 4A028B78;
 Tue, 14 Oct 2014 03:39:44 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 32676C97;
 Tue, 14 Oct 2014 03:39:44 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9E3divF054359;
 Tue, 14 Oct 2014 03:39:44 GMT (envelope-from neel@FreeBSD.org)
Received: (from neel@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9E3dWGp054195;
 Tue, 14 Oct 2014 03:39:32 GMT (envelope-from neel@FreeBSD.org)
Message-Id: <201410140339.s9E3dWGp054195@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: neel set sender to neel@FreeBSD.org
 using -f
From: Neel Natu <neel@FreeBSD.org>
Date: Tue, 14 Oct 2014 03:39:32 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273069 - in projects/bhyve_svm: bin/sh
 bin/sh/tests/builtins contrib/binutils/bfd contrib/binutils/gas/config
 contrib/binutils/ld/emulparams contrib/libc++/include contrib/netbsd-tests...
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Oct 2014 03:39:44 -0000

Author: neel
Date: Tue Oct 14 03:39:31 2014
New Revision: 273069
URL: https://svnweb.freebsd.org/changeset/base/273069

Log:
  IFC @r273066

Added:
  projects/bhyve_svm/bin/sh/tests/builtins/eval7.0
     - copied unchanged from r273066, head/bin/sh/tests/builtins/eval7.0
  projects/bhyve_svm/bin/sh/tests/builtins/eval8.7
     - copied unchanged from r273066, head/bin/sh/tests/builtins/eval8.7
  projects/bhyve_svm/lib/libevent/
     - copied from r273066, head/lib/libevent/
  projects/bhyve_svm/sys/arm/altera/socfpga/socfpga_mp.c
     - copied unchanged from r273066, head/sys/arm/altera/socfpga/socfpga_mp.c
  projects/bhyve_svm/sys/libkern/murmur3_32.c
     - copied unchanged from r273066, head/sys/libkern/murmur3_32.c
Deleted:
  projects/bhyve_svm/sys/arm/ti/am335x/files.beaglebone
  projects/bhyve_svm/sys/arm/ti/am335x/std.beaglebone
  projects/bhyve_svm/sys/arm/ti/omap3/
  projects/bhyve_svm/sys/arm/ti/ti_mmchs.c
  projects/bhyve_svm/sys/arm/ti/ti_mmchs.h
  projects/bhyve_svm/usr.sbin/ftp-proxy/Makefile.inc
  projects/bhyve_svm/usr.sbin/ftp-proxy/ftp-proxy/
  projects/bhyve_svm/usr.sbin/ftp-proxy/libevent/
Modified:
  projects/bhyve_svm/bin/sh/eval.c
  projects/bhyve_svm/bin/sh/tests/builtins/Makefile
  projects/bhyve_svm/contrib/binutils/bfd/elf32-ppc.c
  projects/bhyve_svm/contrib/binutils/bfd/elf64-ppc.c
  projects/bhyve_svm/contrib/binutils/gas/config/tc-ppc.c
  projects/bhyve_svm/contrib/binutils/ld/emulparams/elf32ppc_fbsd.sh
  projects/bhyve_svm/contrib/binutils/ld/emulparams/elf64ppc_fbsd.sh
  projects/bhyve_svm/contrib/libc++/include/__config
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/posix_spawn/t_fileactions.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_getcwd.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_glob.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_humanize_number.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_nice.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_raise.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_setdomainname.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_sethostname.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_time.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_ttyname.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_io.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_mbrtowc.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_mbtowc.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_wcstod.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_wctomb.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/regex/debug.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/regex/t_regex_att.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/h_getopt_long.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/t_getenv.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/t_strtod.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/string/t_memcpy.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/string/t_memmem.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/string/t_strerror.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/time/t_mktime.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/time/t_strptime.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/dso/h_tls_dlopen.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/t_tls_dlopen.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/t_tls_dynamic.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/t_tls_static.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/t_tls_static_helper.c
  projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls_dso/h_tls_dynamic.c
  projects/bhyve_svm/contrib/tcp_wrappers/inetcf.h
  projects/bhyve_svm/contrib/tcp_wrappers/mystdarg.h
  projects/bhyve_svm/contrib/tcp_wrappers/tcpd.h
  projects/bhyve_svm/contrib/tcp_wrappers/tli-sequent.h
  projects/bhyve_svm/etc/defaults/rc.conf
  projects/bhyve_svm/etc/devd/apple.conf
  projects/bhyve_svm/etc/rc.d/bgfsck
  projects/bhyve_svm/etc/rc.d/netif
  projects/bhyve_svm/etc/rc.subr
  projects/bhyve_svm/lib/Makefile
  projects/bhyve_svm/lib/libcuse/cuse_lib.c
  projects/bhyve_svm/sbin/ipfw/ipfw2.c
  projects/bhyve_svm/sbin/ipfw/tables.c   (contents, props changed)
  projects/bhyve_svm/sbin/iscontrol/iscontrol.8
  projects/bhyve_svm/share/man/man4/iscsi_initiator.4
  projects/bhyve_svm/share/man/man4/tcp.4
  projects/bhyve_svm/share/man/man8/rc.subr.8
  projects/bhyve_svm/share/mk/bsd.progs.mk
  projects/bhyve_svm/share/mk/src.libnames.mk
  projects/bhyve_svm/sys/arm/altera/socfpga/files.socfpga
  projects/bhyve_svm/sys/arm/altera/socfpga/socfpga_machdep.c
  projects/bhyve_svm/sys/arm/conf/BEAGLEBONE
  projects/bhyve_svm/sys/arm/conf/SOCKIT
  projects/bhyve_svm/sys/arm/ti/am335x/files.am335x
  projects/bhyve_svm/sys/arm/ti/files.ti
  projects/bhyve_svm/sys/arm/ti/omap4/files.omap4
  projects/bhyve_svm/sys/arm/ti/ti_cpuid.c
  projects/bhyve_svm/sys/arm/ti/ti_cpuid.h
  projects/bhyve_svm/sys/arm/ti/ti_gpio.c
  projects/bhyve_svm/sys/arm/ti/ti_i2c.c
  projects/bhyve_svm/sys/arm/ti/ti_sdhci.c
  projects/bhyve_svm/sys/boot/fdt/dts/arm/socfpga-sockit.dts
  projects/bhyve_svm/sys/boot/powerpc/ofw/ldscript.powerpc
  projects/bhyve_svm/sys/boot/powerpc/ps3/ldscript.powerpc
  projects/bhyve_svm/sys/boot/powerpc/uboot/ldscript.powerpc
  projects/bhyve_svm/sys/cam/ctl/ctl.c
  projects/bhyve_svm/sys/cam/ctl/ctl_backend.h
  projects/bhyve_svm/sys/cam/ctl/ctl_backend_block.c
  projects/bhyve_svm/sys/cam/ctl/ctl_cmd_table.c
  projects/bhyve_svm/sys/cam/ctl/ctl_frontend_iscsi.c
  projects/bhyve_svm/sys/cam/ctl/ctl_frontend_iscsi.h
  projects/bhyve_svm/sys/cam/ctl/ctl_ioctl.h
  projects/bhyve_svm/sys/cam/ctl/ctl_private.h
  projects/bhyve_svm/sys/cam/ctl/scsi_ctl.c
  projects/bhyve_svm/sys/cam/scsi/scsi_da.h
  projects/bhyve_svm/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  projects/bhyve_svm/sys/conf/files
  projects/bhyve_svm/sys/conf/ldscript.powerpc
  projects/bhyve_svm/sys/conf/ldscript.powerpc64
  projects/bhyve_svm/sys/contrib/dev/ath/ath_hal/ar9300/ar9300desc.h
  projects/bhyve_svm/sys/ddb/db_access.c
  projects/bhyve_svm/sys/ddb/db_break.c
  projects/bhyve_svm/sys/ddb/db_command.c
  projects/bhyve_svm/sys/ddb/db_examine.c
  projects/bhyve_svm/sys/ddb/db_input.c
  projects/bhyve_svm/sys/ddb/db_lex.c
  projects/bhyve_svm/sys/ddb/db_output.c
  projects/bhyve_svm/sys/ddb/db_output.h
  projects/bhyve_svm/sys/ddb/db_print.c
  projects/bhyve_svm/sys/ddb/db_ps.c
  projects/bhyve_svm/sys/ddb/db_run.c
  projects/bhyve_svm/sys/ddb/db_sym.c
  projects/bhyve_svm/sys/ddb/db_sym.h
  projects/bhyve_svm/sys/ddb/db_textdump.c
  projects/bhyve_svm/sys/ddb/db_variables.h
  projects/bhyve_svm/sys/ddb/db_watch.c
  projects/bhyve_svm/sys/ddb/db_watch.h
  projects/bhyve_svm/sys/ddb/db_write_cmd.c
  projects/bhyve_svm/sys/dev/alc/if_alc.c
  projects/bhyve_svm/sys/dev/amdtemp/amdtemp.c
  projects/bhyve_svm/sys/dev/ctau/if_ct.c
  projects/bhyve_svm/sys/dev/cx/if_cx.c
  projects/bhyve_svm/sys/dev/digi/digi_isa.c
  projects/bhyve_svm/sys/dev/e1000/if_igb.c
  projects/bhyve_svm/sys/dev/iicbus/max6690.c
  projects/bhyve_svm/sys/dev/isp/isp_library.c
  projects/bhyve_svm/sys/dev/isp/ispmbox.h
  projects/bhyve_svm/sys/dev/mc146818/mc146818.c
  projects/bhyve_svm/sys/dev/mrsas/mrsas.c
  projects/bhyve_svm/sys/dev/mrsas/mrsas.h
  projects/bhyve_svm/sys/dev/mrsas/mrsas_cam.c
  projects/bhyve_svm/sys/dev/mrsas/mrsas_fp.c
  projects/bhyve_svm/sys/dev/mse/mse.c
  projects/bhyve_svm/sys/dev/mse/mse_cbus.c
  projects/bhyve_svm/sys/dev/mse/mse_isa.c
  projects/bhyve_svm/sys/dev/mse/msevar.h
  projects/bhyve_svm/sys/dev/msk/if_msk.c
  projects/bhyve_svm/sys/dev/nfe/if_nfe.c
  projects/bhyve_svm/sys/dev/random/ivy.c
  projects/bhyve_svm/sys/dev/sdhci/sdhci_pci.c
  projects/bhyve_svm/sys/dev/sk/if_sk.c
  projects/bhyve_svm/sys/dev/uart/uart_dev_imx.c
  projects/bhyve_svm/sys/fs/autofs/autofs_vnops.c
  projects/bhyve_svm/sys/fs/ext2fs/ext2_vnops.c
  projects/bhyve_svm/sys/fs/msdosfs/msdosfs_vnops.c
  projects/bhyve_svm/sys/i386/xen/pmap.c
  projects/bhyve_svm/sys/kern/subr_witness.c
  projects/bhyve_svm/sys/net/if_epair.c
  projects/bhyve_svm/sys/netinet/igmp.c
  projects/bhyve_svm/sys/netinet/ip_divert.c
  projects/bhyve_svm/sys/netinet/ip_fw.h
  projects/bhyve_svm/sys/netinet/ip_mroute.c
  projects/bhyve_svm/sys/netinet/ip_output.c
  projects/bhyve_svm/sys/netinet/tcp_output.c
  projects/bhyve_svm/sys/netinet/tcp_timer.c
  projects/bhyve_svm/sys/netinet/tcp_usrreq.c
  projects/bhyve_svm/sys/netinet6/icmp6.c
  projects/bhyve_svm/sys/netinet6/ip6_mroute.c
  projects/bhyve_svm/sys/netinet6/ip6_output.c
  projects/bhyve_svm/sys/netpfil/ipfw/ip_fw_sockopt.c
  projects/bhyve_svm/sys/netpfil/ipfw/ip_fw_table_algo.c
  projects/bhyve_svm/sys/netpfil/ipfw/ip_fw_table_value.c   (contents, props changed)
  projects/bhyve_svm/sys/netpfil/pf/pf.c
  projects/bhyve_svm/sys/powerpc/powermac/pmu.c
  projects/bhyve_svm/sys/sparc64/sparc64/support.S
  projects/bhyve_svm/sys/sys/hash.h
  projects/bhyve_svm/sys/sys/param.h
  projects/bhyve_svm/sys/ufs/ffs/ffs_vnops.c
  projects/bhyve_svm/sys/vm/vm_fault.c
  projects/bhyve_svm/tools/tools/netmap/pkt-gen.c
  projects/bhyve_svm/usr.bin/kdump/kdump.c
  projects/bhyve_svm/usr.bin/kdump/mksubr
  projects/bhyve_svm/usr.bin/truss/syscall.h
  projects/bhyve_svm/usr.bin/truss/syscalls.c
  projects/bhyve_svm/usr.sbin/bsdinstall/partedit/partedit_x86.c
  projects/bhyve_svm/usr.sbin/ctladm/ctladm.8
  projects/bhyve_svm/usr.sbin/ctladm/ctladm.c
  projects/bhyve_svm/usr.sbin/ctld/kernel.c
  projects/bhyve_svm/usr.sbin/ftp-proxy/Makefile
  projects/bhyve_svm/usr.sbin/pstat/pstat.8
  projects/bhyve_svm/usr.sbin/rtadvd/advcap.c
  projects/bhyve_svm/usr.sbin/rtadvd/config.c
  projects/bhyve_svm/usr.sbin/rtsold/rtsol.c
Directory Properties:
  projects/bhyve_svm/   (props changed)
  projects/bhyve_svm/contrib/binutils/   (props changed)
  projects/bhyve_svm/contrib/libc++/   (props changed)
  projects/bhyve_svm/etc/   (props changed)
  projects/bhyve_svm/sbin/   (props changed)
  projects/bhyve_svm/sbin/ipfw/   (props changed)
  projects/bhyve_svm/share/   (props changed)
  projects/bhyve_svm/share/man/man4/   (props changed)
  projects/bhyve_svm/sys/   (props changed)
  projects/bhyve_svm/sys/boot/   (props changed)
  projects/bhyve_svm/sys/boot/powerpc/ofw/   (props changed)
  projects/bhyve_svm/sys/cddl/contrib/opensolaris/   (props changed)
  projects/bhyve_svm/sys/conf/   (props changed)
  projects/bhyve_svm/usr.sbin/rtadvd/   (props changed)
  projects/bhyve_svm/usr.sbin/rtsold/   (props changed)

Modified: projects/bhyve_svm/bin/sh/eval.c
==============================================================================
--- projects/bhyve_svm/bin/sh/eval.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/bin/sh/eval.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -168,6 +168,8 @@ evalstring(char *s, int flags)
 			else
 				evaltree(n, flags);
 			any = 1;
+			if (evalskip)
+				break;
 		}
 		popstackmark(&smark);
 		setstackmark(&smark);

Modified: projects/bhyve_svm/bin/sh/tests/builtins/Makefile
==============================================================================
--- projects/bhyve_svm/bin/sh/tests/builtins/Makefile	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/bin/sh/tests/builtins/Makefile	Tue Oct 14 03:39:31 2014	(r273069)
@@ -72,6 +72,8 @@ FILES+=		eval3.0
 FILES+=		eval4.0
 FILES+=		eval5.0
 FILES+=		eval6.0
+FILES+=		eval7.0
+FILES+=		eval8.7
 FILES+=		exec1.0
 FILES+=		exec2.0
 FILES+=		exit1.0

Copied: projects/bhyve_svm/bin/sh/tests/builtins/eval7.0 (from r273066, head/bin/sh/tests/builtins/eval7.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/bhyve_svm/bin/sh/tests/builtins/eval7.0	Tue Oct 14 03:39:31 2014	(r273069, copy of r273066, head/bin/sh/tests/builtins/eval7.0)
@@ -0,0 +1,9 @@
+# $FreeBSD$
+# Assumes that break can break out of a loop outside eval.
+
+while :; do
+	eval "break
+echo bad1"
+	echo bad2
+	exit 3
+done

Copied: projects/bhyve_svm/bin/sh/tests/builtins/eval8.7 (from r273066, head/bin/sh/tests/builtins/eval8.7)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/bhyve_svm/bin/sh/tests/builtins/eval8.7	Tue Oct 14 03:39:31 2014	(r273069, copy of r273066, head/bin/sh/tests/builtins/eval8.7)
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+f() {
+	eval "return 7
+echo bad2"
+}
+f

Modified: projects/bhyve_svm/contrib/binutils/bfd/elf32-ppc.c
==============================================================================
--- projects/bhyve_svm/contrib/binutils/bfd/elf32-ppc.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/binutils/bfd/elf32-ppc.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -7572,7 +7572,7 @@ ppc_elf_finish_dynamic_sections (bfd *ou
 #define TARGET_LITTLE_SYM	bfd_elf32_powerpcle_vec
 #define TARGET_LITTLE_NAME	"elf32-powerpcle"
 #define TARGET_BIG_SYM		bfd_elf32_powerpc_vec
-#define TARGET_BIG_NAME		"elf32-powerpc"
+#define TARGET_BIG_NAME		"elf32-powerpc-freebsd"
 #define ELF_ARCH		bfd_arch_powerpc
 #define ELF_MACHINE_CODE	EM_PPC
 #ifdef __QNXTARGET__

Modified: projects/bhyve_svm/contrib/binutils/bfd/elf64-ppc.c
==============================================================================
--- projects/bhyve_svm/contrib/binutils/bfd/elf64-ppc.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/binutils/bfd/elf64-ppc.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -58,7 +58,7 @@ static bfd_vma opd_entry_value
 #define TARGET_LITTLE_SYM	bfd_elf64_powerpcle_vec
 #define TARGET_LITTLE_NAME	"elf64-powerpcle"
 #define TARGET_BIG_SYM		bfd_elf64_powerpc_vec
-#define TARGET_BIG_NAME		"elf64-powerpc"
+#define TARGET_BIG_NAME		"elf64-powerpc-freebsd"
 #define ELF_ARCH		bfd_arch_powerpc
 #define ELF_MACHINE_CODE	EM_PPC64
 #define ELF_MAXPAGESIZE		0x10000

Modified: projects/bhyve_svm/contrib/binutils/gas/config/tc-ppc.c
==============================================================================
--- projects/bhyve_svm/contrib/binutils/gas/config/tc-ppc.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/binutils/gas/config/tc-ppc.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -1210,7 +1210,7 @@ ppc_target_format (void)
   return "elf32-powerpc-vxworks";
 # else
   return (target_big_endian
-	  ? (ppc_obj64 ? "elf64-powerpc" : "elf32-powerpc")
+	  ? (ppc_obj64 ? "elf64-powerpc-freebsd" : "elf32-powerpc-freebsd")
 	  : (ppc_obj64 ? "elf64-powerpcle" : "elf32-powerpcle"));
 # endif
 #endif

Modified: projects/bhyve_svm/contrib/binutils/ld/emulparams/elf32ppc_fbsd.sh
==============================================================================
--- projects/bhyve_svm/contrib/binutils/ld/emulparams/elf32ppc_fbsd.sh	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/binutils/ld/emulparams/elf32ppc_fbsd.sh	Tue Oct 14 03:39:31 2014	(r273069)
@@ -1,2 +1,4 @@
 . ${srcdir}/emulparams/elf32ppc.sh
 . ${srcdir}/emulparams/elf_fbsd.sh
+
+OUTPUT_FORMAT="elf32-powerpc-freebsd"

Modified: projects/bhyve_svm/contrib/binutils/ld/emulparams/elf64ppc_fbsd.sh
==============================================================================
--- projects/bhyve_svm/contrib/binutils/ld/emulparams/elf64ppc_fbsd.sh	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/binutils/ld/emulparams/elf64ppc_fbsd.sh	Tue Oct 14 03:39:31 2014	(r273069)
@@ -1,3 +1,4 @@
 . ${srcdir}/emulparams/elf64ppc.sh
 . ${srcdir}/emulparams/elf_fbsd.sh
 
+OUTPUT_FORMAT="elf64-powerpc-freebsd"

Modified: projects/bhyve_svm/contrib/libc++/include/__config
==============================================================================
--- projects/bhyve_svm/contrib/libc++/include/__config	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/libc++/include/__config	Tue Oct 14 03:39:31 2014	(r273069)
@@ -374,6 +374,7 @@ namespace std {
 #define _LIBCPP_HAS_NO_VARIADICS
 #define _LIBCPP_HAS_NO_RVALUE_REFERENCES
 #define _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS
+#define _LIBCPP_HAS_NO_STRONG_ENUMS
 
 #else  // __GXX_EXPERIMENTAL_CXX0X__
 

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/posix_spawn/t_fileactions.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/posix_spawn/t_fileactions.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/posix_spawn/t_fileactions.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -31,6 +31,9 @@
  */
 
 
+#if defined(__FreeBSD__)
+#include <sys/stat.h>
+#endif
 #include <atf-c.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -248,6 +251,7 @@ ATF_TC_BODY(t_spawn_open_nonexistent, tc
 	posix_spawn_file_actions_destroy(&fa);
 }
 
+#if defined(__NetBSD__)
 ATF_TC(t_spawn_open_nonexistent_diag);
 
 ATF_TC_HEAD(t_spawn_open_nonexistent_diag, tc)
@@ -283,6 +287,7 @@ ATF_TC_BODY(t_spawn_open_nonexistent_dia
 	posix_spawn_file_actions_destroy(&fa);
 	posix_spawnattr_destroy(&attr);
 }
+#endif
 
 ATF_TC(t_spawn_fileactions);
 
@@ -376,7 +381,9 @@ ATF_TP_ADD_TCS(tp)
 {
 	ATF_TP_ADD_TC(tp, t_spawn_fileactions);
 	ATF_TP_ADD_TC(tp, t_spawn_open_nonexistent);
+#if defined(__NetBSD__)
 	ATF_TP_ADD_TC(tp, t_spawn_open_nonexistent_diag);
+#endif
 	ATF_TP_ADD_TC(tp, t_spawn_reopen);
 	ATF_TP_ADD_TC(tp, t_spawn_openmode);
 	ATF_TP_ADD_TC(tp, t_spawn_empty_fileactions);

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_getcwd.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_getcwd.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_getcwd.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -56,10 +56,12 @@ ATF_TC_BODY(getcwd_err, tc)
 	ATF_REQUIRE(getcwd(buf, 0) == NULL);
 	ATF_REQUIRE(errno == EINVAL);
 
+#if defined(__NetBSD__)
 	errno = 0;
 
 	ATF_REQUIRE(getcwd((void *)-1, sizeof(buf)) == NULL);
 	ATF_REQUIRE(errno == EFAULT);
+#endif
 }
 
 ATF_TC(getcwd_fts);

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_glob.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_glob.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_glob.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -46,7 +46,13 @@ __RCSID("$NetBSD: t_glob.c,v 1.3 2013/01
 #include <string.h>
 #include <errno.h>
 
+#if defined(__FreeBSD__)
+#include "h_macros.h"
+#define	__gl_stat_t struct stat
+#define	_S_IFDIR S_IFDIR
+#else
 #include "../../../h_macros.h"
+#endif
 
 
 #ifdef DEBUG
@@ -132,7 +138,11 @@ gl_readdir(void *v)
 		dir.d_ino = dd->pos;
 		dir.d_type = f->dir ? DT_DIR : DT_REG;
 		DPRINTF(("readdir %s %d\n", dir.d_name, dir.d_type));
+#if defined(__FreeBSD__)
+		dir.d_reclen = -1; /* Does not have _DIRENT_RECLEN */
+#else
 		dir.d_reclen = _DIRENT_RECLEN(&dir, dir.d_namlen);
+#endif
 		return &dir;
 	}
 	return NULL;
@@ -213,6 +223,7 @@ run(const char *p, int flags, const char
 }
 
 
+#if !defined(__FreeBSD__)
 ATF_TC(glob_star);
 ATF_TC_HEAD(glob_star, tc)
 {
@@ -224,6 +235,7 @@ ATF_TC_BODY(glob_star, tc)
 {
 	run("a/**", GLOB_STAR, glob_star, __arraycount(glob_star));
 }
+#endif
 
 ATF_TC(glob_star_not);
 ATF_TC_HEAD(glob_star_not, tc)
@@ -260,7 +272,9 @@ ATF_TC_BODY(glob_nocheck, tc)
 
 ATF_TP_ADD_TCS(tp)
 {
+#if !defined(__FreeBSD__)
 	ATF_TP_ADD_TC(tp, glob_star);
+#endif
 	ATF_TP_ADD_TC(tp, glob_star_not);
 /*
  * Remove this test for now - the GLOB_NOCHECK return value has been

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_humanize_number.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_humanize_number.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_humanize_number.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -34,7 +34,11 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#if defined(__FreeBSD__)
+#include <libutil.h>
+#else
 #include <util.h>
+#endif
 
 const struct hnopts {
 	size_t ho_len;
@@ -78,6 +82,7 @@ const struct hnopts {
 	/*
 	 * Truncated output.  Rev. 1.7 produces "1.0 K".
 	 */
+#if !defined(__FreeBSD__)
 	{ 6, 1000, "A", HN_AUTOSCALE, HN_DECIMAL, -1, "" },
 
 	/*
@@ -90,6 +95,7 @@ const struct hnopts {
 	/* Similar case it prints 1000 where it shouldn't */
 	{ 5, 1023488, "",
 	  HN_AUTOSCALE, HN_B | HN_NOSPACE | HN_DECIMAL, 4, "1.0M" },
+#endif
 	{ 5, 1023999, "",
 	  HN_AUTOSCALE, HN_B | HN_NOSPACE | HN_DECIMAL, 4, "1.0M" },
 };

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_nice.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_nice.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_nice.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -72,6 +72,11 @@ ATF_TC_BODY(nice_err, tc)
 {
 	int i;
 
+#if defined(__FreeBSD__)
+	atf_tc_expect_fail("nice(incr) with incr < 0 fails with unprivileged "
+	   "users and sets errno == EPERM; see PR # 189821 for more details");
+#endif
+
 	/*
 	 * The call should fail with EPERM if the
 	 * supplied parameter is negative and the
@@ -93,7 +98,11 @@ ATF_TC_HEAD(nice_priority, tc)
 
 ATF_TC_BODY(nice_priority, tc)
 {
+#if defined(__FreeBSD__)
+	int i, pri, pri2, nic;
+#else
 	int i, pri, nic;
+#endif
 	pid_t pid;
 	int sta;
 
@@ -106,8 +115,10 @@ ATF_TC_BODY(nice_priority, tc)
 		pri = getpriority(PRIO_PROCESS, 0);
 		ATF_REQUIRE(errno == 0);
 
+#if defined(__NetBSD__)
 		if (nic != pri)
 			atf_tc_fail("nice(3) and getpriority(2) conflict");
+#endif
 
 		/*
 		 * Also verify that the nice(3) values
@@ -119,10 +130,18 @@ ATF_TC_BODY(nice_priority, tc)
 		if (pid == 0) {
 
 			errno = 0;
+#if defined(__FreeBSD__)
 			pri = getpriority(PRIO_PROCESS, 0);
+#else
+			pri2 = getpriority(PRIO_PROCESS, 0);
+#endif
 			ATF_REQUIRE(errno == 0);
 
+#if defined(__FreeBSD__)
+			if (pri != pri2)
+#else
 			if (nic != pri)
+#endif
 				_exit(EXIT_FAILURE);
 
 			_exit(EXIT_SUCCESS);
@@ -161,7 +180,11 @@ ATF_TC_HEAD(nice_thread, tc)
 ATF_TC_BODY(nice_thread, tc)
 {
 	pthread_t tid[5];
+#if defined(__FreeBSD__)
+	int pri, rv, val;
+#else
 	int rv, val;
+#endif
 	size_t i;
 
 	/*
@@ -173,7 +196,12 @@ ATF_TC_BODY(nice_thread, tc)
 		val = nice(i);
 		ATF_REQUIRE(val != -1);
 
+#if defined(__FreeBSD__)
+		pri = getpriority(PRIO_PROCESS, 0);
+		rv = pthread_create(&tid[i], NULL, threadfunc, &pri);
+#else
 		rv = pthread_create(&tid[i], NULL, threadfunc, &val);
+#endif
 		ATF_REQUIRE(rv == 0);
 
 		rv = pthread_join(tid[i], NULL);

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_raise.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_raise.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_raise.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -43,7 +43,11 @@ static int	count;
 static void	handler_err(int);
 static void	handler_ret(int);
 static void	handler_stress(int);
+#if defined(__FreeBSD__)
+static int	sig[] = { SIGALRM, SIGIO, SIGUSR1, SIGUSR2 };
+#else
 static int	sig[] = { SIGALRM, SIGIO, SIGUSR1, SIGUSR2, SIGPWR };
+#endif
 
 static void
 handler_stress(int signo)

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_setdomainname.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_setdomainname.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_setdomainname.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -63,8 +63,20 @@ ATF_TC_BODY(setdomainname_basic, tc)
 
 		(void)memset(name, 0, sizeof(name));
 
+#if defined(__FreeBSD__)
+		/* 
+		 * Sanity checks to ensure that the wrong invariant isn't being
+		 * tested for per PR # 181127
+		 */
+		ATF_REQUIRE_EQ(sizeof(domains[i]), MAXHOSTNAMELEN);
+		ATF_REQUIRE_EQ(sizeof(name), MAXHOSTNAMELEN);
+
+		ATF_REQUIRE(setdomainname(domains[i],sizeof(domains[i]) -  1) == 0);
+		ATF_REQUIRE(getdomainname(name, sizeof(name) - 1) == 0);
+#else
 		ATF_REQUIRE(setdomainname(domains[i],sizeof(domains[i])) == 0);
 		ATF_REQUIRE(getdomainname(name, sizeof(name)) == 0);
+#endif
 		ATF_REQUIRE(strcmp(domains[i], name) == 0);
 	}
 
@@ -89,6 +101,10 @@ ATF_TC_BODY(setdomainname_limit, tc)
 
 	(void)memset(name, 0, sizeof(name));
 
+#if defined(__FreeBSD__)
+	ATF_REQUIRE(setdomainname(name, MAXHOSTNAMELEN - 1 ) == 0);
+	ATF_REQUIRE(setdomainname(name, MAXHOSTNAMELEN) == -1);
+#endif
 	ATF_REQUIRE(setdomainname(name, sizeof(name)) == -1);
 }
 

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_sethostname.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_sethostname.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_sethostname.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -63,8 +63,20 @@ ATF_TC_BODY(sethostname_basic, tc)
 
 		(void)memset(name, 0, sizeof(name));
 
+#if defined(__FreeBSD__)
+		/* 
+		 * Sanity checks to ensure that the wrong invariant isn't being
+		 * tested for per PR # 181127
+		 */
+		ATF_REQUIRE_EQ(sizeof(hosts[i]), MAXHOSTNAMELEN);
+		ATF_REQUIRE_EQ(sizeof(name), MAXHOSTNAMELEN);
+
+		ATF_REQUIRE(sethostname(hosts[i], sizeof(hosts[i]) - 1) == 0);
+		ATF_REQUIRE(gethostname(name, sizeof(name) - 1) == 0);
+#else
 		ATF_REQUIRE(sethostname(hosts[i], sizeof(hosts[i])) == 0);
 		ATF_REQUIRE(gethostname(name, sizeof(name)) == 0);
+#endif
 		ATF_REQUIRE(strcmp(hosts[i], name) == 0);
 	}
 
@@ -94,6 +106,10 @@ ATF_TC_BODY(sethostname_limit, tc)
 
 ATF_TC_CLEANUP(sethostname_limit, tc)
 {
+#if defined(__FreeBSD__)
+	ATF_REQUIRE(sethostname(host, MAXHOSTNAMELEN - 1 ) == 0);
+	ATF_REQUIRE(sethostname(host, MAXHOSTNAMELEN) == -1);
+#endif
 	(void)sethostname(host, sizeof(host));
 }
 

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_time.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_time.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_time.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -31,6 +31,9 @@
 #include <sys/cdefs.h>
 __RCSID("$NetBSD: t_time.c,v 1.2 2011/11/11 05:03:38 jruoho Exp $");
 
+#if defined(__FreeBSD__)
+#include <sys/time.h>
+#endif
 #include <atf-c.h>
 #include <errno.h>
 #include <inttypes.h>

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_ttyname.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_ttyname.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/gen/t_ttyname.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -107,6 +107,9 @@ ATF_TC_BODY(ttyname_r_err, tc)
 		ATF_REQUIRE(rv == ERANGE);
 	}
 
+#if defined(__FreeBSD__)
+	atf_tc_expect_fail("FreeBSD returns ENOTTY instead of EBADF; see bin/191936");
+#endif
 	rv = ttyname_r(-1, buf, ttymax);
 	ATF_REQUIRE(rv == EBADF);
 

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_io.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_io.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_io.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -56,6 +56,11 @@ ATF_TC_BODY(bad_big5_wprintf, tc)
 	/* XXX implementation detail knowledge (wchar_t encoding) */
 	wchar_t ibuf[] = { 0xcf10, 0 };
 	setlocale(LC_CTYPE, "zh_TW.Big5");
+
+#if defined(__FreeBSD__)
+	atf_tc_expect_fail("does not fail as expected (may be implementation "
+	    "specific issue with the test)");
+#endif
 	ATF_REQUIRE_ERRNO(EILSEQ, wprintf(L"%ls\n", ibuf) < 0);
 	ATF_REQUIRE(ferror(stdout));
 }
@@ -72,6 +77,11 @@ ATF_TC_BODY(bad_big5_swprintf, tc)
 	wchar_t ibuf[] = { 0xcf10, 0 };
 	wchar_t obuf[20];
 	setlocale(LC_CTYPE, "zh_TW.Big5");
+
+#if defined(__FreeBSD__)
+	atf_tc_expect_fail("does not fail as expected (may be implementation "
+	    "specific issue with the test)");
+#endif
 	ATF_REQUIRE_ERRNO(EILSEQ,
 			  swprintf(obuf, sizeof(obuf), L"%ls\n", ibuf) < 0);
 }
@@ -161,6 +171,9 @@ ATF_TC_BODY(bad_big5_getwc, tc)
 
 	ATF_REQUIRE(fp != NULL);
 	setlocale(LC_CTYPE, "zh_TW.Big5");
+#if defined(__FreeBSD__)
+	atf_tc_expect_fail("does not return WEOF as expected");
+#endif
 	ATF_REQUIRE_EQ(getwc(fp), WEOF);
 	fclose(fp);
 }

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_mbrtowc.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_mbrtowc.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_mbrtowc.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -132,7 +132,14 @@ h_ctype2(const struct test *t, bool use_
 	size_t n;
 
 	ATF_REQUIRE_STREQ(setlocale(LC_ALL, "C"), "C");
+#if defined(__NetBSD__)
 	ATF_REQUIRE(setlocale(LC_CTYPE, t->locale) != NULL);
+#else
+	if (setlocale(LC_CTYPE, t->locale) == NULL) {
+		fprintf(stderr, "Locale %s not found.\n", t->locale);
+		return;
+	}
+#endif
 
 	(void)strvis(buf, t->data, VIS_WHITE | VIS_OCTAL);
 	(void)printf("Checking string: \"%s\"\n", buf);
@@ -238,6 +245,9 @@ ATF_TC_BODY(mbrtowc_internal, tc)
 {
 	struct test *t;
 
+#if defined(__FreeBSD__)
+	atf_tc_expect_fail("ja_* locale fails");
+#endif
 	for (t = &tests[0]; t->data != NULL; ++t)
 		h_ctype2(t, false);
 }

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -150,7 +150,14 @@ ATF_TC_BODY(mbstowcs_basic, tc)
 		int i;
 
 		ATF_REQUIRE_STREQ(setlocale(LC_ALL, "C"), "C");
+#if defined(__NetBSD__)
 		ATF_REQUIRE(setlocale(LC_CTYPE, t->locale) != NULL);
+#else
+		if (setlocale(LC_CTYPE, t->locale) == NULL) {
+			fprintf(stderr, "Locale %s not found.\n", t->locale);
+			continue;
+		}
+#endif
 
 		(void)strvis(visbuf, t->data, VIS_WHITE | VIS_OCTAL);
 		(void)printf("Checking string: \"%s\"\n", visbuf);

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_mbtowc.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_mbtowc.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_mbtowc.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -76,7 +76,14 @@ h_mbtowc(const char *locale, const char 
 	char *str;
 
 	ATF_REQUIRE_STREQ(setlocale(LC_ALL, "C"), "C");
+#if defined(__NetBSD__)
 	ATF_REQUIRE(setlocale(LC_CTYPE, locale) != NULL);
+#else
+	if (setlocale(LC_CTYPE, locale) == NULL) {
+		fprintf(stderr, "Locale %s not found.\n", locale);
+		return;
+	}
+#endif
 
 	ATF_REQUIRE((str = setlocale(LC_ALL, NULL)) != NULL);
 	(void)printf("Using locale: %s\n", str);
@@ -130,9 +137,16 @@ ATF_TC_BODY(mbtowc, tc)
 	h_mbtowc("ja_JP.ISO2022-JP", "\033$B", "\033$B$\"\033(B");
 	h_mbtowc("ja_JP.SJIS", "\202", "\202\240");
 	h_mbtowc("ja_JP.eucJP", "\244", "\244\242");
+#if !defined(__FreeBSD__)
+	/* Moved last as it fails */
 	h_mbtowc("zh_CN.GB18030", "\241", "\241\241");
+#endif
 	h_mbtowc("zh_TW.Big5", "\241", "\241@");
 	h_mbtowc("zh_TW.eucTW", "\241", "\241\241");
+#if defined(__FreeBSD__)
+	atf_tc_expect_fail("zh_CN.GB18030");
+	h_mbtowc("zh_CN.GB18030", "\241", "\241\241");
+#endif
 }
 
 ATF_TP_ADD_TCS(tp)

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_wcstod.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_wcstod.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_wcstod.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -66,6 +66,10 @@ __RCSID("$NetBSD: t_wcstod.c,v 1.3 2011/
 
 #include <atf-c.h>
 
+#if defined(__FreeBSD__)
+#include <stdio.h>
+#endif
+
 #define	ALT_HUGE_VAL		-1
 #define	ALT_MINUS_HUGE_VAL	-2
 #define	ALT_NAN			-3
@@ -234,7 +238,7 @@ static struct test {
 { L"          -0X.",	12,	0,			0 },
 #endif
 /* XXX: FIXME */
-#if defined(__NetBSD__) || defined(__linux__)
+#if defined(__NetBSD__) || defined(__linux__) || defined(__FreeBSD__)
 { L"0X.0",		4,	0,			0 },
 { L"+0X.0",		5,	0,			0 },
 { L"-0X.0",		5,	0,			0 },

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_wctomb.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_wctomb.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/locale/t_wctomb.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -109,7 +109,14 @@ h_wctomb(const struct test *t, char tc)
 	size_t sz, ret, i;
 
 	ATF_REQUIRE_STREQ(setlocale(LC_ALL, "C"), "C");
+#if defined(__NetBSD__)
 	ATF_REQUIRE(setlocale(LC_CTYPE, t->locale) != NULL);
+#else
+	if (setlocale(LC_CTYPE, t->locale) == NULL) {
+		fprintf(stderr, "Locale %s not found.\n", t->locale);
+		return;
+	}
+#endif
 
 	(void)strvis(buf, t->data, VIS_WHITE | VIS_OCTAL);
 	(void)printf("Checking sequence: \"%s\"\n", buf);

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/regex/debug.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/regex/debug.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/regex/debug.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -34,6 +34,10 @@
 #include <string.h>
 
 #include <sys/types.h>
+#if defined(__FreeBSD__)
+#include <wchar.h>
+#include <wctype.h>
+#endif
 
 /* Don't sort these! */
 #include "utils.h"
@@ -50,6 +54,7 @@ static char *regchar(int);
 void
 regprint(regex_t *r, FILE *d)
 {
+#if defined(__NetBSD__)
 	struct re_guts *g = r->re_g;
 	int c;
 	int last;
@@ -111,6 +116,7 @@ regprint(regex_t *r, FILE *d)
 				}
 			fprintf(d, "\n");
 		}
+#endif
 }
 
 /*
@@ -171,6 +177,7 @@ s_print(struct re_guts *g, FILE *d)
 			break;
 		case OANYOF:
 			fprintf(d, "[(%ld)", (long)opnd);
+#if defined(__NetBSD__)
 			cs = &g->sets[opnd];
 			last = -1;
 			for (size_t i = 0; i < g->csetsize+1; i++)	/* +1 flushes */
@@ -187,6 +194,7 @@ s_print(struct re_guts *g, FILE *d)
 						last = -1;
 					}
 				}
+#endif
 			fprintf(d, "]");
 			break;
 		case OBACK_:
@@ -242,7 +250,11 @@ s_print(struct re_guts *g, FILE *d)
 			fprintf(d, ">");
 			break;
 		default:
+#if defined(__FreeBSD__)
+			fprintf(d, "!%ld(%ld)!", OP(*s), opnd);
+#else
 			fprintf(d, "!%d(%d)!", OP(*s), opnd);
+#endif
 			break;
 		}
 		if (!done)

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -45,6 +45,9 @@ __RCSID("$NetBSD: t_exhaust.c,v 1.7 2011
 #include <stdlib.h>
 #include <err.h>
 #include <atf-c.h>
+#if defined(__FreeBSD__)
+#include <sys/resource.h>
+#endif
 
 #ifndef REGEX_MAXSIZE
 #define REGEX_MAXSIZE	9999
@@ -176,14 +179,25 @@ ATF_TC_HEAD(regcomp_too_big, tc)
 	    " crash, but return a proper error code");
 	// libtre needs it.
 	atf_tc_set_md_var(tc, "timeout", "600");
+#if defined(__FreeBSD__)
+	atf_tc_set_md_var(tc, "require.memory", "64M");
+#else
 	atf_tc_set_md_var(tc, "require.memory", "120M");
+#endif
 }
 
 ATF_TC_BODY(regcomp_too_big, tc)
 {
 	regex_t re;
+#if defined(__FreeBSD__)
+	struct rlimit limit;
+#endif
 	int e;
 
+#if defined(__FreeBSD__)
+	limit.rlim_cur = limit.rlim_max = 64 * 1024 * 1024;
+	ATF_REQUIRE(setrlimit(RLIMIT_VMEM, &limit) != -1);
+#endif
 	for (size_t i = 0; i < __arraycount(tests); i++) {
 		char *d = (*tests[i].pattern)(REGEX_MAXSIZE);
 		e = regcomp(&re, d, tests[i].type);

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/regex/t_regex_att.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/regex/t_regex_att.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/regex/t_regex_att.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -48,6 +48,9 @@ __RCSID("$NetBSD: t_regex_att.c,v 1.1 20
 #include <vis.h>
 #include <ctype.h>
 #include <atf-c.h>
+#if defined(__FreeBSD__)
+#include <libutil.h>
+#endif
 
 static const char sep[] = "\r\n\t";
 static const char delim[3] = "\\\\\0";
@@ -374,7 +377,11 @@ checkmatches(const char *matches, size_t
 		    " cur=%d, max=%zu", res, l, len - off);
 		off += l;
 	}
+#if defined(__FreeBSD__)
+	ATF_CHECK_STREQ_MSG(res, matches, " at line %zu", lineno);
+#else
 	ATF_REQUIRE_STREQ_MSG(res, matches, " at line %zu", lineno);
+#endif
 	free(res);
 }
 
@@ -573,6 +580,9 @@ ATF_TC_BODY(leftassoc, tc)
 	 * any explation.  Mark as broken here, but I don't know why. */
 	atf_tc_expect_fail("Reason for breakage unknown");
 #endif
+#if defined(__FreeBSD__)
+	atf_tc_expect_fail("The expected and matched groups are mismatched on FreeBSD");
+#endif
 	att_test(tc, "leftassoc");
 }
 

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/h_getopt_long.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/h_getopt_long.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/h_getopt_long.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -36,6 +36,9 @@
 #include <string.h>
 #include <stdlib.h>
 #include <unistd.h>
+#if defined(__FreeBSD__)
+#include <libutil.h>
+#endif
 
 #define SKIPWS(p)	while (isspace((int)(*p))) p++
 #define	WS	"\t\n "

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/t_getenv.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/t_getenv.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/t_getenv.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -40,6 +40,9 @@ __RCSID("$NetBSD: t_getenv.c,v 1.2 2011/
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#if defined(__FreeBSD__)
+#include <signal.h>
+#endif
 
 extern char	**environ;
 
@@ -152,6 +155,15 @@ ATF_TC_BODY(setenv_basic, tc)
 	ATF_CHECK_ERRNO(EINVAL, setenv(NULL, "val", 1) == -1);
 	ATF_CHECK_ERRNO(EINVAL, setenv("", "val", 1) == -1);
 	ATF_CHECK_ERRNO(EINVAL, setenv("v=r", "val", 1) == -1);
+#if defined(__FreeBSD__)
+	/*
+	   Both FreeBSD and OS/X does not validate the second
+	   argument to setenv(3)
+	 */
+	atf_tc_expect_signal(SIGSEGV, "FreeBSD does not validate the second "
+	    "argument to setenv(3); see bin/189805");
+#endif
+
 	ATF_CHECK_ERRNO(EINVAL, setenv("var", NULL, 1) == -1);
 
 	ATF_CHECK(setenv("var", "=val", 1) == 0);

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -75,6 +75,7 @@ __RCSID("$NetBSD: t_hsearch.c,v 1.4 2014
 
 #define REQUIRE_ERRNO(x) ATF_REQUIRE_MSG(x, "%s", strerror(errno))
 
+#if defined(__NetBSD__)
 ATF_TC(hsearch_basic);
 ATF_TC_HEAD(hsearch_basic, tc)
 {
@@ -123,6 +124,7 @@ ATF_TC_BODY(hsearch_basic, tc)
 
 	hdestroy1(free, NULL);
 }
+#endif
 
 ATF_TC(hsearch_duplicate);
 ATF_TC_HEAD(hsearch_duplicate, tc)
@@ -229,6 +231,7 @@ ATF_TC_BODY(hsearch_two, tc)
 	hdestroy();
 }
 
+#if defined(__NetBSD__)
 ATF_TC(hsearch_r_basic);
 ATF_TC_HEAD(hsearch_r_basic, tc)
 {
@@ -276,6 +279,7 @@ ATF_TC_BODY(hsearch_r_basic, tc)
 
 	hdestroy1_r(&t, free, NULL);
 }
+#endif
 
 ATF_TC(hsearch_r_duplicate);
 ATF_TC_HEAD(hsearch_r_duplicate, tc)
@@ -385,12 +389,16 @@ ATF_TC_BODY(hsearch_r_two, tc)
 ATF_TP_ADD_TCS(tp)
 {
 
+#if defined(__NetBSD__)
 	ATF_TP_ADD_TC(tp, hsearch_basic);
+#endif
 	ATF_TP_ADD_TC(tp, hsearch_duplicate);
 	ATF_TP_ADD_TC(tp, hsearch_nonexistent);
 	ATF_TP_ADD_TC(tp, hsearch_two);
 
+#if defined(__NetBSD__)
 	ATF_TP_ADD_TC(tp, hsearch_r_basic);
+#endif
 	ATF_TP_ADD_TC(tp, hsearch_r_duplicate);
 	ATF_TP_ADD_TC(tp, hsearch_r_nonexistent);
 	ATF_TP_ADD_TC(tp, hsearch_r_two);

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/t_strtod.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/t_strtod.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/stdlib/t_strtod.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -221,7 +221,9 @@ ATF_TC_BODY(strtold_nan, tc)
 
 	volatile long double ld = strtold(nan_string, &end);
 	ATF_REQUIRE(isnan(ld) != 0);
+#if !defined(__FreeBSD__)
 	ATF_REQUIRE(__isnanl(ld) != 0);
+#endif
 	ATF_REQUIRE(strcmp(end, "y") == 0);
 #   else
 	atf_tc_skip("Requires long double support");

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/string/t_memcpy.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/string/t_memcpy.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/string/t_memcpy.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -51,7 +51,11 @@ unsigned char *start[BLOCKTYPES] = {
 };
 
 char result[100];
+#if defined(__NetBSD__)
 const char goodResult[] = "7b405d24bc03195474c70ddae9e1f8fb";
+#else
+const char goodResult[] = "217b4fbe456916bf62a2f85df752e4ab";
+#endif
 
 static void
 runTest(unsigned char *b1, unsigned char *b2)
@@ -89,7 +93,15 @@ ATF_TC_BODY(memcpy_basic, tc)
 	start[2] = auto1;
 	start[3] = auto2;
 
+#if defined(__NetBSD__)
 	srandom(0L);
+#else
+	/*
+	 * random() shall produce by default a sequence of numbers that can be
+	 * duplicated by calling srandom() with 1 as the seed.
+	 */
+	srandom(1);
+#endif
 	MD5Init(mc);
 	for (i = 0; i < BLOCKTYPES; ++i)
 		for (j = 0; j < BLOCKTYPES; ++j)

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/string/t_memmem.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/string/t_memmem.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/string/t_memmem.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -75,8 +75,13 @@ ATF_TC_HEAD(memmem_basic, tc)
 ATF_TC_BODY(memmem_basic, tc)
 {
 
+#if defined(__darwin__) || defined(__FreeBSD__)
+	expect(memmem(b2, lb2, p0, lp0) == NULL);
+	expect(memmem(b0, lb0, p0, lp0) == NULL);
+#else
 	expect(memmem(b2, lb2, p0, lp0) == b2);
 	expect(memmem(b0, lb0, p0, lp0) == b0);
+#endif
 	expect(memmem(b0, lb0, p1, lp1) == NULL);
 	expect(memmem(b1, lb1, p1, lp1) == NULL);
 

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/string/t_strerror.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/string/t_strerror.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/string/t_strerror.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -37,6 +37,10 @@ __RCSID("$NetBSD: t_strerror.c,v 1.3 201
 #include <locale.h>
 #include <string.h>
 
+#if defined(__FreeBSD__)
+#include <stdio.h>
+#endif
+
 ATF_TC(strerror_basic);
 ATF_TC_HEAD(strerror_basic, tc)
 {

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/time/t_mktime.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/time/t_mktime.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/time/t_mktime.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -72,7 +72,12 @@ ATF_TC_BODY(mktime_negyear, tc)
 
 	errno = 0;
 	t = mktime(&tms);
+#if defined(__FreeBSD__)
+	/* Open Group says "and may set errno to indicate the error" */
+	ATF_REQUIRE(t == (time_t)-1);
+#else
 	ATF_REQUIRE_ERRNO(0, t != (time_t)-1);
+#endif
 }
 
 ATF_TC(timegm_epoch);

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/time/t_strptime.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/time/t_strptime.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/time/t_strptime.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -49,6 +49,17 @@ h_pass(const char *buf, const char *fmt,
 	exp = buf + len;
 	ret = strptime(buf, fmt, &tm);
 
+#if defined(__FreeBSD__)
+	ATF_CHECK_MSG(ret == exp,
+	    "strptime(\"%s\", \"%s\", tm): incorrect return code: "
+	    "expected: %p, got: %p", buf, fmt, exp, ret);
+
+#define H_REQUIRE_FIELD(field)						\
+		ATF_CHECK_MSG(tm.field == field,			\
+		    "strptime(\"%s\", \"%s\", tm): incorrect %s: "	\
+		    "expected: %d, but got: %d", buf, fmt,		\
+		    ___STRING(field), field, tm.field)
+#else
 	ATF_REQUIRE_MSG(ret == exp,
 	    "strptime(\"%s\", \"%s\", tm): incorrect return code: "
 	    "expected: %p, got: %p", buf, fmt, exp, ret);
@@ -58,6 +69,7 @@ h_pass(const char *buf, const char *fmt,
 		    "strptime(\"%s\", \"%s\", tm): incorrect %s: "	\
 		    "expected: %d, but got: %d", buf, fmt,		\
 		    ___STRING(field), field, tm.field)
+#endif
 
 	H_REQUIRE_FIELD(tm_sec);
 	H_REQUIRE_FIELD(tm_min);
@@ -76,8 +88,13 @@ h_fail(const char *buf, const char *fmt)
 {
 	struct tm tm = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, NULL };
 
+#if defined(__FreeBSD__)
+	ATF_CHECK_MSG(strptime(buf, fmt, &tm) == NULL, "strptime(\"%s\", "
+	    "\"%s\", &tm) should fail, but it didn't", buf, fmt);
+#else
 	ATF_REQUIRE_MSG(strptime(buf, fmt, &tm) == NULL, "strptime(\"%s\", "
 	    "\"%s\", &tm) should fail, but it didn't", buf, fmt);
+#endif
 }
 
 ATF_TC(common);
@@ -91,6 +108,10 @@ ATF_TC_HEAD(common, tc)
 ATF_TC_BODY(common, tc)
 {
 
+#if defined(__FreeBSD__)
+	atf_tc_expect_fail("There are various issues with strptime on FreeBSD");
+#endif
+
 	h_pass("Tue Jan 20 23:27:46 1998", "%a %b %d %T %Y",
 		24, 46, 27, 23, 20, 0, 98, 2, -1);
 	h_pass("Tue Jan 20 23:27:46 1998", "%a %b %d %H:%M:%S %Y",
@@ -168,9 +189,17 @@ ATF_TC_BODY(day, tc)
 	h_pass("mon", "%a", 3, -1, -1, -1, -1, -1, -1, 1, -1);
 	h_pass("tueSDay", "%A", 7, -1, -1, -1, -1, -1, -1, 2, -1);
 	h_pass("sunday", "%A", 6, -1, -1, -1, -1, -1, -1, 0, -1);
+#if defined(__NetBSD__)
 	h_fail("sunday", "%EA");
+#else
+	h_pass("Sunday", "%EA", 6, -1, -1, -1, -1, -1, -1, 0, -1);
+#endif
 	h_pass("SaturDay", "%A", 8, -1, -1, -1, -1, -1, -1, 6, -1);
+#if defined(__NetBSD__)
 	h_fail("SaturDay", "%OA");
+#else
+	h_pass("SaturDay", "%OA", 8, -1, -1, -1, -1, -1, -1, 6, -1);
+#endif
 }
 
 ATF_TC(month);

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/dso/h_tls_dlopen.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/dso/h_tls_dlopen.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/dso/h_tls_dlopen.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -36,7 +36,9 @@ __RCSID("$NetBSD: h_tls_dlopen.c,v 1.5 2
 
 #include <atf-c.h>
 #include <unistd.h>
+#if defined(__NetBSD__)
 #include <sys/tls.h>
+#endif
 
 #ifdef __HAVE_NO___THREAD
 #define	__thread

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/t_tls_dlopen.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/t_tls_dlopen.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/t_tls_dlopen.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -39,7 +39,9 @@ __RCSID("$NetBSD: t_tls_dlopen.c,v 1.3 2
 #include <pthread.h>
 #include <unistd.h>
 
+#if defined(__NetBSD__)
 #include <sys/tls.h>
+#endif
 
 #ifdef __HAVE_NO___THREAD
 #define	__thread

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/t_tls_dynamic.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/t_tls_dynamic.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/t_tls_dynamic.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -38,7 +38,9 @@ __RCSID("$NetBSD: t_tls_dynamic.c,v 1.3 
 #include <pthread.h>
 #include <unistd.h>
 
+#if defined(__NetBSD__)
 #include <sys/tls.h>
+#endif
 
 #ifdef __HAVE_NO___THREAD
 #define	__thread

Modified: projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/t_tls_static.c
==============================================================================
--- projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/t_tls_static.c	Tue Oct 14 03:22:37 2014	(r273068)
+++ projects/bhyve_svm/contrib/netbsd-tests/lib/libc/tls/t_tls_static.c	Tue Oct 14 03:39:31 2014	(r273069)
@@ -37,7 +37,9 @@ __RCSID("$NetBSD: t_tls_static.c,v 1.2 2
 #include <atf-c.h>
 #include <pthread.h>
 
+#if defined(__NetBSD__)
 #include <sys/tls.h>
+#endif

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

From owner-svn-src-projects@FreeBSD.ORG  Tue Oct 14 07:01:16 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 841331BC;
 Tue, 14 Oct 2014 07:01:16 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6B36C6E;
 Tue, 14 Oct 2014 07:01:16 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9E71G6U050493;
 Tue, 14 Oct 2014 07:01:16 GMT (envelope-from markm@FreeBSD.org)
Received: (from markm@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9E719rH050452;
 Tue, 14 Oct 2014 07:01:09 GMT (envelope-from markm@FreeBSD.org)
Message-Id: <201410140701.s9E719rH050452@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: markm set sender to
 markm@FreeBSD.org using -f
From: Mark Murray <markm@FreeBSD.org>
Date: Tue, 14 Oct 2014 07:01:09 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273070 - in projects/random_number_generator: . bin/sh
 bin/sh/tests/builtins bin/sleep bin/sleep/tests
 cddl/contrib/opensolaris/cmd/lockstat cddl/contrib/opensolaris/cmd/zdb
 cddl/contr...
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Oct 2014 07:01:16 -0000

Author: markm
Date: Tue Oct 14 07:01:07 2014
New Revision: 273070
URL: https://svnweb.freebsd.org/changeset/base/273070

Log:
  MFC - tracking commit.
  Merging r272539 through r273069.

Added:
  projects/random_number_generator/bin/sh/tests/builtins/eval7.0
     - copied unchanged from r273069, head/bin/sh/tests/builtins/eval7.0
  projects/random_number_generator/bin/sh/tests/builtins/eval8.7
     - copied unchanged from r273069, head/bin/sh/tests/builtins/eval8.7
  projects/random_number_generator/bin/sleep/tests/
     - copied from r273069, head/bin/sleep/tests/
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_demo2.error
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_demo2.error
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_demo2.output
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_demo2.output
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_demo2.tab.c
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_demo2.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_demo2.tab.h
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_demo2.tab.h
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_destroy1.error
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_destroy1.error
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_destroy1.output
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_destroy1.output
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_destroy1.tab.c
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_destroy1.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_destroy1.tab.h
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_destroy1.tab.h
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_destroy2.error
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_destroy2.error
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_destroy2.output
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_destroy2.output
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_destroy2.tab.c
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_destroy2.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_destroy2.tab.h
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_destroy2.tab.h
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_destroy3.error
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_destroy3.error
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_destroy3.output
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_destroy3.output
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_destroy3.tab.c
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_destroy3.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_destroy3.tab.h
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc/btyacc_destroy3.tab.h
  projects/random_number_generator/contrib/byacc/test/btyacc_destroy1.y
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc_destroy1.y
  projects/random_number_generator/contrib/byacc/test/btyacc_destroy2.y
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc_destroy2.y
  projects/random_number_generator/contrib/byacc/test/btyacc_destroy3.y
     - copied unchanged from r273069, head/contrib/byacc/test/btyacc_destroy3.y
  projects/random_number_generator/etc/devd/ulpt.conf
     - copied unchanged from r273069, head/etc/devd/ulpt.conf
  projects/random_number_generator/gnu/usr.bin/diff/tests/
     - copied from r273069, head/gnu/usr.bin/diff/tests/
  projects/random_number_generator/lib/libc/string/explicit_bzero.c
     - copied unchanged from r273069, head/lib/libc/string/explicit_bzero.c
  projects/random_number_generator/lib/libevent/
     - copied from r273069, head/lib/libevent/
  projects/random_number_generator/lib/libpcap/pcap-netmap.c
     - copied unchanged from r273069, head/lib/libpcap/pcap-netmap.c
  projects/random_number_generator/sbin/ipfw/tables.c
     - copied unchanged from r273069, head/sbin/ipfw/tables.c
  projects/random_number_generator/sys/arm/altera/socfpga/socfpga_mp.c
     - copied unchanged from r273069, head/sys/arm/altera/socfpga/socfpga_mp.c
  projects/random_number_generator/sys/dev/mmc/host/
     - copied from r273069, head/sys/dev/mmc/host/
  projects/random_number_generator/sys/dev/mrsas/mrsas_linux.c
     - copied unchanged from r273069, head/sys/dev/mrsas/mrsas_linux.c
  projects/random_number_generator/sys/libkern/explicit_bzero.c
     - copied unchanged from r273069, head/sys/libkern/explicit_bzero.c
  projects/random_number_generator/sys/libkern/murmur3_32.c
     - copied unchanged from r273069, head/sys/libkern/murmur3_32.c
  projects/random_number_generator/sys/modules/mrsas/mrsas_linux/
     - copied from r273069, head/sys/modules/mrsas/mrsas_linux/
  projects/random_number_generator/sys/netinet/sctp_syscalls.c
     - copied unchanged from r273069, head/sys/netinet/sctp_syscalls.c
  projects/random_number_generator/sys/netpfil/ipfw/ip_fw_iface.c
     - copied unchanged from r273069, head/sys/netpfil/ipfw/ip_fw_iface.c
  projects/random_number_generator/sys/netpfil/ipfw/ip_fw_table.h
     - copied unchanged from r273069, head/sys/netpfil/ipfw/ip_fw_table.h
  projects/random_number_generator/sys/netpfil/ipfw/ip_fw_table_algo.c
     - copied unchanged from r273069, head/sys/netpfil/ipfw/ip_fw_table_algo.c
  projects/random_number_generator/sys/netpfil/ipfw/ip_fw_table_value.c
     - copied unchanged from r273069, head/sys/netpfil/ipfw/ip_fw_table_value.c
  projects/random_number_generator/tools/tools/bootparttest/stub.c
     - copied unchanged from r273069, head/tools/tools/bootparttest/stub.c
  projects/random_number_generator/usr.bin/basename/tests/
     - copied from r273069, head/usr.bin/basename/tests/
  projects/random_number_generator/usr.bin/cmp/tests/
     - copied from r273069, head/usr.bin/cmp/tests/
  projects/random_number_generator/usr.bin/cut/tests/
     - copied from r273069, head/usr.bin/cut/tests/
  projects/random_number_generator/usr.bin/dirname/tests/
     - copied from r273069, head/usr.bin/dirname/tests/
  projects/random_number_generator/usr.bin/grep/tests/
     - copied from r273069, head/usr.bin/grep/tests/
  projects/random_number_generator/usr.bin/gzip/tests/
     - copied from r273069, head/usr.bin/gzip/tests/
  projects/random_number_generator/usr.sbin/nmtree/tests/
     - copied from r273069, head/usr.sbin/nmtree/tests/
  projects/random_number_generator/usr.sbin/pw/tests/pw_modify.sh
     - copied unchanged from r273069, head/usr.sbin/pw/tests/pw_modify.sh
Deleted:
  projects/random_number_generator/sys/arm/ti/am335x/files.beaglebone
  projects/random_number_generator/sys/arm/ti/am335x/std.beaglebone
  projects/random_number_generator/sys/arm/ti/omap3/
  projects/random_number_generator/sys/arm/ti/ti_mmchs.c
  projects/random_number_generator/sys/arm/ti/ti_mmchs.h
  projects/random_number_generator/tools/tools/bootparttest/malloc.c
  projects/random_number_generator/usr.sbin/ftp-proxy/Makefile.inc
  projects/random_number_generator/usr.sbin/ftp-proxy/ftp-proxy/
  projects/random_number_generator/usr.sbin/ftp-proxy/libevent/
Modified:
  projects/random_number_generator/Makefile.inc1
  projects/random_number_generator/UPDATING
  projects/random_number_generator/bin/sh/eval.c
  projects/random_number_generator/bin/sh/expand.c
  projects/random_number_generator/bin/sh/jobs.c
  projects/random_number_generator/bin/sh/redir.c
  projects/random_number_generator/bin/sh/tests/builtins/Makefile
  projects/random_number_generator/bin/sh/trap.c
  projects/random_number_generator/bin/sleep/Makefile
  projects/random_number_generator/cddl/contrib/opensolaris/cmd/lockstat/lockstat.1
  projects/random_number_generator/cddl/contrib/opensolaris/cmd/zdb/zdb.c
  projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_grammar.y
  projects/random_number_generator/contrib/binutils/bfd/config.bfd
  projects/random_number_generator/contrib/binutils/bfd/elf32-ppc.c
  projects/random_number_generator/contrib/binutils/bfd/elf64-ppc.c
  projects/random_number_generator/contrib/binutils/gas/config/tc-ppc.c
  projects/random_number_generator/contrib/binutils/ld/emulparams/elf32ppc_fbsd.sh
  projects/random_number_generator/contrib/binutils/ld/emulparams/elf64ppc_fbsd.sh
  projects/random_number_generator/contrib/bsnmp/snmp_target/target_snmp.c
  projects/random_number_generator/contrib/byacc/CHANGES
  projects/random_number_generator/contrib/byacc/MANIFEST
  projects/random_number_generator/contrib/byacc/VERSION
  projects/random_number_generator/contrib/byacc/aclocal.m4
  projects/random_number_generator/contrib/byacc/btyaccpar.c
  projects/random_number_generator/contrib/byacc/closure.c
  projects/random_number_generator/contrib/byacc/config.sub
  projects/random_number_generator/contrib/byacc/configure
  projects/random_number_generator/contrib/byacc/configure.in
  projects/random_number_generator/contrib/byacc/defs.h
  projects/random_number_generator/contrib/byacc/lalr.c
  projects/random_number_generator/contrib/byacc/main.c
  projects/random_number_generator/contrib/byacc/output.c
  projects/random_number_generator/contrib/byacc/package/byacc.spec
  projects/random_number_generator/contrib/byacc/package/debian/changelog
  projects/random_number_generator/contrib/byacc/package/debian/source/format
  projects/random_number_generator/contrib/byacc/package/mingw-byacc.spec
  projects/random_number_generator/contrib/byacc/package/pkgsrc/Makefile
  projects/random_number_generator/contrib/byacc/reader.c
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_calc1.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/btyacc_demo.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/calc.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/calc1.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/calc2.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/calc3.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/code_calc.code.c
  projects/random_number_generator/contrib/byacc/test/btyacc/code_calc.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/code_error.code.c
  projects/random_number_generator/contrib/byacc/test/btyacc/code_error.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/empty.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_inherit1.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_inherit2.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_inherit3.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_inherit4.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_inherit5.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax1.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax10.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax11.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax12.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax13.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax14.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax15.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax16.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax17.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax18.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax19.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax2.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax20.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax21.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax22.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax23.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax24.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax25.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax26.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax27.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax3.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax4.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax5.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax6.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax7.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax7a.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax7b.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax8.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax8a.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/err_syntax9.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/error.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/grammar.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/inherit0.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/inherit1.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/inherit2.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/ok_syntax1.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/pure_calc.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/pure_error.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/quote_calc-s.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/quote_calc.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/quote_calc2-s.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/quote_calc2.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/quote_calc3-s.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/quote_calc3.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/quote_calc4-s.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/quote_calc4.tab.c
  projects/random_number_generator/contrib/byacc/test/btyacc/rename_debug.c
  projects/random_number_generator/contrib/byacc/test/btyacc/varsyntax_calc1.tab.c
  projects/random_number_generator/contrib/byacc/test/yacc/calc2.tab.c
  projects/random_number_generator/contrib/byacc/test/yacc/calc3.tab.c
  projects/random_number_generator/contrib/byacc/test/yacc/ok_syntax1.tab.c
  projects/random_number_generator/contrib/byacc/yacc.1
  projects/random_number_generator/contrib/libc++/include/__config
  projects/random_number_generator/contrib/libpcap/inet.c
  projects/random_number_generator/contrib/libpcap/pcap.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/gen/posix_spawn/t_fileactions.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/gen/t_getcwd.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/gen/t_glob.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/gen/t_humanize_number.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/gen/t_nice.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/gen/t_raise.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/gen/t_setdomainname.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/gen/t_sethostname.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/gen/t_time.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/gen/t_ttyname.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/locale/t_io.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/locale/t_mbrtowc.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/locale/t_mbtowc.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/locale/t_wcstod.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/locale/t_wctomb.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/regex/debug.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/regex/t_regex_att.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/stdlib/h_getopt_long.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/stdlib/t_getenv.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/stdlib/t_strtod.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/string/t_memcpy.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/string/t_memmem.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/string/t_strerror.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/time/t_mktime.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/time/t_strptime.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/tls/dso/h_tls_dlopen.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/tls/t_tls_dlopen.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/tls/t_tls_dynamic.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/tls/t_tls_static.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/tls/t_tls_static_helper.c
  projects/random_number_generator/contrib/netbsd-tests/lib/libc/tls_dso/h_tls_dynamic.c
  projects/random_number_generator/contrib/tcp_wrappers/inetcf.h
  projects/random_number_generator/contrib/tcp_wrappers/mystdarg.h
  projects/random_number_generator/contrib/tcp_wrappers/tcpd.h
  projects/random_number_generator/contrib/tcp_wrappers/tli-sequent.h
  projects/random_number_generator/contrib/tcpdump/tcpdump.c
  projects/random_number_generator/etc/defaults/rc.conf
  projects/random_number_generator/etc/devd/Makefile
  projects/random_number_generator/etc/devd/apple.conf
  projects/random_number_generator/etc/mtree/BSD.tests.dist
  projects/random_number_generator/etc/rc.d/bgfsck
  projects/random_number_generator/etc/rc.d/netif
  projects/random_number_generator/etc/rc.subr
  projects/random_number_generator/gnu/usr.bin/Makefile
  projects/random_number_generator/gnu/usr.bin/diff/Makefile
  projects/random_number_generator/include/rpcsvc/nis.x
  projects/random_number_generator/include/strings.h
  projects/random_number_generator/lib/Makefile
  projects/random_number_generator/lib/libc/gen/dl_iterate_phdr.3
  projects/random_number_generator/lib/libc/stdtime/strptime.c
  projects/random_number_generator/lib/libc/string/Makefile.inc
  projects/random_number_generator/lib/libc/string/Symbol.map
  projects/random_number_generator/lib/libc/string/bzero.3
  projects/random_number_generator/lib/libc/sys/accept.2
  projects/random_number_generator/lib/libcrypt/crypt.c
  projects/random_number_generator/lib/libcuse/cuse_lib.c
  projects/random_number_generator/lib/libnv/nvlist.c
  projects/random_number_generator/lib/libnv/nvlist_impl.h
  projects/random_number_generator/lib/libnv/nvpair.c
  projects/random_number_generator/lib/libnv/nvpair_impl.h
  projects/random_number_generator/lib/libpcap/Makefile
  projects/random_number_generator/lib/libpcap/config.h
  projects/random_number_generator/lib/msun/ld128/e_lgammal_r.c
  projects/random_number_generator/lib/msun/ld80/e_lgammal_r.c
  projects/random_number_generator/lib/msun/src/e_lgamma_r.c
  projects/random_number_generator/lib/msun/src/e_lgammaf_r.c
  projects/random_number_generator/libexec/rtld-elf/rtld.c
  projects/random_number_generator/release/doc/en_US.ISO8859-1/hardware/article.xml
  projects/random_number_generator/sbin/dumpon/dumpon.8
  projects/random_number_generator/sbin/ifconfig/iflagg.c
  projects/random_number_generator/sbin/ipfw/Makefile
  projects/random_number_generator/sbin/ipfw/ipfw.8
  projects/random_number_generator/sbin/ipfw/ipfw2.c
  projects/random_number_generator/sbin/ipfw/ipfw2.h
  projects/random_number_generator/sbin/ipfw/main.c
  projects/random_number_generator/sbin/ipfw/nat.c
  projects/random_number_generator/sbin/iscontrol/iscontrol.8
  projects/random_number_generator/sbin/swapon/swapon.c
  projects/random_number_generator/share/man/man4/alc.4
  projects/random_number_generator/share/man/man4/iscsi_initiator.4
  projects/random_number_generator/share/man/man4/tcp.4
  projects/random_number_generator/share/man/man5/rc.conf.5
  projects/random_number_generator/share/man/man8/rc.subr.8
  projects/random_number_generator/share/man/man9/timeout.9
  projects/random_number_generator/share/mk/bsd.progs.mk
  projects/random_number_generator/share/mk/src.libnames.mk
  projects/random_number_generator/share/mk/sys.mk
  projects/random_number_generator/sys/amd64/amd64/minidump_machdep.c
  projects/random_number_generator/sys/amd64/amd64/pmap.c
  projects/random_number_generator/sys/amd64/include/md_var.h
  projects/random_number_generator/sys/amd64/include/pmap.h
  projects/random_number_generator/sys/amd64/include/vmm.h   (contents, props changed)
  projects/random_number_generator/sys/amd64/vmm/intel/vmx.c
  projects/random_number_generator/sys/amd64/vmm/intel/vmx_msr.c
  projects/random_number_generator/sys/amd64/vmm/vmm.c
  projects/random_number_generator/sys/arm/altera/socfpga/files.socfpga
  projects/random_number_generator/sys/arm/altera/socfpga/socfpga_machdep.c
  projects/random_number_generator/sys/arm/arm/dump_machdep.c
  projects/random_number_generator/sys/arm/arm/minidump_machdep.c
  projects/random_number_generator/sys/arm/conf/BEAGLEBONE
  projects/random_number_generator/sys/arm/conf/EXYNOS5.common
  projects/random_number_generator/sys/arm/conf/SOCKIT
  projects/random_number_generator/sys/arm/include/md_var.h
  projects/random_number_generator/sys/arm/samsung/exynos/exynos5_machdep.c
  projects/random_number_generator/sys/arm/samsung/exynos/files.exynos5
  projects/random_number_generator/sys/arm/ti/am335x/files.am335x
  projects/random_number_generator/sys/arm/ti/files.ti
  projects/random_number_generator/sys/arm/ti/omap4/files.omap4
  projects/random_number_generator/sys/arm/ti/ti_cpuid.c
  projects/random_number_generator/sys/arm/ti/ti_cpuid.h
  projects/random_number_generator/sys/arm/ti/ti_gpio.c
  projects/random_number_generator/sys/arm/ti/ti_i2c.c
  projects/random_number_generator/sys/arm/ti/ti_sdhci.c
  projects/random_number_generator/sys/boot/common/disk.c
  projects/random_number_generator/sys/boot/common/disk.h
  projects/random_number_generator/sys/boot/common/part.c
  projects/random_number_generator/sys/boot/fdt/dts/arm/exynos5420-arndale-octa.dts
  projects/random_number_generator/sys/boot/fdt/dts/arm/exynos5420-peach-pit.dts
  projects/random_number_generator/sys/boot/fdt/dts/arm/exynos5420.dtsi
  projects/random_number_generator/sys/boot/fdt/dts/arm/socfpga-sockit.dts
  projects/random_number_generator/sys/boot/fdt/dts/arm/socfpga.dtsi
  projects/random_number_generator/sys/boot/i386/gptboot/gptboot.c
  projects/random_number_generator/sys/boot/powerpc/ofw/ldscript.powerpc
  projects/random_number_generator/sys/boot/powerpc/ps3/ldscript.powerpc
  projects/random_number_generator/sys/boot/powerpc/uboot/ldscript.powerpc
  projects/random_number_generator/sys/cam/cam_xpt.c
  projects/random_number_generator/sys/cam/ctl/ctl.c
  projects/random_number_generator/sys/cam/ctl/ctl_backend.h
  projects/random_number_generator/sys/cam/ctl/ctl_backend_block.c
  projects/random_number_generator/sys/cam/ctl/ctl_backend_ramdisk.c
  projects/random_number_generator/sys/cam/ctl/ctl_cmd_table.c
  projects/random_number_generator/sys/cam/ctl/ctl_frontend_cam_sim.c
  projects/random_number_generator/sys/cam/ctl/ctl_frontend_iscsi.c
  projects/random_number_generator/sys/cam/ctl/ctl_frontend_iscsi.h
  projects/random_number_generator/sys/cam/ctl/ctl_ioctl.h
  projects/random_number_generator/sys/cam/ctl/ctl_private.h
  projects/random_number_generator/sys/cam/ctl/scsi_ctl.c
  projects/random_number_generator/sys/cam/scsi/scsi_all.h
  projects/random_number_generator/sys/cam/scsi/scsi_da.h
  projects/random_number_generator/sys/cddl/compat/opensolaris/sys/assfail.h
  projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
  projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c
  projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
  projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
  projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c
  projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
  projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
  projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h
  projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
  projects/random_number_generator/sys/compat/freebsd32/freebsd32_proto.h
  projects/random_number_generator/sys/compat/freebsd32/freebsd32_syscall.h
  projects/random_number_generator/sys/compat/freebsd32/freebsd32_syscalls.c
  projects/random_number_generator/sys/compat/freebsd32/freebsd32_sysent.c
  projects/random_number_generator/sys/compat/freebsd32/syscalls.master
  projects/random_number_generator/sys/conf/Makefile.arm
  projects/random_number_generator/sys/conf/files
  projects/random_number_generator/sys/conf/kern.mk
  projects/random_number_generator/sys/conf/ldscript.powerpc
  projects/random_number_generator/sys/conf/ldscript.powerpc64
  projects/random_number_generator/sys/conf/newvers.sh
  projects/random_number_generator/sys/contrib/dev/ath/ath_hal/ar9300/ar9300desc.h
  projects/random_number_generator/sys/contrib/ipfilter/netinet/fil.c
  projects/random_number_generator/sys/contrib/ipfilter/netinet/ip_dns_pxy.c
  projects/random_number_generator/sys/contrib/ipfilter/netinet/ip_dstlist.c
  projects/random_number_generator/sys/contrib/ipfilter/netinet/ip_nat.c
  projects/random_number_generator/sys/ddb/db_access.c
  projects/random_number_generator/sys/ddb/db_break.c
  projects/random_number_generator/sys/ddb/db_command.c
  projects/random_number_generator/sys/ddb/db_examine.c
  projects/random_number_generator/sys/ddb/db_input.c
  projects/random_number_generator/sys/ddb/db_lex.c
  projects/random_number_generator/sys/ddb/db_output.c
  projects/random_number_generator/sys/ddb/db_output.h
  projects/random_number_generator/sys/ddb/db_print.c
  projects/random_number_generator/sys/ddb/db_ps.c
  projects/random_number_generator/sys/ddb/db_run.c
  projects/random_number_generator/sys/ddb/db_sym.c
  projects/random_number_generator/sys/ddb/db_sym.h
  projects/random_number_generator/sys/ddb/db_textdump.c
  projects/random_number_generator/sys/ddb/db_variables.h
  projects/random_number_generator/sys/ddb/db_watch.c
  projects/random_number_generator/sys/ddb/db_watch.h
  projects/random_number_generator/sys/ddb/db_write_cmd.c
  projects/random_number_generator/sys/dev/acpica/acpi.c
  projects/random_number_generator/sys/dev/acpica/acpi_pci.c
  projects/random_number_generator/sys/dev/acpica/acpivar.h
  projects/random_number_generator/sys/dev/ahci/ahci.c
  projects/random_number_generator/sys/dev/alc/if_alc.c
  projects/random_number_generator/sys/dev/alc/if_alcreg.h
  projects/random_number_generator/sys/dev/alc/if_alcvar.h
  projects/random_number_generator/sys/dev/ale/if_ale.c
  projects/random_number_generator/sys/dev/ale/if_alereg.h
  projects/random_number_generator/sys/dev/amdtemp/amdtemp.c
  projects/random_number_generator/sys/dev/ctau/if_ct.c
  projects/random_number_generator/sys/dev/cx/if_cx.c
  projects/random_number_generator/sys/dev/cxgbe/common/t4_msg.h
  projects/random_number_generator/sys/dev/cxgbe/tom/t4_connect.c
  projects/random_number_generator/sys/dev/cxgbe/tom/t4_tom.c
  projects/random_number_generator/sys/dev/cxgbe/tom/t4_tom.h
  projects/random_number_generator/sys/dev/cxgbe/tom/t4_tom_l2t.c
  projects/random_number_generator/sys/dev/digi/digi_isa.c
  projects/random_number_generator/sys/dev/drm2/i915/intel_ringbuffer.c
  projects/random_number_generator/sys/dev/e1000/if_igb.c
  projects/random_number_generator/sys/dev/hwpmc/hwpmc_core.c
  projects/random_number_generator/sys/dev/iicbus/max6690.c
  projects/random_number_generator/sys/dev/iscsi/icl.c
  projects/random_number_generator/sys/dev/iscsi/icl.h
  projects/random_number_generator/sys/dev/iscsi/iscsi.c
  projects/random_number_generator/sys/dev/isp/isp_library.c
  projects/random_number_generator/sys/dev/isp/ispmbox.h
  projects/random_number_generator/sys/dev/mc146818/mc146818.c
  projects/random_number_generator/sys/dev/mmc/mmc.c
  projects/random_number_generator/sys/dev/mpr/mpr_sas.c
  projects/random_number_generator/sys/dev/mpr/mpr_table.c
  projects/random_number_generator/sys/dev/mrsas/mrsas.c
  projects/random_number_generator/sys/dev/mrsas/mrsas.h
  projects/random_number_generator/sys/dev/mrsas/mrsas_cam.c
  projects/random_number_generator/sys/dev/mrsas/mrsas_fp.c
  projects/random_number_generator/sys/dev/mrsas/mrsas_ioctl.c
  projects/random_number_generator/sys/dev/mrsas/mrsas_ioctl.h
  projects/random_number_generator/sys/dev/mse/mse.c
  projects/random_number_generator/sys/dev/mse/mse_cbus.c
  projects/random_number_generator/sys/dev/mse/mse_isa.c
  projects/random_number_generator/sys/dev/mse/msevar.h
  projects/random_number_generator/sys/dev/msk/if_msk.c
  projects/random_number_generator/sys/dev/nfe/if_nfe.c
  projects/random_number_generator/sys/dev/pci/pci.c
  projects/random_number_generator/sys/dev/random/ivy.c
  projects/random_number_generator/sys/dev/sdhci/sdhci_pci.c
  projects/random_number_generator/sys/dev/sk/if_sk.c
  projects/random_number_generator/sys/dev/uart/uart_bus_fdt.c
  projects/random_number_generator/sys/dev/uart/uart_dev_imx.c
  projects/random_number_generator/sys/dev/usb/usb_freebsd.h
  projects/random_number_generator/sys/dev/usb/usb_freebsd_loader.h
  projects/random_number_generator/sys/dev/usb/usb_hub.c
  projects/random_number_generator/sys/dev/usb/usbdevs
  projects/random_number_generator/sys/dev/vt/vt_core.c
  projects/random_number_generator/sys/fs/autofs/autofs.c
  projects/random_number_generator/sys/fs/autofs/autofs_vnops.c
  projects/random_number_generator/sys/fs/devfs/devfs_vnops.c
  projects/random_number_generator/sys/fs/ext2fs/ext2_vnops.c
  projects/random_number_generator/sys/fs/msdosfs/msdosfs_vnops.c
  projects/random_number_generator/sys/geom/geom_dev.c
  projects/random_number_generator/sys/i386/i386/machdep.c
  projects/random_number_generator/sys/i386/i386/minidump_machdep.c
  projects/random_number_generator/sys/i386/i386/pmap.c
  projects/random_number_generator/sys/i386/i386/vm_machdep.c
  projects/random_number_generator/sys/i386/include/md_var.h
  projects/random_number_generator/sys/i386/include/pmap.h
  projects/random_number_generator/sys/i386/xen/pmap.c
  projects/random_number_generator/sys/kern/bus_if.m
  projects/random_number_generator/sys/kern/init_sysent.c
  projects/random_number_generator/sys/kern/kern_descrip.c
  projects/random_number_generator/sys/kern/kern_exit.c
  projects/random_number_generator/sys/kern/kern_proc.c
  projects/random_number_generator/sys/kern/kern_prot.c
  projects/random_number_generator/sys/kern/kern_racct.c
  projects/random_number_generator/sys/kern/kern_timeout.c
  projects/random_number_generator/sys/kern/subr_bus.c
  projects/random_number_generator/sys/kern/subr_witness.c
  projects/random_number_generator/sys/kern/syscalls.c
  projects/random_number_generator/sys/kern/syscalls.master
  projects/random_number_generator/sys/kern/tty.c
  projects/random_number_generator/sys/kern/uipc_syscalls.c
  projects/random_number_generator/sys/kern/vfs_bio.c
  projects/random_number_generator/sys/mips/include/md_var.h
  projects/random_number_generator/sys/mips/mips/dump_machdep.c
  projects/random_number_generator/sys/mips/mips/minidump_machdep.c
  projects/random_number_generator/sys/modules/Makefile
  projects/random_number_generator/sys/modules/ipfw/Makefile
  projects/random_number_generator/sys/modules/mrsas/Makefile
  projects/random_number_generator/sys/net/ieee8023ad_lacp.c
  projects/random_number_generator/sys/net/ieee8023ad_lacp.h
  projects/random_number_generator/sys/net/if_bridge.c
  projects/random_number_generator/sys/net/if_disc.c
  projects/random_number_generator/sys/net/if_edsc.c
  projects/random_number_generator/sys/net/if_enc.c
  projects/random_number_generator/sys/net/if_epair.c
  projects/random_number_generator/sys/net/if_gif.c
  projects/random_number_generator/sys/net/if_lagg.c
  projects/random_number_generator/sys/net/if_lagg.h
  projects/random_number_generator/sys/netgraph/ng_ipfw.c
  projects/random_number_generator/sys/netinet/igmp.c
  projects/random_number_generator/sys/netinet/ip6.h
  projects/random_number_generator/sys/netinet/ip_divert.c
  projects/random_number_generator/sys/netinet/ip_fw.h
  projects/random_number_generator/sys/netinet/ip_gre.c
  projects/random_number_generator/sys/netinet/ip_mroute.c
  projects/random_number_generator/sys/netinet/ip_output.c
  projects/random_number_generator/sys/netinet/sctp_input.c
  projects/random_number_generator/sys/netinet/sctp_output.c
  projects/random_number_generator/sys/netinet/sctp_output.h
  projects/random_number_generator/sys/netinet/sctp_usrreq.c
  projects/random_number_generator/sys/netinet/sctputil.c
  projects/random_number_generator/sys/netinet/tcp_output.c
  projects/random_number_generator/sys/netinet/tcp_timer.c
  projects/random_number_generator/sys/netinet/tcp_usrreq.c
  projects/random_number_generator/sys/netinet/tcp_var.h
  projects/random_number_generator/sys/netinet/udp_usrreq.c
  projects/random_number_generator/sys/netinet/udp_var.h
  projects/random_number_generator/sys/netinet6/icmp6.c
  projects/random_number_generator/sys/netinet6/ip6_mroute.c
  projects/random_number_generator/sys/netinet6/ip6_output.c
  projects/random_number_generator/sys/netinet6/udp6_usrreq.c
  projects/random_number_generator/sys/netpfil/ipfw/ip_dummynet.c
  projects/random_number_generator/sys/netpfil/ipfw/ip_fw2.c
  projects/random_number_generator/sys/netpfil/ipfw/ip_fw_dynamic.c
  projects/random_number_generator/sys/netpfil/ipfw/ip_fw_log.c
  projects/random_number_generator/sys/netpfil/ipfw/ip_fw_nat.c
  projects/random_number_generator/sys/netpfil/ipfw/ip_fw_private.h
  projects/random_number_generator/sys/netpfil/ipfw/ip_fw_sockopt.c
  projects/random_number_generator/sys/netpfil/ipfw/ip_fw_table.c
  projects/random_number_generator/sys/netpfil/pf/pf.c
  projects/random_number_generator/sys/ofed/drivers/net/mlx4/mlx4.h
  projects/random_number_generator/sys/ofed/include/linux/mlx4/device.h
  projects/random_number_generator/sys/powerpc/powermac/pmu.c
  projects/random_number_generator/sys/sparc64/sparc64/support.S
  projects/random_number_generator/sys/sys/bus.h
  projects/random_number_generator/sys/sys/cdefs.h
  projects/random_number_generator/sys/sys/filedesc.h
  projects/random_number_generator/sys/sys/hash.h
  projects/random_number_generator/sys/sys/mbuf.h
  projects/random_number_generator/sys/sys/param.h
  projects/random_number_generator/sys/sys/racct.h
  projects/random_number_generator/sys/sys/seq.h
  projects/random_number_generator/sys/sys/socketvar.h
  projects/random_number_generator/sys/sys/syscall.h
  projects/random_number_generator/sys/sys/syscall.mk
  projects/random_number_generator/sys/sys/sysproto.h
  projects/random_number_generator/sys/sys/systm.h
  projects/random_number_generator/sys/sys/ucred.h
  projects/random_number_generator/sys/ufs/ffs/ffs_vnops.c
  projects/random_number_generator/sys/ufs/ufs/dir.h
  projects/random_number_generator/sys/vm/uma_core.c
  projects/random_number_generator/sys/vm/vm_fault.c
  projects/random_number_generator/sys/x86/acpica/srat.c
  projects/random_number_generator/sys/x86/include/specialreg.h
  projects/random_number_generator/sys/x86/x86/dump_machdep.c
  projects/random_number_generator/sys/x86/x86/local_apic.c
  projects/random_number_generator/tools/build/mk/OptionalObsoleteFiles.inc
  projects/random_number_generator/tools/sched/schedgraph.py
  projects/random_number_generator/tools/tools/bootparttest/Makefile
  projects/random_number_generator/tools/tools/bootparttest/bootparttest.c
  projects/random_number_generator/tools/tools/netmap/pkt-gen.c
  projects/random_number_generator/usr.bin/basename/Makefile
  projects/random_number_generator/usr.bin/cmp/Makefile
  projects/random_number_generator/usr.bin/cut/Makefile
  projects/random_number_generator/usr.bin/dirname/Makefile
  projects/random_number_generator/usr.bin/find/function.c
  projects/random_number_generator/usr.bin/grep/Makefile
  projects/random_number_generator/usr.bin/gzip/Makefile
  projects/random_number_generator/usr.bin/kdump/kdump.c
  projects/random_number_generator/usr.bin/kdump/mksubr
  projects/random_number_generator/usr.bin/truss/syscall.h
  projects/random_number_generator/usr.bin/truss/syscalls.c
  projects/random_number_generator/usr.bin/w/w.c
  projects/random_number_generator/usr.sbin/autofs/common.c
  projects/random_number_generator/usr.sbin/bhyve/acpi.c
  projects/random_number_generator/usr.sbin/bhyve/pci_virtio_block.c
  projects/random_number_generator/usr.sbin/bhyve/xmsr.c
  projects/random_number_generator/usr.sbin/bsdconfig/includes/includes
  projects/random_number_generator/usr.sbin/bsdconfig/share/device.subr
  projects/random_number_generator/usr.sbin/bsdconfig/share/packages/index.subr
  projects/random_number_generator/usr.sbin/bsdinstall/partedit/partedit_x86.c
  projects/random_number_generator/usr.sbin/ctladm/ctladm.8
  projects/random_number_generator/usr.sbin/ctladm/ctladm.c
  projects/random_number_generator/usr.sbin/ctld/kernel.c
  projects/random_number_generator/usr.sbin/ftp-proxy/Makefile
  projects/random_number_generator/usr.sbin/newsyslog/newsyslog.c
  projects/random_number_generator/usr.sbin/nmtree/Makefile
  projects/random_number_generator/usr.sbin/nscd/query.c
  projects/random_number_generator/usr.sbin/pstat/pstat.8
  projects/random_number_generator/usr.sbin/pw/pw_user.c
  projects/random_number_generator/usr.sbin/pw/tests/Makefile
  projects/random_number_generator/usr.sbin/rtadvd/advcap.c
  projects/random_number_generator/usr.sbin/rtadvd/config.c
  projects/random_number_generator/usr.sbin/rtsold/rtsol.c
Directory Properties:
  projects/random_number_generator/   (props changed)
  projects/random_number_generator/cddl/   (props changed)
  projects/random_number_generator/cddl/contrib/opensolaris/   (props changed)
  projects/random_number_generator/contrib/binutils/   (props changed)
  projects/random_number_generator/contrib/byacc/   (props changed)
  projects/random_number_generator/contrib/libc++/   (props changed)
  projects/random_number_generator/contrib/libpcap/   (props changed)
  projects/random_number_generator/contrib/tcpdump/   (props changed)
  projects/random_number_generator/etc/   (props changed)
  projects/random_number_generator/include/   (props changed)
  projects/random_number_generator/lib/libc/   (props changed)
  projects/random_number_generator/lib/libc/stdtime/   (props changed)
  projects/random_number_generator/sbin/   (props changed)
  projects/random_number_generator/sbin/dumpon/   (props changed)
  projects/random_number_generator/sbin/ipfw/   (props changed)
  projects/random_number_generator/share/   (props changed)
  projects/random_number_generator/share/man/man4/   (props changed)
  projects/random_number_generator/sys/   (props changed)
  projects/random_number_generator/sys/amd64/vmm/   (props changed)
  projects/random_number_generator/sys/boot/   (props changed)
  projects/random_number_generator/sys/boot/powerpc/ofw/   (props changed)
  projects/random_number_generator/sys/cddl/contrib/opensolaris/   (props changed)
  projects/random_number_generator/sys/conf/   (props changed)
  projects/random_number_generator/sys/contrib/ipfilter/   (props changed)
  projects/random_number_generator/usr.sbin/bhyve/   (props changed)
  projects/random_number_generator/usr.sbin/rtadvd/   (props changed)
  projects/random_number_generator/usr.sbin/rtsold/   (props changed)

Modified: projects/random_number_generator/Makefile.inc1
==============================================================================
--- projects/random_number_generator/Makefile.inc1	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/Makefile.inc1	Tue Oct 14 07:01:07 2014	(r273070)
@@ -299,6 +299,10 @@ HMAKE+=		PATH=${TMPPATH} METALOG=${METAL
 WMAKEENV+=	MK_CTF=no
 .endif
 
+.if defined(CROSS_TOOLCHAIN)
+LOCALBASE?=	/usr/local
+.include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk"
+.endif
 .if defined(CROSS_TOOLCHAIN_PREFIX)
 CROSS_COMPILER_PREFIX?=${CROSS_TOOLCHAIN_PREFIX}
 CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX}
@@ -311,7 +315,7 @@ X${COMPILER}?=	${CROSS_COMPILER_PREFIX}$
 X${COMPILER}?=	${${COMPILER}}
 .endif
 .endfor
-XBINUTILS=	AS AR LD NM OBJDUMP RANLIB STRINGS
+XBINUTILS=	AS AR LD NM OBJCOPY OBJDUMP RANLIB SIZE STRINGS
 .for BINUTIL in ${XBINUTILS}
 .if defined(CROSS_BINUTILS_PREFIX)
 X${BINUTIL}?=	${CROSS_BINUTILS_PREFIX}${${BINUTIL}}
@@ -322,7 +326,9 @@ X${BINUTIL}?=	${${BINUTIL}}
 WMAKEENV+=	CC="${XCC} ${XFLAGS}" CXX="${XCXX} ${XFLAGS}" \
 		CPP="${XCPP} ${XFLAGS}" \
 		AS="${XAS}" AR="${XAR}" LD="${XLD}" NM=${XNM} \
-		OBJDUMP=${XOBJDUMP} RANLIB=${XRANLIB} STRINGS=${XSTRINGS}
+		OBJDUMP=${XOBJDUMP} OBJCOPY="${XOBJCOPY}" \
+		RANLIB=${XRANLIB} STRINGS=${XSTRINGS} \
+		SIZE="${XSIZE}"
 
 .if ${XCC:M/*}
 XFLAGS=		--sysroot=${WORLDTMP}
@@ -343,10 +349,14 @@ TARGET_ABI=	gnueabihf
 TARGET_ABI=	gnueabi
 .endif
 .endif
+.if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc
+XFLAGS+=	-isystem ${WORLDTMP}/usr/include -L${WORLDTMP}/usr/lib
+.else
 TARGET_ABI?=	unknown
 TARGET_TRIPLE?=	${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0
 XFLAGS+=	-target ${TARGET_TRIPLE}
 .endif
+.endif
 
 WMAKE=		${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP}
 
@@ -1536,6 +1546,7 @@ _prebuild_libs=	${_kerberos5_lib_libasn1
 		${_cddl_lib_libuutil} \
 		${_cddl_lib_libavl} \
 		${_cddl_lib_libzfs_core} \
+		${_cddl_lib_libctf} \
 		lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \
 		${_secure_lib_libcrypto} ${_lib_libldns} \
 		${_secure_lib_libssh} ${_secure_lib_libssl}
@@ -1586,9 +1597,11 @@ _cddl_lib_libnvpair= cddl/lib/libnvpair
 _cddl_lib_libavl= cddl/lib/libavl
 _cddl_lib_libuutil= cddl/lib/libuutil
 _cddl_lib_libzfs_core= cddl/lib/libzfs_core
+_cddl_lib_libctf= cddl/lib/libctf
 _cddl_lib= cddl/lib
 cddl/lib/libzfs_core__L: cddl/lib/libnvpair__L
 cddl/lib/libzfs__L: lib/libgeom__L
+cddl/lib/libctf__L: lib/libz__L
 .endif
 
 .if ${MK_CRYPT} != "no"

Modified: projects/random_number_generator/UPDATING
==============================================================================
--- projects/random_number_generator/UPDATING	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/UPDATING	Tue Oct 14 07:01:07 2014	(r273070)
@@ -31,6 +31,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20141009:
+	gperf has been removed from the base system for architectures
+	that use clang. Ports that require gperf will obtain it from the
+	devel/gperf port.
+
 20140923:
 	pjdfstest has been moved from tools/regression/pjdfstest to
 	contrib/pjdfstest .

Modified: projects/random_number_generator/bin/sh/eval.c
==============================================================================
--- projects/random_number_generator/bin/sh/eval.c	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/bin/sh/eval.c	Tue Oct 14 07:01:07 2014	(r273070)
@@ -168,6 +168,8 @@ evalstring(char *s, int flags)
 			else
 				evaltree(n, flags);
 			any = 1;
+			if (evalskip)
+				break;
 		}
 		popstackmark(&smark);
 		setstackmark(&smark);
@@ -316,9 +318,10 @@ evalloop(union node *n, int flags)
 	loopnest++;
 	status = 0;
 	for (;;) {
-		evaltree(n->nbinary.ch1, EV_TESTED);
+		if (!evalskip)
+			evaltree(n->nbinary.ch1, EV_TESTED);
 		if (evalskip) {
-skipping:	  if (evalskip == SKIPCONT && --skipcount <= 0) {
+			if (evalskip == SKIPCONT && --skipcount <= 0) {
 				evalskip = 0;
 				continue;
 			}
@@ -337,8 +340,6 @@ skipping:	  if (evalskip == SKIPCONT && 
 		}
 		evaltree(n->nbinary.ch2, flags);
 		status = exitstatus;
-		if (evalskip)
-			goto skipping;
 	}
 	loopnest--;
 	exitstatus = status;
@@ -648,15 +649,15 @@ evalbackcmd(union node *n, struct backcm
 	struct jmploc *savehandler;
 	struct localvar *savelocalvars;
 
-	setstackmark(&smark);
 	result->fd = -1;
 	result->buf = NULL;
 	result->nleft = 0;
 	result->jp = NULL;
 	if (n == NULL) {
 		exitstatus = 0;
-		goto out;
+		return;
 	}
+	setstackmark(&smark);
 	exitstatus = oexitstatus;
 	if (is_valid_fast_cmdsubst(n)) {
 		savelocalvars = localvars;
@@ -698,7 +699,6 @@ evalbackcmd(union node *n, struct backcm
 		result->fd = pip[0];
 		result->jp = jp;
 	}
-out:
 	popstackmark(&smark);
 	TRACE(("evalbackcmd done: fd=%d buf=%p nleft=%d jp=%p\n",
 		result->fd, result->buf, result->nleft, result->jp));

Modified: projects/random_number_generator/bin/sh/expand.c
==============================================================================
--- projects/random_number_generator/bin/sh/expand.c	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/bin/sh/expand.c	Tue Oct 14 07:01:07 2014	(r273070)
@@ -328,24 +328,19 @@ exptilde(char *p, int flag)
 done:
 	*p = '\0';
 	if (*(startp+1) == '\0') {
-		if ((home = lookupvar("HOME")) == NULL)
-			goto lose;
+		home = lookupvar("HOME");
 	} else {
-		if ((pw = getpwnam(startp+1)) == NULL)
-			goto lose;
-		home = pw->pw_dir;
+		pw = getpwnam(startp+1);
+		home = pw != NULL ? pw->pw_dir : NULL;
 	}
-	if (*home == '\0')
-		goto lose;
 	*p = c;
+	if (home == NULL || *home == '\0')
+		return (startp);
 	if (quotes)
 		STPUTS_QUOTES(home, SQSYNTAX, expdest);
 	else
 		STPUTS(home, expdest);
 	return (p);
-lose:
-	*p = c;
-	return (startp);
 }
 
 

Modified: projects/random_number_generator/bin/sh/jobs.c
==============================================================================
--- projects/random_number_generator/bin/sh/jobs.c	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/bin/sh/jobs.c	Tue Oct 14 07:01:07 2014	(r273070)
@@ -373,13 +373,13 @@ showjob(struct job *jp, int mode)
 			strcat(statestr, " (core dumped)");
 	}
 
-	for (ps = jp->ps ; ; ps++) {	/* for each process */
+	for (ps = jp->ps ; procno > 0 ; ps++, procno--) { /* for each process */
 		if (mode == SHOWJOBS_PIDS || mode == SHOWJOBS_PGIDS) {
 			out1fmt("%d\n", (int)ps->pid);
-			goto skip;
+			continue;
 		}
 		if (mode != SHOWJOBS_VERBOSE && ps != jp->ps)
-			goto skip;
+			continue;
 		if (jobno == curr && ps == jp->ps)
 			c = '+';
 		else if (jobno == prev && ps == jp->ps)
@@ -410,8 +410,6 @@ showjob(struct job *jp, int mode)
 			out1c('\n');
 		} else
 			printjobcmd(jp);
-skip:		if (--procno <= 0)
-			break;
 	}
 }
 

Modified: projects/random_number_generator/bin/sh/redir.c
==============================================================================
--- projects/random_number_generator/bin/sh/redir.c	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/bin/sh/redir.c	Tue Oct 14 07:01:07 2014	(r273070)
@@ -173,21 +173,12 @@ openredirect(union node *redir, char mem
 		fname = redir->nfile.expfname;
 		if ((f = open(fname, O_RDONLY)) < 0)
 			error("cannot open %s: %s", fname, strerror(errno));
-movefd:
-		if (f != fd) {
-			if (dup2(f, fd) == -1) {
-				e = errno;
-				close(f);
-				error("%d: %s", fd, strerror(e));
-			}
-			close(f);
-		}
 		break;
 	case NFROMTO:
 		fname = redir->nfile.expfname;
 		if ((f = open(fname, O_RDWR|O_CREAT, 0666)) < 0)
 			error("cannot create %s: %s", fname, strerror(errno));
-		goto movefd;
+		break;
 	case NTO:
 		if (Cflag) {
 			fname = redir->nfile.expfname;
@@ -205,19 +196,19 @@ movefd:
 			} else
 				error("cannot create %s: %s", fname,
 				    strerror(EEXIST));
-			goto movefd;
+			break;
 		}
 		/* FALLTHROUGH */
 	case NCLOBBER:
 		fname = redir->nfile.expfname;
 		if ((f = open(fname, O_WRONLY|O_CREAT|O_TRUNC, 0666)) < 0)
 			error("cannot create %s: %s", fname, strerror(errno));
-		goto movefd;
+		break;
 	case NAPPEND:
 		fname = redir->nfile.expfname;
 		if ((f = open(fname, O_WRONLY|O_CREAT|O_APPEND, 0666)) < 0)
 			error("cannot create %s: %s", fname, strerror(errno));
-		goto movefd;
+		break;
 	case NTOFD:
 	case NFROMFD:
 		if (redir->ndup.dupfd >= 0) {	/* if not ">&-" */
@@ -231,14 +222,22 @@ movefd:
 		} else {
 			close(fd);
 		}
-		break;
+		return;
 	case NHERE:
 	case NXHERE:
 		f = openhere(redir);
-		goto movefd;
+		break;
 	default:
 		abort();
 	}
+	if (f != fd) {
+		if (dup2(f, fd) == -1) {
+			e = errno;
+			close(f);
+			error("%d: %s", fd, strerror(e));
+		}
+		close(f);
+	}
 }
 
 

Modified: projects/random_number_generator/bin/sh/tests/builtins/Makefile
==============================================================================
--- projects/random_number_generator/bin/sh/tests/builtins/Makefile	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/bin/sh/tests/builtins/Makefile	Tue Oct 14 07:01:07 2014	(r273070)
@@ -72,6 +72,8 @@ FILES+=		eval3.0
 FILES+=		eval4.0
 FILES+=		eval5.0
 FILES+=		eval6.0
+FILES+=		eval7.0
+FILES+=		eval8.7
 FILES+=		exec1.0
 FILES+=		exec2.0
 FILES+=		exit1.0

Copied: projects/random_number_generator/bin/sh/tests/builtins/eval7.0 (from r273069, head/bin/sh/tests/builtins/eval7.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/random_number_generator/bin/sh/tests/builtins/eval7.0	Tue Oct 14 07:01:07 2014	(r273070, copy of r273069, head/bin/sh/tests/builtins/eval7.0)
@@ -0,0 +1,9 @@
+# $FreeBSD$
+# Assumes that break can break out of a loop outside eval.
+
+while :; do
+	eval "break
+echo bad1"
+	echo bad2
+	exit 3
+done

Copied: projects/random_number_generator/bin/sh/tests/builtins/eval8.7 (from r273069, head/bin/sh/tests/builtins/eval8.7)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/random_number_generator/bin/sh/tests/builtins/eval8.7	Tue Oct 14 07:01:07 2014	(r273070, copy of r273069, head/bin/sh/tests/builtins/eval8.7)
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+f() {
+	eval "return 7
+echo bad2"
+}
+f

Modified: projects/random_number_generator/bin/sh/trap.c
==============================================================================
--- projects/random_number_generator/bin/sh/trap.c	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/bin/sh/trap.c	Tue Oct 14 07:01:07 2014	(r273070)
@@ -510,28 +510,25 @@ exitshell_savedstatus(void)
 			exiting_exitstatus = oexitstatus;
 	}
 	exitstatus = oexitstatus = exiting_exitstatus;
-	if (setjmp(loc1.loc)) {
-		goto l1;
+	if (!setjmp(loc1.loc)) {
+		handler = &loc1;
+		if ((p = trap[0]) != NULL && *p != '\0') {
+			/*
+			 * Reset evalskip, or the trap on EXIT could be
+			 * interrupted if the last command was a "return".
+			 */
+			evalskip = 0;
+			trap[0] = NULL;
+			evalstring(p, 0);
+		}
 	}
-	if (setjmp(loc2.loc)) {
-		goto l2;
-	}
-	handler = &loc1;
-	if ((p = trap[0]) != NULL && *p != '\0') {
-		/*
-		 * Reset evalskip, or the trap on EXIT could be
-		 * interrupted if the last command was a "return".
-		 */
-		evalskip = 0;
-		trap[0] = NULL;
-		evalstring(p, 0);
-	}
-l1:   handler = &loc2;			/* probably unnecessary */
-	flushall();
+	if (!setjmp(loc2.loc)) {
+		handler = &loc2;		/* probably unnecessary */
+		flushall();
 #if JOBS
-	setjobctl(0);
+		setjobctl(0);
 #endif
-l2:
+	}
 	if (sig != 0 && sig != SIGSTOP && sig != SIGTSTP && sig != SIGTTIN &&
 	    sig != SIGTTOU) {
 		signal(sig, SIG_DFL);

Modified: projects/random_number_generator/bin/sleep/Makefile
==============================================================================
--- projects/random_number_generator/bin/sleep/Makefile	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/bin/sleep/Makefile	Tue Oct 14 07:01:07 2014	(r273070)
@@ -1,6 +1,12 @@
 #	@(#)Makefile	8.1 (Berkeley) 5/31/93
 # $FreeBSD$
 
+.include <src.opts.mk>
+
 PROG=	sleep
 
+.if ${MK_TESTS} != "no"
+SUBDIR+=	tests
+.endif
+
 .include <bsd.prog.mk>

Modified: projects/random_number_generator/cddl/contrib/opensolaris/cmd/lockstat/lockstat.1
==============================================================================
--- projects/random_number_generator/cddl/contrib/opensolaris/cmd/lockstat/lockstat.1	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/cddl/contrib/opensolaris/cmd/lockstat/lockstat.1	Tue Oct 14 07:01:07 2014	(r273070)
@@ -21,7 +21,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd October 24, 2013
+.Dd October 8, 2014
 .Dt LOCKSTAT 1
 .Os
 .Sh NAME
@@ -238,10 +238,11 @@ Average duration of the events in nanose
 For the profiling event, duration means interrupt latency.
 .It Lock
 Address of the lock; displayed symbolically if possible.
-.It CPU+PIL
-CPU plus processor interrupt level (PIL).
-For example, if CPU 4 is interrupted while at PIL 6, this will be reported as
-cpu[4]+6.
+.It CPU+Pri_Class
+CPU plus the priority class of the interrupted thread.
+For example, if CPU 4 is interrupted while running a timeshare thread, this
+will be reported as
+.Ql cpu[4]+TShar .
 .It Caller
 Address of the caller; displayed symbolically if possible.
 .El

Modified: projects/random_number_generator/cddl/contrib/opensolaris/cmd/zdb/zdb.c
==============================================================================
--- projects/random_number_generator/cddl/contrib/opensolaris/cmd/zdb/zdb.c	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/cddl/contrib/opensolaris/cmd/zdb/zdb.c	Tue Oct 14 07:01:07 2014	(r273070)
@@ -76,8 +76,10 @@
 
 #ifndef lint
 extern boolean_t zfs_recover;
+extern uint64_t zfs_arc_max, zfs_arc_meta_limit;
 #else
 boolean_t zfs_recover;
+uint64_t zfs_arc_max, zfs_arc_meta_limit;
 #endif
 
 const char cmdname[] = "zdb";
@@ -89,7 +91,7 @@ extern void dump_intent_log(zilog_t *);
 uint64_t *zopt_object = NULL;
 int zopt_objects = 0;
 libzfs_handle_t *g_zfs;
-uint64_t max_inflight = 200;
+uint64_t max_inflight = 1000;
 
 /*
  * These libumem hooks provide a reasonable set of defaults for the allocator's
@@ -1461,6 +1463,11 @@ dump_deadlist(dsl_deadlist_t *dl)
 	if (dump_opt['d'] < 3)
 		return;
 
+	if (dl->dl_oldfmt) {
+		dump_bpobj(&dl->dl_bpobj, "old-format deadlist", 0);
+		return;
+	}
+
 	zdb_nicenum(dl->dl_phys->dl_used, bytes);
 	zdb_nicenum(dl->dl_phys->dl_comp, comp);
 	zdb_nicenum(dl->dl_phys->dl_uncomp, uncomp);
@@ -2377,7 +2384,7 @@ zdb_blkptr_cb(spa_t *spa, zilog_t *zilog
 
 	zcb->zcb_readfails = 0;
 
-	if (dump_opt['b'] < 5 && isatty(STDERR_FILENO) &&
+	if (dump_opt['b'] < 5 &&
 	    gethrtime() > zcb->zcb_lastprint + NANOSEC) {
 		uint64_t now = gethrtime();
 		char buf[10];
@@ -2462,9 +2469,9 @@ zdb_leak_init(spa_t *spa, zdb_cb_t *zcb)
 
 	if (!dump_opt['L']) {
 		vdev_t *rvd = spa->spa_root_vdev;
-		for (int c = 0; c < rvd->vdev_children; c++) {
+		for (uint64_t c = 0; c < rvd->vdev_children; c++) {
 			vdev_t *vd = rvd->vdev_child[c];
-			for (int m = 0; m < vd->vdev_ms_count; m++) {
+			for (uint64_t m = 0; m < vd->vdev_ms_count; m++) {
 				metaslab_t *msp = vd->vdev_ms[m];
 				mutex_enter(&msp->ms_lock);
 				metaslab_unload(msp);
@@ -2477,6 +2484,15 @@ zdb_leak_init(spa_t *spa, zdb_cb_t *zcb)
 				 * interfaces.
 				 */
 				if (msp->ms_sm != NULL) {
+					(void) fprintf(stderr,
+					    "\rloading space map for "
+					    "vdev %llu of %llu, "
+					    "metaslab %llu of %llu ...",
+					    (longlong_t)c,
+					    (longlong_t)rvd->vdev_children,
+					    (longlong_t)m,
+					    (longlong_t)vd->vdev_ms_count);
+
 					msp->ms_ops = &zdb_metaslab_ops;
 					VERIFY0(space_map_load(msp->ms_sm,
 					    msp->ms_tree, SM_ALLOC));
@@ -2485,6 +2501,7 @@ zdb_leak_init(spa_t *spa, zdb_cb_t *zcb)
 				mutex_exit(&msp->ms_lock);
 			}
 		}
+		(void) fprintf(stderr, "\n");
 	}
 
 	spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
@@ -2594,10 +2611,12 @@ dump_block_stats(spa_t *spa)
 	 * all async I/Os to complete.
 	 */
 	if (dump_opt['c']) {
-		(void) zio_wait(spa->spa_async_zio_root);
-		spa->spa_async_zio_root = zio_root(spa, NULL, NULL,
-		    ZIO_FLAG_CANFAIL | ZIO_FLAG_SPECULATIVE |
-		    ZIO_FLAG_GODFATHER);
+		for (int i = 0; i < max_ncpus; i++) {
+			(void) zio_wait(spa->spa_async_zio_root[i]);
+			spa->spa_async_zio_root[i] = zio_root(spa, NULL, NULL,
+			    ZIO_FLAG_CANFAIL | ZIO_FLAG_SPECULATIVE |
+			    ZIO_FLAG_GODFATHER);
+		}
 	}
 
 	if (zcb.zcb_haderrors) {
@@ -3483,6 +3502,12 @@ main(int argc, char **argv)
 		usage();
 	}
 
+	/*
+	 * ZDB does not typically re-read blocks; therefore limit the ARC
+	 * to 256 MB, which can be used entirely for metadata.
+	 */
+	zfs_arc_max = zfs_arc_meta_limit = 256 * 1024 * 1024;
+
 	kernel_init(FREAD);
 	g_zfs = libzfs_init();
 	ASSERT(g_zfs != NULL);

Modified: projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_grammar.y
==============================================================================
--- projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_grammar.y	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_grammar.y	Tue Oct 14 07:01:07 2014	(r273070)
@@ -207,6 +207,8 @@
 %type	<l_tok>		unary_operator
 %type	<l_tok>		struct_or_union
 
+%type	<l_str>		dtrace_keyword_ident
+
 %%
 
 dtrace_program: d_expression DT_TOK_EOF { return (dt_node_root($1)); }
@@ -391,12 +393,18 @@ postfix_expression:
 	|	postfix_expression DT_TOK_DOT DT_TOK_TNAME {
 			$$ = OP2(DT_TOK_DOT, $1, dt_node_ident($3));
 		}
+	|	postfix_expression DT_TOK_DOT dtrace_keyword_ident {
+			$$ = OP2(DT_TOK_DOT, $1, dt_node_ident($3));
+		}
 	|	postfix_expression DT_TOK_PTR DT_TOK_IDENT {
 			$$ = OP2(DT_TOK_PTR, $1, dt_node_ident($3));
 		}
 	|	postfix_expression DT_TOK_PTR DT_TOK_TNAME {
 			$$ = OP2(DT_TOK_PTR, $1, dt_node_ident($3));
 		}
+	|	postfix_expression DT_TOK_PTR dtrace_keyword_ident {
+			$$ = OP2(DT_TOK_PTR, $1, dt_node_ident($3));
+		}
 	|	postfix_expression DT_TOK_ADDADD {
 			$$ = OP1(DT_TOK_POSTINC, $1);
 		}
@@ -411,6 +419,10 @@ postfix_expression:
 		    DT_TOK_TNAME DT_TOK_RPAR {
 			$$ = dt_node_offsetof($3, $5);
 		}
+	|	DT_TOK_OFFSETOF DT_TOK_LPAR type_name DT_TOK_COMMA
+		    dtrace_keyword_ident DT_TOK_RPAR {
+			$$ = dt_node_offsetof($3, $5);
+		}
 	|	DT_TOK_XLATE DT_TOK_LT type_name DT_TOK_GT
 		    DT_TOK_LPAR expression DT_TOK_RPAR {
 			$$ = OP2(DT_TOK_XLATE, dt_node_type($3), $6);
@@ -835,4 +847,15 @@ function_parameters:
 	|	parameter_type_list	{ $$ = $1; }
 	;
 
+dtrace_keyword_ident:
+	  DT_KEY_PROBE { $$ = DUP("probe"); }
+	| DT_KEY_PROVIDER { $$ = DUP("provider"); }
+	| DT_KEY_SELF { $$ = DUP("self"); }
+	| DT_KEY_STRING { $$ = DUP("string"); }
+	| DT_TOK_STRINGOF { $$ = DUP("stringof"); }
+	| DT_KEY_USERLAND { $$ = DUP("userland"); }
+	| DT_TOK_XLATE { $$ = DUP("xlate"); }
+	| DT_KEY_XLATOR { $$ = DUP("translator"); }
+	;
+
 %%

Modified: projects/random_number_generator/contrib/binutils/bfd/config.bfd
==============================================================================
--- projects/random_number_generator/contrib/binutils/bfd/config.bfd	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/contrib/binutils/bfd/config.bfd	Tue Oct 14 07:01:07 2014	(r273070)
@@ -273,19 +273,11 @@ case "${targ}" in
     targ_defvec=bfd_elf32_littlearm_vec
     targ_selvecs=bfd_elf32_bigarm_vec
     ;;
-  armeb-*-freebsd*)
+  arm*eb*-*-freebsd*)
     targ_defvec=bfd_elf32_bigarm_vec
     targ_selvecs=bfd_elf32_littlearm_vec
     ;;
-  armv6eb-*-freebsd*)
-    targ_defvec=bfd_elf32_bigarm_vec
-    targ_selvecs=bfd_elf32_littlearm_vec
-    ;;
-  armv6-*-freebsd* | armv6hf-*-freebsd*)
-    targ_defvec=bfd_elf32_littlearm_vec
-    targ_selvecs=bfd_elf32_bigarm_vec
-    ;;
-  arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
+  arm-*-elf | arm*-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
   arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
   arm*-*-eabi* )
     targ_defvec=bfd_elf32_littlearm_vec

Modified: projects/random_number_generator/contrib/binutils/bfd/elf32-ppc.c
==============================================================================
--- projects/random_number_generator/contrib/binutils/bfd/elf32-ppc.c	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/contrib/binutils/bfd/elf32-ppc.c	Tue Oct 14 07:01:07 2014	(r273070)
@@ -7572,7 +7572,7 @@ ppc_elf_finish_dynamic_sections (bfd *ou
 #define TARGET_LITTLE_SYM	bfd_elf32_powerpcle_vec
 #define TARGET_LITTLE_NAME	"elf32-powerpcle"
 #define TARGET_BIG_SYM		bfd_elf32_powerpc_vec
-#define TARGET_BIG_NAME		"elf32-powerpc"
+#define TARGET_BIG_NAME		"elf32-powerpc-freebsd"
 #define ELF_ARCH		bfd_arch_powerpc
 #define ELF_MACHINE_CODE	EM_PPC
 #ifdef __QNXTARGET__

Modified: projects/random_number_generator/contrib/binutils/bfd/elf64-ppc.c
==============================================================================
--- projects/random_number_generator/contrib/binutils/bfd/elf64-ppc.c	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/contrib/binutils/bfd/elf64-ppc.c	Tue Oct 14 07:01:07 2014	(r273070)
@@ -58,7 +58,7 @@ static bfd_vma opd_entry_value
 #define TARGET_LITTLE_SYM	bfd_elf64_powerpcle_vec
 #define TARGET_LITTLE_NAME	"elf64-powerpcle"
 #define TARGET_BIG_SYM		bfd_elf64_powerpc_vec
-#define TARGET_BIG_NAME		"elf64-powerpc"
+#define TARGET_BIG_NAME		"elf64-powerpc-freebsd"
 #define ELF_ARCH		bfd_arch_powerpc
 #define ELF_MACHINE_CODE	EM_PPC64
 #define ELF_MAXPAGESIZE		0x10000

Modified: projects/random_number_generator/contrib/binutils/gas/config/tc-ppc.c
==============================================================================
--- projects/random_number_generator/contrib/binutils/gas/config/tc-ppc.c	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/contrib/binutils/gas/config/tc-ppc.c	Tue Oct 14 07:01:07 2014	(r273070)
@@ -1210,7 +1210,7 @@ ppc_target_format (void)
   return "elf32-powerpc-vxworks";
 # else
   return (target_big_endian
-	  ? (ppc_obj64 ? "elf64-powerpc" : "elf32-powerpc")
+	  ? (ppc_obj64 ? "elf64-powerpc-freebsd" : "elf32-powerpc-freebsd")
 	  : (ppc_obj64 ? "elf64-powerpcle" : "elf32-powerpcle"));
 # endif
 #endif

Modified: projects/random_number_generator/contrib/binutils/ld/emulparams/elf32ppc_fbsd.sh
==============================================================================
--- projects/random_number_generator/contrib/binutils/ld/emulparams/elf32ppc_fbsd.sh	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/contrib/binutils/ld/emulparams/elf32ppc_fbsd.sh	Tue Oct 14 07:01:07 2014	(r273070)
@@ -1,2 +1,4 @@
 . ${srcdir}/emulparams/elf32ppc.sh
 . ${srcdir}/emulparams/elf_fbsd.sh
+
+OUTPUT_FORMAT="elf32-powerpc-freebsd"

Modified: projects/random_number_generator/contrib/binutils/ld/emulparams/elf64ppc_fbsd.sh
==============================================================================
--- projects/random_number_generator/contrib/binutils/ld/emulparams/elf64ppc_fbsd.sh	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/contrib/binutils/ld/emulparams/elf64ppc_fbsd.sh	Tue Oct 14 07:01:07 2014	(r273070)
@@ -1,3 +1,4 @@
 . ${srcdir}/emulparams/elf64ppc.sh
 . ${srcdir}/emulparams/elf_fbsd.sh
 
+OUTPUT_FORMAT="elf64-powerpc-freebsd"

Modified: projects/random_number_generator/contrib/bsnmp/snmp_target/target_snmp.c
==============================================================================
--- projects/random_number_generator/contrib/bsnmp/snmp_target/target_snmp.c	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/contrib/bsnmp/snmp_target/target_snmp.c	Tue Oct 14 07:01:07 2014	(r273070)
@@ -301,6 +301,7 @@ op_snmp_target_addrs(struct snmp_context
 		default:
 			break;	
 		}
+		return (SNMP_ERR_NOERROR);
 
 	default:
 		abort();
@@ -625,6 +626,7 @@ op_snmp_notify(struct snmp_context *ctx 
 		default:
 			break;
 		}
+		return (SNMP_ERR_NOERROR);
 
 	default:
 		abort();
@@ -663,13 +665,14 @@ target_append_index(struct asn_oid *oid,
 static int
 target_decode_index(const struct asn_oid *oid, uint sub, char *name)
 {
-	uint32_t i, len;
+	uint32_t i;
 
-	if ((len = oid->len - sub) >= SNMP_ADM_STR32_SIZ)
+	if (oid->len - sub != oid->subs[sub] + 1 || oid->subs[sub] >=
+	    SNMP_ADM_STR32_SIZ)
 		return (-1);
 
-	for (i = 0; i < len; i++)
-		name[i] = oid->subs[sub + i];
+	for (i = 0; i < oid->subs[sub]; i++)
+		name[i] = oid->subs[sub + i + 1];
 	name[i] = '\0';
 
 	return (0);

Modified: projects/random_number_generator/contrib/byacc/CHANGES
==============================================================================
--- projects/random_number_generator/contrib/byacc/CHANGES	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/contrib/byacc/CHANGES	Tue Oct 14 07:01:07 2014	(r273070)
@@ -1,3 +1,145 @@
+2014-10-06  Thomas E. Dickey  <tom@invisible-island.net>
+
+	* package/debian/source/format:
+	change to native format to work around regression in Debian packaging.
+
+	* VERSION, package/byacc.spec, package/debian/changelog, package/mingw-byacc.spec, package/pkgsrc/Makefile:
+	bump
+
+	* configure: regen
+
+	* main.c:
+	correct parameter for umask - for very old mkstemp's - and use type mode_t
+	to quiet compiler warning
+
+	* configure.in: add configure check for mode_t
+
+	* reader.c:
+	better fix for get_line, by ensuring there is enough space to null-terminate
+	its result (prompted by discussion with Craig Rodrigues).
+
+2014-10-05  Thomas E. Dickey  <tom@invisible-island.net>
+
+	* main.c:
+	make change to umask before calling mkstemp, as suggested in Coverity #56902
+
+	* reader.c:
+	adjust logic in copy_action to avoid potential null-pointer dereference
+	(Coverity #56901)
+
+	* reader.c:
+	adjust logic to avoid potential null-pointer dereference in compile_args
+	(Coverity #63407)
+
+	* reader.c: eliminate strcpy into fixed-size buffer (Coverity #63408)
+
+	* yacc.1: document changes made with respect to %parse-param
+
+	* output.c:
+	add parameters from %parse-param to destructor.  The order of the parameters
+	is intentionally inconsistent with yyparse/yyerror, for "compatibility" with
+	bison.
+
+	* test/btyacc/btyacc_destroy1.tab.c, test/btyacc/btyacc_destroy2.tab.c, test/btyacc/btyacc_destroy3.tab.c:
+	regen
+
+	* output.c:
+	use puts_param_types/puts_param_names to output lex_param data.
+
+	* test/btyacc/ok_syntax1.tab.c, test/btyacc/calc2.tab.c, test/btyacc/calc3.tab.c, test/yacc/ok_syntax1.tab.c, test/yacc/calc2.tab.c, test/yacc/calc3.tab.c, test/btyacc/error.tab.c, test/btyacc/grammar.tab.c, test/btyacc/inherit0.tab.c, test/btyacc/inherit1.tab.c, test/btyacc/inherit2.tab.c, test/btyacc/pure_calc.tab.c, test/btyacc/pure_error.tab.c, test/btyacc/quote_calc-s.tab.c, test/btyacc/quote_calc.tab.c, test/btyacc/quote_calc2-s.tab.c, test/btyacc/quote_calc2.tab.c, test/btyacc/quote_calc3-s.tab.c, test/btyacc/quote_calc3.tab.c, test/btyacc/quote_calc4-s.tab.c, test/btyacc/quote_calc4.tab.c, test/btyacc/varsyntax_calc1.tab.c, test/btyacc/btyacc_calc1.tab.c, test/btyacc/btyacc_demo.tab.c, test/btyacc/calc.tab.c, test/btyacc/calc1.tab.c, test/btyacc/code_calc.code.c, test/btyacc/code_error.code.c, test/btyacc/empty.tab.c, test/btyacc/err_inherit3.tab.c, test/btyacc/err_inherit4.tab.c, test/btyacc/err_syntax10.tab.c, test/btyacc/err_syntax11.tab.c, test/btyacc/err_syntax12.tab.c
 , test/btyacc/err_syntax18.tab.c, test/btyacc/err_syntax20.tab.c, test/btyacc/rename_debug.c:
+	regen
+
+	* btyaccpar.c: add casts, change types to fix strict compiler warnings
+
+	* test/btyacc/err_syntax17.tab.c, test/btyacc/err_syntax19.tab.c, test/btyacc/err_syntax2.tab.c, test/btyacc/err_syntax21.tab.c, test/btyacc/err_syntax22.tab.c, test/btyacc/err_syntax23.tab.c, test/btyacc/err_syntax24.tab.c, test/btyacc/err_syntax25.tab.c, test/btyacc/err_syntax26.tab.c, test/btyacc/err_syntax27.tab.c, test/btyacc/err_syntax3.tab.c, test/btyacc/err_syntax4.tab.c, test/btyacc/err_syntax5.tab.c, test/btyacc/err_syntax6.tab.c, test/btyacc/err_syntax7.tab.c, test/btyacc/err_syntax7a.tab.c, test/btyacc/err_syntax7b.tab.c, test/btyacc/err_syntax8.tab.c, test/btyacc/err_syntax8a.tab.c, test/btyacc/err_syntax9.tab.c, test/btyacc/err_inherit1.tab.c, test/btyacc/err_inherit2.tab.c, test/btyacc/err_inherit5.tab.c, test/btyacc/err_syntax1.tab.c, test/btyacc/err_syntax13.tab.c, test/btyacc/err_syntax14.tab.c, test/btyacc/err_syntax15.tab.c, test/btyacc/err_syntax16.tab.c:
+	regen
+
+	* output.c: gcc-warning
+
+	* test/btyacc/code_calc.tab.c, test/btyacc/code_error.tab.c: regen
+
+	* output.c: fix limit when merging real/workaround tables
+
+	* output.c:
+	for btyacc, it is possible to have no conflicts - but in that case, the
+	"ctable" was not generated at all, while the skeleton uses the table.
+	The most straightforward (workaround) is generating a dummy table which
+	rejects any state.
+
+	* test/btyacc_destroy3.y, test/btyacc_destroy2.y, test/btyacc_destroy1.y:
+	fix "make check_make"
+
+	* test/yacc/calc3.tab.c, test/yacc/ok_syntax1.tab.c, test/yacc/calc2.tab.c, test/btyacc/btyacc_destroy1.tab.c, test/btyacc/btyacc_destroy2.tab.c:
+	regen
+
+	* reader.c:
+	trim blanks from interim value in copy_param() to handle special case when
+	a space precedes a comma.
+
+	* output.c:
+	use two new functions, puts_param_types and puts_param_names, to improve
+	format of the parse_param list (by trimming space after "*") as well as
+	correcting the output of the comma-separated names (only the last name
+	was output).
+
+	* test/btyacc/ok_syntax1.tab.c, test/btyacc/btyacc_destroy3.tab.c, test/btyacc/calc2.tab.c, test/btyacc/calc3.tab.c:
+	regen
+
+	* reader.c:
+	modify copy_param() to handle resulting comma-separated list.  Before, it
+	only expected a single parameter.
+
+2014-10-04  Thomas E. Dickey  <tom@invisible-island.net>
+
+	* reader.c: split-out save_param() from copy_param()
+
+	* reader.c: trim_blanks() did not always convert spaces - fix.
+
+	* reader.c: fix some minor regressions with error-reporting
+
+	* aclocal.m4: update CF_XOPEN_SOURCE for Unixware change from lynx
+
+	* VERSION, package/byacc.spec, package/debian/changelog, package/mingw-byacc.spec, package/pkgsrc/Makefile:
+	bump
+
+	* reader.c:
+	modify copy_param() to accept multiple parameters, each in curly braces like
+	recent bison, as well as honoring bison's undocumented feature to accept the
+	parameters as a comma-separated list.
+
+	* test/btyacc/btyacc_destroy3.tab.c, test/btyacc/btyacc_destroy1.tab.c, test/btyacc/btyacc_destroy2.tab.c, test/btyacc/btyacc_destroy3.error, test/btyacc/btyacc_destroy3.output, test/btyacc/btyacc_destroy3.tab.h, test/btyacc/btyacc_destroy2.error, test/btyacc/btyacc_destroy2.output, test/btyacc/btyacc_destroy2.tab.h:
+	RCS_BASE
+
+2014-10-03  Thomas E. Dickey  <tom@invisible-island.net>
+
+	* test/btyacc/btyacc_demo2.error, test/btyacc/btyacc_demo2.output, test/btyacc/btyacc_demo2.tab.c, test/btyacc/btyacc_demo2.tab.h, test/btyacc/btyacc_destroy1.error, test/btyacc/btyacc_destroy1.output, test/btyacc/btyacc_destroy1.tab.h, test/btyacc_destroy3.y, test/btyacc_destroy1.y, test/btyacc_destroy2.y:
+	RCS_BASE
+
+2014-10-02  Thomas E. Dickey  <tom@invisible-island.net>
+
+	* main.c, reader.c, defs.h:
+	use calloc in get_line() when allocating line to ensure it is fully initialized,
+	fixes a later uninitialized value in copy_param() (FreeBSD #193499).
+
+2014-09-17  Thomas E. Dickey  <tom@invisible-island.net>
+
+	* closure.c, lalr.c, output.c, defs.h:
+	rephrase odd addressing to fix Coverity #48848, #38950, #38860, not actually
+	a bug.
+
+2014-09-01  Thomas E. Dickey  <tom@invisible-island.net>
+
+	* config.sub: update to 2014-07-28
+
+2014-07-27  Thomas E. Dickey  <tom@invisible-island.net>
+
+	* configure: regen
+
+	* aclocal.m4: modified to support port to Minix3.2
+
+	* package/pkgsrc/Makefile, VERSION, package/byacc.spec, package/debian/changelog, package/mingw-byacc.spec:
+	bump
+
 2014-07-15  Thomas E. Dickey  <tom@invisible-island.net>
 
 	* aclocal.m4: resync with my-autoconf (no change to configure script)

Modified: projects/random_number_generator/contrib/byacc/MANIFEST
==============================================================================
--- projects/random_number_generator/contrib/byacc/MANIFEST	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/contrib/byacc/MANIFEST	Tue Oct 14 07:01:07 2014	(r273070)
@@ -1,4 +1,4 @@
-MANIFEST for byacc-20140715, version t20140715
+MANIFEST for byacc-20141006, version t20141006
 --------------------------------------------------------------------------------
 MANIFEST                        this file
 ACKNOWLEDGEMENTS                original version of byacc - 1993

Modified: projects/random_number_generator/contrib/byacc/VERSION
==============================================================================
--- projects/random_number_generator/contrib/byacc/VERSION	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/contrib/byacc/VERSION	Tue Oct 14 07:01:07 2014	(r273070)
@@ -1 +1 @@
-20140715
+20141006

Modified: projects/random_number_generator/contrib/byacc/aclocal.m4
==============================================================================
--- projects/random_number_generator/contrib/byacc/aclocal.m4	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/contrib/byacc/aclocal.m4	Tue Oct 14 07:01:07 2014	(r273070)
@@ -1,4 +1,4 @@
-dnl $Id: aclocal.m4,v 1.35 2014/07/15 19:38:05 tom Exp $
+dnl $Id: aclocal.m4,v 1.37 2014/10/04 16:40:06 tom Exp $
 dnl Macros for byacc configure script (Thomas E. Dickey)
 dnl ---------------------------------------------------------------------------
 dnl Copyright 2004-2013,2014 Thomas E. Dickey
@@ -54,7 +54,7 @@ define([CF_ACVERSION_COMPARE],
 [ifelse([$8], , ,[$8])],
 [ifelse([$9], , ,[$9])])])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ADD_CFLAGS version: 10 updated: 2010/05/26 05:38:42
+dnl CF_ADD_CFLAGS version: 11 updated: 2014/07/22 05:32:57
 dnl -------------
 dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
 dnl The second parameter if given makes this macro verbose.
@@ -79,7 +79,7 @@ no)
 		-D*)
 			cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'`
 
-			test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+			test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
 				&& test -z "${cf_tst_cflags}" \
 				&& cf_fix_cppflags=yes
 
@@ -116,7 +116,7 @@ yes)
 
 	cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'`
 
-	test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+	test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
 		&& test -z "${cf_tst_cflags}" \
 		&& cf_fix_cppflags=no
 	;;
@@ -1085,7 +1085,7 @@ fi
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_XOPEN_SOURCE version: 46 updated: 2014/02/09 19:30:15
+dnl CF_XOPEN_SOURCE version: 48 updated: 2014/09/01 12:29:14
 dnl ---------------
 dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
 dnl or adapt to the vendor's definitions to get equivalent functionality,
@@ -1136,6 +1136,9 @@ irix[[56]].*) #(vi
 linux*|gnu*|mint*|k*bsd*-gnu) #(vi
 	CF_GNU_SOURCE
 	;;
+minix*) #(vi
+	cf_xopen_source="-D_NETBSD_SOURCE" # POSIX.1-2001 features are ifdef'd with this...
+	;;
 mirbsd*) #(vi
 	# setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
 	cf_XOPEN_SOURCE=
@@ -1165,6 +1168,10 @@ solaris2.*) #(vi
 	cf_xopen_source="-D__EXTENSIONS__"
 	cf_cv_xopen_source=broken
 	;;
+sysv4.2uw2.*) # Novell/SCO UnixWare 2.x (tested on 2.1.2)
+	cf_XOPEN_SOURCE=
+	cf_POSIX_C_SOURCE=
+	;;
 *)
 	CF_TRY_XOPEN_SOURCE
 	CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
@@ -1172,7 +1179,7 @@ solaris2.*) #(vi
 esac
 
 if test -n "$cf_xopen_source" ; then
-	CF_ADD_CFLAGS($cf_xopen_source)
+	CF_ADD_CFLAGS($cf_xopen_source,true)
 fi
 
 dnl In anything but the default case, we may have system-specific setting

Modified: projects/random_number_generator/contrib/byacc/btyaccpar.c
==============================================================================
--- projects/random_number_generator/contrib/byacc/btyaccpar.c	Tue Oct 14 03:39:31 2014	(r273069)
+++ projects/random_number_generator/contrib/byacc/btyaccpar.c	Tue Oct 14 07:01:07 2014	(r273070)
@@ -18,7 +18,7 @@ const char *const banner[] =
 {
     "/* original parser id follows */",
     "/* yysccsid[] = \"@(#)yaccpar	1.9 (Berkeley) 02/21/93\" */",
-    "/* (use YYMAJOR/YYMINOR for ifdefs dependent on parser version) */",
+    "/* (use YYMAJOR/YYMINOR for ifdefs dependent of parser version) */",
     "",
     "#define YYBYACC 1",
     CONCAT1("#define YYMAJOR ", YYMAJOR),
@@ -56,7 +56,7 @@ const char *const tables[] =
     "#if YYBTYACC",
     "extern const YYINT yycindex[];",
     "#endif /* YYBTYACC */",
-#endif /* defined(YYBTYACC) */
+#endif			/* defined(YYBTYACC) */
     "extern const YYINT yygindex[];",
     "extern const YYINT yytable[];",
     "extern const YYINT yycheck[];",
@@ -64,7 +64,7 @@ const char *const tables[] =
     "#if YYBTYACC",
     "extern const YYINT yyctable[];",
     "#endif /* YYBTYACC */",
-#endif /* defined(YYBTYACC) */
+#endif			/* defined(YYBTYACC) */
     "",
     "#if YYDEBUG",
     "extern const char *const yyname[];",
@@ -127,7 +127,7 @@ const char *const hdr_defs[] =
     "#define YYLVQUEUEGROWTH 32",
     "#endif",
     "#endif /* YYBTYACC */",
-#endif /* defined(YYBTYACC) */
+#endif			/* defined(YYBTYACC) */
     "",
     "/* define the initial stack-sizes */",
     "#ifdef YYSTACKSIZE",
@@ -172,7 +172,7 @@ const char *const hdr_defs[] =
     "};",
     "typedef struct YYParseState_s YYParseState;",
     "#endif /* YYBTYACC */",
-#endif /* defined(YYBTYACC) */
+#endif			/* defined(YYBTYACC) */
     0
 };
 
@@ -220,7 +220,7 @@ const char *const hdr_vars[] =
     "",
     "static short  *yylexemes = 0;",
     "#endif /* YYBTYACC */",
-#endif /* defined(YYBTYACC) */
+#endif			/* defined(YYBTYACC) */
     0
 };
 
@@ -277,7 +277,7 @@ const char *const body_vars[] =
     "",
     "    static short  *yylexemes = 0;",
     "#endif /* YYBTYACC */",
-#endif /* defined(YYBTYACC) */
+#endif			/* defined(YYBTYACC) */
     0
 };
 
@@ -290,14 +290,14 @@ const char *const body_1[] =
     "#if YYBTYACC",
     "#define yytrial (yyps->save)",
     "#endif /* YYBTYACC */",
-#endif /* defined(YYBTYACC) */
+#endif			/* defined(YYBTYACC) */
     "",
     "#if YYDEBUG",
-    "#include <stdio.h>		/* needed for printf */",
+    "#include <stdio.h>         /* needed for printf */",
     "#endif",
     "",
-    "#include <stdlib.h>	/* needed for malloc, etc */",
-    "#include <string.h>	/* needed for memset */",
+    "#include <stdlib.h>        /* needed for malloc, etc */",
+    "#include <string.h>        /* needed for memset */",
     "",
     "/* allocate initial stack or double stack size, up to YYMAXDEPTH */",
     "static int yygrowstack(YYSTACKDATA *data)",
@@ -404,7 +404,7 @@ const char *const body_1[] =
     "    free(p);",
     "}",
     "#endif /* YYBTYACC */",
-#endif /* defined(YYBTYACC) */
+#endif			/* defined(YYBTYACC) */
     "",
     "#define YYABORT  goto yyabort",
     "#define YYREJECT goto yyabort",
@@ -416,7 +416,7 @@ const char *const body_1[] =
     "#define YYVALID_NESTED do { if (yyps->save && \\",

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

From owner-svn-src-projects@FreeBSD.ORG  Tue Oct 14 11:20:09 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 8A796CF7;
 Tue, 14 Oct 2014 11:20:09 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 7722FC85;
 Tue, 14 Oct 2014 11:20:09 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9EBK9ZA070914;
 Tue, 14 Oct 2014 11:20:09 GMT (envelope-from gjb@FreeBSD.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9EBK9mc070912;
 Tue, 14 Oct 2014 11:20:09 GMT (envelope-from gjb@FreeBSD.org)
Message-Id: <201410141120.s9EBK9mc070912@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org
 using -f
From: Glen Barber <gjb@FreeBSD.org>
Date: Tue, 14 Oct 2014 11:20:09 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273074 - in projects/release-vmimage/release: amd64 i386
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Oct 2014 11:20:09 -0000

Author: gjb
Date: Tue Oct 14 11:20:08 2014
New Revision: 273074
URL: https://svnweb.freebsd.org/changeset/base/273074

Log:
  Revert r272793, r272794, r272795:
  
    Remove implementation of vm_prebuild_setup(),
    vm_setup(), and vm_postbuild_setup().
  
    It does not scale well, and I am not happy with
    their implementation.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/release-vmimage/release/amd64/mk-vmimage.sh
  projects/release-vmimage/release/i386/mk-vmimage.sh

Modified: projects/release-vmimage/release/amd64/mk-vmimage.sh
==============================================================================
--- projects/release-vmimage/release/amd64/mk-vmimage.sh	Tue Oct 14 10:14:14 2014	(r273073)
+++ projects/release-vmimage/release/amd64/mk-vmimage.sh	Tue Oct 14 11:20:08 2014	(r273074)
@@ -35,18 +35,6 @@
 PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
 export PATH
 
-vm_prebuild_setup() {
-	return 0
-}
-
-vm_setup() {
-	return 0
-}
-
-vm_postbuild_setup() {
-	return 0
-}
-
 usage_vm_base() {
 	echo -n "$(basename ${0}) vm-base <base image> <source tree>"
 	echo	" <dest dir> <disk image size>"
@@ -92,9 +80,6 @@ panic() {
 }
 
 vm_create_baseimage() {
-	# Run anything that is needed before the virtual machine disk image
-	# is created.
-	vm_prebuild_setup
 	# Creates the UFS root filesystem for the virtual machine disk,
 	# written to the formatted disk image with mkimg(1).
 	#
@@ -128,9 +113,6 @@ vm_create_baseimage() {
 		>> ${DESTDIR}/etc/fstab
 	echo '/dev/gpt/swapfs	none	swap	sw	0	0' \
 		>> ${DESTDIR}/etc/fstab
-	# Run anything that is needed while the virtual machine disk image
-	# userland filesystem is still mounted as a md(4) device.
-	vm_setup
 	sync
 	while ! umount ${DESTDIR}; do
 		i=$(( $i + 1 ))
@@ -190,35 +172,13 @@ vm_create_vmdisk() {
 		-p freebsd-ufs/rootfs:=${VMBASE} \
 		-o ${VMIMAGE}
 
-	# Run anything that is needed for the virtual machine disk image
-	# after it has been created.
-	vm_postbuild_setup
 	return 0
 }
 
 main() {
-	vm_config=
-	while getopts "c:" arg; do
-		case ${arg} in
-			c)
-				vm_config="${OPTARG}"
-				;;
-			*)
-				;;
-		esac
-	done
-	shift $(( ${OPTIND} - 1 ))
-
 	cmd="${1}"
 	shift 1
 
-	if [ ! -z "${vm_config}" ]; then
-		if [ ! -e "${vm_config}" ]; then
-			panic "Configuration file ${vm_config} not found."
-		fi
-		. ${vm_config}
-	fi
-
 	case ${cmd} in
 		vm-base)
 			eval vm_create_baseimage "$@" || return 0

Modified: projects/release-vmimage/release/i386/mk-vmimage.sh
==============================================================================
--- projects/release-vmimage/release/i386/mk-vmimage.sh	Tue Oct 14 10:14:14 2014	(r273073)
+++ projects/release-vmimage/release/i386/mk-vmimage.sh	Tue Oct 14 11:20:08 2014	(r273074)
@@ -35,18 +35,6 @@
 PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
 export PATH
 
-vm_prebuild_setup() {
-	return 0
-}
-
-vm_setup() {
-	return 0
-}
-
-vm_postbuild_setup() {
-	return 0
-}
-
 usage_vm_base() {
 	echo -n "$(basename ${0}) vm-base <base image> <source tree>"
 	echo	" <dest dir> <disk image size>"
@@ -92,9 +80,6 @@ panic() {
 }
 
 vm_create_baseimage() {
-	# Run anything that is needed before the virtual machine disk image
-	# is created.
-	vm_prebuild_setup
 	# Creates the UFS root filesystem for the virtual machine disk,
 	# written to the formatted disk image with mkimg(1).
 	#
@@ -128,9 +113,6 @@ vm_create_baseimage() {
 		>> ${DESTDIR}/etc/fstab
 	echo '/dev/gpt/swapfs	none	swap	sw	0	0' \
 		>> ${DESTDIR}/etc/fstab
-	# Run anything that is needed while the virtual machine disk image
-	# userland filesystem is still mounted as a md(4) device.
-	vm_setup
 	sync
 	while ! umount ${DESTDIR}; do
 		i=$(( $i + 1 ))
@@ -190,35 +172,13 @@ vm_create_vmdisk() {
 		-p freebsd-ufs/rootfs:=${VMBASE} \
 		-o ${VMIMAGE}
 
-	# Run anything that is needed for the virtual machine disk image
-	# after it has been created.
-	vm_postbuild_setup
 	return 0
 }
 
 main() {
-	vm_config=
-	while getopts "c:" arg; do
-		case ${arg} in
-			c)
-				vm_config="${OPTARG}"
-				;;
-			*)
-				;;
-		esac
-	done
-	shift $(( ${OPTIND} - 1 ))
-
 	cmd="${1}"
 	shift 1
 
-	if [ ! -z "${vm_config}" ]; then
-		if [ ! -e "${vm_config}" ]; then
-			panic "Configuration file ${vm_config} not found."
-		fi
-		. ${vm_config}
-	fi
-
 	case ${cmd} in
 		vm-base)
 			eval vm_create_baseimage "$@" || return 0

From owner-svn-src-projects@FreeBSD.ORG  Tue Oct 14 11:48:30 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 449DFC88;
 Tue, 14 Oct 2014 11:48:30 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2FA9BFB6;
 Tue, 14 Oct 2014 11:48:30 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9EBmUCn085152;
 Tue, 14 Oct 2014 11:48:30 GMT (envelope-from gjb@FreeBSD.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9EBmTxV085148;
 Tue, 14 Oct 2014 11:48:29 GMT (envelope-from gjb@FreeBSD.org)
Message-Id: <201410141148.s9EBmTxV085148@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org
 using -f
From: Glen Barber <gjb@FreeBSD.org>
Date: Tue, 14 Oct 2014 11:48:29 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273076 - in projects/release-vmimage/release: . amd64
 i386 tools
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Oct 2014 11:48:30 -0000

Author: gjb
Date: Tue Oct 14 11:48:28 2014
New Revision: 273076
URL: https://svnweb.freebsd.org/changeset/base/273076

Log:
  Add a separate make(1) target to release/Makefile to
  build FreeBSD virtual machine disk images for use on
  the Microsoft Azure service.
  
  For now, this target is not directly connected to the
  build, however can be manually invoked.
  
  The 'vm-azure' target invokes {amd64,i386}/mk-azure.sh,
  which does the heavy lifting to produce proper VHDs.
  mk-azure.sh uses a configuration file, defaulting to
  tools/azure.conf if otherwise unset.
  
  Sponsored by:	The FreeBSD Foundation

Added:
  projects/release-vmimage/release/amd64/mk-azure.sh   (contents, props changed)
  projects/release-vmimage/release/i386/mk-azure.sh   (contents, props changed)
  projects/release-vmimage/release/tools/azure.conf   (contents, props changed)
Modified:
  projects/release-vmimage/release/Makefile

Modified: projects/release-vmimage/release/Makefile
==============================================================================
--- projects/release-vmimage/release/Makefile	Tue Oct 14 11:28:25 2014	(r273075)
+++ projects/release-vmimage/release/Makefile	Tue Oct 14 11:48:28 2014	(r273076)
@@ -101,6 +101,7 @@ VMTARGETS=	vm-base vm-image
 VMFORMATS?=	vhd vmdk qcow2 raw
 VMSIZE?=	20G
 VMBASE?=	vm
+AZURECONF?=	${.CURDIR}/tools/azure.conf
 
 CLEANFILES=	packagesystem *.txz MANIFEST system ${IMAGES}
 .if defined(WITH_COMPRESSED_IMAGES) && !empty(WITH_COMPRESSED_IMAGES)
@@ -121,6 +122,12 @@ CLEANDIRS=	dist ftp release bootonly dvd
 .if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
 CLEANDIRS+=	${VMTARGETS}
 .endif
+.if exists(${.CURDIR}/${TARGET}/mk-azure.sh)
+CLEANFILES+=	${OSRELEASE}.vhd \
+		${OSRELEASE}.vhd.raw \
+		azure.img
+CLEANDIRS+=	vm-azure
+.endif
 beforeclean:
 	chflags -R noschg .
 .include <bsd.obj.mk>
@@ -338,3 +345,11 @@ vm-image: vm-base
 . endif
 .endif
 	touch ${.TARGET}
+
+vm-azure:
+.if exists(${.CURDIR}/${TARGET}/mk-azure.sh)
+	env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} AZURECONF=${AZURECONF} \
+		${.CURDIR}/${TARGET}/mk-azure.sh ${.TARGET} azure.img \
+		${WORLDDIR} ${.TARGET} ${VMSIZE} ${OSRELEASE}.vhd
+.endif
+	touch ${.TARGET}

Added: projects/release-vmimage/release/amd64/mk-azure.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-vmimage/release/amd64/mk-azure.sh	Tue Oct 14 11:48:28 2014	(r273076)
@@ -0,0 +1,171 @@
+#!/bin/sh
+#-
+# Copyright (c) 2014 The FreeBSD Foundation
+# All rights reserved.
+#
+# This software was developed by Glen Barber under sponsorship
+# from the FreeBSD Foundation.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# mk-azure.sh: Create virtual machine disk images for Microsoft Azure
+#
+# $FreeBSD$
+#
+
+export PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin"
+
+usage() {
+	echo "Usage:"
+	echo -n "$(basename ${0}) vm-azure <base image>"
+	echo " <source tree> <dest dir> <disk image size> <vm image name>"
+	exit 1
+}
+
+panic() {
+	msg="${@}"
+	printf "${msg}\n"
+	if [ ! -z "${mddev}" ]; then
+		mdconfig -d -u ${mddev}
+	fi
+	# Do not allow one failure case to chain through any remaining image
+	# builds.
+	exit 0
+}
+
+vm_create_azure() {
+	# Arguments:
+	# vm-azure <base image> <source tree> <dest dir> <disk image size> <vm image name>
+
+	VMBASE="${1}"
+	WORLDDIR="${2}"
+	DESTDIR="${3}"
+	VMSIZE="${4}"
+	VMIMAGE="${5}"
+
+	if [ -z "${VMBASE}" -o -z "${WORLDDIR}" -o -z "${DESTDIR}" \
+		-o -z "${VMSIZE}" -o -z "${VMIMAGE}" ]; then
+			usage
+	fi
+
+	trap "umount ${DESTDIR}/dev ${DESTDIR}" EXIT
+
+	i=0
+	mkdir -p ${DESTDIR}
+	truncate -s ${VMSIZE} ${VMBASE}
+	mddev=$(mdconfig -f ${VMBASE})
+	newfs -j /dev/${mddev}
+	mkdir -p ${DESTDIR}
+	mount /dev/${mddev} ${DESTDIR}
+	make -C ${WORLDDIR} DESTDIR=$(realpath ${DESTDIR}) \
+		installworld installkernel distribution || \
+		panic 1 "\n\nCannot install the base system to ${DESTDIR}."
+	mount -t devfs devfs ${DESTDIR}/dev
+	chroot ${DESTDIR} /usr/bin/newaliases
+	echo '# Custom /etc/fstab for FreeBSD VM images' \
+		> ${DESTDIR}/etc/fstab
+	echo '/dev/gpt/rootfs	/	ufs	rw	2	2' \
+		>> ${DESTDIR}/etc/fstab
+	# Although a swap partition is created, it is not used in Azure.
+	echo '#/dev/gpt/swapfs	none	swap	sw	0	0' \
+		>> ${DESTDIR}/etc/fstab
+
+	chroot ${DESTDIR} /etc/rc.d/ldconfig forcestart
+	chroot ${DESTDIR} env ASSUME_ALWAYS_YES=yes /usr/sbin/pkg bootstrap -y
+	chroot ${DESTDIR} env ASSUME_ALWAYS_YES=yes /usr/sbin/pkg install -y \
+	        python python2 python27 py27-asn1 sudo bash
+	if [ ! -z "${VM_EXTRA_PACKAGES}" ]; then
+	        chroot ${DESTDIR} env ASSUME_ALWAYS_YES=yes /usr/sbin/pkg install -y \
+	                ${VM_EXTRA_PACKAGES}
+	fi
+
+	fetch -o ${DESTDIR}/usr/sbin/waagent \
+		http://people.freebsd.org/~gjb/waagent
+	chmod +x ${DESTDIR}/usr/sbin/waagent
+	rm -f ${DESTDIR}/etc/resolv.conf
+	chroot ${DESTDIR} /usr/sbin/waagent -verbose -install
+	yes | chroot ${DESTDIR} /usr/sbin/waagent -deprovision
+	echo 'sshd_enable="YES"' > ${DESTDIR}/etc/rc.conf
+	echo 'ifconfig_hn0="SYNCDHCP"' >> ${DESTDIR}/etc/rc.conf
+	echo 'waagent_enable="YES"' >> ${DESTDIR}/etc/rc.conf
+
+	echo 'console="comconsole vidconsole"' >> ${DESTDIR}/boot/loader.conf
+	echo 'comconsole_speed="115200"' >> ${DESTDIR}/boot/loader.conf
+
+	if [ ! -z "${VM_RC_LIST}" ]; then
+		for _rcvar in ${VM_RC_LIST}; do
+			echo ${_rcvar}_enable="YES" >> ${DESTDIR}/etc/rc.conf
+		done
+	fi
+
+	sync
+
+	while ! umount ${DESTDIR}/dev ${DESTDIR}; do
+		i=$(( $i + 1 ))
+		if [ $i -ge 10 ]; then
+			# This should never happen.  But, it has happened.
+			msg="Cannot umount(8) ${DESTDIR}\n"
+			msg="${msg}Something has gone horribly wrong."
+			panic 1 "${msg}"
+		fi
+		sleep 1
+	done
+
+	mkimg -f vhdf -s gpt \
+		-b /boot/pmbr -p freebsd-boot/bootfs:=/boot/gptboot \
+		-p freebsd-swap/swapfs::1G \
+		-p freebsd-ufs/rootfs:=${VMBASE} \
+		-o ${VMIMAGE}.raw
+
+	if [ ! -x "/usr/local/bin/qemu-img" ]; then
+		env ASSUME_ALWAYS_YES=yes pkg install -y emulators/qemu-devel
+	fi
+
+	size=$(qemu-img info -f raw --output json ${VMIMAGE}.raw | awk '/virtual-size/ {print $2}' | tr -d ',')
+	size=$(( ( ${size} / ( 1024 * 1024 ) + 1 ) * ( 1024 * 1024 ) ))
+	qemu-img resize ${VMIMAGE}.raw ${size}
+	qemu-img convert -f raw -o subformat=fixed -O vpc ${VMIMAGE}.raw ${VMIMAGE}
+
+	return 0
+}
+
+main() {
+	cmd="${1}"
+	shift 1
+
+	if [ -e "${AZURECONF}" -a ! -c "${AZURECONF}" ]; then
+		. ${AZURECONF}
+	fi
+
+	case ${cmd} in
+		vm-azure)
+			eval vm_create_azure "$@" || return 0
+			;;
+		*|\?)
+			usage
+			;;
+	esac
+
+	return 0
+}
+
+main "$@"

Added: projects/release-vmimage/release/i386/mk-azure.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-vmimage/release/i386/mk-azure.sh	Tue Oct 14 11:48:28 2014	(r273076)
@@ -0,0 +1,171 @@
+#!/bin/sh
+#-
+# Copyright (c) 2014 The FreeBSD Foundation
+# All rights reserved.
+#
+# This software was developed by Glen Barber under sponsorship
+# from the FreeBSD Foundation.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# mk-azure.sh: Create virtual machine disk images for Microsoft Azure
+#
+# $FreeBSD$
+#
+
+export PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin"
+
+usage() {
+	echo "Usage:"
+	echo -n "$(basename ${0}) vm-azure <base image>"
+	echo " <source tree> <dest dir> <disk image size> <vm image name>"
+	exit 1
+}
+
+panic() {
+	msg="${@}"
+	printf "${msg}\n"
+	if [ ! -z "${mddev}" ]; then
+		mdconfig -d -u ${mddev}
+	fi
+	# Do not allow one failure case to chain through any remaining image
+	# builds.
+	exit 0
+}
+
+vm_create_azure() {
+	# Arguments:
+	# vm-azure <base image> <source tree> <dest dir> <disk image size> <vm image name>
+
+	VMBASE="${1}"
+	WORLDDIR="${2}"
+	DESTDIR="${3}"
+	VMSIZE="${4}"
+	VMIMAGE="${5}"
+
+	if [ -z "${VMBASE}" -o -z "${WORLDDIR}" -o -z "${DESTDIR}" \
+		-o -z "${VMSIZE}" -o -z "${VMIMAGE}" ]; then
+			usage
+	fi
+
+	trap "umount ${DESTDIR}/dev ${DESTDIR}" EXIT
+
+	i=0
+	mkdir -p ${DESTDIR}
+	truncate -s ${VMSIZE} ${VMBASE}
+	mddev=$(mdconfig -f ${VMBASE})
+	newfs -j /dev/${mddev}
+	mkdir -p ${DESTDIR}
+	mount /dev/${mddev} ${DESTDIR}
+	make -C ${WORLDDIR} DESTDIR=$(realpath ${DESTDIR}) \
+		installworld installkernel distribution || \
+		panic 1 "\n\nCannot install the base system to ${DESTDIR}."
+	mount -t devfs devfs ${DESTDIR}/dev
+	chroot ${DESTDIR} /usr/bin/newaliases
+	echo '# Custom /etc/fstab for FreeBSD VM images' \
+		> ${DESTDIR}/etc/fstab
+	echo '/dev/gpt/rootfs	/	ufs	rw	2	2' \
+		>> ${DESTDIR}/etc/fstab
+	# Although a swap partition is created, it is not used in Azure.
+	echo '#/dev/gpt/swapfs	none	swap	sw	0	0' \
+		>> ${DESTDIR}/etc/fstab
+
+	chroot ${DESTDIR} /etc/rc.d/ldconfig forcestart
+	chroot ${DESTDIR} env ASSUME_ALWAYS_YES=yes /usr/sbin/pkg bootstrap -y
+	chroot ${DESTDIR} env ASSUME_ALWAYS_YES=yes /usr/sbin/pkg install -y \
+	        python python2 python27 py27-asn1 sudo bash
+	if [ ! -z "${VM_EXTRA_PACKAGES}" ]; then
+	        chroot ${DESTDIR} env ASSUME_ALWAYS_YES=yes /usr/sbin/pkg install -y \
+	                ${VM_EXTRA_PACKAGES}
+	fi
+
+	fetch -o ${DESTDIR}/usr/sbin/waagent \
+		http://people.freebsd.org/~gjb/waagent
+	chmod +x ${DESTDIR}/usr/sbin/waagent
+	rm -f ${DESTDIR}/etc/resolv.conf
+	chroot ${DESTDIR} /usr/sbin/waagent -verbose -install
+	yes | chroot ${DESTDIR} /usr/sbin/waagent -deprovision
+	echo 'sshd_enable="YES"' > ${DESTDIR}/etc/rc.conf
+	echo 'ifconfig_hn0="SYNCDHCP"' >> ${DESTDIR}/etc/rc.conf
+	echo 'waagent_enable="YES"' >> ${DESTDIR}/etc/rc.conf
+
+	echo 'console="comconsole vidconsole"' >> ${DESTDIR}/boot/loader.conf
+	echo 'comconsole_speed="115200"' >> ${DESTDIR}/boot/loader.conf
+
+	if [ ! -z "${VM_RC_LIST}" ]; then
+		for _rcvar in ${VM_RC_LIST}; do
+			echo ${_rcvar}_enable="YES" >> ${DESTDIR}/etc/rc.conf
+		done
+	fi
+
+	sync
+
+	while ! umount ${DESTDIR}/dev ${DESTDIR}; do
+		i=$(( $i + 1 ))
+		if [ $i -ge 10 ]; then
+			# This should never happen.  But, it has happened.
+			msg="Cannot umount(8) ${DESTDIR}\n"
+			msg="${msg}Something has gone horribly wrong."
+			panic 1 "${msg}"
+		fi
+		sleep 1
+	done
+
+	mkimg -f vhdf -s gpt \
+		-b /boot/pmbr -p freebsd-boot/bootfs:=/boot/gptboot \
+		-p freebsd-swap/swapfs::1G \
+		-p freebsd-ufs/rootfs:=${VMBASE} \
+		-o ${VMIMAGE}.raw
+
+	if [ ! -x "/usr/local/bin/qemu-img" ]; then
+		env ASSUME_ALWAYS_YES=yes pkg install -y emulators/qemu-devel
+	fi
+
+	size=$(qemu-img info -f raw --output json ${VMIMAGE}.raw | awk '/virtual-size/ {print $2}' | tr -d ',')
+	size=$(( ( ${size} / ( 1024 * 1024 ) + 1 ) * ( 1024 * 1024 ) ))
+	qemu-img resize ${VMIMAGE}.raw ${size}
+	qemu-img convert -f raw -o subformat=fixed -O vpc ${VMIMAGE}.raw ${VMIMAGE}
+
+	return 0
+}
+
+main() {
+	cmd="${1}"
+	shift 1
+
+	if [ -e "${AZURECONF}" -a ! -c "${AZURECONF}" ]; then
+		. ${AZURECONF}
+	fi
+
+	case ${cmd} in
+		vm-azure)
+			eval vm_create_azure "$@" || return 0
+			;;
+		*|\?)
+			usage
+			;;
+	esac
+
+	return 0
+}
+
+main "$@"

Added: projects/release-vmimage/release/tools/azure.conf
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-vmimage/release/tools/azure.conf	Tue Oct 14 11:48:28 2014	(r273076)
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# Set to a list of packages to install.
+# Example:
+#export VM_EXTRA_PACKAGES="www/apache24"
+export VM_EXTRA_PACKAGES=
+
+# Set to a list of third-party software to enable in rc.conf(5).
+# Example:
+#export VM_RC_LIST="apache24"
+export VM_RC_LIST="apache24"

From owner-svn-src-projects@FreeBSD.ORG  Tue Oct 14 12:04:51 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id A415127F;
 Tue, 14 Oct 2014 12:04:51 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9104D234;
 Tue, 14 Oct 2014 12:04:51 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9EC4pud094076;
 Tue, 14 Oct 2014 12:04:51 GMT (envelope-from gjb@FreeBSD.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9EC4pNW094075;
 Tue, 14 Oct 2014 12:04:51 GMT (envelope-from gjb@FreeBSD.org)
Message-Id: <201410141204.s9EC4pNW094075@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org
 using -f
From: Glen Barber <gjb@FreeBSD.org>
Date: Tue, 14 Oct 2014 12:04:51 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273077 - projects/release-vmimage/release/tools
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Oct 2014 12:04:51 -0000

Author: gjb
Date: Tue Oct 14 12:04:50 2014
New Revision: 273077
URL: https://svnweb.freebsd.org/changeset/base/273077

Log:
  Clear VM_RC_LIST.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/release-vmimage/release/tools/azure.conf

Modified: projects/release-vmimage/release/tools/azure.conf
==============================================================================
--- projects/release-vmimage/release/tools/azure.conf	Tue Oct 14 11:48:28 2014	(r273076)
+++ projects/release-vmimage/release/tools/azure.conf	Tue Oct 14 12:04:50 2014	(r273077)
@@ -11,4 +11,4 @@ export VM_EXTRA_PACKAGES=
 # Set to a list of third-party software to enable in rc.conf(5).
 # Example:
 #export VM_RC_LIST="apache24"
-export VM_RC_LIST="apache24"
+export VM_RC_LIST=

From owner-svn-src-projects@FreeBSD.ORG  Tue Oct 14 12:13:44 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id EE61A68A;
 Tue, 14 Oct 2014 12:13:44 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id DB4E2352;
 Tue, 14 Oct 2014 12:13:44 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9ECDiha098940;
 Tue, 14 Oct 2014 12:13:44 GMT (envelope-from gjb@FreeBSD.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9ECDiET098938;
 Tue, 14 Oct 2014 12:13:44 GMT (envelope-from gjb@FreeBSD.org)
Message-Id: <201410141213.s9ECDiET098938@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org
 using -f
From: Glen Barber <gjb@FreeBSD.org>
Date: Tue, 14 Oct 2014 12:13:44 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273079 - in projects/release-vmimage/release: amd64 i386
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Oct 2014 12:13:45 -0000

Author: gjb
Date: Tue Oct 14 12:13:43 2014
New Revision: 273079
URL: https://svnweb.freebsd.org/changeset/base/273079

Log:
  Fix signal list to trigger umount(8).
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/release-vmimage/release/amd64/mk-azure.sh
  projects/release-vmimage/release/i386/mk-azure.sh

Modified: projects/release-vmimage/release/amd64/mk-azure.sh
==============================================================================
--- projects/release-vmimage/release/amd64/mk-azure.sh	Tue Oct 14 12:13:01 2014	(r273078)
+++ projects/release-vmimage/release/amd64/mk-azure.sh	Tue Oct 14 12:13:43 2014	(r273079)
@@ -67,7 +67,7 @@ vm_create_azure() {
 			usage
 	fi
 
-	trap "umount ${DESTDIR}/dev ${DESTDIR}" EXIT
+	trap "umount ${DESTDIR}/dev ${DESTDIR}" INT QUIT TRAP ABRT TERM
 
 	i=0
 	mkdir -p ${DESTDIR}

Modified: projects/release-vmimage/release/i386/mk-azure.sh
==============================================================================
--- projects/release-vmimage/release/i386/mk-azure.sh	Tue Oct 14 12:13:01 2014	(r273078)
+++ projects/release-vmimage/release/i386/mk-azure.sh	Tue Oct 14 12:13:43 2014	(r273079)
@@ -67,7 +67,7 @@ vm_create_azure() {
 			usage
 	fi
 
-	trap "umount ${DESTDIR}/dev ${DESTDIR}" EXIT
+	trap "umount ${DESTDIR}/dev ${DESTDIR}" INT QUIT TRAP ABRT TERM
 
 	i=0
 	mkdir -p ${DESTDIR}

From owner-svn-src-projects@FreeBSD.ORG  Tue Oct 14 15:10:30 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 932AFCB8;
 Tue, 14 Oct 2014 15:10:30 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 666D3A15;
 Tue, 14 Oct 2014 15:10:30 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9EFAUme081882;
 Tue, 14 Oct 2014 15:10:30 GMT (envelope-from mav@FreeBSD.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9EFAUqZ081881;
 Tue, 14 Oct 2014 15:10:30 GMT (envelope-from mav@FreeBSD.org)
Message-Id: <201410141510.s9EFAUqZ081881@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: mav set sender to mav@FreeBSD.org
 using -f
From: Alexander Motin <mav@FreeBSD.org>
Date: Tue, 14 Oct 2014 15:10:30 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273094 - projects/camlock
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Oct 2014 15:10:30 -0000

Author: mav
Date: Tue Oct 14 15:10:29 2014
New Revision: 273094
URL: https://svnweb.freebsd.org/changeset/base/273094

Log:
  Remove CTL locking branch.  It was integrated long ago.

Deleted:
  projects/camlock/

From owner-svn-src-projects@FreeBSD.ORG  Tue Oct 14 15:18:24 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 037BFE37;
 Tue, 14 Oct 2014 15:18:24 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id E4AB9AE5;
 Tue, 14 Oct 2014 15:18:23 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9EFIN1A086327;
 Tue, 14 Oct 2014 15:18:23 GMT (envelope-from gjb@FreeBSD.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9EFINoF086325;
 Tue, 14 Oct 2014 15:18:23 GMT (envelope-from gjb@FreeBSD.org)
Message-Id: <201410141518.s9EFINoF086325@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org
 using -f
From: Glen Barber <gjb@FreeBSD.org>
Date: Tue, 14 Oct 2014 15:18:23 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273095 - in projects/release-vmimage/release: amd64 i386
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Oct 2014 15:18:24 -0000

Author: gjb
Date: Tue Oct 14 15:18:22 2014
New Revision: 273095
URL: https://svnweb.freebsd.org/changeset/base/273095

Log:
  Output an informational message when mkimg(1) runs, so it
  does not appear that the process has stopped while waiting
  for a 'y/n' response when waagent is deprovisioned.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/release-vmimage/release/amd64/mk-azure.sh
  projects/release-vmimage/release/i386/mk-azure.sh

Modified: projects/release-vmimage/release/amd64/mk-azure.sh
==============================================================================
--- projects/release-vmimage/release/amd64/mk-azure.sh	Tue Oct 14 15:10:29 2014	(r273094)
+++ projects/release-vmimage/release/amd64/mk-azure.sh	Tue Oct 14 15:18:22 2014	(r273095)
@@ -130,6 +130,8 @@ vm_create_azure() {
 		sleep 1
 	done
 
+	echo "Creating image...  Please wait."
+
 	mkimg -f vhdf -s gpt \
 		-b /boot/pmbr -p freebsd-boot/bootfs:=/boot/gptboot \
 		-p freebsd-swap/swapfs::1G \

Modified: projects/release-vmimage/release/i386/mk-azure.sh
==============================================================================
--- projects/release-vmimage/release/i386/mk-azure.sh	Tue Oct 14 15:10:29 2014	(r273094)
+++ projects/release-vmimage/release/i386/mk-azure.sh	Tue Oct 14 15:18:22 2014	(r273095)
@@ -130,6 +130,8 @@ vm_create_azure() {
 		sleep 1
 	done
 
+	echo "Creating image...  Please wait."
+
 	mkimg -f vhdf -s gpt \
 		-b /boot/pmbr -p freebsd-boot/bootfs:=/boot/gptboot \
 		-p freebsd-swap/swapfs::1G \

From owner-svn-src-projects@FreeBSD.ORG  Tue Oct 14 15:37:28 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 61F5F607;
 Tue, 14 Oct 2014 15:37:28 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 4986ACEB;
 Tue, 14 Oct 2014 15:37:28 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9EFbSlL096539;
 Tue, 14 Oct 2014 15:37:28 GMT (envelope-from gjb@FreeBSD.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9EFbLiV096491;
 Tue, 14 Oct 2014 15:37:21 GMT (envelope-from gjb@FreeBSD.org)
Message-Id: <201410141537.s9EFbLiV096491@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org
 using -f
From: Glen Barber <gjb@FreeBSD.org>
Date: Tue, 14 Oct 2014 15:37:21 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273097 - in projects/release-vmimage: . bin/sh
 bin/sh/tests/builtins bin/sleep bin/sleep/tests
 cddl/contrib/opensolaris/cmd/dtrace
 cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/u...
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Oct 2014 15:37:28 -0000

Author: gjb
Date: Tue Oct 14 15:37:19 2014
New Revision: 273097
URL: https://svnweb.freebsd.org/changeset/base/273097

Log:
  Reintegrate head@r273095
  
  Sponsored by:	The FreeBSD Foundation

Added:
  projects/release-vmimage/bin/sh/tests/builtins/eval7.0
     - copied unchanged from r273095, head/bin/sh/tests/builtins/eval7.0
  projects/release-vmimage/bin/sh/tests/builtins/eval8.7
     - copied unchanged from r273095, head/bin/sh/tests/builtins/eval8.7
  projects/release-vmimage/bin/sh/tests/builtins/lineno3.0
     - copied unchanged from r273095, head/bin/sh/tests/builtins/lineno3.0
  projects/release-vmimage/bin/sh/tests/builtins/lineno3.0.stdout
     - copied unchanged from r273095, head/bin/sh/tests/builtins/lineno3.0.stdout
  projects/release-vmimage/bin/sleep/tests/
     - copied from r273095, head/bin/sleep/tests/
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_demo2.error
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_demo2.error
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_demo2.output
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_demo2.output
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_demo2.tab.c
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_demo2.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_demo2.tab.h
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_demo2.tab.h
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_destroy1.error
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_destroy1.error
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_destroy1.output
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_destroy1.output
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_destroy1.tab.c
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_destroy1.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_destroy1.tab.h
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_destroy1.tab.h
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_destroy2.error
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_destroy2.error
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_destroy2.output
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_destroy2.output
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_destroy2.tab.c
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_destroy2.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_destroy2.tab.h
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_destroy2.tab.h
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_destroy3.error
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_destroy3.error
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_destroy3.output
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_destroy3.output
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_destroy3.tab.c
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_destroy3.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_destroy3.tab.h
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc/btyacc_destroy3.tab.h
  projects/release-vmimage/contrib/byacc/test/btyacc_destroy1.y
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc_destroy1.y
  projects/release-vmimage/contrib/byacc/test/btyacc_destroy2.y
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc_destroy2.y
  projects/release-vmimage/contrib/byacc/test/btyacc_destroy3.y
     - copied unchanged from r273095, head/contrib/byacc/test/btyacc_destroy3.y
  projects/release-vmimage/contrib/netbsd-tests/
     - copied from r273095, head/contrib/netbsd-tests/
  projects/release-vmimage/etc/devd/ulpt.conf
     - copied unchanged from r273095, head/etc/devd/ulpt.conf
  projects/release-vmimage/gnu/usr.bin/diff/tests/
     - copied from r273095, head/gnu/usr.bin/diff/tests/
  projects/release-vmimage/lib/libc/arm/aeabi/aeabi_asm_double.S
     - copied unchanged from r273095, head/lib/libc/arm/aeabi/aeabi_asm_double.S
  projects/release-vmimage/lib/libc/arm/aeabi/aeabi_asm_float.S
     - copied unchanged from r273095, head/lib/libc/arm/aeabi/aeabi_asm_float.S
  projects/release-vmimage/lib/libc/string/explicit_bzero.c
     - copied unchanged from r273095, head/lib/libc/string/explicit_bzero.c
  projects/release-vmimage/lib/libevent/
     - copied from r273095, head/lib/libevent/
  projects/release-vmimage/lib/libpcap/pcap-netmap.c
     - copied unchanged from r273095, head/lib/libpcap/pcap-netmap.c
  projects/release-vmimage/sbin/ipfw/tables.c
     - copied unchanged from r273095, head/sbin/ipfw/tables.c
  projects/release-vmimage/sys/arm/altera/socfpga/socfpga_mp.c
     - copied unchanged from r273095, head/sys/arm/altera/socfpga/socfpga_mp.c
  projects/release-vmimage/sys/contrib/dev/acpica/common/acgetline.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/common/acgetline.c
  projects/release-vmimage/sys/contrib/dev/acpica/common/ahids.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/common/ahids.c
  projects/release-vmimage/sys/contrib/dev/acpica/common/ahuuids.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/common/ahuuids.c
  projects/release-vmimage/sys/contrib/dev/acpica/common/cmfsize.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/common/cmfsize.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslascii.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/compiler/aslascii.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslmapenter.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/compiler/aslmapenter.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslmapoutput.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/compiler/aslmapoutput.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslmaputils.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/compiler/aslmaputils.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslmessages.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/compiler/aslmessages.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslparser.y
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/compiler/aslparser.y
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslrules.y
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/compiler/aslrules.y
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslsupport.y
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/compiler/aslsupport.y
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/asltokens.y
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/compiler/asltokens.y
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/asltypes.y
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/compiler/asltypes.y
  projects/release-vmimage/sys/contrib/dev/acpica/components/debugger/dbtest.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/components/debugger/dbtest.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/tables/tbdata.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/components/tables/tbdata.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utfileio.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/components/utilities/utfileio.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/uthex.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/components/utilities/uthex.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utprint.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/components/utilities/utprint.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utuuid.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/components/utilities/utuuid.c
  projects/release-vmimage/sys/contrib/dev/acpica/include/platform/acenvex.h
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/include/platform/acenvex.h
  projects/release-vmimage/sys/contrib/dev/acpica/os_specific/service_layers/oslibcfs.c
     - copied unchanged from r273095, head/sys/contrib/dev/acpica/os_specific/service_layers/oslibcfs.c
  projects/release-vmimage/sys/dev/mmc/host/
     - copied from r273095, head/sys/dev/mmc/host/
  projects/release-vmimage/sys/dev/mrsas/mrsas_linux.c
     - copied unchanged from r273095, head/sys/dev/mrsas/mrsas_linux.c
  projects/release-vmimage/sys/libkern/explicit_bzero.c
     - copied unchanged from r273095, head/sys/libkern/explicit_bzero.c
  projects/release-vmimage/sys/libkern/murmur3_32.c
     - copied unchanged from r273095, head/sys/libkern/murmur3_32.c
  projects/release-vmimage/sys/modules/mrsas/mrsas_linux/
     - copied from r273095, head/sys/modules/mrsas/mrsas_linux/
  projects/release-vmimage/sys/netinet/sctp_syscalls.c
     - copied unchanged from r273095, head/sys/netinet/sctp_syscalls.c
  projects/release-vmimage/sys/netpfil/ipfw/ip_fw_iface.c
     - copied unchanged from r273095, head/sys/netpfil/ipfw/ip_fw_iface.c
  projects/release-vmimage/sys/netpfil/ipfw/ip_fw_table.h
     - copied unchanged from r273095, head/sys/netpfil/ipfw/ip_fw_table.h
  projects/release-vmimage/sys/netpfil/ipfw/ip_fw_table_algo.c
     - copied unchanged from r273095, head/sys/netpfil/ipfw/ip_fw_table_algo.c
  projects/release-vmimage/sys/netpfil/ipfw/ip_fw_table_value.c
     - copied unchanged from r273095, head/sys/netpfil/ipfw/ip_fw_table_value.c
  projects/release-vmimage/sys/sys/seq.h
     - copied unchanged from r273095, head/sys/sys/seq.h
  projects/release-vmimage/tools/tools/bootparttest/stub.c
     - copied unchanged from r273095, head/tools/tools/bootparttest/stub.c
  projects/release-vmimage/usr.bin/basename/tests/
     - copied from r273095, head/usr.bin/basename/tests/
  projects/release-vmimage/usr.bin/cmp/tests/
     - copied from r273095, head/usr.bin/cmp/tests/
  projects/release-vmimage/usr.bin/cut/tests/
     - copied from r273095, head/usr.bin/cut/tests/
  projects/release-vmimage/usr.bin/dirname/tests/
     - copied from r273095, head/usr.bin/dirname/tests/
  projects/release-vmimage/usr.bin/grep/tests/
     - copied from r273095, head/usr.bin/grep/tests/
  projects/release-vmimage/usr.bin/gzip/tests/
     - copied from r273095, head/usr.bin/gzip/tests/
  projects/release-vmimage/usr.sbin/nmtree/tests/
     - copied from r273095, head/usr.sbin/nmtree/tests/
  projects/release-vmimage/usr.sbin/pw/tests/
     - copied from r273095, head/usr.sbin/pw/tests/
Deleted:
  projects/release-vmimage/sys/arm/ti/am335x/files.beaglebone
  projects/release-vmimage/sys/arm/ti/am335x/std.beaglebone
  projects/release-vmimage/sys/arm/ti/omap3/
  projects/release-vmimage/sys/arm/ti/ti_mmchs.c
  projects/release-vmimage/sys/arm/ti/ti_mmchs.h
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslcompiler.y
  projects/release-vmimage/sys/modules/acpi/acpi/
  projects/release-vmimage/sys/pc98/pc98/machdep.c
  projects/release-vmimage/tools/tools/bootparttest/malloc.c
  projects/release-vmimage/usr.sbin/ftp-proxy/Makefile.inc
  projects/release-vmimage/usr.sbin/ftp-proxy/ftp-proxy/
  projects/release-vmimage/usr.sbin/ftp-proxy/libevent/
Modified:
  projects/release-vmimage/Makefile.inc1
  projects/release-vmimage/ObsoleteFiles.inc
  projects/release-vmimage/UPDATING
  projects/release-vmimage/bin/sh/eval.c
  projects/release-vmimage/bin/sh/expand.c
  projects/release-vmimage/bin/sh/jobs.c
  projects/release-vmimage/bin/sh/parser.c
  projects/release-vmimage/bin/sh/redir.c
  projects/release-vmimage/bin/sh/tests/builtins/Makefile
  projects/release-vmimage/bin/sh/trap.c
  projects/release-vmimage/bin/sleep/Makefile
  projects/release-vmimage/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c
  projects/release-vmimage/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/tst.userlandkey.ksh
  projects/release-vmimage/cddl/contrib/opensolaris/cmd/lockstat/lockstat.1
  projects/release-vmimage/cddl/contrib/opensolaris/cmd/zdb/zdb.c
  projects/release-vmimage/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
  projects/release-vmimage/cddl/contrib/opensolaris/lib/libdtrace/common/dt_grammar.y
  projects/release-vmimage/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.c
  projects/release-vmimage/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c
  projects/release-vmimage/cddl/lib/libdtrace/libproc_compat.h
  projects/release-vmimage/cddl/lib/libzfs/Makefile
  projects/release-vmimage/cddl/lib/libzpool/Makefile
  projects/release-vmimage/contrib/binutils/bfd/config.bfd
  projects/release-vmimage/contrib/binutils/bfd/elf32-arm.c
  projects/release-vmimage/contrib/binutils/bfd/elf32-ppc.c
  projects/release-vmimage/contrib/binutils/bfd/elf64-ppc.c
  projects/release-vmimage/contrib/binutils/gas/config/tc-arm.c
  projects/release-vmimage/contrib/binutils/gas/config/tc-ppc.c
  projects/release-vmimage/contrib/binutils/include/elf/arm.h
  projects/release-vmimage/contrib/binutils/ld/emulparams/elf32ppc_fbsd.sh
  projects/release-vmimage/contrib/binutils/ld/emulparams/elf64ppc_fbsd.sh
  projects/release-vmimage/contrib/bsnmp/snmp_target/target_snmp.c
  projects/release-vmimage/contrib/byacc/CHANGES
  projects/release-vmimage/contrib/byacc/MANIFEST
  projects/release-vmimage/contrib/byacc/VERSION
  projects/release-vmimage/contrib/byacc/aclocal.m4
  projects/release-vmimage/contrib/byacc/btyaccpar.c
  projects/release-vmimage/contrib/byacc/closure.c
  projects/release-vmimage/contrib/byacc/config.sub
  projects/release-vmimage/contrib/byacc/configure
  projects/release-vmimage/contrib/byacc/configure.in
  projects/release-vmimage/contrib/byacc/defs.h
  projects/release-vmimage/contrib/byacc/lalr.c
  projects/release-vmimage/contrib/byacc/main.c
  projects/release-vmimage/contrib/byacc/output.c
  projects/release-vmimage/contrib/byacc/package/byacc.spec
  projects/release-vmimage/contrib/byacc/package/debian/changelog
  projects/release-vmimage/contrib/byacc/package/debian/source/format
  projects/release-vmimage/contrib/byacc/package/mingw-byacc.spec
  projects/release-vmimage/contrib/byacc/package/pkgsrc/Makefile
  projects/release-vmimage/contrib/byacc/reader.c
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_calc1.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/btyacc_demo.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/calc.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/calc1.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/calc2.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/calc3.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/code_calc.code.c
  projects/release-vmimage/contrib/byacc/test/btyacc/code_calc.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/code_error.code.c
  projects/release-vmimage/contrib/byacc/test/btyacc/code_error.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/empty.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_inherit1.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_inherit2.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_inherit3.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_inherit4.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_inherit5.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax1.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax10.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax11.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax12.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax13.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax14.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax15.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax16.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax17.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax18.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax19.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax2.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax20.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax21.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax22.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax23.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax24.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax25.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax26.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax27.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax3.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax4.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax5.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax6.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax7.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax7a.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax7b.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax8.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax8a.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/err_syntax9.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/error.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/grammar.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/inherit0.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/inherit1.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/inherit2.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/ok_syntax1.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/pure_calc.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/pure_error.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/quote_calc-s.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/quote_calc.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/quote_calc2-s.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/quote_calc2.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/quote_calc3-s.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/quote_calc3.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/quote_calc4-s.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/quote_calc4.tab.c
  projects/release-vmimage/contrib/byacc/test/btyacc/rename_debug.c
  projects/release-vmimage/contrib/byacc/test/btyacc/varsyntax_calc1.tab.c
  projects/release-vmimage/contrib/byacc/test/yacc/calc2.tab.c
  projects/release-vmimage/contrib/byacc/test/yacc/calc3.tab.c
  projects/release-vmimage/contrib/byacc/test/yacc/ok_syntax1.tab.c
  projects/release-vmimage/contrib/byacc/yacc.1
  projects/release-vmimage/contrib/libc++/include/__config
  projects/release-vmimage/contrib/libpcap/inet.c
  projects/release-vmimage/contrib/libpcap/pcap.c
  projects/release-vmimage/contrib/tcp_wrappers/inetcf.h
  projects/release-vmimage/contrib/tcp_wrappers/mystdarg.h
  projects/release-vmimage/contrib/tcp_wrappers/tcpd.h
  projects/release-vmimage/contrib/tcp_wrappers/tli-sequent.h
  projects/release-vmimage/contrib/tcpdump/tcpdump.c
  projects/release-vmimage/etc/defaults/rc.conf
  projects/release-vmimage/etc/devd/Makefile
  projects/release-vmimage/etc/devd/apple.conf
  projects/release-vmimage/etc/mtree/BSD.tests.dist
  projects/release-vmimage/etc/rc.d/bgfsck
  projects/release-vmimage/etc/rc.d/netif
  projects/release-vmimage/etc/rc.subr
  projects/release-vmimage/gnu/usr.bin/Makefile
  projects/release-vmimage/gnu/usr.bin/diff/Makefile
  projects/release-vmimage/include/rpcsvc/nis.x
  projects/release-vmimage/include/strings.h
  projects/release-vmimage/lib/Makefile
  projects/release-vmimage/lib/libc/arm/aeabi/Makefile.inc
  projects/release-vmimage/lib/libc/arm/aeabi/Symbol.map
  projects/release-vmimage/lib/libc/arm/aeabi/aeabi_double.c
  projects/release-vmimage/lib/libc/arm/aeabi/aeabi_float.c
  projects/release-vmimage/lib/libc/arm/aeabi/aeabi_vfp_double.S
  projects/release-vmimage/lib/libc/arm/aeabi/aeabi_vfp_float.S
  projects/release-vmimage/lib/libc/gen/dl_iterate_phdr.3
  projects/release-vmimage/lib/libc/stdtime/strptime.3
  projects/release-vmimage/lib/libc/stdtime/strptime.c
  projects/release-vmimage/lib/libc/string/Makefile.inc
  projects/release-vmimage/lib/libc/string/Symbol.map
  projects/release-vmimage/lib/libc/string/bzero.3
  projects/release-vmimage/lib/libc/sys/accept.2
  projects/release-vmimage/lib/libcrypt/crypt.c
  projects/release-vmimage/lib/libcuse/cuse_lib.c
  projects/release-vmimage/lib/libnv/nvlist.c
  projects/release-vmimage/lib/libnv/nvlist_impl.h
  projects/release-vmimage/lib/libnv/nvpair.c
  projects/release-vmimage/lib/libnv/nvpair_impl.h
  projects/release-vmimage/lib/libpcap/Makefile
  projects/release-vmimage/lib/libpcap/config.h
  projects/release-vmimage/lib/libproc/Makefile
  projects/release-vmimage/lib/libproc/libproc.h
  projects/release-vmimage/lib/libproc/proc_sym.c
  projects/release-vmimage/lib/libproc/tests/proc_test.c
  projects/release-vmimage/lib/librtld_db/rtld_db.c
  projects/release-vmimage/lib/msun/ld128/e_lgammal_r.c
  projects/release-vmimage/lib/msun/ld80/e_lgammal_r.c
  projects/release-vmimage/lib/msun/src/e_lgamma_r.c
  projects/release-vmimage/lib/msun/src/e_lgammaf_r.c
  projects/release-vmimage/libexec/rtld-elf/rtld.c
  projects/release-vmimage/release/doc/en_US.ISO8859-1/hardware/article.xml
  projects/release-vmimage/sbin/dumpon/dumpon.8
  projects/release-vmimage/sbin/ifconfig/ifconfig.c
  projects/release-vmimage/sbin/ifconfig/iflagg.c
  projects/release-vmimage/sbin/ipfw/Makefile
  projects/release-vmimage/sbin/ipfw/ipfw.8
  projects/release-vmimage/sbin/ipfw/ipfw2.c
  projects/release-vmimage/sbin/ipfw/ipfw2.h
  projects/release-vmimage/sbin/ipfw/main.c
  projects/release-vmimage/sbin/ipfw/nat.c
  projects/release-vmimage/sbin/iscontrol/iscontrol.8
  projects/release-vmimage/sbin/swapon/swapon.c
  projects/release-vmimage/share/man/man4/alc.4
  projects/release-vmimage/share/man/man4/gif.4
  projects/release-vmimage/share/man/man4/iscsi_initiator.4
  projects/release-vmimage/share/man/man4/tcp.4
  projects/release-vmimage/share/man/man4/ucom.4
  projects/release-vmimage/share/man/man4/urndis.4
  projects/release-vmimage/share/man/man5/rc.conf.5
  projects/release-vmimage/share/man/man8/rc.subr.8
  projects/release-vmimage/share/man/man9/sleepqueue.9
  projects/release-vmimage/share/man/man9/timeout.9
  projects/release-vmimage/share/misc/scsi_modes
  projects/release-vmimage/share/mk/bsd.progs.mk
  projects/release-vmimage/share/mk/src.libnames.mk
  projects/release-vmimage/share/mk/sys.mk
  projects/release-vmimage/sys/amd64/amd64/minidump_machdep.c
  projects/release-vmimage/sys/amd64/amd64/pmap.c
  projects/release-vmimage/sys/amd64/include/md_var.h
  projects/release-vmimage/sys/amd64/include/pmap.h
  projects/release-vmimage/sys/amd64/include/vmm.h   (contents, props changed)
  projects/release-vmimage/sys/amd64/vmm/intel/vmx.c
  projects/release-vmimage/sys/amd64/vmm/intel/vmx_msr.c
  projects/release-vmimage/sys/amd64/vmm/vmm.c
  projects/release-vmimage/sys/arm/altera/socfpga/files.socfpga
  projects/release-vmimage/sys/arm/altera/socfpga/socfpga_machdep.c
  projects/release-vmimage/sys/arm/arm/dump_machdep.c
  projects/release-vmimage/sys/arm/arm/minidump_machdep.c
  projects/release-vmimage/sys/arm/conf/BEAGLEBONE
  projects/release-vmimage/sys/arm/conf/EXYNOS5.common
  projects/release-vmimage/sys/arm/conf/PANDABOARD
  projects/release-vmimage/sys/arm/conf/SOCKIT
  projects/release-vmimage/sys/arm/include/md_var.h
  projects/release-vmimage/sys/arm/samsung/exynos/exynos5_machdep.c
  projects/release-vmimage/sys/arm/samsung/exynos/files.exynos5
  projects/release-vmimage/sys/arm/ti/am335x/am335x_scm_padconf.c
  projects/release-vmimage/sys/arm/ti/am335x/files.am335x
  projects/release-vmimage/sys/arm/ti/files.ti
  projects/release-vmimage/sys/arm/ti/omap4/files.omap4
  projects/release-vmimage/sys/arm/ti/omap4/omap4_scm_padconf.c
  projects/release-vmimage/sys/arm/ti/ti_cpuid.c
  projects/release-vmimage/sys/arm/ti/ti_cpuid.h
  projects/release-vmimage/sys/arm/ti/ti_gpio.c
  projects/release-vmimage/sys/arm/ti/ti_i2c.c
  projects/release-vmimage/sys/arm/ti/ti_sdhci.c
  projects/release-vmimage/sys/boot/common/disk.c
  projects/release-vmimage/sys/boot/common/disk.h
  projects/release-vmimage/sys/boot/common/part.c
  projects/release-vmimage/sys/boot/fdt/dts/arm/exynos5420-arndale-octa.dts
  projects/release-vmimage/sys/boot/fdt/dts/arm/exynos5420-peach-pit.dts
  projects/release-vmimage/sys/boot/fdt/dts/arm/exynos5420.dtsi
  projects/release-vmimage/sys/boot/fdt/dts/arm/socfpga-sockit.dts
  projects/release-vmimage/sys/boot/fdt/dts/arm/socfpga.dtsi
  projects/release-vmimage/sys/boot/i386/gptboot/gptboot.c
  projects/release-vmimage/sys/boot/powerpc/ofw/ldscript.powerpc
  projects/release-vmimage/sys/boot/powerpc/ps3/ldscript.powerpc
  projects/release-vmimage/sys/boot/powerpc/uboot/ldscript.powerpc
  projects/release-vmimage/sys/cam/cam_xpt.c
  projects/release-vmimage/sys/cam/ctl/ctl.c
  projects/release-vmimage/sys/cam/ctl/ctl.h
  projects/release-vmimage/sys/cam/ctl/ctl_backend.h
  projects/release-vmimage/sys/cam/ctl/ctl_backend_block.c
  projects/release-vmimage/sys/cam/ctl/ctl_backend_ramdisk.c
  projects/release-vmimage/sys/cam/ctl/ctl_cmd_table.c
  projects/release-vmimage/sys/cam/ctl/ctl_frontend_cam_sim.c
  projects/release-vmimage/sys/cam/ctl/ctl_frontend_iscsi.c
  projects/release-vmimage/sys/cam/ctl/ctl_frontend_iscsi.h
  projects/release-vmimage/sys/cam/ctl/ctl_io.h
  projects/release-vmimage/sys/cam/ctl/ctl_ioctl.h
  projects/release-vmimage/sys/cam/ctl/ctl_private.h
  projects/release-vmimage/sys/cam/ctl/scsi_ctl.c
  projects/release-vmimage/sys/cam/scsi/scsi_all.h
  projects/release-vmimage/sys/cam/scsi/scsi_da.h
  projects/release-vmimage/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c
  projects/release-vmimage/sys/cddl/compat/opensolaris/sys/assfail.h
  projects/release-vmimage/sys/cddl/compat/opensolaris/sys/kmem.h
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
  projects/release-vmimage/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
  projects/release-vmimage/sys/compat/freebsd32/freebsd32_proto.h
  projects/release-vmimage/sys/compat/freebsd32/freebsd32_syscall.h
  projects/release-vmimage/sys/compat/freebsd32/freebsd32_syscalls.c
  projects/release-vmimage/sys/compat/freebsd32/freebsd32_sysent.c
  projects/release-vmimage/sys/compat/freebsd32/syscalls.master
  projects/release-vmimage/sys/conf/Makefile.arm
  projects/release-vmimage/sys/conf/NOTES
  projects/release-vmimage/sys/conf/files
  projects/release-vmimage/sys/conf/files.pc98
  projects/release-vmimage/sys/conf/kern.mk
  projects/release-vmimage/sys/conf/ldscript.powerpc
  projects/release-vmimage/sys/conf/ldscript.powerpc64
  projects/release-vmimage/sys/conf/newvers.sh
  projects/release-vmimage/sys/conf/options
  projects/release-vmimage/sys/conf/options.pc98
  projects/release-vmimage/sys/contrib/dev/acpica/acpica_prep.sh
  projects/release-vmimage/sys/contrib/dev/acpica/changes.txt   (contents, props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/common/adfile.c
  projects/release-vmimage/sys/contrib/dev/acpica/common/adisasm.c
  projects/release-vmimage/sys/contrib/dev/acpica/common/adwalk.c
  projects/release-vmimage/sys/contrib/dev/acpica/common/ahpredef.c
  projects/release-vmimage/sys/contrib/dev/acpica/common/dmextern.c
  projects/release-vmimage/sys/contrib/dev/acpica/common/dmrestag.c
  projects/release-vmimage/sys/contrib/dev/acpica/common/dmtable.c
  projects/release-vmimage/sys/contrib/dev/acpica/common/dmtbdump.c
  projects/release-vmimage/sys/contrib/dev/acpica/common/dmtbinfo.c
  projects/release-vmimage/sys/contrib/dev/acpica/common/getopt.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslanalyze.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslbtypes.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslcodegen.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslcompile.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslcompiler.h
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslcompiler.l
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/asldefine.h
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslerror.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslfileio.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslfiles.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslfold.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslglobal.h
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslhex.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/asllength.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/asllisting.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/asllistsup.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslload.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/asllookup.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslmain.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslmap.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslmessages.h
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslmethod.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslnamesp.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/asloffset.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslopcodes.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/asloperands.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslopt.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/asloptions.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslpredef.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslprepkg.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslresource.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslrestype1.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslrestype1i.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslrestype2.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslrestype2d.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslrestype2e.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslrestype2q.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslrestype2s.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslrestype2w.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslstartup.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslstubs.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslsupport.l
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/asltransform.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/asltree.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/asltypes.h
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslutils.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/asluuid.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslwalks.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/aslxref.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/dtcompile.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/dtcompiler.h
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/dtexpress.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/dtfield.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/dtio.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/dtparser.l
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/dtparser.y
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/dtsubtable.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/dttable.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/dttemplate.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/dttemplate.h
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/dtutils.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/preprocess.h
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/prexpress.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/prmacros.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/prparser.l
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/prparser.y
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/prscan.c
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/prutils.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/debugger/dbcmds.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/debugger/dbconvert.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/debugger/dbdisply.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/debugger/dbexec.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/debugger/dbfileio.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/debugger/dbhistry.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/debugger/dbinput.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/debugger/dbmethod.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/debugger/dbnames.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/debugger/dbstats.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/debugger/dbutils.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/debugger/dbxface.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/disassembler/dmnames.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/disassembler/dmobject.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/disassembler/dmopcode.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/disassembler/dmresrc.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/disassembler/dmresrcl.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/disassembler/dmresrcs.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/disassembler/dmutils.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/disassembler/dmwalk.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/dispatcher/dsargs.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/dispatcher/dscontrol.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/dispatcher/dsfield.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/dispatcher/dsinit.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/dispatcher/dsmthdat.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/dispatcher/dsobject.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/dispatcher/dsutils.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/dispatcher/dswexec.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/dispatcher/dswload.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/dispatcher/dswload2.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/dispatcher/dswscope.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/dispatcher/dswstate.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/evevent.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/evglock.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/evgpe.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/evgpeblk.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/evgpeinit.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/evgpeutil.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/evhandler.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/evmisc.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/evregion.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/evrgnini.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/evsci.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/evxface.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/evxfevnt.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/evxfgpe.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/evxfregn.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exconfig.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exconvrt.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/excreate.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exdebug.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exdump.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exfield.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exfldio.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exmisc.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exmutex.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exnames.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exoparg1.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exoparg2.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exoparg3.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exoparg6.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exprep.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exregion.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exresnte.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exresolv.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exresop.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exstore.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exstoren.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exstorob.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exsystem.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/exutils.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/hardware/hwacpi.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/hardware/hwesleep.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/hardware/hwgpe.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/hardware/hwpci.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/hardware/hwregs.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/hardware/hwsleep.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/hardware/hwtimer.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/hardware/hwvalid.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/hardware/hwxface.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsaccess.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsalloc.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsarguments.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsconvert.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsdump.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsdumpdv.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nseval.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsinit.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsload.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsnames.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsobject.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsparse.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nspredef.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsprepkg.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsrepair.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsrepair2.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nssearch.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsutils.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nswalk.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsxfeval.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsxfname.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/nsxfobj.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/parser/psargs.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/parser/psloop.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/parser/psobject.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/parser/psopcode.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/parser/psopinfo.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/parser/psparse.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/parser/psscope.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/parser/pstree.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/parser/psutils.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/parser/pswalk.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/parser/psxface.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/resources/rsaddr.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/resources/rscalc.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/resources/rscreate.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/resources/rsdump.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/resources/rsdumpinfo.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/resources/rsinfo.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/resources/rsio.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/resources/rsirq.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/resources/rslist.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/resources/rsmemory.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/resources/rsmisc.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/resources/rsserial.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/resources/rsutils.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/resources/rsxface.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/tables/tbfadt.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/tables/tbfind.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/tables/tbinstal.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/tables/tbprint.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/tables/tbutils.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/tables/tbxface.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/tables/tbxfload.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/tables/tbxfroot.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utaddress.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utalloc.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utbuffer.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utcache.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utcopy.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utdebug.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utdecode.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utdelete.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/uterror.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/uteval.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utexcep.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utglobal.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utids.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utinit.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utlock.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utmath.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utmisc.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utmutex.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utobject.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utosi.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utownerid.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utpredef.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utresrc.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utstate.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utstring.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/uttrack.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utxface.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utxferror.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utxfinit.c
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/utxfmutex.c
  projects/release-vmimage/sys/contrib/dev/acpica/include/acapps.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acbuffer.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/accommon.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acconfig.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acdebug.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acdisasm.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acdispat.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acevents.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acexcep.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acglobal.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/achware.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acinterp.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/aclocal.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acmacros.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acnames.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acnamesp.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acobject.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acopcode.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acoutput.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acparser.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acpi.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acpiosxf.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acpixf.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acpredef.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acresrc.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acrestyp.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acstruct.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/actables.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/actbl.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/actbl1.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/actbl2.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/actbl3.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/actypes.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/acutils.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/amlcode.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/amlresrc.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/platform/acenv.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/platform/acfreebsd.h
  projects/release-vmimage/sys/contrib/dev/acpica/include/platform/acgcc.h
  projects/release-vmimage/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c
  projects/release-vmimage/sys/contrib/dev/ath/ath_hal/ar9300/ar9300desc.h
  projects/release-vmimage/sys/contrib/ipfilter/netinet/fil.c
  projects/release-vmimage/sys/contrib/ipfilter/netinet/ip_dns_pxy.c
  projects/release-vmimage/sys/contrib/ipfilter/netinet/ip_dstlist.c
  projects/release-vmimage/sys/contrib/ipfilter/netinet/ip_nat.c
  projects/release-vmimage/sys/ddb/db_access.c
  projects/release-vmimage/sys/ddb/db_break.c
  projects/release-vmimage/sys/ddb/db_command.c
  projects/release-vmimage/sys/ddb/db_examine.c
  projects/release-vmimage/sys/ddb/db_input.c
  projects/release-vmimage/sys/ddb/db_lex.c
  projects/release-vmimage/sys/ddb/db_output.c
  projects/release-vmimage/sys/ddb/db_output.h
  projects/release-vmimage/sys/ddb/db_print.c
  projects/release-vmimage/sys/ddb/db_ps.c
  projects/release-vmimage/sys/ddb/db_run.c
  projects/release-vmimage/sys/ddb/db_sym.c
  projects/release-vmimage/sys/ddb/db_sym.h
  projects/release-vmimage/sys/ddb/db_textdump.c
  projects/release-vmimage/sys/ddb/db_variables.h
  projects/release-vmimage/sys/ddb/db_watch.c
  projects/release-vmimage/sys/ddb/db_watch.h
  projects/release-vmimage/sys/ddb/db_write_cmd.c
  projects/release-vmimage/sys/dev/acpica/Osd/OsdTable.c
  projects/release-vmimage/sys/dev/acpica/acpi.c
  projects/release-vmimage/sys/dev/acpica/acpi_pci.c
  projects/release-vmimage/sys/dev/acpica/acpivar.h
  projects/release-vmimage/sys/dev/ahci/ahci.c
  projects/release-vmimage/sys/dev/alc/if_alc.c
  projects/release-vmimage/sys/dev/alc/if_alcreg.h
  projects/release-vmimage/sys/dev/alc/if_alcvar.h
  projects/release-vmimage/sys/dev/ale/if_ale.c
  projects/release-vmimage/sys/dev/ale/if_alereg.h
  projects/release-vmimage/sys/dev/amdtemp/amdtemp.c
  projects/release-vmimage/sys/dev/ctau/if_ct.c
  projects/release-vmimage/sys/dev/cx/if_cx.c
  projects/release-vmimage/sys/dev/cxgbe/common/t4_msg.h
  projects/release-vmimage/sys/dev/cxgbe/tom/t4_connect.c
  projects/release-vmimage/sys/dev/cxgbe/tom/t4_tom.c
  projects/release-vmimage/sys/dev/cxgbe/tom/t4_tom.h
  projects/release-vmimage/sys/dev/cxgbe/tom/t4_tom_l2t.c
  projects/release-vmimage/sys/dev/digi/digi_isa.c
  projects/release-vmimage/sys/dev/drm2/i915/intel_ringbuffer.c
  projects/release-vmimage/sys/dev/e1000/if_igb.c
  projects/release-vmimage/sys/dev/hwpmc/hwpmc_core.c
  projects/release-vmimage/sys/dev/iicbus/max6690.c
  projects/release-vmimage/sys/dev/iscsi/icl.c
  projects/release-vmimage/sys/dev/iscsi/icl.h
  projects/release-vmimage/sys/dev/iscsi/iscsi.c
  projects/release-vmimage/sys/dev/isp/isp_library.c
  projects/release-vmimage/sys/dev/isp/ispmbox.h
  projects/release-vmimage/sys/dev/mc146818/mc146818.c
  projects/release-vmimage/sys/dev/mmc/mmc.c
  projects/release-vmimage/sys/dev/mpr/mpr_sas.c
  projects/release-vmimage/sys/dev/mpr/mpr_table.c
  projects/release-vmimage/sys/dev/mrsas/mrsas.c
  projects/release-vmimage/sys/dev/mrsas/mrsas.h
  projects/release-vmimage/sys/dev/mrsas/mrsas_cam.c
  projects/release-vmimage/sys/dev/mrsas/mrsas_fp.c
  projects/release-vmimage/sys/dev/mrsas/mrsas_ioctl.c
  projects/release-vmimage/sys/dev/mrsas/mrsas_ioctl.h
  projects/release-vmimage/sys/dev/mse/mse.c
  projects/release-vmimage/sys/dev/mse/mse_cbus.c
  projects/release-vmimage/sys/dev/mse/mse_isa.c
  projects/release-vmimage/sys/dev/mse/msevar.h
  projects/release-vmimage/sys/dev/msk/if_msk.c
  projects/release-vmimage/sys/dev/nfe/if_nfe.c
  projects/release-vmimage/sys/dev/pci/pci.c
  projects/release-vmimage/sys/dev/random/ivy.c
  projects/release-vmimage/sys/dev/sdhci/sdhci_pci.c
  projects/release-vmimage/sys/dev/sfxge/sfxge_port.c
  projects/release-vmimage/sys/dev/sk/if_sk.c
  projects/release-vmimage/sys/dev/uart/uart_bus_fdt.c
  projects/release-vmimage/sys/dev/uart/uart_dev_imx.c
  projects/release-vmimage/sys/dev/usb/controller/xhci.c
  projects/release-vmimage/sys/dev/usb/controller/xhci.h
  projects/release-vmimage/sys/dev/usb/usb_dev.c
  projects/release-vmimage/sys/dev/usb/usb_freebsd.h
  projects/release-vmimage/sys/dev/usb/usb_freebsd_loader.h
  projects/release-vmimage/sys/dev/usb/usb_hub.c
  projects/release-vmimage/sys/dev/usb/usbdevs
  projects/release-vmimage/sys/dev/vt/vt.h
  projects/release-vmimage/sys/dev/vt/vt_core.c
  projects/release-vmimage/sys/fs/autofs/autofs.c
  projects/release-vmimage/sys/fs/autofs/autofs.h
  projects/release-vmimage/sys/fs/autofs/autofs_vfsops.c
  projects/release-vmimage/sys/fs/autofs/autofs_vnops.c
  projects/release-vmimage/sys/fs/devfs/devfs_vnops.c
  projects/release-vmimage/sys/fs/ext2fs/ext2_vnops.c
  projects/release-vmimage/sys/fs/msdosfs/msdosfs_vnops.c
  projects/release-vmimage/sys/fs/nfs/nfs_commonsubs.c
  projects/release-vmimage/sys/fs/nfs/nfs_var.h
  projects/release-vmimage/sys/fs/nfs/nfsproto.h
  projects/release-vmimage/sys/fs/nfsserver/nfs_nfsdport.c
  projects/release-vmimage/sys/fs/nfsserver/nfs_nfsdserv.c
  projects/release-vmimage/sys/fs/nfsserver/nfs_nfsdstate.c
  projects/release-vmimage/sys/geom/geom_dev.c
  projects/release-vmimage/sys/i386/i386/machdep.c
  projects/release-vmimage/sys/i386/i386/minidump_machdep.c
  projects/release-vmimage/sys/i386/i386/pmap.c
  projects/release-vmimage/sys/i386/i386/vm_machdep.c
  projects/release-vmimage/sys/i386/include/md_var.h
  projects/release-vmimage/sys/i386/include/pmap.h
  projects/release-vmimage/sys/i386/xen/pmap.c
  projects/release-vmimage/sys/kern/bus_if.m
  projects/release-vmimage/sys/kern/imgact_elf.c
  projects/release-vmimage/sys/kern/init_sysent.c
  projects/release-vmimage/sys/kern/kern_descrip.c
  projects/release-vmimage/sys/kern/kern_event.c
  projects/release-vmimage/sys/kern/kern_exit.c
  projects/release-vmimage/sys/kern/kern_intr.c
  projects/release-vmimage/sys/kern/kern_proc.c
  projects/release-vmimage/sys/kern/kern_prot.c
  projects/release-vmimage/sys/kern/kern_racct.c
  projects/release-vmimage/sys/kern/kern_sig.c
  projects/release-vmimage/sys/kern/kern_timeout.c
  projects/release-vmimage/sys/kern/subr_bus.c
  projects/release-vmimage/sys/kern/subr_witness.c
  projects/release-vmimage/sys/kern/sys_process.c
  projects/release-vmimage/sys/kern/syscalls.c
  projects/release-vmimage/sys/kern/syscalls.master
  projects/release-vmimage/sys/kern/tty.c
  projects/release-vmimage/sys/kern/uipc_syscalls.c
  projects/release-vmimage/sys/kern/vfs_bio.c
  projects/release-vmimage/sys/kern/vfs_vnops.c
  projects/release-vmimage/sys/mips/include/md_var.h
  projects/release-vmimage/sys/mips/mips/dump_machdep.c
  projects/release-vmimage/sys/mips/mips/minidump_machdep.c
  projects/release-vmimage/sys/modules/Makefile
  projects/release-vmimage/sys/modules/if_gif/Makefile
  projects/release-vmimage/sys/modules/ipfw/Makefile
  projects/release-vmimage/sys/modules/mrsas/Makefile
  projects/release-vmimage/sys/modules/ncr/Makefile
  projects/release-vmimage/sys/net/ieee8023ad_lacp.c
  projects/release-vmimage/sys/net/ieee8023ad_lacp.h
  projects/release-vmimage/sys/net/if_bridge.c
  projects/release-vmimage/sys/net/if_disc.c
  projects/release-vmimage/sys/net/if_edsc.c
  projects/release-vmimage/sys/net/if_enc.c
  projects/release-vmimage/sys/net/if_epair.c
  projects/release-vmimage/sys/net/if_gif.c
  projects/release-vmimage/sys/net/if_gif.h
  projects/release-vmimage/sys/net/if_lagg.c
  projects/release-vmimage/sys/net/if_lagg.h
  projects/release-vmimage/sys/netgraph/ng_ipfw.c
  projects/release-vmimage/sys/netinet/igmp.c
  projects/release-vmimage/sys/netinet/in_gif.c
  projects/release-vmimage/sys/netinet/in_gif.h
  projects/release-vmimage/sys/netinet/ip6.h
  projects/release-vmimage/sys/netinet/ip_divert.c
  projects/release-vmimage/sys/netinet/ip_fw.h
  projects/release-vmimage/sys/netinet/ip_gre.c
  projects/release-vmimage/sys/netinet/ip_mroute.c
  projects/release-vmimage/sys/netinet/ip_output.c
  projects/release-vmimage/sys/netinet/sctp_input.c
  projects/release-vmimage/sys/netinet/sctp_output.c
  projects/release-vmimage/sys/netinet/sctp_output.h
  projects/release-vmimage/sys/netinet/sctp_usrreq.c
  projects/release-vmimage/sys/netinet/sctputil.c
  projects/release-vmimage/sys/netinet/tcp_output.c
  projects/release-vmimage/sys/netinet/tcp_timer.c
  projects/release-vmimage/sys/netinet/tcp_usrreq.c
  projects/release-vmimage/sys/netinet/tcp_var.h
  projects/release-vmimage/sys/netinet/udp_usrreq.c
  projects/release-vmimage/sys/netinet/udp_var.h
  projects/release-vmimage/sys/netinet6/icmp6.c
  projects/release-vmimage/sys/netinet6/in6_gif.c
  projects/release-vmimage/sys/netinet6/in6_gif.h
  projects/release-vmimage/sys/netinet6/ip6_mroute.c
  projects/release-vmimage/sys/netinet6/ip6_output.c
  projects/release-vmimage/sys/netinet6/udp6_usrreq.c
  projects/release-vmimage/sys/netpfil/ipfw/ip_dummynet.c
  projects/release-vmimage/sys/netpfil/ipfw/ip_fw2.c
  projects/release-vmimage/sys/netpfil/ipfw/ip_fw_dynamic.c
  projects/release-vmimage/sys/netpfil/ipfw/ip_fw_log.c
  projects/release-vmimage/sys/netpfil/ipfw/ip_fw_nat.c
  projects/release-vmimage/sys/netpfil/ipfw/ip_fw_private.h
  projects/release-vmimage/sys/netpfil/ipfw/ip_fw_sockopt.c
  projects/release-vmimage/sys/netpfil/ipfw/ip_fw_table.c
  projects/release-vmimage/sys/netpfil/pf/pf.c
  projects/release-vmimage/sys/ofed/drivers/net/mlx4/mlx4.h
  projects/release-vmimage/sys/ofed/include/linux/mlx4/device.h
  projects/release-vmimage/sys/powerpc/powermac/pmu.c
  projects/release-vmimage/sys/sparc64/sparc64/support.S
  projects/release-vmimage/sys/sys/bus.h
  projects/release-vmimage/sys/sys/cdefs.h
  projects/release-vmimage/sys/sys/event.h
  projects/release-vmimage/sys/sys/filedesc.h
  projects/release-vmimage/sys/sys/hash.h
  projects/release-vmimage/sys/sys/mbuf.h
  projects/release-vmimage/sys/sys/param.h
  projects/release-vmimage/sys/sys/racct.h
  projects/release-vmimage/sys/sys/socketvar.h
  projects/release-vmimage/sys/sys/syscall.h
  projects/release-vmimage/sys/sys/syscall.mk
  projects/release-vmimage/sys/sys/sysproto.h
  projects/release-vmimage/sys/sys/systm.h
  projects/release-vmimage/sys/sys/ucred.h
  projects/release-vmimage/sys/sys/vnode.h
  projects/release-vmimage/sys/ufs/ffs/ffs_vnops.c
  projects/release-vmimage/sys/ufs/ufs/dir.h
  projects/release-vmimage/sys/vm/uma_core.c
  projects/release-vmimage/sys/vm/vm_fault.c
  projects/release-vmimage/sys/vm/vm_glue.c
  projects/release-vmimage/sys/vm/vm_pageout.c
  projects/release-vmimage/sys/x86/acpica/srat.c
  projects/release-vmimage/sys/x86/include/specialreg.h
  projects/release-vmimage/sys/x86/x86/dump_machdep.c
  projects/release-vmimage/sys/x86/x86/local_apic.c
  projects/release-vmimage/tools/build/mk/OptionalObsoleteFiles.inc
  projects/release-vmimage/tools/sched/schedgraph.py
  projects/release-vmimage/tools/tools/ath/athalq/ar9300_ds.c
  projects/release-vmimage/tools/tools/bootparttest/Makefile
  projects/release-vmimage/tools/tools/bootparttest/bootparttest.c
  projects/release-vmimage/tools/tools/netmap/pkt-gen.c
  projects/release-vmimage/usr.bin/basename/Makefile
  projects/release-vmimage/usr.bin/cmp/Makefile
  projects/release-vmimage/usr.bin/cut/Makefile
  projects/release-vmimage/usr.bin/dirname/Makefile
  projects/release-vmimage/usr.bin/find/function.c
  projects/release-vmimage/usr.bin/grep/Makefile
  projects/release-vmimage/usr.bin/gzip/Makefile
  projects/release-vmimage/usr.bin/kdump/kdump.c
  projects/release-vmimage/usr.bin/kdump/mksubr
  projects/release-vmimage/usr.bin/mkimg/Makefile
  projects/release-vmimage/usr.bin/mkimg/ebr.c
  projects/release-vmimage/usr.bin/mkimg/mbr.c
  projects/release-vmimage/usr.bin/mkimg/mkimg.c
  projects/release-vmimage/usr.bin/mkimg/mkimg.h
  projects/release-vmimage/usr.bin/mkimg/pc98.c
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-ebr.qcow.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-ebr.qcow2.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-ebr.raw.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-ebr.vhd.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-ebr.vhdf.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-ebr.vmdk.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-mbr.qcow.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-mbr.qcow2.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-mbr.raw.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-mbr.vhd.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-mbr.vhdf.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-mbr.vmdk.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-pc98.qcow.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-pc98.qcow2.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-pc98.raw.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-pc98.vhd.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-pc98.vhdf.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-4096-pc98.vmdk.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-ebr.qcow.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-ebr.qcow2.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-ebr.raw.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-ebr.vhd.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-ebr.vhdf.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-ebr.vmdk.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-mbr.qcow.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-mbr.qcow2.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-mbr.raw.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-mbr.vhd.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-mbr.vhdf.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-mbr.vmdk.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-pc98.qcow.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-pc98.qcow2.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-pc98.raw.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-pc98.vhd.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-pc98.vhdf.gz.uu
  projects/release-vmimage/usr.bin/mkimg/tests/img-63x255-512-pc98.vmdk.gz.uu
  projects/release-vmimage/usr.bin/truss/syscall.h
  projects/release-vmimage/usr.bin/truss/syscalls.c
  projects/release-vmimage/usr.bin/w/w.c
  projects/release-vmimage/usr.sbin/acpi/acpiconf/Makefile
  projects/release-vmimage/usr.sbin/acpi/acpidb/Makefile
  projects/release-vmimage/usr.sbin/acpi/acpidb/acpidb.c
  projects/release-vmimage/usr.sbin/acpi/acpidump/Makefile
  projects/release-vmimage/usr.sbin/acpi/acpidump/acpi.c
  projects/release-vmimage/usr.sbin/acpi/iasl/Makefile
  projects/release-vmimage/usr.sbin/autofs/common.c
  projects/release-vmimage/usr.sbin/bhyve/acpi.c
  projects/release-vmimage/usr.sbin/bhyve/pci_virtio_block.c
  projects/release-vmimage/usr.sbin/bhyve/xmsr.c
  projects/release-vmimage/usr.sbin/bsdconfig/includes/includes
  projects/release-vmimage/usr.sbin/bsdconfig/share/device.subr
  projects/release-vmimage/usr.sbin/bsdconfig/share/packages/index.subr
  projects/release-vmimage/usr.sbin/bsdinstall/partedit/partedit_x86.c
  projects/release-vmimage/usr.sbin/ctladm/ctladm.8
  projects/release-vmimage/usr.sbin/ctladm/ctladm.c
  projects/release-vmimage/usr.sbin/ctld/kernel.c
  projects/release-vmimage/usr.sbin/ftp-proxy/Makefile
  projects/release-vmimage/usr.sbin/newsyslog/newsyslog.c
  projects/release-vmimage/usr.sbin/nmtree/Makefile
  projects/release-vmimage/usr.sbin/nscd/query.c
  projects/release-vmimage/usr.sbin/pstat/pstat.8
  projects/release-vmimage/usr.sbin/pw/Makefile
  projects/release-vmimage/usr.sbin/pw/pw_user.c
  projects/release-vmimage/usr.sbin/rtadvd/advcap.c
  projects/release-vmimage/usr.sbin/rtadvd/config.c
  projects/release-vmimage/usr.sbin/rtsold/rtsol.c
Directory Properties:
  projects/release-vmimage/   (props changed)
  projects/release-vmimage/cddl/   (props changed)
  projects/release-vmimage/cddl/contrib/opensolaris/   (props changed)
  projects/release-vmimage/cddl/contrib/opensolaris/lib/libzfs/   (props changed)
  projects/release-vmimage/contrib/binutils/   (props changed)
  projects/release-vmimage/contrib/byacc/   (props changed)
  projects/release-vmimage/contrib/libc++/   (props changed)
  projects/release-vmimage/contrib/libpcap/   (props changed)
  projects/release-vmimage/contrib/tcpdump/   (props changed)
  projects/release-vmimage/etc/   (props changed)
  projects/release-vmimage/include/   (props changed)
  projects/release-vmimage/lib/libc/   (props changed)
  projects/release-vmimage/lib/libc/stdtime/   (props changed)
  projects/release-vmimage/sbin/   (props changed)
  projects/release-vmimage/sbin/dumpon/   (props changed)
  projects/release-vmimage/sbin/ipfw/   (props changed)
  projects/release-vmimage/share/   (props changed)
  projects/release-vmimage/share/man/man4/   (props changed)
  projects/release-vmimage/sys/   (props changed)
  projects/release-vmimage/sys/amd64/vmm/   (props changed)
  projects/release-vmimage/sys/boot/   (props changed)
  projects/release-vmimage/sys/boot/powerpc/ofw/   (props changed)
  projects/release-vmimage/sys/cddl/contrib/opensolaris/   (props changed)
  projects/release-vmimage/sys/conf/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/common/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/compiler/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/components/debugger/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/components/disassembler/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/components/dispatcher/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/components/events/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/components/executer/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/components/hardware/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/components/namespace/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/components/parser/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/components/resources/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/components/tables/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/components/utilities/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/include/   (props changed)
  projects/release-vmimage/sys/contrib/dev/acpica/os_specific/   (props changed)
  projects/release-vmimage/sys/contrib/ipfilter/   (props changed)
  projects/release-vmimage/usr.bin/mkimg/   (props changed)
  projects/release-vmimage/usr.sbin/bhyve/   (props changed)
  projects/release-vmimage/usr.sbin/rtadvd/   (props changed)
  projects/release-vmimage/usr.sbin/rtsold/   (props changed)

Modified: projects/release-vmimage/Makefile.inc1
==============================================================================
--- projects/release-vmimage/Makefile.inc1	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/Makefile.inc1	Tue Oct 14 15:37:19 2014	(r273097)
@@ -299,6 +299,10 @@ HMAKE+=		PATH=${TMPPATH} METALOG=${METAL
 WMAKEENV+=	MK_CTF=no
 .endif
 
+.if defined(CROSS_TOOLCHAIN)
+LOCALBASE?=	/usr/local
+.include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk"
+.endif
 .if defined(CROSS_TOOLCHAIN_PREFIX)
 CROSS_COMPILER_PREFIX?=${CROSS_TOOLCHAIN_PREFIX}
 CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX}
@@ -311,7 +315,7 @@ X${COMPILER}?=	${CROSS_COMPILER_PREFIX}$
 X${COMPILER}?=	${${COMPILER}}
 .endif
 .endfor
-XBINUTILS=	AS AR LD NM OBJDUMP RANLIB STRINGS
+XBINUTILS=	AS AR LD NM OBJCOPY OBJDUMP RANLIB SIZE STRINGS
 .for BINUTIL in ${XBINUTILS}
 .if defined(CROSS_BINUTILS_PREFIX)
 X${BINUTIL}?=	${CROSS_BINUTILS_PREFIX}${${BINUTIL}}
@@ -322,7 +326,9 @@ X${BINUTIL}?=	${${BINUTIL}}
 WMAKEENV+=	CC="${XCC} ${XFLAGS}" CXX="${XCXX} ${XFLAGS}" \
 		CPP="${XCPP} ${XFLAGS}" \
 		AS="${XAS}" AR="${XAR}" LD="${XLD}" NM=${XNM} \
-		OBJDUMP=${XOBJDUMP} RANLIB=${XRANLIB} STRINGS=${XSTRINGS}
+		OBJDUMP=${XOBJDUMP} OBJCOPY="${XOBJCOPY}" \
+		RANLIB=${XRANLIB} STRINGS=${XSTRINGS} \
+		SIZE="${XSIZE}"
 
 .if ${XCC:M/*}
 XFLAGS=		--sysroot=${WORLDTMP}
@@ -343,10 +349,14 @@ TARGET_ABI=	gnueabihf
 TARGET_ABI=	gnueabi
 .endif
 .endif
+.if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc
+XFLAGS+=	-isystem ${WORLDTMP}/usr/include -L${WORLDTMP}/usr/lib
+.else
 TARGET_ABI?=	unknown
 TARGET_TRIPLE?=	${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0
 XFLAGS+=	-target ${TARGET_TRIPLE}
 .endif
+.endif
 
 WMAKE=		${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP}
 
@@ -1531,9 +1541,12 @@ _prebuild_libs=	${_kerberos5_lib_libasn1
 		lib/ncurses/ncurses lib/ncurses/ncursesw \
 		lib/libopie lib/libpam ${_lib_libthr} \
 		lib/libradius lib/libsbuf lib/libtacplus \
+		lib/libgeom \
 		${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \
+		${_cddl_lib_libuutil} \
 		${_cddl_lib_libavl} \
 		${_cddl_lib_libzfs_core} \
+		${_cddl_lib_libctf} \
 		lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \
 		${_secure_lib_libcrypto} ${_lib_libldns} \
 		${_secure_lib_libssh} ${_secure_lib_libssl}
@@ -1543,6 +1556,8 @@ gnu/lib/libstdc++__L: lib/msun__L
 gnu/lib/libsupc++__L: gnu/lib/libstdc++__L
 .endif
 
+lib/libgeom__L: lib/libexpat__L
+
 .if defined(WITH_ATF) || ${MK_TESTS} != "no"
 .if !defined(WITH_ATF)
 # Ensure that the ATF libraries will be built during make libraries, even
@@ -1580,9 +1595,13 @@ lib/libopie__L lib/libtacplus__L: lib/li
 _cddl_lib_libumem= cddl/lib/libumem
 _cddl_lib_libnvpair= cddl/lib/libnvpair
 _cddl_lib_libavl= cddl/lib/libavl
+_cddl_lib_libuutil= cddl/lib/libuutil
 _cddl_lib_libzfs_core= cddl/lib/libzfs_core
+_cddl_lib_libctf= cddl/lib/libctf
 _cddl_lib= cddl/lib
 cddl/lib/libzfs_core__L: cddl/lib/libnvpair__L
+cddl/lib/libzfs__L: lib/libgeom__L
+cddl/lib/libctf__L: lib/libz__L
 .endif
 
 .if ${MK_CRYPT} != "no"

Modified: projects/release-vmimage/ObsoleteFiles.inc
==============================================================================
--- projects/release-vmimage/ObsoleteFiles.inc	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/ObsoleteFiles.inc	Tue Oct 14 15:37:19 2014	(r273097)
@@ -1496,6 +1496,7 @@ OLD_LIBS+=usr/lib/libpanel.so.4
 OLD_LIBS+=usr/lib/libpanelw.so.4
 OLD_LIBS+=usr/lib/libpmc.so.4
 OLD_LIBS+=usr/lib/libproc.so.1
+OLD_LIBS+=usr/lib/libproc.so.2
 OLD_LIBS+=usr/lib/libradius.so.3
 OLD_LIBS+=usr/lib/librpcsvc.so.4
 OLD_LIBS+=usr/lib/libsdp.so.3

Modified: projects/release-vmimage/UPDATING
==============================================================================
--- projects/release-vmimage/UPDATING	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/UPDATING	Tue Oct 14 15:37:19 2014	(r273097)
@@ -31,6 +31,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20141009:
+	gperf has been removed from the base system for architectures
+	that use clang. Ports that require gperf will obtain it from the
+	devel/gperf port.
+
 20140923:
 	pjdfstest has been moved from tools/regression/pjdfstest to
 	contrib/pjdfstest .

Modified: projects/release-vmimage/bin/sh/eval.c
==============================================================================
--- projects/release-vmimage/bin/sh/eval.c	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/bin/sh/eval.c	Tue Oct 14 15:37:19 2014	(r273097)
@@ -168,6 +168,8 @@ evalstring(char *s, int flags)
 			else
 				evaltree(n, flags);
 			any = 1;
+			if (evalskip)
+				break;
 		}
 		popstackmark(&smark);
 		setstackmark(&smark);
@@ -316,9 +318,10 @@ evalloop(union node *n, int flags)
 	loopnest++;
 	status = 0;
 	for (;;) {
-		evaltree(n->nbinary.ch1, EV_TESTED);
+		if (!evalskip)
+			evaltree(n->nbinary.ch1, EV_TESTED);
 		if (evalskip) {
-skipping:	  if (evalskip == SKIPCONT && --skipcount <= 0) {
+			if (evalskip == SKIPCONT && --skipcount <= 0) {
 				evalskip = 0;
 				continue;
 			}
@@ -337,8 +340,6 @@ skipping:	  if (evalskip == SKIPCONT && 
 		}
 		evaltree(n->nbinary.ch2, flags);
 		status = exitstatus;
-		if (evalskip)
-			goto skipping;
 	}
 	loopnest--;
 	exitstatus = status;
@@ -648,15 +649,15 @@ evalbackcmd(union node *n, struct backcm
 	struct jmploc *savehandler;
 	struct localvar *savelocalvars;
 
-	setstackmark(&smark);
 	result->fd = -1;
 	result->buf = NULL;
 	result->nleft = 0;
 	result->jp = NULL;
 	if (n == NULL) {
 		exitstatus = 0;
-		goto out;
+		return;
 	}
+	setstackmark(&smark);
 	exitstatus = oexitstatus;
 	if (is_valid_fast_cmdsubst(n)) {
 		savelocalvars = localvars;
@@ -698,7 +699,6 @@ evalbackcmd(union node *n, struct backcm
 		result->fd = pip[0];
 		result->jp = jp;
 	}
-out:
 	popstackmark(&smark);
 	TRACE(("evalbackcmd done: fd=%d buf=%p nleft=%d jp=%p\n",
 		result->fd, result->buf, result->nleft, result->jp));

Modified: projects/release-vmimage/bin/sh/expand.c
==============================================================================
--- projects/release-vmimage/bin/sh/expand.c	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/bin/sh/expand.c	Tue Oct 14 15:37:19 2014	(r273097)
@@ -328,24 +328,19 @@ exptilde(char *p, int flag)
 done:
 	*p = '\0';
 	if (*(startp+1) == '\0') {
-		if ((home = lookupvar("HOME")) == NULL)
-			goto lose;
+		home = lookupvar("HOME");
 	} else {
-		if ((pw = getpwnam(startp+1)) == NULL)
-			goto lose;
-		home = pw->pw_dir;
+		pw = getpwnam(startp+1);
+		home = pw != NULL ? pw->pw_dir : NULL;
 	}
-	if (*home == '\0')
-		goto lose;
 	*p = c;
+	if (home == NULL || *home == '\0')
+		return (startp);
 	if (quotes)
 		STPUTS_QUOTES(home, SQSYNTAX, expdest);
 	else
 		STPUTS(home, expdest);
 	return (p);
-lose:
-	*p = c;
-	return (startp);
 }
 
 

Modified: projects/release-vmimage/bin/sh/jobs.c
==============================================================================
--- projects/release-vmimage/bin/sh/jobs.c	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/bin/sh/jobs.c	Tue Oct 14 15:37:19 2014	(r273097)
@@ -373,13 +373,13 @@ showjob(struct job *jp, int mode)
 			strcat(statestr, " (core dumped)");
 	}
 
-	for (ps = jp->ps ; ; ps++) {	/* for each process */
+	for (ps = jp->ps ; procno > 0 ; ps++, procno--) { /* for each process */
 		if (mode == SHOWJOBS_PIDS || mode == SHOWJOBS_PGIDS) {
 			out1fmt("%d\n", (int)ps->pid);
-			goto skip;
+			continue;
 		}
 		if (mode != SHOWJOBS_VERBOSE && ps != jp->ps)
-			goto skip;
+			continue;
 		if (jobno == curr && ps == jp->ps)
 			c = '+';
 		else if (jobno == prev && ps == jp->ps)
@@ -410,8 +410,6 @@ showjob(struct job *jp, int mode)
 			out1c('\n');
 		} else
 			printjobcmd(jp);
-skip:		if (--procno <= 0)
-			break;
 	}
 }
 

Modified: projects/release-vmimage/bin/sh/parser.c
==============================================================================
--- projects/release-vmimage/bin/sh/parser.c	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/bin/sh/parser.c	Tue Oct 14 15:37:19 2014	(r273097)
@@ -1279,6 +1279,13 @@ readcstyleesc(char *out)
 				c = pgetc();
 			if (c == PEOF)
 				synerror("Unterminated quoted string");
+			if (c == '\n') {
+				plinno++;
+				if (doprompt)
+					setprompt(2);
+				else
+					setprompt(0);
+			}
 		}
 		pungetc();
 		return out;

Modified: projects/release-vmimage/bin/sh/redir.c
==============================================================================
--- projects/release-vmimage/bin/sh/redir.c	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/bin/sh/redir.c	Tue Oct 14 15:37:19 2014	(r273097)
@@ -173,21 +173,12 @@ openredirect(union node *redir, char mem
 		fname = redir->nfile.expfname;
 		if ((f = open(fname, O_RDONLY)) < 0)
 			error("cannot open %s: %s", fname, strerror(errno));
-movefd:
-		if (f != fd) {
-			if (dup2(f, fd) == -1) {
-				e = errno;
-				close(f);
-				error("%d: %s", fd, strerror(e));
-			}
-			close(f);
-		}
 		break;
 	case NFROMTO:
 		fname = redir->nfile.expfname;
 		if ((f = open(fname, O_RDWR|O_CREAT, 0666)) < 0)
 			error("cannot create %s: %s", fname, strerror(errno));
-		goto movefd;
+		break;
 	case NTO:
 		if (Cflag) {
 			fname = redir->nfile.expfname;
@@ -205,19 +196,19 @@ movefd:
 			} else
 				error("cannot create %s: %s", fname,
 				    strerror(EEXIST));
-			goto movefd;
+			break;
 		}
 		/* FALLTHROUGH */
 	case NCLOBBER:
 		fname = redir->nfile.expfname;
 		if ((f = open(fname, O_WRONLY|O_CREAT|O_TRUNC, 0666)) < 0)
 			error("cannot create %s: %s", fname, strerror(errno));
-		goto movefd;
+		break;
 	case NAPPEND:
 		fname = redir->nfile.expfname;
 		if ((f = open(fname, O_WRONLY|O_CREAT|O_APPEND, 0666)) < 0)
 			error("cannot create %s: %s", fname, strerror(errno));
-		goto movefd;
+		break;
 	case NTOFD:
 	case NFROMFD:
 		if (redir->ndup.dupfd >= 0) {	/* if not ">&-" */
@@ -231,14 +222,22 @@ movefd:
 		} else {
 			close(fd);
 		}
-		break;
+		return;
 	case NHERE:
 	case NXHERE:
 		f = openhere(redir);
-		goto movefd;
+		break;
 	default:
 		abort();
 	}
+	if (f != fd) {
+		if (dup2(f, fd) == -1) {
+			e = errno;
+			close(f);
+			error("%d: %s", fd, strerror(e));
+		}
+		close(f);
+	}
 }
 
 

Modified: projects/release-vmimage/bin/sh/tests/builtins/Makefile
==============================================================================
--- projects/release-vmimage/bin/sh/tests/builtins/Makefile	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/bin/sh/tests/builtins/Makefile	Tue Oct 14 15:37:19 2014	(r273097)
@@ -72,6 +72,8 @@ FILES+=		eval3.0
 FILES+=		eval4.0
 FILES+=		eval5.0
 FILES+=		eval6.0
+FILES+=		eval7.0
+FILES+=		eval8.7
 FILES+=		exec1.0
 FILES+=		exec2.0
 FILES+=		exit1.0
@@ -100,6 +102,7 @@ FILES+=		jobid2.0
 FILES+=		kill1.0 kill2.0
 FILES+=		lineno.0 lineno.0.stdout
 FILES+=		lineno2.0
+FILES+=		lineno3.0 lineno3.0.stdout
 FILES+=		local1.0
 FILES+=		local2.0
 FILES+=		local3.0

Copied: projects/release-vmimage/bin/sh/tests/builtins/eval7.0 (from r273095, head/bin/sh/tests/builtins/eval7.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-vmimage/bin/sh/tests/builtins/eval7.0	Tue Oct 14 15:37:19 2014	(r273097, copy of r273095, head/bin/sh/tests/builtins/eval7.0)
@@ -0,0 +1,9 @@
+# $FreeBSD$
+# Assumes that break can break out of a loop outside eval.
+
+while :; do
+	eval "break
+echo bad1"
+	echo bad2
+	exit 3
+done

Copied: projects/release-vmimage/bin/sh/tests/builtins/eval8.7 (from r273095, head/bin/sh/tests/builtins/eval8.7)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-vmimage/bin/sh/tests/builtins/eval8.7	Tue Oct 14 15:37:19 2014	(r273097, copy of r273095, head/bin/sh/tests/builtins/eval8.7)
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+f() {
+	eval "return 7
+echo bad2"
+}
+f

Copied: projects/release-vmimage/bin/sh/tests/builtins/lineno3.0 (from r273095, head/bin/sh/tests/builtins/lineno3.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-vmimage/bin/sh/tests/builtins/lineno3.0	Tue Oct 14 15:37:19 2014	(r273097, copy of r273095, head/bin/sh/tests/builtins/lineno3.0)
@@ -0,0 +1,6 @@
+# $FreeBSD$
+
+echo before: $LINENO
+dummy=$'a\0
+'
+echo after: $LINENO

Copied: projects/release-vmimage/bin/sh/tests/builtins/lineno3.0.stdout (from r273095, head/bin/sh/tests/builtins/lineno3.0.stdout)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-vmimage/bin/sh/tests/builtins/lineno3.0.stdout	Tue Oct 14 15:37:19 2014	(r273097, copy of r273095, head/bin/sh/tests/builtins/lineno3.0.stdout)
@@ -0,0 +1,2 @@
+before: 3
+after: 6

Modified: projects/release-vmimage/bin/sh/trap.c
==============================================================================
--- projects/release-vmimage/bin/sh/trap.c	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/bin/sh/trap.c	Tue Oct 14 15:37:19 2014	(r273097)
@@ -510,28 +510,25 @@ exitshell_savedstatus(void)
 			exiting_exitstatus = oexitstatus;
 	}
 	exitstatus = oexitstatus = exiting_exitstatus;
-	if (setjmp(loc1.loc)) {
-		goto l1;
+	if (!setjmp(loc1.loc)) {
+		handler = &loc1;
+		if ((p = trap[0]) != NULL && *p != '\0') {
+			/*
+			 * Reset evalskip, or the trap on EXIT could be
+			 * interrupted if the last command was a "return".
+			 */
+			evalskip = 0;
+			trap[0] = NULL;
+			evalstring(p, 0);
+		}
 	}
-	if (setjmp(loc2.loc)) {
-		goto l2;
-	}
-	handler = &loc1;
-	if ((p = trap[0]) != NULL && *p != '\0') {
-		/*
-		 * Reset evalskip, or the trap on EXIT could be
-		 * interrupted if the last command was a "return".
-		 */
-		evalskip = 0;
-		trap[0] = NULL;
-		evalstring(p, 0);
-	}
-l1:   handler = &loc2;			/* probably unnecessary */
-	flushall();
+	if (!setjmp(loc2.loc)) {
+		handler = &loc2;		/* probably unnecessary */
+		flushall();
 #if JOBS
-	setjobctl(0);
+		setjobctl(0);
 #endif
-l2:
+	}
 	if (sig != 0 && sig != SIGSTOP && sig != SIGTSTP && sig != SIGTTIN &&
 	    sig != SIGTTOU) {
 		signal(sig, SIG_DFL);

Modified: projects/release-vmimage/bin/sleep/Makefile
==============================================================================
--- projects/release-vmimage/bin/sleep/Makefile	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/bin/sleep/Makefile	Tue Oct 14 15:37:19 2014	(r273097)
@@ -1,6 +1,12 @@
 #	@(#)Makefile	8.1 (Berkeley) 5/31/93
 # $FreeBSD$
 
+.include <src.opts.mk>
+
 PROG=	sleep
 
+.if ${MK_TESTS} != "no"
+SUBDIR+=	tests
+.endif
+
 .include <bsd.prog.mk>

Modified: projects/release-vmimage/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c
==============================================================================
--- projects/release-vmimage/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c	Tue Oct 14 15:37:19 2014	(r273097)
@@ -710,6 +710,9 @@ list_probe(dtrace_hdl_t *dtp, const dtra
 	if (g_verbose && dtrace_probe_info(dtp, pdp, &p) == 0)
 		print_probe_info(&p);
 
+	if (g_intr != 0)
+		return (1);
+
 	return (0);
 }
 
@@ -1220,11 +1223,34 @@ intr(int signo)
 		g_impatient = 1;
 }
 
+static void
+installsighands(void)
+{
+	struct sigaction act, oact;
+
+	(void) sigemptyset(&act.sa_mask);
+	act.sa_flags = 0;
+	act.sa_handler = intr;
+
+	if (sigaction(SIGINT, NULL, &oact) == 0 && oact.sa_handler != SIG_IGN)
+		(void) sigaction(SIGINT, &act, NULL);
+
+	if (sigaction(SIGTERM, NULL, &oact) == 0 && oact.sa_handler != SIG_IGN)
+		(void) sigaction(SIGTERM, &act, NULL);
+
+#if !defined(sun)
+	if (sigaction(SIGPIPE, NULL, &oact) == 0 && oact.sa_handler != SIG_IGN)
+		(void) sigaction(SIGPIPE, &act, NULL);
+
+	if (sigaction(SIGUSR1, NULL, &oact) == 0 && oact.sa_handler != SIG_IGN)
+		(void) sigaction(SIGUSR1, &act, NULL);
+#endif
+}
+
 int
 main(int argc, char *argv[])
 {
 	dtrace_bufdesc_t buf;
-	struct sigaction act, oact;
 	dtrace_status_t status[2];
 	dtrace_optval_t opt;
 	dtrace_cmd_t *dcp;
@@ -1776,6 +1802,8 @@ main(int argc, char *argv[])
 		if (g_ofile != NULL && (g_ofp = fopen(g_ofile, "a")) == NULL)
 			fatal("failed to open output file '%s'", g_ofile);
 
+		installsighands();
+
 		oprintf("%5s %10s %17s %33s %s\n",
 		    "ID", "PROVIDER", "MODULE", "FUNCTION", "NAME");
 
@@ -1861,20 +1889,7 @@ main(int argc, char *argv[])
 	if (opt != DTRACEOPT_UNSET)
 		notice("allowing destructive actions\n");
 
-	(void) sigemptyset(&act.sa_mask);
-	act.sa_flags = 0;
-	act.sa_handler = intr;
-
-	if (sigaction(SIGINT, NULL, &oact) == 0 && oact.sa_handler != SIG_IGN)
-		(void) sigaction(SIGINT, &act, NULL);
-
-	if (sigaction(SIGTERM, NULL, &oact) == 0 && oact.sa_handler != SIG_IGN)
-		(void) sigaction(SIGTERM, &act, NULL);
-
-#if !defined(sun)
-	if (sigaction(SIGUSR1, NULL, &oact) == 0 && oact.sa_handler != SIG_IGN)
-		(void) sigaction(SIGUSR1, &act, NULL);
-#endif
+	installsighands();
 
 	/*
 	 * Now that tracing is active and we are ready to consume trace data,

Modified: projects/release-vmimage/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/tst.userlandkey.ksh
==============================================================================
--- projects/release-vmimage/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/tst.userlandkey.ksh	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/tst.userlandkey.ksh	Tue Oct 14 15:37:19 2014	(r273097)
@@ -38,7 +38,7 @@ fi
 ./$exe &
 pid=$!
 
-$dtrace -32 -qs /dev/stdin <<EOF
+$dtrace -qs /dev/stdin <<EOF
 typedef struct info {
         char    *zi_gamename;
         int     zi_ndungeons;

Modified: projects/release-vmimage/cddl/contrib/opensolaris/cmd/lockstat/lockstat.1
==============================================================================
--- projects/release-vmimage/cddl/contrib/opensolaris/cmd/lockstat/lockstat.1	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/cddl/contrib/opensolaris/cmd/lockstat/lockstat.1	Tue Oct 14 15:37:19 2014	(r273097)
@@ -21,7 +21,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd October 24, 2013
+.Dd October 8, 2014
 .Dt LOCKSTAT 1
 .Os
 .Sh NAME
@@ -238,10 +238,11 @@ Average duration of the events in nanose
 For the profiling event, duration means interrupt latency.
 .It Lock
 Address of the lock; displayed symbolically if possible.
-.It CPU+PIL
-CPU plus processor interrupt level (PIL).
-For example, if CPU 4 is interrupted while at PIL 6, this will be reported as
-cpu[4]+6.
+.It CPU+Pri_Class
+CPU plus the priority class of the interrupted thread.
+For example, if CPU 4 is interrupted while running a timeshare thread, this
+will be reported as
+.Ql cpu[4]+TShar .
 .It Caller
 Address of the caller; displayed symbolically if possible.
 .El

Modified: projects/release-vmimage/cddl/contrib/opensolaris/cmd/zdb/zdb.c
==============================================================================
--- projects/release-vmimage/cddl/contrib/opensolaris/cmd/zdb/zdb.c	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/cddl/contrib/opensolaris/cmd/zdb/zdb.c	Tue Oct 14 15:37:19 2014	(r273097)
@@ -76,8 +76,10 @@
 
 #ifndef lint
 extern boolean_t zfs_recover;
+extern uint64_t zfs_arc_max, zfs_arc_meta_limit;
 #else
 boolean_t zfs_recover;
+uint64_t zfs_arc_max, zfs_arc_meta_limit;
 #endif
 
 const char cmdname[] = "zdb";
@@ -89,7 +91,7 @@ extern void dump_intent_log(zilog_t *);
 uint64_t *zopt_object = NULL;
 int zopt_objects = 0;
 libzfs_handle_t *g_zfs;
-uint64_t max_inflight = 200;
+uint64_t max_inflight = 1000;
 
 /*
  * These libumem hooks provide a reasonable set of defaults for the allocator's
@@ -1461,6 +1463,11 @@ dump_deadlist(dsl_deadlist_t *dl)
 	if (dump_opt['d'] < 3)
 		return;
 
+	if (dl->dl_oldfmt) {
+		dump_bpobj(&dl->dl_bpobj, "old-format deadlist", 0);
+		return;
+	}
+
 	zdb_nicenum(dl->dl_phys->dl_used, bytes);
 	zdb_nicenum(dl->dl_phys->dl_comp, comp);
 	zdb_nicenum(dl->dl_phys->dl_uncomp, uncomp);
@@ -2377,7 +2384,7 @@ zdb_blkptr_cb(spa_t *spa, zilog_t *zilog
 
 	zcb->zcb_readfails = 0;
 
-	if (dump_opt['b'] < 5 && isatty(STDERR_FILENO) &&
+	if (dump_opt['b'] < 5 &&
 	    gethrtime() > zcb->zcb_lastprint + NANOSEC) {
 		uint64_t now = gethrtime();
 		char buf[10];
@@ -2462,9 +2469,9 @@ zdb_leak_init(spa_t *spa, zdb_cb_t *zcb)
 
 	if (!dump_opt['L']) {
 		vdev_t *rvd = spa->spa_root_vdev;
-		for (int c = 0; c < rvd->vdev_children; c++) {
+		for (uint64_t c = 0; c < rvd->vdev_children; c++) {
 			vdev_t *vd = rvd->vdev_child[c];
-			for (int m = 0; m < vd->vdev_ms_count; m++) {
+			for (uint64_t m = 0; m < vd->vdev_ms_count; m++) {
 				metaslab_t *msp = vd->vdev_ms[m];
 				mutex_enter(&msp->ms_lock);
 				metaslab_unload(msp);
@@ -2477,6 +2484,15 @@ zdb_leak_init(spa_t *spa, zdb_cb_t *zcb)
 				 * interfaces.
 				 */
 				if (msp->ms_sm != NULL) {
+					(void) fprintf(stderr,
+					    "\rloading space map for "
+					    "vdev %llu of %llu, "
+					    "metaslab %llu of %llu ...",
+					    (longlong_t)c,
+					    (longlong_t)rvd->vdev_children,
+					    (longlong_t)m,
+					    (longlong_t)vd->vdev_ms_count);
+
 					msp->ms_ops = &zdb_metaslab_ops;
 					VERIFY0(space_map_load(msp->ms_sm,
 					    msp->ms_tree, SM_ALLOC));
@@ -2485,6 +2501,7 @@ zdb_leak_init(spa_t *spa, zdb_cb_t *zcb)
 				mutex_exit(&msp->ms_lock);
 			}
 		}
+		(void) fprintf(stderr, "\n");
 	}
 
 	spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
@@ -2594,10 +2611,12 @@ dump_block_stats(spa_t *spa)
 	 * all async I/Os to complete.
 	 */
 	if (dump_opt['c']) {
-		(void) zio_wait(spa->spa_async_zio_root);
-		spa->spa_async_zio_root = zio_root(spa, NULL, NULL,
-		    ZIO_FLAG_CANFAIL | ZIO_FLAG_SPECULATIVE |
-		    ZIO_FLAG_GODFATHER);
+		for (int i = 0; i < max_ncpus; i++) {
+			(void) zio_wait(spa->spa_async_zio_root[i]);
+			spa->spa_async_zio_root[i] = zio_root(spa, NULL, NULL,
+			    ZIO_FLAG_CANFAIL | ZIO_FLAG_SPECULATIVE |
+			    ZIO_FLAG_GODFATHER);
+		}
 	}
 
 	if (zcb.zcb_haderrors) {
@@ -3483,6 +3502,12 @@ main(int argc, char **argv)
 		usage();
 	}
 
+	/*
+	 * ZDB does not typically re-read blocks; therefore limit the ARC
+	 * to 256 MB, which can be used entirely for metadata.
+	 */
+	zfs_arc_max = zfs_arc_meta_limit = 256 * 1024 * 1024;
+
 	kernel_init(FREAD);
 	g_zfs = libzfs_init();
 	ASSERT(g_zfs != NULL);

Modified: projects/release-vmimage/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
==============================================================================
--- projects/release-vmimage/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c	Tue Oct 14 15:37:19 2014	(r273097)
@@ -2857,10 +2857,7 @@ print_pool(zpool_handle_t *zhp, list_cbd
 
 		right_justify = B_FALSE;
 		if (pl->pl_prop != ZPROP_INVAL) {
-			if (pl->pl_prop == ZPOOL_PROP_EXPANDSZ &&
-			    zpool_get_prop_int(zhp, pl->pl_prop, NULL) == 0)
-				propstr = "-";
-			else if (zpool_get_prop(zhp, pl->pl_prop, property,
+			if (zpool_get_prop(zhp, pl->pl_prop, property,
 			    sizeof (property), NULL, cb->cb_literal) != 0)
 				propstr = "-";
 			else
@@ -2894,21 +2891,37 @@ print_pool(zpool_handle_t *zhp, list_cbd
 }
 
 static void
-print_one_column(zpool_prop_t prop, uint64_t value, boolean_t scripted)
+print_one_column(zpool_prop_t prop, uint64_t value, boolean_t scripted,
+    boolean_t valid)
 {
 	char propval[64];
 	boolean_t fixed;
 	size_t width = zprop_width(prop, &fixed, ZFS_TYPE_POOL);
 
-
-	if (prop == ZPOOL_PROP_EXPANDSZ && value == 0)
-		(void) strlcpy(propval, "-", sizeof (propval));
-	else if (prop == ZPOOL_PROP_FRAGMENTATION && value == ZFS_FRAG_INVALID)
-		(void) strlcpy(propval, "-", sizeof (propval));
-	else if (prop == ZPOOL_PROP_FRAGMENTATION)
+	switch (prop) {
+	case ZPOOL_PROP_EXPANDSZ:
+		if (value == 0)
+			(void) strlcpy(propval, "-", sizeof (propval));
+		else
+			zfs_nicenum(value, propval, sizeof (propval));
+		break;
+	case ZPOOL_PROP_FRAGMENTATION:
+		if (value == ZFS_FRAG_INVALID) {
+			(void) strlcpy(propval, "-", sizeof (propval));
+		} else {
+			(void) snprintf(propval, sizeof (propval), "%llu%%",
+			    value);
+		}
+		break;
+	case ZPOOL_PROP_CAPACITY:
 		(void) snprintf(propval, sizeof (propval), "%llu%%", value);
-	else
+		break;
+	default:
 		zfs_nicenum(value, propval, sizeof (propval));
+	}
+
+	if (!valid)
+		(void) strlcpy(propval, "-", sizeof (propval));
 
 	if (scripted)
 		(void) printf("\t%s", propval);
@@ -2930,6 +2943,9 @@ print_list_stats(zpool_handle_t *zhp, co
 	    (uint64_t **)&vs, &c) == 0);
 
 	if (name != NULL) {
+		boolean_t toplevel = (vs->vs_space != 0);
+		uint64_t cap;
+
 		if (scripted)
 			(void) printf("\t%s", name);
 		else if (strlen(name) + depth > cb->cb_namewidth)
@@ -2938,24 +2954,26 @@ print_list_stats(zpool_handle_t *zhp, co
 			(void) printf("%*s%s%*s", depth, "", name,
 			    (int)(cb->cb_namewidth - strlen(name) - depth), "");
 
-		/* only toplevel vdevs have capacity stats */
-		if (vs->vs_space == 0) {
-			if (scripted)
-				(void) printf("\t-\t-\t-\t-");
-			else
-				(void) printf("      -      -      -      -");
-		} else {
-			print_one_column(ZPOOL_PROP_SIZE, vs->vs_space,
-			    scripted);
-			print_one_column(ZPOOL_PROP_CAPACITY, vs->vs_alloc,
-			    scripted);
-			print_one_column(ZPOOL_PROP_FREE,
-			    vs->vs_space - vs->vs_alloc, scripted);
-			print_one_column(ZPOOL_PROP_FRAGMENTATION,
-			    vs->vs_fragmentation, scripted);
-		}
-		print_one_column(ZPOOL_PROP_EXPANDSZ, vs->vs_esize,
-		    scripted);
+		/*
+		 * Print the properties for the individual vdevs. Some
+		 * properties are only applicable to toplevel vdevs. The
+		 * 'toplevel' boolean value is passed to the print_one_column()
+		 * to indicate that the value is valid.
+		 */
+		print_one_column(ZPOOL_PROP_SIZE, vs->vs_space, scripted,
+		    toplevel);
+		print_one_column(ZPOOL_PROP_ALLOCATED, vs->vs_alloc, scripted,
+		    toplevel);
+		print_one_column(ZPOOL_PROP_FREE, vs->vs_space - vs->vs_alloc,
+		    scripted, toplevel);
+		print_one_column(ZPOOL_PROP_EXPANDSZ, vs->vs_esize, scripted,
+		    B_TRUE);
+		print_one_column(ZPOOL_PROP_FRAGMENTATION,
+		    vs->vs_fragmentation, scripted,
+		    (vs->vs_fragmentation != ZFS_FRAG_INVALID && toplevel));
+		cap = (vs->vs_space == 0) ? 0 :
+		    (vs->vs_alloc * 100 / vs->vs_space);
+		print_one_column(ZPOOL_PROP_CAPACITY, cap, scripted, toplevel);
 		(void) printf("\n");
 	}
 
@@ -3024,7 +3042,8 @@ list_callback(zpool_handle_t *zhp, void 
  *	-H	Scripted mode.  Don't display headers, and separate properties
  *		by a single tab.
  *	-o	List of properties to display.  Defaults to
- *		"name,size,allocated,free,capacity,health,altroot"
+ *		"name,size,allocated,free,expandsize,fragmentation,capacity,"
+ *		"dedupratio,health,altroot"
  * 	-p	Diplay values in parsable (exact) format.
  *	-T	Display a timestamp in date(1) or Unix format
  *
@@ -3038,7 +3057,7 @@ zpool_do_list(int argc, char **argv)
 	int ret;
 	list_cbdata_t cb = { 0 };
 	static char default_props[] =
-	    "name,size,allocated,free,fragmentation,expandsize,capacity,"
+	    "name,size,allocated,free,expandsize,fragmentation,capacity,"
 	    "dedupratio,health,altroot";
 	char *props = default_props;
 	unsigned long interval = 0, count = 0;

Modified: projects/release-vmimage/cddl/contrib/opensolaris/lib/libdtrace/common/dt_grammar.y
==============================================================================
--- projects/release-vmimage/cddl/contrib/opensolaris/lib/libdtrace/common/dt_grammar.y	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/cddl/contrib/opensolaris/lib/libdtrace/common/dt_grammar.y	Tue Oct 14 15:37:19 2014	(r273097)
@@ -207,6 +207,8 @@
 %type	<l_tok>		unary_operator
 %type	<l_tok>		struct_or_union
 
+%type	<l_str>		dtrace_keyword_ident
+
 %%
 
 dtrace_program: d_expression DT_TOK_EOF { return (dt_node_root($1)); }
@@ -391,12 +393,18 @@ postfix_expression:
 	|	postfix_expression DT_TOK_DOT DT_TOK_TNAME {
 			$$ = OP2(DT_TOK_DOT, $1, dt_node_ident($3));
 		}
+	|	postfix_expression DT_TOK_DOT dtrace_keyword_ident {
+			$$ = OP2(DT_TOK_DOT, $1, dt_node_ident($3));
+		}
 	|	postfix_expression DT_TOK_PTR DT_TOK_IDENT {
 			$$ = OP2(DT_TOK_PTR, $1, dt_node_ident($3));
 		}
 	|	postfix_expression DT_TOK_PTR DT_TOK_TNAME {
 			$$ = OP2(DT_TOK_PTR, $1, dt_node_ident($3));
 		}
+	|	postfix_expression DT_TOK_PTR dtrace_keyword_ident {
+			$$ = OP2(DT_TOK_PTR, $1, dt_node_ident($3));
+		}
 	|	postfix_expression DT_TOK_ADDADD {
 			$$ = OP1(DT_TOK_POSTINC, $1);
 		}
@@ -411,6 +419,10 @@ postfix_expression:
 		    DT_TOK_TNAME DT_TOK_RPAR {
 			$$ = dt_node_offsetof($3, $5);
 		}
+	|	DT_TOK_OFFSETOF DT_TOK_LPAR type_name DT_TOK_COMMA
+		    dtrace_keyword_ident DT_TOK_RPAR {
+			$$ = dt_node_offsetof($3, $5);
+		}
 	|	DT_TOK_XLATE DT_TOK_LT type_name DT_TOK_GT
 		    DT_TOK_LPAR expression DT_TOK_RPAR {
 			$$ = OP2(DT_TOK_XLATE, dt_node_type($3), $6);
@@ -835,4 +847,15 @@ function_parameters:
 	|	parameter_type_list	{ $$ = $1; }
 	;
 
+dtrace_keyword_ident:
+	  DT_KEY_PROBE { $$ = DUP("probe"); }
+	| DT_KEY_PROVIDER { $$ = DUP("provider"); }
+	| DT_KEY_SELF { $$ = DUP("self"); }
+	| DT_KEY_STRING { $$ = DUP("string"); }
+	| DT_TOK_STRINGOF { $$ = DUP("stringof"); }
+	| DT_KEY_USERLAND { $$ = DUP("userland"); }
+	| DT_TOK_XLATE { $$ = DUP("xlate"); }
+	| DT_KEY_XLATOR { $$ = DUP("translator"); }
+	;
+
 %%

Modified: projects/release-vmimage/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.c
==============================================================================
--- projects/release-vmimage/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.c	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.c	Tue Oct 14 15:37:19 2014	(r273097)
@@ -434,15 +434,10 @@ static const prmap_t *
 dt_pid_fix_mod(dtrace_probedesc_t *pdp, struct ps_prochandle *P)
 {
 	char m[MAXPATHLEN];
-#if defined(sun)
 	Lmid_t lmid = PR_LMID_EVERY;
-#else
-	Lmid_t lmid = 0;
-#endif
 	const char *obj;
 	const prmap_t *pmp;
 
-#if defined(sun)
 	/*
 	 * Pick apart the link map from the library name.
 	 */
@@ -463,20 +458,17 @@ dt_pid_fix_mod(dtrace_probedesc_t *pdp, 
 	} else {
 		obj = pdp->dtpd_mod;
 	}
-#else
-	obj = pdp->dtpd_mod;
-#endif
 
 	if ((pmp = Plmid_to_map(P, lmid, obj)) == NULL)
 		return (NULL);
 
-#if defined(sun)
 	(void) Pobjname(P, pmp->pr_vaddr, m, sizeof (m));
 	if ((obj = strrchr(m, '/')) == NULL)
 		obj = &m[0];
 	else
 		obj++;
 
+#if defined(sun)
 	(void) Plmid(P, pmp->pr_vaddr, &lmid);
 #endif
 
@@ -571,9 +563,7 @@ dt_pid_usdt_mapping(void *data, const pr
 {
 	struct ps_prochandle *P = data;
 	GElf_Sym sym;
-#if defined(sun)
 	prsyminfo_t sip;
-#endif
 	dof_helper_t dh;
 	GElf_Half e_type;
 	const char *mname;
@@ -852,11 +842,7 @@ dt_pid_get_types(dtrace_hdl_t *dtp, cons
 	ctf_funcinfo_t f;
 	ctf_id_t argv[32];
 	GElf_Sym sym;
-#if defined(sun)
 	prsyminfo_t si;
-#else
-	void *si;
-#endif
 	struct ps_prochandle *p;
 	int i, args;
 	char buf[DTRACE_ARGTYPELEN];
@@ -941,13 +927,11 @@ dt_pid_get_types(dtrace_hdl_t *dtp, cons
 		    pdp->dtpd_func, pdp->dtpd_provider, pdp->dtpd_mod);
 		goto out;
 	}
-#if defined(sun)
 	if (ctf_func_info(fp, si.prs_id, &f) == CTF_ERR) {
 		dt_dprintf("failed to get ctf information for %s in %s`%s\n",
 		    pdp->dtpd_func, pdp->dtpd_provider, pdp->dtpd_mod);
 		goto out;
 	}
-#endif
 
 	(void) snprintf(buf, sizeof (buf), "%s`%s", pdp->dtpd_provider,
 	    pdp->dtpd_mod);
@@ -977,7 +961,6 @@ dt_pid_get_types(dtrace_hdl_t *dtp, cons
 		(void) ctf_type_qname(fp, f.ctc_return, adp->dtargd_native +
 		    ret, DTRACE_ARGTYPELEN - ret, buf);
 		*nargs = 2;
-#if defined(sun)
 	} else {
 		if (ctf_func_args(fp, si.prs_id, argc, argv) == CTF_ERR)
 			goto out;
@@ -993,7 +976,6 @@ dt_pid_get_types(dtrace_hdl_t *dtp, cons
 			(void) ctf_type_qname(fp, argv[i], adp->dtargd_native +
 			    ret, DTRACE_ARGTYPELEN - ret, buf);
 		}
-#endif
 	}
 out:
 	dt_proc_unlock(dtp, p);

Modified: projects/release-vmimage/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c
==============================================================================
--- projects/release-vmimage/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c	Tue Oct 14 15:37:19 2014	(r273097)
@@ -22,7 +22,7 @@
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
- * Copyright (c) 2012, 2014 by Delphix. All rights reserved.
+ * Copyright (c) 2011, 2014 by Delphix. All rights reserved.
  * Copyright (c) 2013, Joyent, Inc. All rights reserved.
  */
 
@@ -304,7 +304,6 @@ zpool_get_prop(zpool_handle_t *zhp, zpoo
 		case ZPOOL_PROP_FREE:
 		case ZPOOL_PROP_FREEING:
 		case ZPOOL_PROP_LEAKED:
-		case ZPOOL_PROP_EXPANDSZ:
 			if (literal) {
 				(void) snprintf(buf, len, "%llu",
 				    (u_longlong_t)intval);
@@ -312,7 +311,16 @@ zpool_get_prop(zpool_handle_t *zhp, zpoo
 				(void) zfs_nicenum(intval, buf, len);
 			}
 			break;
-
+		case ZPOOL_PROP_EXPANDSZ:
+			if (intval == 0) {
+				(void) strlcpy(buf, "-", len);
+			} else if (literal) {
+				(void) snprintf(buf, len, "%llu",
+				    (u_longlong_t)intval);
+			} else {
+				(void) zfs_nicenum(intval, buf, len);
+			}
+			break;
 		case ZPOOL_PROP_CAPACITY:
 			if (literal) {
 				(void) snprintf(buf, len, "%llu",
@@ -330,13 +338,11 @@ zpool_get_prop(zpool_handle_t *zhp, zpoo
 				    (u_longlong_t)intval);
 			}
 			break;
-
 		case ZPOOL_PROP_DEDUPRATIO:
 			(void) snprintf(buf, len, "%llu.%02llux",
 			    (u_longlong_t)(intval / 100),
 			    (u_longlong_t)(intval % 100));
 			break;
-
 		case ZPOOL_PROP_HEALTH:
 			verify(nvlist_lookup_nvlist(zpool_get_config(zhp, NULL),
 			    ZPOOL_CONFIG_VDEV_TREE, &nvroot) == 0);

Modified: projects/release-vmimage/cddl/lib/libdtrace/libproc_compat.h
==============================================================================
--- projects/release-vmimage/cddl/lib/libdtrace/libproc_compat.h	Tue Oct 14 15:22:46 2014	(r273096)
+++ projects/release-vmimage/cddl/lib/libdtrace/libproc_compat.h	Tue Oct 14 15:37:19 2014	(r273097)
@@ -38,7 +38,7 @@
 #define	Pxlookup_by_addr(p, a, n, s, sym, i) \
     proc_addr2sym(p, a, n, s, sym)
 #define	Pxlookup_by_name(p, l, s1, s2, sym, a) \
-    proc_name2sym((p), (s1), (s2), (sym))

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

From owner-svn-src-projects@FreeBSD.ORG  Wed Oct 15 04:29:03 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id DF21CB73;
 Wed, 15 Oct 2014 04:29:03 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id CB6BB8BA;
 Wed, 15 Oct 2014 04:29:03 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9F4T3XG077492;
 Wed, 15 Oct 2014 04:29:03 GMT (envelope-from neel@FreeBSD.org)
Received: (from neel@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9F4T3bY077491;
 Wed, 15 Oct 2014 04:29:03 GMT (envelope-from neel@FreeBSD.org)
Message-Id: <201410150429.s9F4T3bY077491@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: neel set sender to neel@FreeBSD.org
 using -f
From: Neel Natu <neel@FreeBSD.org>
Date: Wed, 15 Oct 2014 04:29:03 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273116 - projects/bhyve_svm/sys/amd64/vmm
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Oct 2014 04:29:04 -0000

Author: neel
Date: Wed Oct 15 04:29:03 2014
New Revision: 273116
URL: https://svnweb.freebsd.org/changeset/base/273116

Log:
  Actually hide the SVM capability by clearing CPUID.80000001H:ECX[bit 3]
  after it has been initialized by cpuid_count().
  
  Submitted by:	Anish Gupta (akgupt3@gmail.com)

Modified:
  projects/bhyve_svm/sys/amd64/vmm/x86.c

Modified: projects/bhyve_svm/sys/amd64/vmm/x86.c
==============================================================================
--- projects/bhyve_svm/sys/amd64/vmm/x86.c	Wed Oct 15 03:15:46 2014	(r273115)
+++ projects/bhyve_svm/sys/amd64/vmm/x86.c	Wed Oct 15 04:29:03 2014	(r273116)
@@ -129,13 +129,17 @@ x86_emulate_cpuid(struct vm *vm, int vcp
 			break;
 
 		case CPUID_8000_0001:
-			/* Hide SVM capability from guest. */
+			cpuid_count(*eax, *ecx, regs);
+
+			/*
+			 * Hide SVM capability from guest.
+			 */
 			regs[2] &= ~AMDID2_SVM;
+
 			/*
 			 * Hide rdtscp/ia32_tsc_aux until we know how
 			 * to deal with them.
 			 */
-			cpuid_count(*eax, *ecx, regs);
 			regs[3] &= ~AMDID_RDTSCP;
 			break;
 

From owner-svn-src-projects@FreeBSD.ORG  Wed Oct 15 12:38:01 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 19F448E9;
 Wed, 15 Oct 2014 12:38:01 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 0246D116;
 Wed, 15 Oct 2014 12:38:01 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9FCc0Hx018101;
 Wed, 15 Oct 2014 12:38:00 GMT (envelope-from markm@FreeBSD.org)
Received: (from markm@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9FCbv9Q018071;
 Wed, 15 Oct 2014 12:37:57 GMT (envelope-from markm@FreeBSD.org)
Message-Id: <201410151237.s9FCbv9Q018071@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: markm set sender to
 markm@FreeBSD.org using -f
From: Mark Murray <markm@FreeBSD.org>
Date: Wed, 15 Oct 2014 12:37:57 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273128 - in projects/random_number_generator:
 cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt lib/libc/arm/aeabi
 lib/libfetch release release/amd64 release/i386 release/tools ...
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Oct 2014 12:38:01 -0000

Author: markm
Date: Wed Oct 15 12:37:56 2014
New Revision: 273128
URL: https://svnweb.freebsd.org/changeset/base/273128

Log:
  MFC - tracking commit.
  Merging r273070 through r273127.

Added:
  projects/random_number_generator/lib/libc/arm/aeabi/aeabi_asm_double.S
     - copied unchanged from r273127, head/lib/libc/arm/aeabi/aeabi_asm_double.S
  projects/random_number_generator/lib/libc/arm/aeabi/aeabi_asm_float.S
     - copied unchanged from r273127, head/lib/libc/arm/aeabi/aeabi_asm_float.S
  projects/random_number_generator/release/amd64/mk-azure.sh
     - copied unchanged from r273127, head/release/amd64/mk-azure.sh
  projects/random_number_generator/release/i386/mk-azure.sh
     - copied unchanged from r273127, head/release/i386/mk-azure.sh
  projects/random_number_generator/release/tools/azure.conf
     - copied unchanged from r273127, head/release/tools/azure.conf
Deleted:
  projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/main.c
Modified:
  projects/random_number_generator/lib/libc/arm/aeabi/Makefile.inc
  projects/random_number_generator/lib/libc/arm/aeabi/Symbol.map
  projects/random_number_generator/lib/libc/arm/aeabi/aeabi_double.c
  projects/random_number_generator/lib/libc/arm/aeabi/aeabi_float.c
  projects/random_number_generator/lib/libc/arm/aeabi/aeabi_vfp_double.S
  projects/random_number_generator/lib/libc/arm/aeabi/aeabi_vfp_float.S
  projects/random_number_generator/lib/libfetch/common.c
  projects/random_number_generator/lib/libfetch/fetch.3
  projects/random_number_generator/release/Makefile
  projects/random_number_generator/release/amd64/mk-vmimage.sh
  projects/random_number_generator/release/i386/mk-vmimage.sh
  projects/random_number_generator/share/examples/bhyve/vmrun.sh
  projects/random_number_generator/share/man/man4/gif.4
  projects/random_number_generator/share/man/man4/tcp.4
  projects/random_number_generator/share/misc/scsi_modes
  projects/random_number_generator/sys/amd64/vmm/vmm_instruction_emul.c
  projects/random_number_generator/sys/arm/conf/PANDABOARD
  projects/random_number_generator/sys/arm/ti/am335x/am335x_scm_padconf.c
  projects/random_number_generator/sys/arm/ti/omap4/omap4_scm_padconf.c
  projects/random_number_generator/sys/cam/ctl/ctl.c
  projects/random_number_generator/sys/cam/ctl/ctl.h
  projects/random_number_generator/sys/cam/ctl/ctl_backend.h
  projects/random_number_generator/sys/cam/ctl/ctl_cmd_table.c
  projects/random_number_generator/sys/cam/ctl/ctl_io.h
  projects/random_number_generator/sys/cam/ctl/ctl_private.h
  projects/random_number_generator/sys/cam/scsi/scsi_all.h
  projects/random_number_generator/sys/cam/scsi/scsi_da.h
  projects/random_number_generator/sys/conf/files
  projects/random_number_generator/sys/dev/ixgbe/ixgbe.c
  projects/random_number_generator/sys/fs/autofs/autofs.c
  projects/random_number_generator/sys/fs/autofs/autofs.h
  projects/random_number_generator/sys/fs/autofs/autofs_ioctl.h
  projects/random_number_generator/sys/kern/kern_descrip.c
  projects/random_number_generator/sys/kern/vfs_subr.c
  projects/random_number_generator/sys/modules/if_gif/Makefile
  projects/random_number_generator/sys/net/if_gif.c
  projects/random_number_generator/sys/net/if_gif.h
  projects/random_number_generator/sys/netinet/in_gif.c
  projects/random_number_generator/sys/netinet/in_gif.h
  projects/random_number_generator/sys/netinet6/in6_gif.c
  projects/random_number_generator/sys/netinet6/in6_gif.h
  projects/random_number_generator/sys/powerpc/powermac/pmu.c
  projects/random_number_generator/usr.sbin/autofs/automountd.c
  projects/random_number_generator/usr.sbin/autofs/common.c
  projects/random_number_generator/usr.sbin/autofs/common.h
  projects/random_number_generator/usr.sbin/autofs/token.l
Directory Properties:
  projects/random_number_generator/   (props changed)
  projects/random_number_generator/cddl/   (props changed)
  projects/random_number_generator/cddl/contrib/opensolaris/   (props changed)
  projects/random_number_generator/lib/libc/   (props changed)
  projects/random_number_generator/share/   (props changed)
  projects/random_number_generator/share/man/man4/   (props changed)
  projects/random_number_generator/sys/   (props changed)
  projects/random_number_generator/sys/amd64/vmm/   (props changed)
  projects/random_number_generator/sys/conf/   (props changed)

Modified: projects/random_number_generator/lib/libc/arm/aeabi/Makefile.inc
==============================================================================
--- projects/random_number_generator/lib/libc/arm/aeabi/Makefile.inc	Wed Oct 15 09:28:45 2014	(r273127)
+++ projects/random_number_generator/lib/libc/arm/aeabi/Makefile.inc	Wed Oct 15 12:37:56 2014	(r273128)
@@ -6,7 +6,9 @@ SRCS+=	aeabi_atexit.c		\
 	aeabi_unwind_cpp.c	\
 	aeabi_unwind_exidx.c
 .if ${MACHINE_ARCH:Marm*hf*} == ""
-SRCS+=	aeabi_double.c		\
+SRCS+=	aeabi_asm_double.S	\
+	aeabi_asm_float.S	\
+	aeabi_double.c		\
 	aeabi_float.c
 .endif
 .if ${MACHINE_ARCH:Marmv6*}

Modified: projects/random_number_generator/lib/libc/arm/aeabi/Symbol.map
==============================================================================
--- projects/random_number_generator/lib/libc/arm/aeabi/Symbol.map	Wed Oct 15 09:28:45 2014	(r273127)
+++ projects/random_number_generator/lib/libc/arm/aeabi/Symbol.map	Wed Oct 15 12:37:56 2014	(r273128)
@@ -17,6 +17,10 @@ FBSDprivate_1.0 {
 	__aeabi_dcmpgt;
 	__aeabi_dcmpun;
 
+	__aeabi_cdcmpeq;
+	__aeabi_cdcmple;
+	__aeabi_cdrcmple;
+
 	__aeabi_d2iz;
 	__aeabi_d2f;
 
@@ -33,6 +37,10 @@ FBSDprivate_1.0 {
 	__aeabi_fcmpgt;
 	__aeabi_fcmpun;
 
+	__aeabi_cfcmpeq;
+	__aeabi_cfcmple;
+	__aeabi_cfrcmple;
+
 	__aeabi_f2iz;
 	__aeabi_f2d;
 

Copied: projects/random_number_generator/lib/libc/arm/aeabi/aeabi_asm_double.S (from r273127, head/lib/libc/arm/aeabi/aeabi_asm_double.S)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/random_number_generator/lib/libc/arm/aeabi/aeabi_asm_double.S	Wed Oct 15 12:37:56 2014	(r273128, copy of r273127, head/lib/libc/arm/aeabi/aeabi_asm_double.S)
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) 2014 Andrew Turner
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD$");
+
+#define	PCR_Z	(1 << 30)
+#define	PCR_C	(1 << 29)
+
+/*
+ * These functions return the result in the CPSR register.
+ *
+ * For __aeabi_cdcmple:
+ *      Z C
+ *   LT 0 0
+ *   EQ 1 1
+ * else 0 1
+ *
+ * __aeabi_cdrcmple is the same as __aeabi_cdcmple, however the arguments
+ * have been swapped.
+ */
+ENTRY(__aeabi_cdcmple)
+	push	{r4, r5, r6, r7, ip, lr}
+
+	/* Backup the input registers */
+	mov	r4, r0
+	mov	r5, r1
+	mov	r6, r2
+	mov	r7, r3
+	/* Is it less than? */
+	bl	__aeabi_dcmplt
+	cmp	r0, #1
+	bne	1f
+	/* Yes, clear Z and C */
+	msr	cpsr_c, #(0)
+	b	99f
+
+1:
+	/* Restore the input regsters for the next function call */
+	mov	r0, r4
+	mov	r1, r5
+	mov	r2, r6
+	mov	r3, r7
+	/* Is it equal? */
+	bl	__aeabi_dcmpeq
+	cmp	r0, #1
+	bne	2f
+	/* Yes, set Z and C */
+	msr	cpsr_c, #(PCR_Z | PCR_C)
+	b 99f
+
+2:
+	/* Not less than or equal, set C and clear Z */
+	msr	cpsr_c, #(PCR_C)
+
+99:
+	pop	{r4, r5, r6, r7, ip, pc}
+END(__aeabi_cdcmple)
+
+ENTRY(__aeabi_cdrcmple)
+	/* Swap the first half of the arguments */
+	mov	ip, r0
+	mov	r0, r2
+	mov	r2, ip
+
+	/* And the second half */
+	mov	ip, r1
+	mov	r1, r3
+	mov	r3, ip
+
+	b	__aeabi_cdcmple
+END(__aeabi_cdrcmple)
+
+/*
+ * This is just like __aeabi_cdcmple except it will not throw an exception
+ * in the presence of a quiet NaN. If either argument is a signalling NaN we
+ * will still signal.
+ */
+ENTRY(__aeabi_cdcmpeq)
+	/* Check if we can call __aeabi_cfcmple safely */
+	push	{r0, r1, r2, r3, r4, lr}
+	bl	__aeabi_cdcmpeq_helper
+	cmp	r0, #1
+	pop	{r0, r1, r2, r3, r4, lr}
+	beq	1f
+
+	bl	__aeabi_cdcmple
+	RET
+
+1:
+	msr	cpsr_c, #(PCR_C)
+	RET
+END(__aeabi_cdcmpeq)

Copied: projects/random_number_generator/lib/libc/arm/aeabi/aeabi_asm_float.S (from r273127, head/lib/libc/arm/aeabi/aeabi_asm_float.S)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/random_number_generator/lib/libc/arm/aeabi/aeabi_asm_float.S	Wed Oct 15 12:37:56 2014	(r273128, copy of r273127, head/lib/libc/arm/aeabi/aeabi_asm_float.S)
@@ -0,0 +1,108 @@
+/*
+ * Copyright (C) 2014 Andrew Turner
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD$");
+
+#define	PCR_Z	(1 << 30)
+#define	PCR_C	(1 << 29)
+
+/*
+ * These functions return the result in the CPSR register.
+ *
+ * For __aeabi_cfcmple:
+ *      Z C
+ *   LT 0 0
+ *   EQ 1 1
+ * else 0 1
+ *
+ * __aeabi_cfrcmple is the same as __aeabi_cfcmple, however the arguments
+ * have been swapped.
+ */
+ENTRY(__aeabi_cfcmple)
+	push	{r4, r5, ip, lr}
+
+	/* Backup the input registers */
+	mov	r4, r0
+	mov	r5, r1
+	/* Is it less than? */
+	bl	__aeabi_fcmplt
+	cmp	r0, #1
+	bne	1f
+	/* Yes, clear Z and C */
+	msr	cpsr_c, #(0)
+	b	99f
+
+1:
+	/* Restore the input regsters for the next function call */
+	mov	r0, r4
+	mov	r1, r5
+	/* Is it equal? */
+	bl	__aeabi_fcmpeq
+	cmp	r0, #1
+	bne	2f
+	/* Yes, set Z and C */
+	msr	cpsr_c, #(PCR_Z | PCR_C)
+	b 99f
+
+2:
+	/* Not less than or equal, set C and clear Z */
+	msr	cpsr_c, #(PCR_C)
+
+99:
+	pop	{r4, r5, ip, pc}
+END(__aeabi_cfcmple)
+
+ENTRY(__aeabi_cfrcmple)
+	/* Swap the arguments */
+	mov	ip, r0
+	mov	r0, r1
+	mov	r1, ip
+
+	b	__aeabi_cfcmple
+END(__aeabi_cfrcmple)
+
+/*
+ * This is just like __aeabi_cfcmple except it will not throw an exception
+ * in the presence of a quiet NaN. If either argument is a signalling NaN we
+ * will still signal.
+ */
+ENTRY(__aeabi_cfcmpeq)
+	/* Check if we can call __aeabi_cfcmple safely */
+	push	{r0, r1, r2, lr}
+	bl	__aeabi_cfcmpeq_helper
+	cmp	r0, #1
+	pop	{r0, r1, r2, lr}
+	beq	1f
+
+	bl	__aeabi_cfcmple
+	RET
+
+1:
+	msreq	cpsr_c, #(PCR_C)
+	RET
+END(__aeabi_cfcmpeq)

Modified: projects/random_number_generator/lib/libc/arm/aeabi/aeabi_double.c
==============================================================================
--- projects/random_number_generator/lib/libc/arm/aeabi/aeabi_double.c	Wed Oct 15 09:28:45 2014	(r273127)
+++ projects/random_number_generator/lib/libc/arm/aeabi/aeabi_double.c	Wed Oct 15 12:37:56 2014	(r273128)
@@ -74,3 +74,28 @@ float64 AEABI_FUNC2(ddiv, float64, float
 float64 AEABI_FUNC2(dmul, float64, float64_mul)
 float64 AEABI_FUNC2(dsub, float64, float64_sub)
 
+int
+__aeabi_cdcmpeq_helper(float64 a, float64 b)
+{
+	int quiet = 0;
+
+	/* Check if a is a NaN */
+	if ((a << 1) > 0xffe0000000000000ull) {
+		/* If it's a signalling NaN we will always signal */
+		if ((a & 0x0008000000000000ull) == 0)
+			return (0);
+
+		quiet = 1;
+	}
+
+	/* Check if b is a NaN */
+	if ((b << 1) > 0xffe0000000000000ull) {
+		/* If it's a signalling NaN we will always signal */
+		if ((b & 0x0008000000000000ull) == 0)
+			return (0);
+
+		quiet = 1;
+	}
+
+	return (quiet);
+}

Modified: projects/random_number_generator/lib/libc/arm/aeabi/aeabi_float.c
==============================================================================
--- projects/random_number_generator/lib/libc/arm/aeabi/aeabi_float.c	Wed Oct 15 09:28:45 2014	(r273127)
+++ projects/random_number_generator/lib/libc/arm/aeabi/aeabi_float.c	Wed Oct 15 12:37:56 2014	(r273128)
@@ -74,3 +74,28 @@ float32 AEABI_FUNC2(fdiv, float32, float
 float32 AEABI_FUNC2(fmul, float32, float32_mul)
 float32 AEABI_FUNC2(fsub, float32, float32_sub)
 
+int
+__aeabi_cfcmpeq_helper(float32 a, float32 b)
+{
+	int quiet = 0;
+
+	/* Check if a is a NaN */
+	if ((a << 1) > 0xff000000u) {
+		/* If it's a signalling NaN we will always signal */
+		if ((a & 0x00400000u) == 0)
+			return (0);
+
+		quiet = 1;
+	}
+
+	/* Check if b is a NaN */
+	if ((b << 1) > 0xff000000u) {
+		/* If it's a signalling NaN we will always signal */
+		if ((b & 0x00400000u) == 0)
+			return (0);
+
+		quiet = 1;
+	}
+
+	return (quiet);
+}

Modified: projects/random_number_generator/lib/libc/arm/aeabi/aeabi_vfp_double.S
==============================================================================
--- projects/random_number_generator/lib/libc/arm/aeabi/aeabi_vfp_double.S	Wed Oct 15 09:28:45 2014	(r273127)
+++ projects/random_number_generator/lib/libc/arm/aeabi/aeabi_vfp_double.S	Wed Oct 15 12:37:56 2014	(r273128)
@@ -33,6 +33,33 @@ __FBSDID("$FreeBSD$");
 .fpu	vfp
 .syntax	unified
 
+/* void __aeabi_cdcmpeq(double, double) */
+AEABI_ENTRY(cdcmpeq)
+	LOAD_DREG(d0, r0, r1)
+	LOAD_DREG(d1, r2, r3)
+	vcmp.f64	d0, d1
+	vmrs		APSR_nzcv, fpscr
+	RET
+AEABI_END(cdcmpeq)
+
+/* void __aeabi_cdcmple(double, double) */
+AEABI_ENTRY(cdcmple)
+	LOAD_DREG(d0, r0, r1)
+	LOAD_DREG(d1, r2, r3)
+	vcmpe.f64	d0, d1
+	vmrs		APSR_nzcv, fpscr
+	RET
+AEABI_END(cdcmple)
+
+/* void __aeabi_cdrcmple(double, double) */
+AEABI_ENTRY(cdrcmple)
+	LOAD_DREG(d0, r0, r1)
+	LOAD_DREG(d1, r2, r3)
+	vcmpe.f64	d1, d0
+	vmrs		APSR_nzcv, fpscr
+	RET
+AEABI_END(cdrcmple)
+
 /* int __aeabi_dcmpeq(double, double) */
 AEABI_ENTRY(dcmpeq)
 	LOAD_DREG(d0, r0, r1)

Modified: projects/random_number_generator/lib/libc/arm/aeabi/aeabi_vfp_float.S
==============================================================================
--- projects/random_number_generator/lib/libc/arm/aeabi/aeabi_vfp_float.S	Wed Oct 15 09:28:45 2014	(r273127)
+++ projects/random_number_generator/lib/libc/arm/aeabi/aeabi_vfp_float.S	Wed Oct 15 12:37:56 2014	(r273128)
@@ -33,6 +33,30 @@ __FBSDID("$FreeBSD$");
 .fpu	vfp
 .syntax	unified
 
+/* void __aeabi_cfcmpeq(float, float) */
+AEABI_ENTRY(cfcmpeq)
+	LOAD_SREGS(s0, s1, r0, r1)
+	vcmp.f32	s0, s1
+	vmrs     	APSR_nzcv, fpscr
+	RET
+AEABI_END(cfcmpeq)
+
+/* void __aeabi_cfcmple(float, float) */
+AEABI_ENTRY(cfcmple)
+	LOAD_SREGS(s0, s1, r0, r1)
+	vcmpe.f32	s0, s1
+	vmrs     	APSR_nzcv, fpscr
+	RET
+AEABI_END(cfcmple)
+
+/* void __aeabi_cfrcmple(float, float) */
+AEABI_ENTRY(cfrcmple)
+	LOAD_SREGS(s0, s1, r0, r1)
+	vcmpe.f32	s1, s0
+	vmrs     	APSR_nzcv, fpscr
+	RET
+AEABI_END(cfrcmple)
+
 /* int __aeabi_fcmpeq(float, float) */
 AEABI_ENTRY(fcmpeq)
 	LOAD_SREGS(s0, s1, r0, r1)

Modified: projects/random_number_generator/lib/libfetch/common.c
==============================================================================
--- projects/random_number_generator/lib/libfetch/common.c	Wed Oct 15 09:28:45 2014	(r273127)
+++ projects/random_number_generator/lib/libfetch/common.c	Wed Oct 15 12:37:56 2014	(r273128)
@@ -675,10 +675,14 @@ fetch_ssl_setup_transport_layer(SSL_CTX 
 	ssl_ctx_options = SSL_OP_ALL | SSL_OP_NO_TICKET;
 	if (getenv("SSL_ALLOW_SSL2") == NULL)
 		ssl_ctx_options |= SSL_OP_NO_SSLv2;
-	if (getenv("SSL_NO_SSL3") != NULL)
+	if (getenv("SSL_ALLOW_SSL3") == NULL)
 		ssl_ctx_options |= SSL_OP_NO_SSLv3;
 	if (getenv("SSL_NO_TLS1") != NULL)
 		ssl_ctx_options |= SSL_OP_NO_TLSv1;
+	if (getenv("SSL_NO_TLS1_1") != NULL)
+		ssl_ctx_options |= SSL_OP_NO_TLSv1_1;
+	if (getenv("SSL_NO_TLS1_2") != NULL)
+		ssl_ctx_options |= SSL_OP_NO_TLSv1_2;
 	if (verbose)
 		fetch_info("SSL options: %lx", ssl_ctx_options);
 	SSL_CTX_set_options(ctx, ssl_ctx_options);
@@ -873,8 +877,8 @@ fetch_ssl(conn_t *conn, const struct url
 	}
 
 	if (verbose) {
-		fetch_info("SSL connection established using %s",
-		    SSL_get_cipher(conn->ssl));
+		fetch_info("%s connection established using %s",
+		    SSL_get_version(conn->ssl), SSL_get_cipher(conn->ssl));
 		name = X509_get_subject_name(conn->ssl_cert);
 		str = X509_NAME_oneline(name, 0, 0);
 		fetch_info("Certificate subject: %s", str);

Modified: projects/random_number_generator/lib/libfetch/fetch.3
==============================================================================
--- projects/random_number_generator/lib/libfetch/fetch.3	Wed Oct 15 09:28:45 2014	(r273127)
+++ projects/random_number_generator/lib/libfetch/fetch.3	Wed Oct 15 12:37:56 2014	(r273128)
@@ -26,7 +26,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 30, 2013
+.Dd October 15, 2014
 .Dt FETCH 3
 .Os
 .Sh NAME
@@ -438,15 +438,17 @@ input (see
 .Pp
 By default
 .Nm libfetch
-allows SSLv3 and TLSv1 when negotiating the connecting with the remote
+allows TLSv1 and newer when negotiating the connecting with the remote
 peer.
-You can change this behavior by setting the environment variable
+You can change this behavior by setting the
 .Ev SSL_ALLOW_SSL2
-to allow SSLv2 (not recommended) and
-.Ev SSL_NO_SSL3
-or
-.Ev SSL_NO_TLS1
-to disable the respective methods.
+and
+.Ev SSL_ALLOW_SSL3
+environment variables to allow SSLv2 and SSLv3, respectively, and
+.Ev SSL_NO_TLS1 ,
+.Ev SSL_NO_TLS1_1 and
+.Ev SSL_NO_TLS1_2
+to disable TLS 1.0, 1.1 and 1.2 respectively.
 .Sh AUTHENTICATION
 Apart from setting the appropriate environment variables and
 specifying the user name and password in the URL or the
@@ -646,6 +648,8 @@ Same as
 for compatibility.
 .It Ev SSL_ALLOW_SSL2
 Allow SSL version 2 when negotiating the connection (not recommended).
+.It Ev SSL_ALLOW_SSL3
+Allow SSL version 3 when negotiating the connection (not recommended).
 .It Ev SSL_CA_CERT_FILE
 CA certificate bundle containing trusted CA certificates.
 Default value:
@@ -660,10 +664,12 @@ PEM encoded client key in case key and c
 are stored separately.
 .It Ev SSL_CRL_FILE
 File containing certificate revocation list.
-.It Ev SSL_NO_SSL3
-Don't allow SSL version 3 when negotiating the connection.
 .It Ev SSL_NO_TLS1
-Don't allow TLV version 1 when negotiating the connection.
+Do not allow TLS version 1.0 when negotiating the connection.
+.It Ev SSL_NO_TLS1_1
+Do not allow TLS version 1.1 when negotiating the connection.
+.It Ev SSL_NO_TLS1_2
+Do not allow TLS version 1.2 when negotiating the connection.
 .It Ev SSL_NO_VERIFY_HOSTNAME
 If set, do not verify that the hostname matches the subject of the
 certificate presented by the server.

Modified: projects/random_number_generator/release/Makefile
==============================================================================
--- projects/random_number_generator/release/Makefile	Wed Oct 15 09:28:45 2014	(r273127)
+++ projects/random_number_generator/release/Makefile	Wed Oct 15 12:37:56 2014	(r273128)
@@ -101,6 +101,7 @@ VMTARGETS=	vm-base vm-image
 VMFORMATS?=	vhd vmdk qcow2 raw
 VMSIZE?=	20G
 VMBASE?=	vm
+AZURECONF?=	${.CURDIR}/tools/azure.conf
 
 CLEANFILES=	packagesystem *.txz MANIFEST system ${IMAGES}
 .if defined(WITH_COMPRESSED_IMAGES) && !empty(WITH_COMPRESSED_IMAGES)
@@ -121,6 +122,12 @@ CLEANDIRS=	dist ftp release bootonly dvd
 .if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
 CLEANDIRS+=	${VMTARGETS}
 .endif
+.if exists(${.CURDIR}/${TARGET}/mk-azure.sh)
+CLEANFILES+=	${OSRELEASE}.vhd \
+		${OSRELEASE}.vhd.raw \
+		azure.img
+CLEANDIRS+=	vm-azure
+.endif
 beforeclean:
 	chflags -R noschg .
 .include <bsd.obj.mk>
@@ -338,3 +345,11 @@ vm-image: vm-base
 . endif
 .endif
 	touch ${.TARGET}
+
+vm-azure:
+.if exists(${.CURDIR}/${TARGET}/mk-azure.sh)
+	env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} AZURECONF=${AZURECONF} \
+		${.CURDIR}/${TARGET}/mk-azure.sh ${.TARGET} azure.img \
+		${WORLDDIR} ${.TARGET} ${VMSIZE} ${OSRELEASE}.vhd
+.endif
+	touch ${.TARGET}

Copied: projects/random_number_generator/release/amd64/mk-azure.sh (from r273127, head/release/amd64/mk-azure.sh)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/random_number_generator/release/amd64/mk-azure.sh	Wed Oct 15 12:37:56 2014	(r273128, copy of r273127, head/release/amd64/mk-azure.sh)
@@ -0,0 +1,173 @@
+#!/bin/sh
+#-
+# Copyright (c) 2014 The FreeBSD Foundation
+# All rights reserved.
+#
+# This software was developed by Glen Barber under sponsorship
+# from the FreeBSD Foundation.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# mk-azure.sh: Create virtual machine disk images for Microsoft Azure
+#
+# $FreeBSD$
+#
+
+export PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin"
+
+usage() {
+	echo "Usage:"
+	echo -n "$(basename ${0}) vm-azure <base image>"
+	echo " <source tree> <dest dir> <disk image size> <vm image name>"
+	exit 1
+}
+
+panic() {
+	msg="${@}"
+	printf "${msg}\n"
+	if [ ! -z "${mddev}" ]; then
+		mdconfig -d -u ${mddev}
+	fi
+	# Do not allow one failure case to chain through any remaining image
+	# builds.
+	exit 0
+}
+
+vm_create_azure() {
+	# Arguments:
+	# vm-azure <base image> <source tree> <dest dir> <disk image size> <vm image name>
+
+	VMBASE="${1}"
+	WORLDDIR="${2}"
+	DESTDIR="${3}"
+	VMSIZE="${4}"
+	VMIMAGE="${5}"
+
+	if [ -z "${VMBASE}" -o -z "${WORLDDIR}" -o -z "${DESTDIR}" \
+		-o -z "${VMSIZE}" -o -z "${VMIMAGE}" ]; then
+			usage
+	fi
+
+	trap "umount ${DESTDIR}/dev ${DESTDIR}" INT QUIT TRAP ABRT TERM
+
+	i=0
+	mkdir -p ${DESTDIR}
+	truncate -s ${VMSIZE} ${VMBASE}
+	mddev=$(mdconfig -f ${VMBASE})
+	newfs -j /dev/${mddev}
+	mkdir -p ${DESTDIR}
+	mount /dev/${mddev} ${DESTDIR}
+	make -C ${WORLDDIR} DESTDIR=$(realpath ${DESTDIR}) \
+		installworld installkernel distribution || \
+		panic 1 "\n\nCannot install the base system to ${DESTDIR}."
+	mount -t devfs devfs ${DESTDIR}/dev
+	chroot ${DESTDIR} /usr/bin/newaliases
+	echo '# Custom /etc/fstab for FreeBSD VM images' \
+		> ${DESTDIR}/etc/fstab
+	echo '/dev/gpt/rootfs	/	ufs	rw	2	2' \
+		>> ${DESTDIR}/etc/fstab
+	# Although a swap partition is created, it is not used in Azure.
+	echo '#/dev/gpt/swapfs	none	swap	sw	0	0' \
+		>> ${DESTDIR}/etc/fstab
+
+	chroot ${DESTDIR} /etc/rc.d/ldconfig forcestart
+	chroot ${DESTDIR} env ASSUME_ALWAYS_YES=yes /usr/sbin/pkg bootstrap -y
+	chroot ${DESTDIR} env ASSUME_ALWAYS_YES=yes /usr/sbin/pkg install -y \
+	        python python2 python27 py27-asn1 sudo bash
+	if [ ! -z "${VM_EXTRA_PACKAGES}" ]; then
+	        chroot ${DESTDIR} env ASSUME_ALWAYS_YES=yes /usr/sbin/pkg install -y \
+	                ${VM_EXTRA_PACKAGES}
+	fi
+
+	fetch -o ${DESTDIR}/usr/sbin/waagent \
+		http://people.freebsd.org/~gjb/waagent
+	chmod +x ${DESTDIR}/usr/sbin/waagent
+	rm -f ${DESTDIR}/etc/resolv.conf
+	chroot ${DESTDIR} /usr/sbin/waagent -verbose -install
+	yes | chroot ${DESTDIR} /usr/sbin/waagent -deprovision
+	echo 'sshd_enable="YES"' > ${DESTDIR}/etc/rc.conf
+	echo 'ifconfig_hn0="SYNCDHCP"' >> ${DESTDIR}/etc/rc.conf
+	echo 'waagent_enable="YES"' >> ${DESTDIR}/etc/rc.conf
+
+	echo 'console="comconsole vidconsole"' >> ${DESTDIR}/boot/loader.conf
+	echo 'comconsole_speed="115200"' >> ${DESTDIR}/boot/loader.conf
+
+	if [ ! -z "${VM_RC_LIST}" ]; then
+		for _rcvar in ${VM_RC_LIST}; do
+			echo ${_rcvar}_enable="YES" >> ${DESTDIR}/etc/rc.conf
+		done
+	fi
+
+	sync
+
+	while ! umount ${DESTDIR}/dev ${DESTDIR}; do
+		i=$(( $i + 1 ))
+		if [ $i -ge 10 ]; then
+			# This should never happen.  But, it has happened.
+			msg="Cannot umount(8) ${DESTDIR}\n"
+			msg="${msg}Something has gone horribly wrong."
+			panic 1 "${msg}"
+		fi
+		sleep 1
+	done
+
+	echo "Creating image...  Please wait."
+
+	mkimg -f vhdf -s gpt \
+		-b /boot/pmbr -p freebsd-boot/bootfs:=/boot/gptboot \
+		-p freebsd-swap/swapfs::1G \
+		-p freebsd-ufs/rootfs:=${VMBASE} \
+		-o ${VMIMAGE}.raw
+
+	if [ ! -x "/usr/local/bin/qemu-img" ]; then
+		env ASSUME_ALWAYS_YES=yes pkg install -y emulators/qemu-devel
+	fi
+
+	size=$(qemu-img info -f raw --output json ${VMIMAGE}.raw | awk '/virtual-size/ {print $2}' | tr -d ',')
+	size=$(( ( ${size} / ( 1024 * 1024 ) + 1 ) * ( 1024 * 1024 ) ))
+	qemu-img resize ${VMIMAGE}.raw ${size}
+	qemu-img convert -f raw -o subformat=fixed -O vpc ${VMIMAGE}.raw ${VMIMAGE}
+
+	return 0
+}
+
+main() {
+	cmd="${1}"
+	shift 1
+
+	if [ -e "${AZURECONF}" -a ! -c "${AZURECONF}" ]; then
+		. ${AZURECONF}
+	fi
+
+	case ${cmd} in
+		vm-azure)
+			eval vm_create_azure "$@" || return 0
+			;;
+		*|\?)
+			usage
+			;;
+	esac
+
+	return 0
+}
+
+main "$@"

Modified: projects/random_number_generator/release/amd64/mk-vmimage.sh
==============================================================================
--- projects/random_number_generator/release/amd64/mk-vmimage.sh	Wed Oct 15 09:28:45 2014	(r273127)
+++ projects/random_number_generator/release/amd64/mk-vmimage.sh	Wed Oct 15 12:37:56 2014	(r273128)
@@ -32,7 +32,7 @@
 # $FreeBSD$
 #
 
-PATH="/bin:/usr/bin:/sbin:/usr/sbin"
+PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
 export PATH
 
 usage_vm_base() {
@@ -58,16 +58,25 @@ usage() {
 }
 
 panic() {
-	rc="${1}"
-	shift 1
 	msg="${@}"
 	printf "${msg}\n"
 	if [ ! -z "${mddev}" ]; then
 		mdconfig -d -u ${mddev}
 	fi
+	case ${cmd} in
+		vm-base)
+			# If the vm-base target fails, the vm-image target
+			# cannot possibly succeed.  Touch the .TARGET file
+			# so it is not attempted.
+			touch vm-image
+			;;
+		*)
+			# FALLTHROUGH
+			;;
+	esac
 	# Do not allow one failure case to chain through any remaining image
 	# builds.
-	exit 0
+	return 1
 }
 
 vm_create_baseimage() {
@@ -96,7 +105,7 @@ vm_create_baseimage() {
 	cd ${WORLDDIR} && \
 		make DESTDIR=${DESTDIR} \
 		installworld installkernel distribution || \
-		panic 1 "\n\nCannot install the base system to ${DESTDIR}."
+		panic "\n\nCannot install the base system to ${DESTDIR}."
 	chroot ${DESTDIR} /usr/bin/newaliases
 	echo '# Custom /etc/fstab for FreeBSD VM images' \
 		> ${DESTDIR}/etc/fstab
@@ -111,7 +120,7 @@ vm_create_baseimage() {
 			# This should never happen.  But, it has happened.
 			msg="Cannot umount(8) ${DESTDIR}\n"
 			msg="${msg}Something has gone horribly wrong."
-			panic 1 "${msg}"
+			panic "${msg}"
 		fi
 		sleep 1
 	done
@@ -141,11 +150,11 @@ vm_create_vmdisk() {
 	if [ -z "${mkimg_version}" ]; then
 		msg="Cannot determine mkimg(1) version.\n"
 		msg="${msg}Cannot continue without a known mkimg(1) version."
-		panic 0 "${msg}"
+		panic "${msg}"
 	fi
 
 	if ! mkimg --formats 2>/dev/null | grep -q ${FORMAT}; then
-		panic 0 "'${FORMAT}' is not supported by this mkimg(1).\n"
+		panic "'${FORMAT}' is not supported by this mkimg(1).\n"
 	fi
 
 	case ${FORMAT} in

Copied: projects/random_number_generator/release/i386/mk-azure.sh (from r273127, head/release/i386/mk-azure.sh)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/random_number_generator/release/i386/mk-azure.sh	Wed Oct 15 12:37:56 2014	(r273128, copy of r273127, head/release/i386/mk-azure.sh)
@@ -0,0 +1,173 @@
+#!/bin/sh
+#-
+# Copyright (c) 2014 The FreeBSD Foundation
+# All rights reserved.
+#
+# This software was developed by Glen Barber under sponsorship
+# from the FreeBSD Foundation.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# mk-azure.sh: Create virtual machine disk images for Microsoft Azure
+#
+# $FreeBSD$
+#
+
+export PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin"
+
+usage() {
+	echo "Usage:"
+	echo -n "$(basename ${0}) vm-azure <base image>"
+	echo " <source tree> <dest dir> <disk image size> <vm image name>"
+	exit 1
+}
+
+panic() {
+	msg="${@}"
+	printf "${msg}\n"
+	if [ ! -z "${mddev}" ]; then
+		mdconfig -d -u ${mddev}
+	fi
+	# Do not allow one failure case to chain through any remaining image
+	# builds.
+	exit 0
+}
+
+vm_create_azure() {
+	# Arguments:
+	# vm-azure <base image> <source tree> <dest dir> <disk image size> <vm image name>
+
+	VMBASE="${1}"
+	WORLDDIR="${2}"
+	DESTDIR="${3}"
+	VMSIZE="${4}"
+	VMIMAGE="${5}"
+
+	if [ -z "${VMBASE}" -o -z "${WORLDDIR}" -o -z "${DESTDIR}" \
+		-o -z "${VMSIZE}" -o -z "${VMIMAGE}" ]; then
+			usage
+	fi
+
+	trap "umount ${DESTDIR}/dev ${DESTDIR}" INT QUIT TRAP ABRT TERM
+
+	i=0
+	mkdir -p ${DESTDIR}
+	truncate -s ${VMSIZE} ${VMBASE}
+	mddev=$(mdconfig -f ${VMBASE})
+	newfs -j /dev/${mddev}
+	mkdir -p ${DESTDIR}
+	mount /dev/${mddev} ${DESTDIR}
+	make -C ${WORLDDIR} DESTDIR=$(realpath ${DESTDIR}) \
+		installworld installkernel distribution || \
+		panic 1 "\n\nCannot install the base system to ${DESTDIR}."
+	mount -t devfs devfs ${DESTDIR}/dev
+	chroot ${DESTDIR} /usr/bin/newaliases
+	echo '# Custom /etc/fstab for FreeBSD VM images' \
+		> ${DESTDIR}/etc/fstab
+	echo '/dev/gpt/rootfs	/	ufs	rw	2	2' \
+		>> ${DESTDIR}/etc/fstab
+	# Although a swap partition is created, it is not used in Azure.
+	echo '#/dev/gpt/swapfs	none	swap	sw	0	0' \
+		>> ${DESTDIR}/etc/fstab
+
+	chroot ${DESTDIR} /etc/rc.d/ldconfig forcestart
+	chroot ${DESTDIR} env ASSUME_ALWAYS_YES=yes /usr/sbin/pkg bootstrap -y
+	chroot ${DESTDIR} env ASSUME_ALWAYS_YES=yes /usr/sbin/pkg install -y \
+	        python python2 python27 py27-asn1 sudo bash
+	if [ ! -z "${VM_EXTRA_PACKAGES}" ]; then
+	        chroot ${DESTDIR} env ASSUME_ALWAYS_YES=yes /usr/sbin/pkg install -y \
+	                ${VM_EXTRA_PACKAGES}
+	fi
+
+	fetch -o ${DESTDIR}/usr/sbin/waagent \
+		http://people.freebsd.org/~gjb/waagent
+	chmod +x ${DESTDIR}/usr/sbin/waagent
+	rm -f ${DESTDIR}/etc/resolv.conf
+	chroot ${DESTDIR} /usr/sbin/waagent -verbose -install
+	yes | chroot ${DESTDIR} /usr/sbin/waagent -deprovision
+	echo 'sshd_enable="YES"' > ${DESTDIR}/etc/rc.conf
+	echo 'ifconfig_hn0="SYNCDHCP"' >> ${DESTDIR}/etc/rc.conf
+	echo 'waagent_enable="YES"' >> ${DESTDIR}/etc/rc.conf
+
+	echo 'console="comconsole vidconsole"' >> ${DESTDIR}/boot/loader.conf
+	echo 'comconsole_speed="115200"' >> ${DESTDIR}/boot/loader.conf
+
+	if [ ! -z "${VM_RC_LIST}" ]; then
+		for _rcvar in ${VM_RC_LIST}; do
+			echo ${_rcvar}_enable="YES" >> ${DESTDIR}/etc/rc.conf
+		done
+	fi
+
+	sync
+
+	while ! umount ${DESTDIR}/dev ${DESTDIR}; do
+		i=$(( $i + 1 ))
+		if [ $i -ge 10 ]; then
+			# This should never happen.  But, it has happened.
+			msg="Cannot umount(8) ${DESTDIR}\n"
+			msg="${msg}Something has gone horribly wrong."
+			panic 1 "${msg}"
+		fi
+		sleep 1
+	done
+
+	echo "Creating image...  Please wait."
+
+	mkimg -f vhdf -s gpt \
+		-b /boot/pmbr -p freebsd-boot/bootfs:=/boot/gptboot \
+		-p freebsd-swap/swapfs::1G \
+		-p freebsd-ufs/rootfs:=${VMBASE} \
+		-o ${VMIMAGE}.raw
+
+	if [ ! -x "/usr/local/bin/qemu-img" ]; then
+		env ASSUME_ALWAYS_YES=yes pkg install -y emulators/qemu-devel
+	fi
+
+	size=$(qemu-img info -f raw --output json ${VMIMAGE}.raw | awk '/virtual-size/ {print $2}' | tr -d ',')
+	size=$(( ( ${size} / ( 1024 * 1024 ) + 1 ) * ( 1024 * 1024 ) ))
+	qemu-img resize ${VMIMAGE}.raw ${size}
+	qemu-img convert -f raw -o subformat=fixed -O vpc ${VMIMAGE}.raw ${VMIMAGE}
+
+	return 0
+}
+
+main() {
+	cmd="${1}"
+	shift 1
+
+	if [ -e "${AZURECONF}" -a ! -c "${AZURECONF}" ]; then
+		. ${AZURECONF}
+	fi
+
+	case ${cmd} in
+		vm-azure)
+			eval vm_create_azure "$@" || return 0
+			;;
+		*|\?)
+			usage
+			;;
+	esac
+
+	return 0
+}
+
+main "$@"

Modified: projects/random_number_generator/release/i386/mk-vmimage.sh
==============================================================================
--- projects/random_number_generator/release/i386/mk-vmimage.sh	Wed Oct 15 09:28:45 2014	(r273127)
+++ projects/random_number_generator/release/i386/mk-vmimage.sh	Wed Oct 15 12:37:56 2014	(r273128)
@@ -32,7 +32,7 @@
 # $FreeBSD$
 #
 
-PATH="/bin:/usr/bin:/sbin:/usr/sbin"
+PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
 export PATH
 
 usage_vm_base() {
@@ -58,16 +58,25 @@ usage() {
 }
 
 panic() {
-	rc="${1}"
-	shift 1
 	msg="${@}"
 	printf "${msg}\n"
 	if [ ! -z "${mddev}" ]; then
 		mdconfig -d -u ${mddev}
 	fi
+	case ${cmd} in
+		vm-base)
+			# If the vm-base target fails, the vm-image target
+			# cannot possibly succeed.  Touch the .TARGET file
+			# so it is not attempted.
+			touch vm-image
+			;;
+		*)
+			# FALLTHROUGH
+			;;
+	esac
 	# Do not allow one failure case to chain through any remaining image
 	# builds.
-	exit 0
+	return 1
 }
 
 vm_create_baseimage() {
@@ -96,7 +105,7 @@ vm_create_baseimage() {
 	cd ${WORLDDIR} && \
 		make DESTDIR=${DESTDIR} \
 		installworld installkernel distribution || \
-		panic 1 "\n\nCannot install the base system to ${DESTDIR}."
+		panic "\n\nCannot install the base system to ${DESTDIR}."
 	chroot ${DESTDIR} /usr/bin/newaliases
 	echo '# Custom /etc/fstab for FreeBSD VM images' \
 		> ${DESTDIR}/etc/fstab
@@ -111,7 +120,7 @@ vm_create_baseimage() {
 			# This should never happen.  But, it has happened.
 			msg="Cannot umount(8) ${DESTDIR}\n"

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

From owner-svn-src-projects@FreeBSD.ORG  Thu Oct 16 02:38:56 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id CA59C13C;
 Thu, 16 Oct 2014 02:38:56 +0000 (UTC)
Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client CN "vps1.elischer.org",
 Issuer "CA Cert Signing Authority" (not verified))
 by mx1.freebsd.org (Postfix) with ESMTPS id 992EE793;
 Thu, 16 Oct 2014 02:38:55 +0000 (UTC)
Received: from Julian-MBP3.local
 (50-196-156-133-static.hfc.comcastbusiness.net [50.196.156.133])
 (authenticated bits=0)
 by vps1.elischer.org (8.14.9/8.14.9) with ESMTP id s9G2cgXb037062
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO);
 Wed, 15 Oct 2014 19:38:46 -0700 (PDT)
 (envelope-from julian@freebsd.org)
Message-ID: <543F2FAC.9060802@freebsd.org>
Date: Thu, 16 Oct 2014 10:38:36 +0800
From: Julian Elischer <julian@freebsd.org>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9;
 rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: John Baldwin <jhb@freebsd.org>, "Alexander V. Chernikov" <melifaro@ipfw.ru>
Subject: Re: svn commit: r272515 - projects/ipfw/sys/netpfil/ipfw
References: <201410041210.s94CAX7I012628@svn.freebsd.org>
 <201410091711.28587.jhb@freebsd.org>
 <AC6B3AB3-30C2-44BC-933F-A37F14F01C90@ipfw.ru>
 <2638508.DdhyVaDRpY@ralph.baldwin.cx>
In-Reply-To: <2638508.DdhyVaDRpY@ralph.baldwin.cx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org,
 "Alexander V. Chernikov" <melifaro@freebsd.org>
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Oct 2014 02:38:56 -0000

On 10/13/14, 9:46 PM, John Baldwin wrote:
> On Sunday, October 12, 2014 12:13:00 AM Alexander V. Chernikov wrote:
>
>>> Alternatively, we could change the module code to export a dynamic sysctl
>>> tree for all loaded modules that includes the versions, i.e.
>>> 'module.<foo>.version', etc.
> This is still another idea that would transparently export MODULE_VERSION()
> info via sysctls without requiring API changes.

I'm for the sysctl in the net.inet.ip.... space.
>


From owner-svn-src-projects@FreeBSD.ORG  Thu Oct 16 18:13:11 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 6B155671;
 Thu, 16 Oct 2014 18:13:11 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 3DAB7A48;
 Thu, 16 Oct 2014 18:13:11 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9GIDBoe097046;
 Thu, 16 Oct 2014 18:13:11 GMT (envelope-from neel@FreeBSD.org)
Received: (from neel@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9GIDBto097044;
 Thu, 16 Oct 2014 18:13:11 GMT (envelope-from neel@FreeBSD.org)
Message-Id: <201410161813.s9GIDBto097044@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: neel set sender to neel@FreeBSD.org
 using -f
From: Neel Natu <neel@FreeBSD.org>
Date: Thu, 16 Oct 2014 18:13:11 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273175 - projects/bhyve_svm/sys/amd64/vmm
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Oct 2014 18:13:11 -0000

Author: neel
Date: Thu Oct 16 18:13:10 2014
New Revision: 273175
URL: https://svnweb.freebsd.org/changeset/base/273175

Log:
  Fix topology enumeration issues exposed by AMD Bulldozer Family 15h processor.
  
  Initialize CPUID.80000008H:ECX[7:0] with the number of logical processors in
  the package. This fixes a panic during early boot in NetBSD 7.0 BETA.
  
  Clear the Topology Extension feature bit from CPUID.80000001H:ECX since we
  don't emulate leaves 0x8000001D and 0x8000001E. This fixes a divide by zero
  panic in early boot in Centos 6.4.
  
  Tested on an "AMD Opteron 6320" courtesy of Ben Perrault.
  
  Reviewed by:	grehan

Modified:
  projects/bhyve_svm/sys/amd64/vmm/x86.c

Modified: projects/bhyve_svm/sys/amd64/vmm/x86.c
==============================================================================
--- projects/bhyve_svm/sys/amd64/vmm/x86.c	Thu Oct 16 18:04:43 2014	(r273174)
+++ projects/bhyve_svm/sys/amd64/vmm/x86.c	Thu Oct 16 18:13:10 2014	(r273175)
@@ -44,6 +44,8 @@ __FBSDID("$FreeBSD$");
 #include <machine/vmm.h>
 
 #include "vmm_host.h"
+#include "vmm_ktr.h"
+#include "vmm_util.h"
 #include "x86.h"
 
 SYSCTL_DECL(_hw_vmm);
@@ -54,6 +56,8 @@ static SYSCTL_NODE(_hw_vmm, OID_AUTO, to
 static const char bhyve_id[12] = "bhyve bhyve ";
 
 static uint64_t bhyve_xcpuids;
+SYSCTL_ULONG(_hw_vmm, OID_AUTO, bhyve_xcpuids, CTLFLAG_RW, &bhyve_xcpuids, 0,
+    "Number of times an unknown cpuid leaf was accessed");
 
 /*
  * The default CPU topology is a single thread per package.
@@ -91,6 +95,8 @@ x86_emulate_cpuid(struct vm *vm, int vcp
 	unsigned int func, regs[4], logical_cpus;
 	enum x2apic_state x2apic_state;
 
+	VCPU_CTR2(vm, vcpu_id, "cpuid %#x,%#x", *eax, *ecx);
+
 	/*
 	 * Requests for invalid CPUID levels should map to the highest
 	 * available level instead.
@@ -124,17 +130,33 @@ x86_emulate_cpuid(struct vm *vm, int vcp
 		case CPUID_8000_0003:
 		case CPUID_8000_0004:
 		case CPUID_8000_0006:
+			cpuid_count(*eax, *ecx, regs);
+			break;
 		case CPUID_8000_0008:
 			cpuid_count(*eax, *ecx, regs);
+			if (vmm_is_amd()) {
+				/*
+				 * XXX this might appear silly because AMD
+				 * cpus don't have threads.
+				 *
+				 * However this matches the logical cpus as
+				 * advertised by leaf 0x1 and will work even
+				 * if the 'threads_per_core' tunable is set
+				 * incorrectly on an AMD host.
+				 */
+				logical_cpus = threads_per_core *
+				    cores_per_package;
+				regs[2] = logical_cpus - 1;
+			}
 			break;
 
 		case CPUID_8000_0001:
 			cpuid_count(*eax, *ecx, regs);
 
 			/*
-			 * Hide SVM capability from guest.
+			 * Hide SVM and Topology Extension features from guest.
 			 */
-			regs[2] &= ~AMDID2_SVM;
+			regs[2] &= ~(AMDID2_SVM | AMDID2_TOPOLOGY);
 
 			/*
 			 * Hide rdtscp/ia32_tsc_aux until we know how

From owner-svn-src-projects@FreeBSD.ORG  Thu Oct 16 18:16:32 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 4FB6F792;
 Thu, 16 Oct 2014 18:16:32 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 3C974A6A;
 Thu, 16 Oct 2014 18:16:32 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9GIGW7W097511;
 Thu, 16 Oct 2014 18:16:32 GMT (envelope-from neel@FreeBSD.org)
Received: (from neel@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9GIGWiY097509;
 Thu, 16 Oct 2014 18:16:32 GMT (envelope-from neel@FreeBSD.org)
Message-Id: <201410161816.s9GIGWiY097509@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: neel set sender to neel@FreeBSD.org
 using -f
From: Neel Natu <neel@FreeBSD.org>
Date: Thu, 16 Oct 2014 18:16:32 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273176 - projects/bhyve_svm/sys/amd64/vmm/amd
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Oct 2014 18:16:32 -0000

Author: neel
Date: Thu Oct 16 18:16:31 2014
New Revision: 273176
URL: https://svnweb.freebsd.org/changeset/base/273176

Log:
  Use the correct fault type (VM_PROT_EXECUTE) for an instruction fetch.

Modified:
  projects/bhyve_svm/sys/amd64/vmm/amd/svm.c

Modified: projects/bhyve_svm/sys/amd64/vmm/amd/svm.c
==============================================================================
--- projects/bhyve_svm/sys/amd64/vmm/amd/svm.c	Thu Oct 16 18:13:10 2014	(r273175)
+++ projects/bhyve_svm/sys/amd64/vmm/amd/svm.c	Thu Oct 16 18:16:31 2014	(r273176)
@@ -752,6 +752,8 @@ npf_fault_type(uint64_t exitinfo1)
 
 	if (exitinfo1 & VMCB_NPF_INFO1_W)
 		return (VM_PROT_WRITE);
+	else if (exitinfo1 & VMCB_NPF_INFO1_ID)
+		return (VM_PROT_EXECUTE);
 	else
 		return (VM_PROT_READ);
 }

From owner-svn-src-projects@FreeBSD.ORG  Thu Oct 16 19:27:27 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 9E0CD30C;
 Thu, 16 Oct 2014 19:27:27 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8B7141E1;
 Thu, 16 Oct 2014 19:27:27 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9GJRRg5031184;
 Thu, 16 Oct 2014 19:27:27 GMT (envelope-from neel@FreeBSD.org)
Received: (from neel@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9GJRRtV031183;
 Thu, 16 Oct 2014 19:27:27 GMT (envelope-from neel@FreeBSD.org)
Message-Id: <201410161927.s9GJRRtV031183@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: neel set sender to neel@FreeBSD.org
 using -f
From: Neel Natu <neel@FreeBSD.org>
Date: Thu, 16 Oct 2014 19:27:27 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273179 - projects/bhyve_svm/usr.sbin/bhyve
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Oct 2014 19:27:27 -0000

Author: neel
Date: Thu Oct 16 19:27:26 2014
New Revision: 273179
URL: https://svnweb.freebsd.org/changeset/base/273179

Log:
  Emulate the "Hardware Configuration" MSR when running on an AMD host.
  
  This gets rid of the "TSC doesn't count with P0 frequency!" message when
  booting a Linux guest.
  
  Tested on an "AMD Opteron 6320" courtesy of Ben Perrault.

Modified:
  projects/bhyve_svm/usr.sbin/bhyve/xmsr.c

Modified: projects/bhyve_svm/usr.sbin/bhyve/xmsr.c
==============================================================================
--- projects/bhyve_svm/usr.sbin/bhyve/xmsr.c	Thu Oct 16 18:49:50 2014	(r273178)
+++ projects/bhyve_svm/usr.sbin/bhyve/xmsr.c	Thu Oct 16 19:27:26 2014	(r273179)
@@ -46,11 +46,11 @@ __FBSDID("$FreeBSD$");
 static int cpu_vendor_intel, cpu_vendor_amd;
 
 int
-emulate_wrmsr(struct vmctx *ctx, int vcpu, uint32_t code, uint64_t val)
+emulate_wrmsr(struct vmctx *ctx, int vcpu, uint32_t num, uint64_t val)
 {
 
 	if (cpu_vendor_intel) {
-		switch (code) {
+		switch (num) {
 		case 0xd04:		/* Sandy Bridge uncore PMCs */
 		case 0xc24:
 			return (0);
@@ -61,6 +61,16 @@ emulate_wrmsr(struct vmctx *ctx, int vcp
 		default:
 			break;
 		}
+	} else if (cpu_vendor_amd) {
+		switch (num) {
+		case MSR_HWCR:
+			/*
+			 * Ignore writes to hardware configuration MSR.
+			 */
+			return (0);
+		default:
+			break;
+		}
 	}
 	return (-1);
 }
@@ -91,6 +101,21 @@ emulate_rdmsr(struct vmctx *ctx, int vcp
 			error = -1;
 			break;
 		}
+	} else if (cpu_vendor_amd) {
+		switch (num) {
+		case MSR_HWCR:
+			/*
+			 * Bios and Kernel Developer's Guides for AMD Families
+			 * 12H, 14H, 15H and 16H.
+			 */
+			*val = 0x01000010;	/* Reset value */
+			*val |= 1 << 9;		/* MONITOR/MWAIT disable */
+			break;
+		default:
+			break;
+		}
+	} else {
+		error = -1;
 	}
 	return (error);
 }

From owner-svn-src-projects@FreeBSD.ORG  Fri Oct 17 03:04:40 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id F249B5C6;
 Fri, 17 Oct 2014 03:04:39 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id C4C227B3;
 Fri, 17 Oct 2014 03:04:39 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9H34d0v050983;
 Fri, 17 Oct 2014 03:04:39 GMT (envelope-from neel@FreeBSD.org)
Received: (from neel@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9H34dwZ050981;
 Fri, 17 Oct 2014 03:04:39 GMT (envelope-from neel@FreeBSD.org)
Message-Id: <201410170304.s9H34dwZ050981@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: neel set sender to neel@FreeBSD.org
 using -f
From: Neel Natu <neel@FreeBSD.org>
Date: Fri, 17 Oct 2014 03:04:39 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273203 - in projects/bhyve_svm: sys/amd64/vmm
 usr.sbin/bhyve
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 17 Oct 2014 03:04:40 -0000

Author: neel
Date: Fri Oct 17 03:04:38 2014
New Revision: 273203
URL: https://svnweb.freebsd.org/changeset/base/273203

Log:
  Hide extended PerfCtr MSRs on AMD processors by clearing bits 23, 24 and 28 in
  CPUID.80000001H:ECX.
  
  Handle accesses to PerfCtrX and PerfEvtSelX MSRs by ignoring writes and
  returning 0 on reads.
  
  This further reduces the number of unimplemented MSRs hit by a Linux guest
  during boot.

Modified:
  projects/bhyve_svm/sys/amd64/vmm/x86.c
  projects/bhyve_svm/usr.sbin/bhyve/xmsr.c

Modified: projects/bhyve_svm/sys/amd64/vmm/x86.c
==============================================================================
--- projects/bhyve_svm/sys/amd64/vmm/x86.c	Fri Oct 17 02:11:09 2014	(r273202)
+++ projects/bhyve_svm/sys/amd64/vmm/x86.c	Fri Oct 17 03:04:38 2014	(r273203)
@@ -159,6 +159,14 @@ x86_emulate_cpuid(struct vm *vm, int vcp
 			regs[2] &= ~(AMDID2_SVM | AMDID2_TOPOLOGY);
 
 			/*
+			 * Don't advertise extended performance counter MSRs
+			 * to the guest.
+			 */
+			regs[2] &= ~AMDID2_PCXC;
+			regs[2] &= ~AMDID2_PNXC;
+			regs[2] &= ~AMDID2_PTSCEL2I;
+
+			/*
 			 * Hide rdtscp/ia32_tsc_aux until we know how
 			 * to deal with them.
 			 */

Modified: projects/bhyve_svm/usr.sbin/bhyve/xmsr.c
==============================================================================
--- projects/bhyve_svm/usr.sbin/bhyve/xmsr.c	Fri Oct 17 02:11:09 2014	(r273202)
+++ projects/bhyve_svm/usr.sbin/bhyve/xmsr.c	Fri Oct 17 03:04:38 2014	(r273203)
@@ -68,6 +68,21 @@ emulate_wrmsr(struct vmctx *ctx, int vcp
 			 * Ignore writes to hardware configuration MSR.
 			 */
 			return (0);
+
+		case MSR_PERFEVSEL0:
+		case MSR_PERFEVSEL1:
+		case MSR_PERFEVSEL2:
+		case MSR_PERFEVSEL3:
+			/* Ignore writes to the PerfEvtSel MSRs */
+			return (0);
+
+		case MSR_K7_PERFCTR0:
+		case MSR_K7_PERFCTR1:
+		case MSR_K7_PERFCTR2:
+		case MSR_K7_PERFCTR3:
+			/* Ignore writes to the PerfCtr MSRs */
+			return (0);
+
 		default:
 			break;
 		}
@@ -111,6 +126,28 @@ emulate_rdmsr(struct vmctx *ctx, int vcp
 			*val = 0x01000010;	/* Reset value */
 			*val |= 1 << 9;		/* MONITOR/MWAIT disable */
 			break;
+
+		case MSR_PERFEVSEL0:
+		case MSR_PERFEVSEL1:
+		case MSR_PERFEVSEL2:
+		case MSR_PERFEVSEL3:
+			/*
+			 * PerfEvtSel MSRs are not properly virtualized so just
+			 * return zero.
+			 */
+			*val = 0;
+			break;
+
+		case MSR_K7_PERFCTR0:
+		case MSR_K7_PERFCTR1:
+		case MSR_K7_PERFCTR2:
+		case MSR_K7_PERFCTR3:
+			/*
+			 * PerfCtr MSRs are not properly virtualized so just
+			 * return zero.
+			 */
+			*val = 0;
+			break;
 		default:
 			break;
 		}

From owner-svn-src-projects@FreeBSD.ORG  Fri Oct 17 06:23:06 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 3933B45F;
 Fri, 17 Oct 2014 06:23:06 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 0A016A2E;
 Fri, 17 Oct 2014 06:23:06 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9H6N5NI044052;
 Fri, 17 Oct 2014 06:23:05 GMT (envelope-from neel@FreeBSD.org)
Received: (from neel@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9H6N5Ph044049;
 Fri, 17 Oct 2014 06:23:05 GMT (envelope-from neel@FreeBSD.org)
Message-Id: <201410170623.s9H6N5Ph044049@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: neel set sender to neel@FreeBSD.org
 using -f
From: Neel Natu <neel@FreeBSD.org>
Date: Fri, 17 Oct 2014 06:23:05 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273207 - in projects/bhyve_svm: sys/amd64/vmm
 sys/x86/include usr.sbin/bhyve
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 17 Oct 2014 06:23:06 -0000

Author: neel
Date: Fri Oct 17 06:23:04 2014
New Revision: 273207
URL: https://svnweb.freebsd.org/changeset/base/273207

Log:
  Don't advertise the Instruction Based Sampling feature because it requires
  emulating a large number of MSRs.
  
  Ignore writes to a couple more AMD-specific MSRs and return 0 on read.
  
  This further reduces the unimplemented MSRs accessed by a Linux guest on boot.

Modified:
  projects/bhyve_svm/sys/amd64/vmm/x86.c
  projects/bhyve_svm/sys/x86/include/specialreg.h
  projects/bhyve_svm/usr.sbin/bhyve/xmsr.c

Modified: projects/bhyve_svm/sys/amd64/vmm/x86.c
==============================================================================
--- projects/bhyve_svm/sys/amd64/vmm/x86.c	Fri Oct 17 04:36:53 2014	(r273206)
+++ projects/bhyve_svm/sys/amd64/vmm/x86.c	Fri Oct 17 06:23:04 2014	(r273207)
@@ -167,6 +167,11 @@ x86_emulate_cpuid(struct vm *vm, int vcp
 			regs[2] &= ~AMDID2_PTSCEL2I;
 
 			/*
+			 * Don't advertise Instruction Based Sampling feature.
+			 */
+			regs[2] &= ~AMDID2_IBS;
+
+			/*
 			 * Hide rdtscp/ia32_tsc_aux until we know how
 			 * to deal with them.
 			 */

Modified: projects/bhyve_svm/sys/x86/include/specialreg.h
==============================================================================
--- projects/bhyve_svm/sys/x86/include/specialreg.h	Fri Oct 17 04:36:53 2014	(r273206)
+++ projects/bhyve_svm/sys/x86/include/specialreg.h	Fri Oct 17 06:23:04 2014	(r273207)
@@ -784,6 +784,8 @@
 #define	MSR_IORRMASK1	0xc0010019
 #define	MSR_TOP_MEM	0xc001001a	/* boundary for ram below 4G */
 #define	MSR_TOP_MEM2	0xc001001d	/* boundary for ram above 4G */
+#define	MSR_NB_CFG1	0xc001001f	/* NB configuration 1 */
+#define	MSR_IC_CFG	0xc0011021	/* Instruction Cache Configuration */
 #define	MSR_K8_UCODE_UPDATE	0xc0010020	/* update microcode */
 #define	MSR_MC0_CTL_MASK	0xc0010044
 #define	MSR_VM_CR		0xc0010114 /* SVM: feature control */

Modified: projects/bhyve_svm/usr.sbin/bhyve/xmsr.c
==============================================================================
--- projects/bhyve_svm/usr.sbin/bhyve/xmsr.c	Fri Oct 17 04:36:53 2014	(r273206)
+++ projects/bhyve_svm/usr.sbin/bhyve/xmsr.c	Fri Oct 17 06:23:04 2014	(r273207)
@@ -69,6 +69,10 @@ emulate_wrmsr(struct vmctx *ctx, int vcp
 			 */
 			return (0);
 
+		case MSR_NB_CFG1:
+		case MSR_IC_CFG:
+			return (0);	/* Ignore writes */
+
 		case MSR_PERFEVSEL0:
 		case MSR_PERFEVSEL1:
 		case MSR_PERFEVSEL2:
@@ -127,6 +131,15 @@ emulate_rdmsr(struct vmctx *ctx, int vcp
 			*val |= 1 << 9;		/* MONITOR/MWAIT disable */
 			break;
 
+		case MSR_NB_CFG1:
+		case MSR_IC_CFG:
+			/*
+			 * The reset value is processor family dependent so
+			 * just return 0.
+			 */
+			*val = 0;
+			break;
+
 		case MSR_PERFEVSEL0:
 		case MSR_PERFEVSEL1:
 		case MSR_PERFEVSEL2:

From owner-svn-src-projects@FreeBSD.ORG  Sat Oct 18 05:39:33 2014
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 24BD9151;
 Sat, 18 Oct 2014 05:39:33 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 1178A1DF;
 Sat, 18 Oct 2014 05:39:33 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9I5dWWD020584;
 Sat, 18 Oct 2014 05:39:32 GMT (envelope-from neel@FreeBSD.org)
Received: (from neel@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9I5dWeD020583;
 Sat, 18 Oct 2014 05:39:32 GMT (envelope-from neel@FreeBSD.org)
Message-Id: <201410180539.s9I5dWeD020583@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: neel set sender to neel@FreeBSD.org
 using -f
From: Neel Natu <neel@FreeBSD.org>
Date: Sat, 18 Oct 2014 05:39:32 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r273245 - projects/bhyve_svm/sys/amd64/vmm
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 18 Oct 2014 05:39:33 -0000

Author: neel
Date: Sat Oct 18 05:39:32 2014
New Revision: 273245
URL: https://svnweb.freebsd.org/changeset/base/273245

Log:
  Don't advertise support for the NodeID MSR since bhyve doesn't emulate it.

Modified:
  projects/bhyve_svm/sys/amd64/vmm/x86.c

Modified: projects/bhyve_svm/sys/amd64/vmm/x86.c
==============================================================================
--- projects/bhyve_svm/sys/amd64/vmm/x86.c	Sat Oct 18 01:02:30 2014	(r273244)
+++ projects/bhyve_svm/sys/amd64/vmm/x86.c	Sat Oct 18 05:39:32 2014	(r273245)
@@ -171,6 +171,9 @@ x86_emulate_cpuid(struct vm *vm, int vcp
 			 */
 			regs[2] &= ~AMDID2_IBS;
 
+			/* NodeID MSR not available */
+			regs[2] &= ~AMDID2_NODE_ID;
+
 			/*
 			 * Hide rdtscp/ia32_tsc_aux until we know how
 			 * to deal with them.