Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 May 2014 09:14:30 +0000 (UTC)
From:      Mark Murray <markm@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r265873 - in projects/random_number_generator: . bin/sh bin/sh/tests/builtins cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/lib/libzfs/common lib lib/clang lib/libc/gen li...
Message-ID:  <201405110914.s4B9EUlT066673@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: markm
Date: Sun May 11 09:14:29 2014
New Revision: 265873
URL: http://svnweb.freebsd.org/changeset/base/265873

Log:
  MFC - tracking commit.
  Merging r265820 through r265872.

Added:
  projects/random_number_generator/.arcconfig
     - copied unchanged from r265872, head/.arcconfig
  projects/random_number_generator/bin/sh/tests/builtins/getopts6.0
     - copied unchanged from r265872, head/bin/sh/tests/builtins/getopts6.0
  projects/random_number_generator/bin/sh/tests/builtins/getopts7.0
     - copied unchanged from r265872, head/bin/sh/tests/builtins/getopts7.0
  projects/random_number_generator/bin/sh/tests/builtins/getopts8.0
     - copied unchanged from r265872, head/bin/sh/tests/builtins/getopts8.0
  projects/random_number_generator/bin/sh/tests/builtins/getopts8.0.stdout
     - copied unchanged from r265872, head/bin/sh/tests/builtins/getopts8.0.stdout
  projects/random_number_generator/tools/build/options/WITHOUT_DOCCOMPRESS
     - copied unchanged from r265872, head/tools/build/options/WITHOUT_DOCCOMPRESS
  projects/random_number_generator/tools/build/options/WITHOUT_GNU_GREP_COMPAT
     - copied unchanged from r265872, head/tools/build/options/WITHOUT_GNU_GREP_COMPAT
  projects/random_number_generator/tools/build/options/WITHOUT_MANCOMPRESS
     - copied unchanged from r265872, head/tools/build/options/WITHOUT_MANCOMPRESS
  projects/random_number_generator/tools/build/options/WITHOUT_SYSCALL_COMPAT
     - copied unchanged from r265872, head/tools/build/options/WITHOUT_SYSCALL_COMPAT
  projects/random_number_generator/tools/build/options/WITHOUT_WARNS
     - copied unchanged from r265872, head/tools/build/options/WITHOUT_WARNS
  projects/random_number_generator/tools/build/options/WITH_FMAKE
     - copied unchanged from r265872, head/tools/build/options/WITH_FMAKE
Deleted:
  projects/random_number_generator/share/mk/bsd.pkg.mk
Modified:
  projects/random_number_generator/Makefile
  projects/random_number_generator/Makefile.inc1
  projects/random_number_generator/bin/sh/options.c
  projects/random_number_generator/bin/sh/tests/builtins/Makefile
  projects/random_number_generator/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c
  projects/random_number_generator/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
  projects/random_number_generator/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c
  projects/random_number_generator/lib/Makefile
  projects/random_number_generator/lib/clang/Makefile
  projects/random_number_generator/lib/clang/clang.build.mk
  projects/random_number_generator/lib/libc/gen/sem_new.c
  projects/random_number_generator/lib/libedit/editline.3
  projects/random_number_generator/lib/libedit/hist.h
  projects/random_number_generator/lib/libedit/histedit.h
  projects/random_number_generator/lib/libedit/history.c
  projects/random_number_generator/share/man/man4/udplite.4
  projects/random_number_generator/share/mk/Makefile
  projects/random_number_generator/share/mk/bsd.compiler.mk
  projects/random_number_generator/share/mk/bsd.doc.mk
  projects/random_number_generator/share/mk/bsd.opts.mk
  projects/random_number_generator/share/mk/bsd.prog.mk
  projects/random_number_generator/share/mk/bsd.sys.mk
  projects/random_number_generator/share/mk/bsd.test.mk
  projects/random_number_generator/share/mk/src.opts.mk
  projects/random_number_generator/share/mk/sys.mk
  projects/random_number_generator/sys/arm/arm/bus_space_generic.c
  projects/random_number_generator/sys/arm/arm/cpufunc.c
  projects/random_number_generator/sys/arm/arm/pl310.c
  projects/random_number_generator/sys/arm/at91/at91_machdep.c
  projects/random_number_generator/sys/arm/cavium/cns11xx/econa_machdep.c
  projects/random_number_generator/sys/arm/conf/EXYNOS5250.common
  projects/random_number_generator/sys/arm/include/atomic.h
  projects/random_number_generator/sys/arm/include/cpufunc.h
  projects/random_number_generator/sys/arm/lpc/lpc_gpio.c
  projects/random_number_generator/sys/arm/lpc/lpc_machdep.c
  projects/random_number_generator/sys/arm/lpc/lpcvar.h
  projects/random_number_generator/sys/arm/mv/gpio.c
  projects/random_number_generator/sys/arm/mv/mv_localbus.c
  projects/random_number_generator/sys/arm/mv/mv_machdep.c
  projects/random_number_generator/sys/arm/mv/mv_pci.c
  projects/random_number_generator/sys/arm/mv/mvvar.h
  projects/random_number_generator/sys/arm/mv/orion/db88f5xxx.c
  projects/random_number_generator/sys/arm/rockchip/rk30xx_gpio.c
  projects/random_number_generator/sys/arm/s3c2xx0/s3c24x0_machdep.c
  projects/random_number_generator/sys/arm/xscale/i80321/ep80219_machdep.c
  projects/random_number_generator/sys/arm/xscale/i80321/iq31244_machdep.c
  projects/random_number_generator/sys/arm/xscale/i8134x/crb_machdep.c
  projects/random_number_generator/sys/arm/xscale/ixp425/avila_machdep.c
  projects/random_number_generator/sys/arm/xscale/pxa/pxa_machdep.c
  projects/random_number_generator/sys/conf/Makefile.arm
  projects/random_number_generator/sys/conf/files.powerpc
  projects/random_number_generator/sys/conf/kern.mk
  projects/random_number_generator/sys/conf/kern.pre.mk
  projects/random_number_generator/sys/conf/kmod.mk
  projects/random_number_generator/sys/dev/usb/controller/dwc_otg.c
  projects/random_number_generator/sys/dev/usb/controller/dwc_otg.h
  projects/random_number_generator/sys/dev/vt/hw/ofwfb/ofwfb.c
  projects/random_number_generator/sys/modules/Makefile
  projects/random_number_generator/sys/powerpc/conf/GENERIC
  projects/random_number_generator/sys/powerpc/conf/GENERIC64
  projects/random_number_generator/sys/powerpc/powerpc/platform.c
  projects/random_number_generator/sys/powerpc/ps3/ps3_syscons.c
  projects/random_number_generator/sys/vm/vm_fault.c
  projects/random_number_generator/sys/vm/vm_map.c
  projects/random_number_generator/tests/sys/netinet/Makefile
  projects/random_number_generator/usr.bin/Makefile
  projects/random_number_generator/usr.bin/clang/clang/Makefile
  projects/random_number_generator/usr.bin/look/look.1
  projects/random_number_generator/usr.bin/look/look.c
  projects/random_number_generator/usr.bin/mesg/mesg.c
  projects/random_number_generator/usr.bin/printf/printf.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/cddl/contrib/opensolaris/lib/libzfs/   (props changed)
  projects/random_number_generator/lib/libc/   (props changed)
  projects/random_number_generator/share/man/man4/   (props changed)
  projects/random_number_generator/sys/   (props changed)
  projects/random_number_generator/sys/conf/   (props changed)

Copied: projects/random_number_generator/.arcconfig (from r265872, head/.arcconfig)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/random_number_generator/.arcconfig	Sun May 11 09:14:29 2014	(r265873, copy of r265872, head/.arcconfig)
@@ -0,0 +1,3 @@
+{
+	"phabricator.uri" : "https://phabric.freebsd.org/"
+}

Modified: projects/random_number_generator/Makefile
==============================================================================
--- projects/random_number_generator/Makefile	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/Makefile	Sun May 11 09:14:29 2014	(r265873)
@@ -316,13 +316,6 @@ kernel: buildkernel installkernel
 upgrade_checks:
 .if ${HAVE_MAKE} != ${WANT_MAKE}
 	@(cd ${.CURDIR} && ${MAKE} ${WANT_MAKE:S,^f,,})
-.elif ${WANT_MAKE} == "fmake"
-	@if ! (cd ${.CURDIR}/tools/build/make_check && \
-	    PATH=${PATH} ${BINMAKE} obj >/dev/null 2>&1 && \
-	    PATH=${PATH} ${BINMAKE} >/dev/null 2>&1); \
-	then \
-	    (cd ${.CURDIR} && ${MAKE} make); \
-	fi
 .endif
 
 #
@@ -334,20 +327,20 @@ MMAKEENV=	MAKEOBJDIRPREFIX=${MYMAKE:H} \
 		DESTDIR= \
 		INSTALL="sh ${.CURDIR}/tools/install.sh"
 MMAKE=		${MMAKEENV} ${MAKE} \
-		-D_UPGRADING -DNO_MAN -DNO_SHARED \
+		-DNO_MAN -DNO_SHARED \
 		-DNO_CPU_CFLAGS -DNO_WERROR \
-		DESTDIR= MK_TESTS=no PROGNAME=${MYMAKE:T}
+		DESTDIR= PROGNAME=${MYMAKE:T}
 
-make bmake: .PHONY
+bmake: .PHONY
 	@echo
 	@echo "--------------------------------------------------------------"
-	@echo ">>> Building an up-to-date make(1)"
+	@echo ">>> Building an up-to-date ${.TARGET}(1)"
 	@echo "--------------------------------------------------------------"
 	${_+_}@cd ${.CURDIR}/usr.bin/${.TARGET}; \
 		${MMAKE} obj && \
 		${MMAKE} depend && \
 		${MMAKE} all && \
-		${MMAKE} install DESTDIR=${MYMAKE:H} BINDIR= NO_MAN=t
+		${MMAKE} install DESTDIR=${MYMAKE:H} BINDIR=
 
 tinderbox toolchains kernel-toolchains: upgrade_checks
 
@@ -457,7 +450,7 @@ TARGET!=	uname -m
 .if defined(MAKE_ALL_KERNELS)
 _THINNER=cat
 .else
-_THINNER=xargs grep -L "^.NO_UNIVERSE"
+_THINNER=xargs grep -L "^.NO_UNIVERSE" || true
 .endif
 KERNCONFS!=	cd ${KERNSRCDIR}/${TARGET}/conf && \
 		find [A-Z0-9]*[A-Z0-9] -type f -maxdepth 0 \

Modified: projects/random_number_generator/Makefile.inc1
==============================================================================
--- projects/random_number_generator/Makefile.inc1	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/Makefile.inc1	Sun May 11 09:14:29 2014	(r265873)
@@ -248,7 +248,8 @@ BMAKE=		MAKEOBJDIRPREFIX=${WORLDTMP} \
 		SSP_CFLAGS= \
 		MK_HTML=no MK_INFO=no NO_LINT=yes MK_MAN=no \
 		-DNO_PIC MK_PROFILE=no -DNO_SHARED \
-		-DNO_CPU_CFLAGS -DNO_WARNS MK_CTF=no -DEARLY_BUILD MK_TESTS=no
+		-DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \
+		MK_CLANG_FULL=no MK_LLDB=no MK_TESTS=no
 
 # build-tools stage
 TMAKE=		MAKEOBJDIRPREFIX=${OBJTREE} \
@@ -258,7 +259,7 @@ TMAKE=		MAKEOBJDIRPREFIX=${OBJTREE} \
 		BOOTSTRAPPING=${OSRELDATE} \
 		SSP_CFLAGS= \
 		-DNO_LINT \
-		-DNO_CPU_CFLAGS -DNO_WARNS MK_CTF=no -DEARLY_BUILD MK_TESTS=no
+		-DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no MK_CLANG_FULL=no MK_LLDB=no MK_TESTS=no
 
 # cross-tools stage
 XMAKE=		TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \
@@ -277,7 +278,7 @@ KTMAKE=		TOOLS_PREFIX=${WORLDTMP} MAKEOB
 		SSP_CFLAGS= \
 		MK_HTML=no MK_INFO=no -DNO_LINT MK_MAN=no \
 		-DNO_PIC MK_PROFILE=no -DNO_SHARED \
-		-DNO_CPU_CFLAGS -DNO_WARNS MK_CTF=no -DEARLY_BUILD
+		-DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no
 
 # world stage
 WMAKEENV=	${CROSSENV} \
@@ -609,8 +610,8 @@ build32:
 	    WORLDTMP=${WORLDTMP} \
 	    MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \
 	    MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} SSP_CFLAGS= DESTDIR= \
-	    DIRPRFX=${_dir}/ -DNO_LINT -DNO_CPU_CFLAGS -DNO_WARNS MK_CTF=no \
-	    -DEARLY_BUILD build-tools
+	    DIRPRFX=${_dir}/ -DNO_LINT -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \
+	    build-tools
 .endfor
 	cd ${.CURDIR}; \
 	    ${LIB32WMAKE} -f Makefile.inc1 libraries
@@ -1846,7 +1847,7 @@ XDEV_CPUTYPE?=${TARGET_CPUTYPE}
 
 NOFUN=-DNO_FSCHG MK_HTML=no MK_INFO=no -DNO_LINT \
 	MK_MAN=no MK_NLS=no MK_PROFILE=no \
-	MK_KERBEROS=no MK_RESCUE=no MK_TESTS=no -DNO_WARNS \
+	MK_KERBEROS=no MK_RESCUE=no MK_TESTS=no MK_WARNS=no \
 	TARGET=${XDEV} TARGET_ARCH=${XDEV_ARCH} \
 	CPUTYPE=${XDEV_CPUTYPE}
 

Modified: projects/random_number_generator/bin/sh/options.c
==============================================================================
--- projects/random_number_generator/bin/sh/options.c	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/bin/sh/options.c	Sun May 11 09:14:29 2014	(r265873)
@@ -446,6 +446,7 @@ getopts(char *optstr, char *optvar, char
 	int ind = 0;
 	int err = 0;
 	char s[10];
+	const char *optarg = NULL;
 
 	if ((p = *optptr) == NULL || *p == '\0') {
 		/* Current word is done, advance */
@@ -471,16 +472,12 @@ atend:
 			if (optstr[0] == ':') {
 				s[0] = c;
 				s[1] = '\0';
-				err |= setvarsafe("OPTARG", s, 0);
+				optarg = s;
 			}
-			else {
+			else
 				out2fmt_flush("Illegal option -%c\n", c);
-				INTOFF;
-				(void) unsetvar("OPTARG");
-				INTON;
-			}
 			c = '?';
-			goto bad;
+			goto out;
 		}
 		if (*++q == ':')
 			q++;
@@ -491,35 +488,33 @@ atend:
 			if (optstr[0] == ':') {
 				s[0] = c;
 				s[1] = '\0';
-				err |= setvarsafe("OPTARG", s, 0);
+				optarg = s;
 				c = ':';
 			}
 			else {
 				out2fmt_flush("No arg for -%c option\n", c);
-				INTOFF;
-				(void) unsetvar("OPTARG");
-				INTON;
 				c = '?';
 			}
-			goto bad;
+			goto out;
 		}
 
 		if (p == **optnext)
 			(*optnext)++;
-		setvarsafe("OPTARG", p, 0);
+		optarg = p;
 		p = NULL;
 	}
-	else
-		setvarsafe("OPTARG", "", 0);
-	ind = *optnext - optfirst + 1;
-	goto out;
-
-bad:
-	ind = 1;
-	*optnext = NULL;
-	p = NULL;
+
 out:
+	if (*optnext != NULL)
+		ind = *optnext - optfirst + 1;
 	*optptr = p;
+	if (optarg != NULL)
+		err |= setvarsafe("OPTARG", optarg, 0);
+	else {
+		INTOFF;
+		err |= unsetvar("OPTARG");
+		INTON;
+	}
 	fmtstr(s, sizeof(s), "%d", ind);
 	err |= setvarsafe("OPTIND", s, VNOFUNC);
 	s[0] = c;

Modified: projects/random_number_generator/bin/sh/tests/builtins/Makefile
==============================================================================
--- projects/random_number_generator/bin/sh/tests/builtins/Makefile	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/bin/sh/tests/builtins/Makefile	Sun May 11 09:14:29 2014	(r265873)
@@ -83,6 +83,9 @@ FILES+=		getopts2.0 getopts2.0.stdout
 FILES+=		getopts3.0
 FILES+=		getopts4.0
 FILES+=		getopts5.0
+FILES+=		getopts6.0
+FILES+=		getopts7.0
+FILES+=		getopts8.0 getopts8.0.stdout
 FILES+=		hash1.0 hash1.0.stdout
 FILES+=		hash2.0 hash2.0.stdout
 FILES+=		hash3.0 hash3.0.stdout

Copied: projects/random_number_generator/bin/sh/tests/builtins/getopts6.0 (from r265872, head/bin/sh/tests/builtins/getopts6.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/random_number_generator/bin/sh/tests/builtins/getopts6.0	Sun May 11 09:14:29 2014	(r265873, copy of r265872, head/bin/sh/tests/builtins/getopts6.0)
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+set -- -x -y
+getopts :x var || echo "First getopts bad: $?"
+getopts :x var
+r=$?
+[ r != 0 ] && [ "$OPTIND" = 3 ]

Copied: projects/random_number_generator/bin/sh/tests/builtins/getopts7.0 (from r265872, head/bin/sh/tests/builtins/getopts7.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/random_number_generator/bin/sh/tests/builtins/getopts7.0	Sun May 11 09:14:29 2014	(r265873, copy of r265872, head/bin/sh/tests/builtins/getopts7.0)
@@ -0,0 +1,6 @@
+# $FreeBSD$
+
+set -- -x
+getopts :x: var
+r=$?
+[ r != 0 ] && [ "$OPTIND" = 2 ]

Copied: projects/random_number_generator/bin/sh/tests/builtins/getopts8.0 (from r265872, head/bin/sh/tests/builtins/getopts8.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/random_number_generator/bin/sh/tests/builtins/getopts8.0	Sun May 11 09:14:29 2014	(r265873, copy of r265872, head/bin/sh/tests/builtins/getopts8.0)
@@ -0,0 +1,8 @@
+# $FreeBSD$
+
+set -- -yz -wx
+opt=wrong1 OPTARG=wrong2
+while getopts :x opt; do
+	echo "$opt:${OPTARG-unset}"
+done
+echo "OPTIND=$OPTIND"

Copied: projects/random_number_generator/bin/sh/tests/builtins/getopts8.0.stdout (from r265872, head/bin/sh/tests/builtins/getopts8.0.stdout)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/random_number_generator/bin/sh/tests/builtins/getopts8.0.stdout	Sun May 11 09:14:29 2014	(r265873, copy of r265872, head/bin/sh/tests/builtins/getopts8.0.stdout)
@@ -0,0 +1,5 @@
+?:y
+?:z
+?:w
+x:unset
+OPTIND=3

Modified: projects/random_number_generator/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c
==============================================================================
--- projects/random_number_generator/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c	Sun May 11 09:14:29 2014	(r265873)
@@ -512,6 +512,7 @@ make_leaf_vdev(const char *arg, uint64_t
 		verify(nvlist_add_uint64(vdev, ZPOOL_CONFIG_WHOLE_DISK,
 		    (uint64_t)wholedisk) == 0);
 
+#ifdef have_devid
 	/*
 	 * For a whole disk, defer getting its devid until after labeling it.
 	 */
@@ -546,6 +547,7 @@ make_leaf_vdev(const char *arg, uint64_t
 
 		(void) close(fd);
 	}
+#endif
 
 	return (vdev);
 }

Modified: projects/random_number_generator/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
==============================================================================
--- projects/random_number_generator/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c	Sun May 11 09:14:29 2014	(r265873)
@@ -94,6 +94,7 @@ typedef struct pool_list {
 static char *
 get_devid(const char *path)
 {
+#ifdef have_devid
 	int fd;
 	ddi_devid_t devid;
 	char *minor, *ret;
@@ -113,6 +114,9 @@ get_devid(const char *path)
 	(void) close(fd);
 
 	return (ret);
+#else
+	return (NULL);
+#endif
 }
 
 

Modified: projects/random_number_generator/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c
==============================================================================
--- projects/random_number_generator/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c	Sun May 11 09:14:29 2014	(r265873)
@@ -3324,6 +3324,7 @@ devid_to_path(char *devid_str)
 static char *
 path_to_devid(const char *path)
 {
+#ifdef have_devid
 	int fd;
 	ddi_devid_t devid;
 	char *minor, *ret;
@@ -3343,6 +3344,9 @@ path_to_devid(const char *path)
 	(void) close(fd);
 
 	return (ret);
+#else
+	return (NULL);
+#endif
 }
 
 /*

Modified: projects/random_number_generator/lib/Makefile
==============================================================================
--- projects/random_number_generator/lib/Makefile	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/lib/Makefile	Sun May 11 09:14:29 2014	(r265873)
@@ -31,8 +31,12 @@
 # Except it appears bind needs to be compiled last
 
 SUBDIR_ORDERED=	${_csu} \
+	.WAIT \
 	libc \
 	libc_nonshared \
+	.WAIT \
+	msun \
+	.WAIT \
 	libbsm \
 	libauditd \
 	libutil \
@@ -45,7 +49,6 @@ SUBDIR_ORDERED=	${_csu} \
 	${_libiconv_modules} \
 	libkvm \
 	${_libldns} \
-	msun \
 	libmd \
 	ncurses \
 	${_libnetgraph} \
@@ -62,6 +65,7 @@ SUBDIR_ORDERED+=	libcom_err
 .endif
 
 SUBDIR=	${SUBDIR_ORDERED} \
+	.WAIT \
 	libalias \
 	libarchive \
 	${_libatm} \

Modified: projects/random_number_generator/lib/clang/Makefile
==============================================================================
--- projects/random_number_generator/lib/clang/Makefile	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/lib/clang/Makefile	Sun May 11 09:14:29 2014	(r265873)
@@ -3,8 +3,7 @@
 .include <src.opts.mk>
 
 .if !make(install)
-.if !defined(EARLY_BUILD)
-.if defined(MK_CLANG_FULL) && ${MK_CLANG_FULL} != "no"
+.if ${MK_CLANG_FULL} != "no"
 _libclangstaticanalyzer= \
 	libclangstaticanalyzercheckers \
 	libclangstaticanalyzercore \
@@ -12,13 +11,11 @@ _libclangstaticanalyzer= \
 _libclangarcmigrate= \
 	libclangarcmigrate
 .endif # MK_CLANG_FULL
-.if (defined(MK_CLANG_FULL) && ${MK_CLANG_FULL} != "no") || \
-    (defined(MK_LLDB) && ${MK_LLDB} != "no")
+.if ${MK_CLANG_FULL} != "no" || ${MK_LLDB} != "no"
 _libclangrewriter= \
 	libclangrewritecore \
 	libclangrewritefrontend
 .endif # (MK_CLANG_FULL || MK_LLDB)
-.endif # !EARLY_BUILD
 
 SUBDIR=	libclanganalysis \
 	${_libclangarcmigrate} \
@@ -105,7 +102,7 @@ SUBDIR+=libllvmexecutionengine \
 	libllvmruntimedyld
 .endif # MK_CLANG_EXTRAS | LLDB
 
-.if !defined(EARLY_BUILD) && ${MK_LLDB} != "no"
+.if ${MK_LLDB} != "no"
 SUBDIR+=liblldb \
 	\
 	liblldbAPI \
@@ -141,7 +138,7 @@ SUBDIR+=liblldb \
 	liblldbPluginSymbolVendorELF \
 	liblldbPluginUnwindAssemblyInstEmulation \
 	liblldbPluginUnwindAssemblyX86
-.endif # !EARLY_BUILD && MK_LLDB
+.endif # MK_LLDB
 
 .endif # !make(install)
 

Modified: projects/random_number_generator/lib/clang/clang.build.mk
==============================================================================
--- projects/random_number_generator/lib/clang/clang.build.mk	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/lib/clang/clang.build.mk	Sun May 11 09:14:29 2014	(r265873)
@@ -10,11 +10,11 @@ CFLAGS+=	-I${LLVM_SRCS}/include -I${CLAN
 		-DLLVM_ON_UNIX -DLLVM_ON_FREEBSD \
 		-D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS #-DNDEBUG
 
-.if !defined(EARLY_BUILD) && defined(MK_CLANG_FULL) && ${MK_CLANG_FULL} != "no"
+.if ${MK_CLANG_FULL} != "no"
 CFLAGS+=	-DCLANG_ENABLE_ARCMT \
 		-DCLANG_ENABLE_REWRITER \
 		-DCLANG_ENABLE_STATIC_ANALYZER
-.endif # !EARLY_BUILD && MK_CLANG_FULL
+.endif # MK_CLANG_FULL
 
 # LLVM is not strict aliasing safe as of 12/31/2011
 CFLAGS+=	-fno-strict-aliasing

Modified: projects/random_number_generator/lib/libc/gen/sem_new.c
==============================================================================
--- projects/random_number_generator/lib/libc/gen/sem_new.c	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/lib/libc/gen/sem_new.c	Sun May 11 09:14:29 2014	(r265873)
@@ -66,6 +66,8 @@ __weak_reference(_sem_wait, sem_wait);
 struct sem_nameinfo {
 	int open_count;
 	char *name;
+	dev_t dev;
+	ino_t ino;
 	sem_t *sem;
 	LIST_ENTRY(sem_nameinfo) next;
 };
@@ -151,37 +153,46 @@ _sem_open(const char *name, int flags, .
 		return (SEM_FAILED);
 	}
 	name++;
-
+	strcpy(path, SEM_PREFIX);
+	if (strlcat(path, name, sizeof(path)) >= sizeof(path)) {
+		errno = ENAMETOOLONG;
+		return (SEM_FAILED);
+	}
 	if (flags & ~(O_CREAT|O_EXCL)) {
 		errno = EINVAL;
 		return (SEM_FAILED);
 	}
-
+	if ((flags & O_CREAT) != 0) {
+		va_start(ap, flags);
+		mode = va_arg(ap, int);
+		value = va_arg(ap, int);
+		va_end(ap);
+	}
+	fd = -1;
 	_pthread_once(&once, sem_module_init);
 
 	_pthread_mutex_lock(&sem_llock);
 	LIST_FOREACH(ni, &sem_list, next) {
-		if (strcmp(name, ni->name) == 0) {
-			if ((flags & (O_CREAT|O_EXCL)) == (O_CREAT|O_EXCL)) {
-				_pthread_mutex_unlock(&sem_llock);
-				errno = EEXIST;
-				return (SEM_FAILED);
-			} else {
-				ni->open_count++;
-				sem = ni->sem;
-				_pthread_mutex_unlock(&sem_llock);
-				return (sem);
+		if (ni->name != NULL && strcmp(name, ni->name) == 0) {
+			fd = _open(path, flags | O_RDWR | O_CLOEXEC |
+			    O_EXLOCK, mode);
+			if (fd == -1 || _fstat(fd, &sb) == -1)
+				goto error;
+			if ((flags & (O_CREAT | O_EXCL)) == (O_CREAT |
+			    O_EXCL) || ni->dev != sb.st_dev ||
+			    ni->ino != sb.st_ino) {
+				ni->name = NULL;
+				ni = NULL;
+				break;
 			}
+			ni->open_count++;
+			sem = ni->sem;
+			_pthread_mutex_unlock(&sem_llock);
+			_close(fd);
+			return (sem);
 		}
 	}
 
-	if (flags & O_CREAT) {
-		va_start(ap, flags);
-		mode = va_arg(ap, int);
-		value = va_arg(ap, int);
-		va_end(ap);
-	}
-
 	len = sizeof(*ni) + strlen(name) + 1;
 	ni = (struct sem_nameinfo *)malloc(len);
 	if (ni == NULL) {
@@ -192,17 +203,11 @@ _sem_open(const char *name, int flags, .
 	ni->name = (char *)(ni+1);
 	strcpy(ni->name, name);
 
-	strcpy(path, SEM_PREFIX);
-	if (strlcat(path, name, sizeof(path)) >= sizeof(path)) {
-		errno = ENAMETOOLONG;
-		goto error;
+	if (fd == -1) {
+		fd = _open(path, flags | O_RDWR | O_CLOEXEC | O_EXLOCK, mode);
+		if (fd == -1 || _fstat(fd, &sb) == -1)
+			goto error;
 	}
-
-	fd = _open(path, flags|O_RDWR|O_CLOEXEC|O_EXLOCK, mode);
-	if (fd == -1)
-		goto error;
-	if (_fstat(fd, &sb))
-		goto error;
 	if (sb.st_size < sizeof(sem_t)) {
 		sem_t tmp;
 
@@ -228,6 +233,8 @@ _sem_open(const char *name, int flags, .
 	}
 	ni->open_count = 1;
 	ni->sem = sem;
+	ni->dev = sb.st_dev;
+	ni->ino = sb.st_ino;
 	LIST_INSERT_HEAD(&sem_list, ni, next);
 	_close(fd);
 	_pthread_mutex_unlock(&sem_llock);
@@ -294,13 +301,13 @@ _sem_unlink(const char *name)
 		return -1;
 	}
 	name++;
-
 	strcpy(path, SEM_PREFIX);
 	if (strlcat(path, name, sizeof(path)) >= sizeof(path)) {
 		errno = ENAMETOOLONG;
 		return (-1);
 	}
-	return unlink(path);
+
+	return (unlink(path));
 }
 
 int

Modified: projects/random_number_generator/lib/libedit/editline.3
==============================================================================
--- projects/random_number_generator/lib/libedit/editline.3	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/lib/libedit/editline.3	Sun May 11 09:14:29 2014	(r265873)
@@ -682,6 +682,9 @@ Load the history list stored in
 .It Dv H_SAVE , Fa "const char *file"
 Save the history list to
 .Fa file .
+.It Dv H_SAVE_FP , Fa "FILE*"
+Save the history list to the opened
+.Fa FILE* .
 .It Dv H_SETUNIQUE , Fa "int unique"
 Set flag that adjacent identical event strings should not be entered
 into the history.

Modified: projects/random_number_generator/lib/libedit/hist.h
==============================================================================
--- projects/random_number_generator/lib/libedit/hist.h	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/lib/libedit/hist.h	Sun May 11 09:14:29 2014	(r265873)
@@ -65,6 +65,7 @@ typedef struct el_history_t {
 #define	HIST_SET(el, num)	HIST_FUN(el, H_SET, num)
 #define	HIST_LOAD(el, fname)	HIST_FUN(el, H_LOAD fname)
 #define	HIST_SAVE(el, fname)	HIST_FUN(el, H_SAVE fname)
+#define	HIST_SAVE_FP(el, fp)	HIST_FUN(el, H_SAVE_FP fp)
 
 protected int		hist_init(EditLine *);
 protected void		hist_end(EditLine *);

Modified: projects/random_number_generator/lib/libedit/histedit.h
==============================================================================
--- projects/random_number_generator/lib/libedit/histedit.h	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/lib/libedit/histedit.h	Sun May 11 09:14:29 2014	(r265873)
@@ -208,6 +208,7 @@ int		history(History *, HistEvent *, int
 #define	H_NEXT_EVDATA	23	/* , const int, histdata_t *);	*/
 #define	H_DELDATA	24	/* , int, histdata_t *);*/
 #define	H_REPLACE	25	/* , const char *, histdata_t);	*/
+#define	H_SAVE_FP	26	/* , FILE*);	*/
 
 
 /*

Modified: projects/random_number_generator/lib/libedit/history.c
==============================================================================
--- projects/random_number_generator/lib/libedit/history.c	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/lib/libedit/history.c	Sun May 11 09:14:29 2014	(r265873)
@@ -103,6 +103,7 @@ private int history_getunique(History *,
 private int history_set_fun(History *, History *);
 private int history_load(History *, const char *);
 private int history_save(History *, const char *);
+private int history_save_fp(History *, FILE*);
 private int history_prev_event(History *, HistEvent *, int);
 private int history_next_event(History *, HistEvent *, int);
 private int history_next_string(History *, HistEvent *, const char *);
@@ -773,22 +774,16 @@ done:
 	return (i);
 }
 
-
-/* history_save():
- *	History save function
+/* history_save_fp():
+ *	History save with open FILE*
  */
-private int
-history_save(History *h, const char *fname)
+private int history_save_fp(History *h, FILE* fp)
 {
-	FILE *fp;
 	HistEvent ev;
 	int i = -1, retval;
 	size_t len, max_size;
 	char *ptr;
 
-	if ((fp = fopen(fname, "w")) == NULL)
-		return (-1);
-
 	if (fchmod(fileno(fp), S_IRUSR|S_IWUSR) == -1)
 		goto done;
 	if (fputs(hist_cookie, fp) == EOF)
@@ -816,6 +811,26 @@ history_save(History *h, const char *fna
 oomem:
 	h_free((ptr_t)ptr);
 done:
+	return (i);
+	
+}
+
+
+/* history_save():
+ *	History save function
+ */
+private int
+history_save(History *h, const char *fname)
+{
+	FILE *fp;
+	int i;
+
+	if ((fp = fopen(fname, "w")) == NULL)
+		return (-1);
+
+	i = history_save_fp(h, fp);
+
+done:
 	(void) fclose(fp);
 	return (i);
 }
@@ -1001,6 +1016,12 @@ history(History *h, HistEvent *ev, int f
 			he_seterrev(ev, _HE_HIST_WRITE);
 		break;
 
+	case H_SAVE_FP:
+		retval = history_save_fp(h, va_arg(va, FILE*));
+		if (retval == -1)
+			he_seterrev(ev, _HE_HIST_WRITE);
+		break;
+
 	case H_PREV_EVENT:
 		retval = history_prev_event(h, ev, va_arg(va, int));
 		break;

Modified: projects/random_number_generator/share/man/man4/udplite.4
==============================================================================
--- projects/random_number_generator/share/man/man4/udplite.4	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/share/man/man4/udplite.4	Sun May 11 09:14:29 2014	(r265873)
@@ -52,7 +52,7 @@ supports a number of socket options whic
 .Xr setsockopt 2
 and tested with
 .Xr getsockopt 2 :
-.Bl -tag -width ".Dv SCTP_SET_PEER_PRIMARY_ADDR"
+.Bl -tag -width ".Dv UDPLITE_SEND_CSCOV"
 .It Dv UDPLITE_SEND_CSCOV
 This option sets the sender checksum coverage.
 A value of zero indicates that the entire packet

Modified: projects/random_number_generator/share/mk/Makefile
==============================================================================
--- projects/random_number_generator/share/mk/Makefile	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/share/mk/Makefile	Sun May 11 09:14:29 2014	(r265873)
@@ -42,9 +42,6 @@ FILES=	\
 	sys.mk \
 	version_gen.awk
 
-# Installed for the moment, but not may not be in the future.
-FILES+=	src.opts.mk
-
 NO_OBJ=
 FILESDIR=	${BINDIR}/mk
 

Modified: projects/random_number_generator/share/mk/bsd.compiler.mk
==============================================================================
--- projects/random_number_generator/share/mk/bsd.compiler.mk	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/share/mk/bsd.compiler.mk	Sun May 11 09:14:29 2014	(r265873)
@@ -1,27 +1,46 @@
 # $FreeBSD$
 
+# Setup variables for the compiler
+#
+# COMPILTER_TYPE is the major type of compiler. Currently gcc and clang support
+# automatic detetion. Other compiler types can be shoe-horned in, but require explicit
+# setting of the compiler type. The compiler type can also be set explicitly if, say,
+# you install gcc as clang...
+#
+# COMPILER_VERSION is a numeric constant equal to major * 10000 + minor * 100 + tiny. It
+# too can be overriden on the command line. When testing it, be sure to make sure that you
+# are limiting the test to a specific compiler. Testing against 30300 for gcc likely isn't
+# what you wanted (since versions of gcc prior to 4.2 likely have no prayer of working).
+#
+# COMPILER_FEATURES will contain one or more of the following, based on compiler support
+# for that feature: c++11 (supports full (or nearly full) C++11 programming environment).
+#
+# This file may be included multiple times, but only has effect the first time.
+#
+
 .if !target(__<bsd.compiler.mk>__)
 __<bsd.compiler.mk>__:
 
+_v!=	${CC} --version
 .if !defined(COMPILER_TYPE)
 . if ${CC:T:Mgcc*}
 COMPILER_TYPE:=	gcc  
 . elif ${CC:T:Mclang}
 COMPILER_TYPE:=	clang
-. else
-_COMPILER_VERSION!=	${CC} --version
-.  if ${_COMPILER_VERSION:Mgcc}
+. elif ${_v:Mgcc}
 COMPILER_TYPE:=	gcc
-.  elif ${_COMPILER_VERSION:M\(GCC\)}
+. elif ${_v:M\(GCC\)}
 COMPILER_TYPE:=	gcc
-.  elif ${_COMPILER_VERSION:Mclang}
+. elif ${_v:Mclang}
 COMPILER_TYPE:=	clang
-.  else
+. else
 .error Unable to determine compiler type for ${CC}.  Consider setting COMPILER_TYPE.
-.  endif
-.  undef _COMPILER_VERSION
 . endif
 .endif
+.if !defined(COMPILER_VERSION)
+COMPILER_VERSION!=echo ${_v:M[1-9].[0-9]*} | awk -F. '{print $$1 * 10000 + $$2 * 100 + $$3;}'
+.endif
+.undef _v
 
 .if ${COMPILER_TYPE} == "clang"
 COMPILER_FEATURES=	c++11

Modified: projects/random_number_generator/share/mk/bsd.doc.mk
==============================================================================
--- projects/random_number_generator/share/mk/bsd.doc.mk	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/share/mk/bsd.doc.mk	Sun May 11 09:14:29 2014	(r265873)
@@ -19,7 +19,7 @@
 #
 # MACROS	Macro packages used to build the document.  [not set]
 #
-# NO_DOCCOMPRESS If you do not want formatted troff documents to be
+# WITHOUT_DOCCOMPRESS If you do not want formatted troff documents to be
 #		compressed when they are installed.  [not set]
 #
 # PRINTERDEVICE	Indicates which output formats will be generated
@@ -87,7 +87,7 @@ DCOMPRESS_CMD?=	${COMPRESS_CMD}
 DFILE.html=	${DOC}.html
 .endfor
 .for _dev in ${PRINTERDEVICE:Nhtml}
-.if defined(NO_DOCCOMPRESS)
+.if ${MK_DOCCOMPRESS} == "no"
 DFILE.${_dev}=	${DOC}.${_dev}
 .else
 DFILE.${_dev}=	${DOC}.${_dev}${DCOMPRESS_EXT}
@@ -117,7 +117,7 @@ print: ${DFILE.${_dev}}
 .endfor
 print:
 .for _dev in ${PRINTERDEVICE}
-.if defined(NO_DOCCOMPRESS)
+.if ${MK_DOCCOMPRESS} == "no"
 	${LPR} ${DFILE.${_dev}}
 .else
 	${DCOMPRESS_CMD} -d ${DFILE.${_dev}} | ${LPR}
@@ -164,7 +164,7 @@ CLEANFILES+=	_stamp.extra
 ${DFILE.${_dev}}: _stamp.extra
 .endif
 ${DFILE.${_dev}}: ${SRCS}
-.if defined(NO_DOCCOMPRESS)
+.if ${MK_DOCCOMPRESS} == "no"
 	${ROFF.${_dev}} ${.ALLSRC:N_stamp.extra} > ${.TARGET}
 .else
 	${ROFF.${_dev}} ${.ALLSRC:N_stamp.extra} | ${DCOMPRESS_CMD} > ${.TARGET}

Modified: projects/random_number_generator/share/mk/bsd.opts.mk
==============================================================================
--- projects/random_number_generator/share/mk/bsd.opts.mk	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/share/mk/bsd.opts.mk	Sun May 11 09:14:29 2014	(r265873)
@@ -45,6 +45,7 @@ __<bsd.opts.mk>__:
 
 __DEFAULT_YES_OPTIONS = \
     ASSERT_DEBUG \
+    DOCCOMPRESS \
     INFO \
     INSTALLLIB \
     KERBEROS \
@@ -56,7 +57,8 @@ __DEFAULT_YES_OPTIONS = \
     PROFILE \
     SSP \
     SYMVER \
-    TOOLCHAIN
+    TOOLCHAIN \
+    WARNS
 
 __DEFAULT_NO_OPTIONS = \
     CTF \
@@ -76,7 +78,8 @@ __DEFAULT_NO_OPTIONS = \
     DEBUG_FILES \
     INSTALLLIB \
     MAN \
-    PROFILE
+    PROFILE \
+    WARNS
 .if defined(NO_${var})
 # This warning may be premature...
 #.warning "NO_${var} is defined, but deprecated. Please use MK_${var}=no instead."

Modified: projects/random_number_generator/share/mk/bsd.prog.mk
==============================================================================
--- projects/random_number_generator/share/mk/bsd.prog.mk	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/share/mk/bsd.prog.mk	Sun May 11 09:14:29 2014	(r265873)
@@ -173,7 +173,7 @@ _EXTRADEPEND:
 .endif
 .else
 	echo ${PROG}: ${LIBC} ${DPADD} >> ${DEPENDFILE}
-.if defined(PROG_CXX) && !defined(EARLY_BUILD)
+.if defined(PROG_CXX)
 .if ${COMPILER_TYPE} == "clang" && empty(CXXFLAGS:M-stdlib=libstdc++)
 	echo ${PROG}: ${LIBCPLUSPLUS} >> ${DEPENDFILE}
 .else
@@ -276,7 +276,3 @@ ${OBJS}: ${SRCS:M*.h}
 .include <bsd.obj.mk>
 
 .include <bsd.sys.mk>
-
-.if defined(PORTNAME)
-.include <bsd.pkg.mk>
-.endif

Modified: projects/random_number_generator/share/mk/bsd.sys.mk
==============================================================================
--- projects/random_number_generator/share/mk/bsd.sys.mk	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/share/mk/bsd.sys.mk	Sun May 11 09:14:29 2014	(r265873)
@@ -4,7 +4,7 @@
 # sources.
 
 # Enable various levels of compiler warning checks.  These may be
-# overridden (e.g. if using a non-gcc compiler) by defining NO_WARNS.
+# overridden (e.g. if using a non-gcc compiler) by defining MK_WARNS=no.
 
 # for GCC:   http://gcc.gnu.org/onlinedocs/gcc-4.2.1/gcc/Warning-Options.html
 
@@ -64,7 +64,10 @@ CWARNFLAGS+=	-Wno-pointer-sign
 # Clang has more warnings enabled by default, and when using -Wall, so if WARNS
 # is set to low values, these have to be disabled explicitly.
 .if ${WARNS} <= 6
-CWARNFLAGS.clang+=	-Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable
+CWARNFLAGS.clang+=	-Wno-empty-body -Wno-string-plus-int
+.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} > 30300
+CWARNFLAGS.clang+= -Wno-unused-const-variable
+.endif
 .endif # WARNS <= 6
 .if ${WARNS} <= 3
 CWARNFLAGS.clang+=	-Wno-tautological-compare -Wno-unused-value\
@@ -131,33 +134,24 @@ CFLAGS+=	${SSP_CFLAGS}
 .endif # SSP && !IA64 && !ARM && !MIPS
 
 # Allow user-specified additional warning flags, plus compiler specific flag overrides.
-# Unless we're early in the build, in which case don't (which is lame, this should
-# be handled by NO_WARNS which needs to migrate to something else.
-.if !defined(NO_WARNS) && !defined(EARLY_BUILD)
+# Unless we've overriden this...
+.if ${MK_WARNS} != "no"
 CFLAGS+=	${CWARNFLAGS} ${CWARNFLAGS.${COMPILER_TYPE}}
 .endif
 
-# Not sure this is 100% kosher, but I think that EARLY_BUILD must be only
-# defined when we're not building programs that use the CFLAGS.foo feature.
-.if !defined(EARLY_BUILD)
 CFLAGS+=	 ${CFLAGS.${COMPILER_TYPE}}
 CXXFLAGS+=	 ${CXXFLAGS.${COMPILER_TYPE}}
-.endif
 
 # Tell bmake not to mistake standard targets for things to be searched for
 # or expect to ever be up-to-date.
 PHONY_NOTMAIN = afterdepend afterinstall all beforedepend beforeinstall \
 		beforelinking build build-tools buildfiles buildincludes \
 		checkdpadd clean cleandepend cleandir cleanobj configure \
-		depend dependall distclean distribute exe extract \
+		depend dependall distclean distribute exe \
 		html includes install installfiles installincludes lint \
 		obj objlink objs objwarn realall realdepend \
 		realinstall regress subdir-all subdir-depend subdir-install \
 		tags whereobj
 
-.if defined(PORTNAME)
-PHONY_NOTMAIN+=	fetch patch
-.endif
-
 .PHONY: ${PHONY_NOTMAIN}
 .NOTMAIN: ${PHONY_NOTMAIN}

Modified: projects/random_number_generator/share/mk/bsd.test.mk
==============================================================================
--- projects/random_number_generator/share/mk/bsd.test.mk	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/share/mk/bsd.test.mk	Sun May 11 09:14:29 2014	(r265873)
@@ -51,8 +51,7 @@ SUBDIR+= ${TESTS_SUBDIRS}
 
 # it is rare for test cases to have man pages
 .if !defined(MAN)
-NO_MAN=yes
-.export NO_MAN
+MAN=
 .endif
 
 # tell progs.mk we might want to install things

Modified: projects/random_number_generator/share/mk/src.opts.mk
==============================================================================
--- projects/random_number_generator/share/mk/src.opts.mk	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/share/mk/src.opts.mk	Sun May 11 09:14:29 2014	(r265873)
@@ -165,6 +165,7 @@ __DEFAULT_NO_OPTIONS = \
     BSD_GREP \
     CLANG_EXTRAS \
     EISA \
+    FMAKE \
     HESIOD \
     LLDB \
     NAND \

Modified: projects/random_number_generator/share/mk/sys.mk
==============================================================================
--- projects/random_number_generator/share/mk/sys.mk	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/share/mk/sys.mk	Sun May 11 09:14:29 2014	(r265873)
@@ -74,10 +74,6 @@ CTFMERGE	?=	ctfmerge
 DTRACE		?=	dtrace
 .if defined(CFLAGS) && (${CFLAGS:M-g} != "")
 CTFFLAGS	+=	-g
-.else
-# XXX: What to do here? Is removing the CFLAGS part completely ok here?
-# For now comment it out to not compile with -g unconditionally.
-#CFLAGS		+=	-g
 .endif
 
 CXX		?=	c++
@@ -338,11 +334,7 @@ SHELL=	${__MAKE_SHELL}
 
 # Toggle on warnings
 .WARN: dirsyntax
-.endif
-
-.endif
-
-.if defined(.PARSEDIR)
+.else # is bmake
 # Tell bmake to expand -V VAR by default
 .MAKE.EXPAND_VARIABLES= yes
 
@@ -359,7 +351,8 @@ SHELL=	${__MAKE_SHELL}
 	echoFlag=v errFlag=e \
 	path=${__MAKE_SHELL:U/bin/sh}
 .endif
-
-.endif
+.endif # bmake
 
 .include <bsd.cpu.mk>
+
+.endif # ! Posix

Modified: projects/random_number_generator/sys/arm/arm/bus_space_generic.c
==============================================================================
--- projects/random_number_generator/sys/arm/arm/bus_space_generic.c	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/sys/arm/arm/bus_space_generic.c	Sun May 11 09:14:29 2014	(r265873)
@@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$");
 #include <vm/vm_extern.h>
 
 #include <machine/bus.h>
+#include <machine/cpufunc.h>
 #include <machine/devmap.h>
 
 /* Prototypes for all the bus_space structure functions */
@@ -110,5 +111,16 @@ generic_bs_barrier(void *t, bus_space_ha
     bus_size_t len, int flags)
 {
 
-	/* Nothing to do. */
+	/*
+	 * dsb() will drain the L1 write buffer and establish a memory access
+	 * barrier point on platforms where that has meaning.  On a write we
+	 * also need to drain the L2 write buffer, because most on-chip memory
+	 * mapped devices are downstream of the L2 cache.  Note that this needs
+	 * to be done even for memory mapped as Device type, because while
+	 * Device memory is not cached, writes to it are still buffered.
+	 */
+	dsb();
+	if (flags & BUS_SPACE_BARRIER_WRITE) {
+		cpu_l2cache_drain_writebuf();
+	}
 }

Modified: projects/random_number_generator/sys/arm/arm/cpufunc.c
==============================================================================
--- projects/random_number_generator/sys/arm/arm/cpufunc.c	Sun May 11 08:17:46 2014	(r265872)
+++ projects/random_number_generator/sys/arm/arm/cpufunc.c	Sun May 11 09:14:29 2014	(r265873)
@@ -150,6 +150,7 @@ struct cpu_functions arm9_cpufuncs = {
 	(void *)cpufunc_nullop,		/* l2cache_wbinv_range	*/
 	(void *)cpufunc_nullop,		/* l2cache_inv_range	*/
 	(void *)cpufunc_nullop,		/* l2cache_wb_range	*/
+	(void *)cpufunc_nullop,         /* l2cache_drain_writebuf */
 
 	/* Other functions */
 
@@ -214,6 +215,7 @@ struct cpu_functions armv5_ec_cpufuncs =
 	(void *)cpufunc_nullop,         /* l2cache_wbinv_range  */
       	(void *)cpufunc_nullop,         /* l2cache_inv_range    */
 	(void *)cpufunc_nullop,         /* l2cache_wb_range     */
+	(void *)cpufunc_nullop,         /* l2cache_drain_writebuf */
 
 	/* Other functions */
 
@@ -276,6 +278,7 @@ struct cpu_functions sheeva_cpufuncs = {
 	sheeva_l2cache_wbinv_range,	/* l2cache_wbinv_range  */
 	sheeva_l2cache_inv_range,	/* l2cache_inv_range    */
 	sheeva_l2cache_wb_range,	/* l2cache_wb_range     */
+	(void *)cpufunc_nullop,         /* l2cache_drain_writebuf */
 
 	/* Other functions */
 
@@ -338,6 +341,7 @@ struct cpu_functions arm10_cpufuncs = {
 	(void *)cpufunc_nullop,		/* l2cache_wbinv_range	*/
 	(void *)cpufunc_nullop,		/* l2cache_inv_range	*/
 	(void *)cpufunc_nullop,		/* l2cache_wb_range	*/
+	(void *)cpufunc_nullop,         /* l2cache_drain_writebuf */
 
 	/* Other functions */
 
@@ -401,6 +405,7 @@ struct cpu_functions pj4bv7_cpufuncs = {
 	(void *)cpufunc_nullop,		/* l2cache_wbinv_range	*/
 	(void *)cpufunc_nullop,		/* l2cache_inv_range	*/
 	(void *)cpufunc_nullop,		/* l2cache_wb_range	*/
+	(void *)cpufunc_nullop,         /* l2cache_drain_writebuf */
 
 	/* Other functions */
 
@@ -466,6 +471,7 @@ struct cpu_functions xscale_cpufuncs = {
 	(void *)cpufunc_nullop,		/* l2cache_wbinv_range	*/
 	(void *)cpufunc_nullop,		/* l2cache_inv_range	*/
 	(void *)cpufunc_nullop,		/* l2cache_wb_range	*/
+	(void *)cpufunc_nullop,         /* l2cache_drain_writebuf */
 
 	/* Other functions */
 
@@ -530,6 +536,7 @@ struct cpu_functions xscalec3_cpufuncs =
 	xscalec3_l2cache_purge_rng,	/* l2cache_wbinv_range	*/
 	xscalec3_l2cache_flush_rng,	/* l2cache_inv_range	*/
 	xscalec3_l2cache_clean_rng,	/* l2cache_wb_range	*/
+	(void *)cpufunc_nullop,         /* l2cache_drain_writebuf */
 
 	/* Other functions */
 
@@ -593,6 +600,7 @@ struct cpu_functions fa526_cpufuncs = {
 	(void *)cpufunc_nullop,		/* l2cache_wbinv_range	*/
 	(void *)cpufunc_nullop,		/* l2cache_inv_range	*/
 	(void *)cpufunc_nullop,		/* l2cache_wb_range	*/
+	(void *)cpufunc_nullop,         /* l2cache_drain_writebuf */
 
 	/* Other functions */
 
@@ -656,6 +664,7 @@ struct cpu_functions arm1136_cpufuncs = 
 	(void *)cpufunc_nullop,         /* l2cache_wbinv_range  */

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



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