Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Mar 2019 04:02:19 +0000 (UTC)
From:      Enji Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r345219 - in projects/capsicum-test: . bin/date contrib/googletest contrib/llvm/lib/Target/X86 contrib/llvm/projects contrib/llvm/tools/clang/lib/AST lib/clang/include/clang/Basic lib/c...
Message-ID:  <201903160402.x2G42JNr097180@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Sat Mar 16 04:02:19 2019
New Revision: 345219
URL: https://svnweb.freebsd.org/changeset/base/345219

Log:
  MFhead@r345218

Added:
     - copied from r345218, head/contrib/libunwind/
  projects/capsicum-test/sys/dev/cxgbe/firmware/t4fw-1.23.0.0.bin.uu
     - copied unchanged from r345218, head/sys/dev/cxgbe/firmware/t4fw-1.23.0.0.bin.uu
  projects/capsicum-test/sys/dev/cxgbe/firmware/t5fw-1.23.0.0.bin.uu
     - copied unchanged from r345218, head/sys/dev/cxgbe/firmware/t5fw-1.23.0.0.bin.uu
  projects/capsicum-test/sys/dev/cxgbe/firmware/t6fw-1.23.0.0.bin.uu
     - copied unchanged from r345218, head/sys/dev/cxgbe/firmware/t6fw-1.23.0.0.bin.uu
Directory Properties:
  projects/capsicum-test/contrib/libunwind/   (props changed)
Replaced:
  projects/capsicum-test/contrib/googletest/
     - copied from r345218, head/contrib/googletest/
  projects/capsicum-test/lib/googletest/
     - copied from r345218, head/lib/googletest/
  projects/capsicum-test/share/examples/tests/tests/googletest/
     - copied from r345218, head/share/examples/tests/tests/googletest/
  projects/capsicum-test/share/mk/googletest.test.inc.mk
     - copied unchanged from r345218, head/share/mk/googletest.test.inc.mk
  projects/capsicum-test/share/mk/googletest.test.mk
     - copied unchanged from r345218, head/share/mk/googletest.test.mk
  projects/capsicum-test/tools/build/options/WITHOUT_GOOGLETEST
     - copied unchanged from r345218, head/tools/build/options/WITHOUT_GOOGLETEST
Deleted:
  projects/capsicum-test/contrib/llvm/projects/
  projects/capsicum-test/sys/contrib/dev/drm2/
  projects/capsicum-test/sys/contrib/dev/npe/
  projects/capsicum-test/sys/dev/cxgbe/firmware/t4fw-1.22.0.3.bin.uu
  projects/capsicum-test/sys/dev/cxgbe/firmware/t5fw-1.22.0.3.bin.uu
  projects/capsicum-test/sys/dev/cxgbe/firmware/t6fw-1.22.0.3.bin.uu
Modified:
  projects/capsicum-test/Makefile.inc1
  projects/capsicum-test/UPDATING
  projects/capsicum-test/bin/date/date.1
  projects/capsicum-test/bin/date/date.c
  projects/capsicum-test/contrib/llvm/lib/Target/X86/X86CallFrameOptimization.cpp
  projects/capsicum-test/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp
  projects/capsicum-test/lib/clang/include/clang/Basic/Version.inc
  projects/capsicum-test/lib/clang/include/lld/Common/Version.inc
  projects/capsicum-test/lib/clang/include/llvm/Support/VCSRevision.h
  projects/capsicum-test/lib/libc/sys/stat.2
  projects/capsicum-test/lib/libgcc_eh/Makefile.inc
  projects/capsicum-test/libexec/rc/network.subr
  projects/capsicum-test/libexec/rc/rc.conf
  projects/capsicum-test/libexec/rc/rc.d/Makefile
  projects/capsicum-test/libexec/tftpd/tests/functional.c
  projects/capsicum-test/sbin/camcontrol/camcontrol.8
  projects/capsicum-test/sbin/camcontrol/camcontrol.c
  projects/capsicum-test/share/man/man4/ccr.4
  projects/capsicum-test/share/man/man4/mfi.4
  projects/capsicum-test/share/man/man4/mrsas.4
  projects/capsicum-test/share/man/man5/pf.conf.5
  projects/capsicum-test/share/man/man5/src.conf.5
  projects/capsicum-test/share/man/man7/ports.7
  projects/capsicum-test/share/man/man9/VOP_INACTIVE.9
  projects/capsicum-test/share/man/man9/firmware.9
  projects/capsicum-test/share/misc/committers-doc.dot
  projects/capsicum-test/stand/common/bcache.c
  projects/capsicum-test/stand/common/disk.c
  projects/capsicum-test/stand/common/interp_forth.c
  projects/capsicum-test/stand/common/part.c
  projects/capsicum-test/stand/userboot/userboot/elf64_freebsd.c
  projects/capsicum-test/sys/amd64/amd64/initcpu.c
  projects/capsicum-test/sys/amd64/linux32/linux32_machdep.c
  projects/capsicum-test/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  projects/capsicum-test/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zthr.h
  projects/capsicum-test/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zthr.c
  projects/capsicum-test/sys/compat/freebsd32/freebsd32_misc.c
  projects/capsicum-test/sys/compat/linuxkpi/common/include/linux/bitops.h
  projects/capsicum-test/sys/compat/linuxkpi/common/include/linux/device.h
  projects/capsicum-test/sys/compat/linuxkpi/common/include/linux/dma-attrs.h
  projects/capsicum-test/sys/compat/linuxkpi/common/include/linux/dma-mapping.h
  projects/capsicum-test/sys/compat/linuxkpi/common/include/linux/idr.h
  projects/capsicum-test/sys/compat/linuxkpi/common/include/linux/list.h
  projects/capsicum-test/sys/compat/linuxkpi/common/include/linux/mm.h
  projects/capsicum-test/sys/compat/linuxkpi/common/include/linux/pci.h
  projects/capsicum-test/sys/compat/linuxkpi/common/include/linux/printk.h
  projects/capsicum-test/sys/compat/linuxkpi/common/include/linux/rcupdate.h
  projects/capsicum-test/sys/compat/linuxkpi/common/include/linux/scatterlist.h
  projects/capsicum-test/sys/compat/linuxkpi/common/include/linux/sched.h
  projects/capsicum-test/sys/compat/linuxkpi/common/include/linux/slab.h
  projects/capsicum-test/sys/compat/linuxkpi/common/include/linux/srcu.h
  projects/capsicum-test/sys/compat/linuxkpi/common/include/linux/sysfs.h
  projects/capsicum-test/sys/compat/linuxkpi/common/src/linux_current.c
  projects/capsicum-test/sys/compat/linuxkpi/common/src/linux_page.c
  projects/capsicum-test/sys/conf/files
  projects/capsicum-test/sys/dev/cxgbe/firmware/t4fw_interface.h
  projects/capsicum-test/sys/dev/cxgbe/firmware/t5fw_cfg_uwire.txt
  projects/capsicum-test/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt
  projects/capsicum-test/sys/dev/hwpmc/hwpmc_core.c
  projects/capsicum-test/sys/dev/isci/isci.c
  projects/capsicum-test/sys/dev/isci/isci.h
  projects/capsicum-test/sys/dev/isci/isci_controller.c
  projects/capsicum-test/sys/dev/mrsas/mrsas.c
  projects/capsicum-test/sys/dev/mrsas/mrsas.h
  projects/capsicum-test/sys/dev/mrsas/mrsas_cam.c
  projects/capsicum-test/sys/fs/ext2fs/ext2_alloc.c
  projects/capsicum-test/sys/fs/nfs/nfs_commonacl.c
  projects/capsicum-test/sys/fs/nfs/nfs_commonsubs.c
  projects/capsicum-test/sys/fs/nfs/nfs_var.h
  projects/capsicum-test/sys/fs/nfsclient/nfs_clrpcops.c
  projects/capsicum-test/sys/fs/nfsserver/nfs_nfsdport.c
  projects/capsicum-test/sys/geom/geom_io.c
  projects/capsicum-test/sys/i386/i386/initcpu.c
  projects/capsicum-test/sys/kern/kern_time.c
  projects/capsicum-test/sys/kern/subr_clock.c
  projects/capsicum-test/sys/kern/subr_disk.c
  projects/capsicum-test/sys/kern/subr_stack.c
  projects/capsicum-test/sys/kern/vfs_bio.c
  projects/capsicum-test/sys/kern/vfs_subr.c
  projects/capsicum-test/sys/mips/mips/vm_machdep.c
  projects/capsicum-test/sys/modules/cxgbe/t4_firmware/Makefile
  projects/capsicum-test/sys/modules/cxgbe/t5_firmware/Makefile
  projects/capsicum-test/sys/modules/cxgbe/t6_firmware/Makefile
  projects/capsicum-test/sys/net/bridgestp.c
  projects/capsicum-test/sys/net/ethernet.h
  projects/capsicum-test/sys/net/if_bridge.c
  projects/capsicum-test/sys/net/if_ethersubr.c
  projects/capsicum-test/sys/net/if_vxlan.c
  projects/capsicum-test/sys/net/pfvar.h
  projects/capsicum-test/sys/netgraph/ng_ipfw.c
  projects/capsicum-test/sys/netinet/ip_divert.c
  projects/capsicum-test/sys/netinet/ip_var.h
  projects/capsicum-test/sys/netinet/raw_ip.c
  projects/capsicum-test/sys/netpfil/ipfw/ip_dn_io.c
  projects/capsicum-test/sys/netpfil/ipfw/ip_dn_private.h
  projects/capsicum-test/sys/netpfil/ipfw/ip_fw2.c
  projects/capsicum-test/sys/netpfil/ipfw/ip_fw_bpf.c
  projects/capsicum-test/sys/netpfil/ipfw/ip_fw_dynamic.c
  projects/capsicum-test/sys/netpfil/ipfw/ip_fw_log.c
  projects/capsicum-test/sys/netpfil/ipfw/ip_fw_nat.c
  projects/capsicum-test/sys/netpfil/ipfw/ip_fw_pfil.c
  projects/capsicum-test/sys/netpfil/ipfw/ip_fw_private.h
  projects/capsicum-test/sys/netpfil/pf/pf.c
  projects/capsicum-test/sys/netpfil/pf/pf_table.c
  projects/capsicum-test/sys/sys/_stack.h
  projects/capsicum-test/sys/sys/clock.h
  projects/capsicum-test/sys/sys/param.h
  projects/capsicum-test/sys/sys/proc.h
  projects/capsicum-test/sys/sys/stack.h
  projects/capsicum-test/sys/ufs/ffs/ffs_inode.c
  projects/capsicum-test/sys/ufs/ffs/ffs_softdep.c
  projects/capsicum-test/sys/ufs/ufs/inode.h
  projects/capsicum-test/sys/ufs/ufs/ufs_vnops.c
  projects/capsicum-test/sys/x86/include/specialreg.h
  projects/capsicum-test/sys/x86/x86/identcpu.c
  projects/capsicum-test/tests/sys/cddl/zfs/tests/delegate/Makefile
  projects/capsicum-test/tests/sys/geom/class/eli/misc_test.sh
  projects/capsicum-test/tests/sys/geom/class/nop/nop_test.sh
  projects/capsicum-test/tests/sys/geom/class/part/misc.sh
  projects/capsicum-test/tests/sys/kern/unix_socketpair_test.c
  projects/capsicum-test/tools/build/mk/OptionalObsoleteFiles.inc
  projects/capsicum-test/usr.bin/cmp/tests/cmp_test2.sh
  projects/capsicum-test/usr.bin/dc/tests/bcode.sh
  projects/capsicum-test/usr.bin/dc/tests/inout.sh
  projects/capsicum-test/usr.bin/pr/tests/basic2_test.sh
  projects/capsicum-test/usr.bin/proccontrol/proccontrol.1
  projects/capsicum-test/usr.bin/tail/tests/tail_test.sh
  projects/capsicum-test/usr.sbin/bhyve/pci_emul.c
  projects/capsicum-test/usr.sbin/bhyve/pci_nvme.c
  projects/capsicum-test/usr.sbin/bhyve/uart_emul.c
  projects/capsicum-test/usr.sbin/chroot/chroot.8
  projects/capsicum-test/usr.sbin/freebsd-update/freebsd-update.sh
  projects/capsicum-test/usr.sbin/fstyp/tests/fstyp_test.sh
  projects/capsicum-test/usr.sbin/trim/trim.c
Directory Properties:
  projects/capsicum-test/   (props changed)
  projects/capsicum-test/contrib/compiler-rt/   (props changed)
  projects/capsicum-test/contrib/libc++/   (props changed)
  projects/capsicum-test/contrib/llvm/   (props changed)
  projects/capsicum-test/contrib/llvm/tools/clang/   (props changed)
  projects/capsicum-test/contrib/llvm/tools/lld/   (props changed)
  projects/capsicum-test/contrib/llvm/tools/lldb/   (props changed)
  projects/capsicum-test/sys/cddl/contrib/opensolaris/   (props changed)

Modified: projects/capsicum-test/Makefile.inc1
==============================================================================
--- projects/capsicum-test/Makefile.inc1	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/Makefile.inc1	Sat Mar 16 04:02:19 2019	(r345219)
@@ -1143,6 +1143,12 @@ WMAKE_TGTS+=	everything
 WMAKE_TGTS+=	build${libcompat}
 .endif
 
+# record buildworld time in seconds
+.if make(buildworld)
+_BUILDWORLD_START!= date '+%s'
+.export _BUILDWORLD_START
+.endif
+
 buildworld: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue .PHONY
 .ORDER: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue
 
@@ -1155,6 +1161,9 @@ buildworld_epilogue: .PHONY
 	@echo
 	@echo "--------------------------------------------------------------"
 	@echo ">>> World build completed on `LC_ALL=C date`"
+	@seconds=$$(($$(date '+%s') - ${_BUILDWORLD_START})); \
+	  echo -n ">>> World build in $$seconds seconds, "; \
+	  echo "ncpu: $$(sysctl -n hw.ncpu)${.MAKE.JOBS:S/^/, make -j/}"
 	@echo "--------------------------------------------------------------"
 
 #
@@ -1855,11 +1864,11 @@ create-world-package-${pkgname}: .PHONY
 	@if [ "${pkgname}" == "runtime" ]; then \
 		sed -i '' -e "s/%VCS_REVISION%/${VCS_REVISION}/" ${WSTAGEDIR}/${pkgname}.ucl ; \
 	fi
-	${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
+	${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname -o ALLOW_BASE_SHLIBS=yes \
 		create -M ${WSTAGEDIR}/${pkgname}.ucl \
 		-p ${WSTAGEDIR}/${pkgname}.plist \
 		-r ${WSTAGEDIR} \
-		-o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION}
+		-o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI)/${PKG_VERSION}
 .endfor
 
 _default_flavor=	-default

Modified: projects/capsicum-test/UPDATING
==============================================================================
--- projects/capsicum-test/UPDATING	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/UPDATING	Sat Mar 16 04:02:19 2019	(r345219)
@@ -1931,13 +1931,14 @@ COMMON ITEMS:
 	can be deleted by "make delete-old-libs", but you have to make
 	sure that no program is using those libraries anymore.
 
-	[8] The new kernel must be able to run existing binaries used by
-	an installworld.  When upgrading across major versions, the new
-	kernel's configuration must include the correct COMPAT_FREEBSD<n>
-	option for existing binaries (e.g. COMPAT_FREEBSD11 to run 11.x
-	binaries).  Failure to do so may leave you with a system that is
-	hard to boot to recover.  A GENERIC kernel will include suitable
-	compatibility options to run binaries from supported older branches.
+	[8] The new kernel must be able to run existing binaries used by an
+	installworld.  When upgrading across major versions, the new kernel's
+	configuration must include the correct COMPAT_FREEBSD<n> option for
+	existing binaries (e.g. COMPAT_FREEBSD11 to run 11.x binaries).  Failure
+	to do so may leave you with a system that is hard to boot to recover. A
+	GENERIC kernel will include suitable compatibility options to run
+	binaries from older branches.  Note that the ability to run binaries
+	from unsupported branches is not guaranteed.
 
 	Make sure that you merge any new devices from GENERIC since the
 	last time you updated your kernel config file. Options also

Modified: projects/capsicum-test/bin/date/date.1
==============================================================================
--- projects/capsicum-test/bin/date/date.1	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/bin/date/date.1	Sat Mar 16 04:02:19 2019	(r345219)
@@ -32,7 +32,7 @@
 .\"     @(#)date.1	8.3 (Berkeley) 4/28/95
 .\" $FreeBSD$
 .\"
-.Dd August 4, 2018
+.Dd March 12, 2019
 .Dt DATE 1
 .Os
 .Sh NAME
@@ -62,9 +62,6 @@
 .Fl f Ar input_fmt new_date
 .Op Cm + Ns Ar output_fmt
 .Nm
-.Op Fl d Ar dst
-.Op Fl t Ar minutes_west
-.Nm
 .Op Fl jnu
 .Op Fl I Ns Op Ar FMT
 .Op Fl f Ar input_fmt
@@ -93,15 +90,6 @@ the time may not be changed by more than 1 second.
 .Pp
 The options are as follows:
 .Bl -tag -width Ds
-.It Fl d Ar dst
-Set the kernel's value for daylight saving time.
-If
-.Ar dst
-is non-zero, future calls
-to
-.Xr gettimeofday 2
-will return a non-zero for
-.Fa tz_dsttime .
 .It Fl f
 Use
 .Ar input_fmt
@@ -188,14 +176,6 @@ and can be specified in decimal, octal, or hex.
 .It Fl r Ar filename
 Print the date and time of the last modification of
 .Ar filename .
-.It Fl t Ar minutes_west
-Set the system's value for minutes west of
-.Tn GMT .
-.Ar minutes_west
-specifies the number of minutes returned in
-.Fa tz_minuteswest
-by future calls to
-.Xr gettimeofday 2 .
 .It Fl u
 Display or set the date in
 .Tn UTC

Modified: projects/capsicum-test/bin/date/date.c
==============================================================================
--- projects/capsicum-test/bin/date/date.c	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/bin/date/date.c	Sat Mar 16 04:02:19 2019	(r345219)
@@ -91,14 +91,12 @@ static const char *rfc2822_format = "%a, %d %b %Y %T %
 int
 main(int argc, char *argv[])
 {
-	struct timezone tz;
 	int ch, rflag;
 	bool Iflag, jflag, nflag, Rflag;
 	const char *format;
 	char buf[1024];
-	char *endptr, *fmt;
+	char *fmt;
 	char *tmp;
-	int set_timezone;
 	struct vary *v;
 	const struct vary *badv;
 	struct tm *lt;
@@ -108,18 +106,10 @@ main(int argc, char *argv[])
 	v = NULL;
 	fmt = NULL;
 	(void) setlocale(LC_TIME, "");
-	tz.tz_dsttime = tz.tz_minuteswest = 0;
 	rflag = 0;
 	Iflag = jflag = nflag = Rflag = 0;
-	set_timezone = 0;
-	while ((ch = getopt(argc, argv, "d:f:I::jnRr:t:uv:")) != -1)
+	while ((ch = getopt(argc, argv, "f:I::jnRr:uv:")) != -1)
 		switch((char)ch) {
-		case 'd':		/* daylight savings time */
-			tz.tz_dsttime = strtol(optarg, &endptr, 10) ? 1 : 0;
-			if (endptr == optarg || *endptr != '\0')
-				usage();
-			set_timezone = 1;
-			break;
 		case 'f':
 			fmt = optarg;
 			break;
@@ -160,13 +150,6 @@ main(int argc, char *argv[])
 					usage();
 			}
 			break;
-		case 't':		/* minutes west of UTC */
-					/* error check; don't allow "PST" */
-			tz.tz_minuteswest = strtol(optarg, &endptr, 10);
-			if (endptr == optarg || *endptr != '\0')
-				usage();
-			set_timezone = 1;
-			break;
 		case 'u':		/* do everything in UTC */
 			(void)setenv("TZ", "UTC0", 1);
 			break;
@@ -179,13 +162,6 @@ main(int argc, char *argv[])
 	argc -= optind;
 	argv += optind;
 
-	/*
-	 * If -d or -t, set the timezone or daylight savings time; this
-	 * doesn't belong here; the kernel should not know about either.
-	 */
-	if (set_timezone && settimeofday(NULL, &tz) != 0)
-		err(1, "settimeofday (timezone)");
-
 	if (!rflag && time(&tval) == -1)
 		err(1, "time");
 
@@ -411,8 +387,7 @@ static void
 usage(void)
 {
 	(void)fprintf(stderr, "%s\n%s\n%s\n",
-	    "usage: date [-jnRu] [-d dst] [-r seconds|file] [-t west] "
-	    "[-v[+|-]val[ymwdHMS]]",
+	    "usage: date [-jnRu] [-r seconds|file] [-v[+|-]val[ymwdHMS]]",
 	    "            "
 	    "[-I[date | hours | minutes | seconds]]",
 	    "            "

Modified: projects/capsicum-test/contrib/llvm/lib/Target/X86/X86CallFrameOptimization.cpp
==============================================================================
--- projects/capsicum-test/contrib/llvm/lib/Target/X86/X86CallFrameOptimization.cpp	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/contrib/llvm/lib/Target/X86/X86CallFrameOptimization.cpp	Sat Mar 16 04:02:19 2019	(r345219)
@@ -139,11 +139,6 @@ bool X86CallFrameOptimization::isLegal(MachineFunction
   if (NoX86CFOpt.getValue())
     return false;
 
-  // Work around LLVM PR30879 (bad interaction between CFO and libunwind)
-  if (STI->isTargetFreeBSD() && STI->is32Bit() &&
-      STI->getTargetTriple().getOSMajorVersion() >= 12)
-    return false;
-
   // We can't encode multiple DW_CFA_GNU_args_size or DW_CFA_def_cfa_offset
   // in the compact unwind encoding that Darwin uses. So, bail if there
   // is a danger of that being generated.

Modified: projects/capsicum-test/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp
==============================================================================
--- projects/capsicum-test/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp	Sat Mar 16 04:02:19 2019	(r345219)
@@ -10985,6 +10985,7 @@ bool Expr::EvaluateAsConstantExpr(EvalResult &Result, 
                                   const ASTContext &Ctx) const {
   EvalInfo::EvaluationMode EM = EvalInfo::EM_ConstantExpression;
   EvalInfo Info(Ctx, Result, EM);
+  Info.InConstantContext = true;
   if (!::Evaluate(Result.Val, Info, this))
     return false;
 
@@ -11625,6 +11626,7 @@ bool Expr::EvaluateWithSubstitution(APValue &Value, AS
                                     const Expr *This) const {
   Expr::EvalStatus Status;
   EvalInfo Info(Ctx, Status, EvalInfo::EM_ConstantExpressionUnevaluated);
+  Info.InConstantContext = true;
 
   LValue ThisVal;
   const LValue *ThisPtr = nullptr;
@@ -11708,6 +11710,7 @@ bool Expr::isPotentialConstantExprUnevaluated(Expr *E,
 
   EvalInfo Info(FD->getASTContext(), Status,
                 EvalInfo::EM_PotentialConstantExpressionUnevaluated);
+  Info.InConstantContext = true;
 
   // Fabricate a call stack frame to give the arguments a plausible cover story.
   ArrayRef<const Expr*> Args;

Modified: projects/capsicum-test/lib/clang/include/clang/Basic/Version.inc
==============================================================================
--- projects/capsicum-test/lib/clang/include/clang/Basic/Version.inc	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/lib/clang/include/clang/Basic/Version.inc	Sat Mar 16 04:02:19 2019	(r345219)
@@ -8,4 +8,4 @@
 
 #define	CLANG_VENDOR			"FreeBSD "
 
-#define	SVN_REVISION			"355677"
+#define	SVN_REVISION			"356034"

Modified: projects/capsicum-test/lib/clang/include/lld/Common/Version.inc
==============================================================================
--- projects/capsicum-test/lib/clang/include/lld/Common/Version.inc	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/lib/clang/include/lld/Common/Version.inc	Sat Mar 16 04:02:19 2019	(r345219)
@@ -7,4 +7,4 @@
 
 #define LLD_REPOSITORY_STRING "FreeBSD"
 // <Upstream revision at import>-<Local identifier in __FreeBSD_version style>
-#define LLD_REVISION_STRING "355677-1300002"
+#define LLD_REVISION_STRING "356034-1300002"

Modified: projects/capsicum-test/lib/clang/include/llvm/Support/VCSRevision.h
==============================================================================
--- projects/capsicum-test/lib/clang/include/llvm/Support/VCSRevision.h	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/lib/clang/include/llvm/Support/VCSRevision.h	Sat Mar 16 04:02:19 2019	(r345219)
@@ -1,2 +1,2 @@
 /* $FreeBSD$ */
-#define LLVM_REVISION "svn-r355677"
+#define LLVM_REVISION "svn-r356034"

Modified: projects/capsicum-test/lib/libc/sys/stat.2
==============================================================================
--- projects/capsicum-test/lib/libc/sys/stat.2	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/lib/libc/sys/stat.2	Sat Mar 16 04:02:19 2019	(r345219)
@@ -48,7 +48,7 @@
 .Ft int
 .Fn fstat "int fd" "struct stat *sb"
 .Ft int
-.Fn fstatat "int fd" "const char *path" "struct stat *buf" "int flag"
+.Fn fstatat "int fd" "const char *path" "struct stat *sb" "int flag"
 .Sh DESCRIPTION
 The
 .Fn stat

Modified: projects/capsicum-test/lib/libgcc_eh/Makefile.inc
==============================================================================
--- projects/capsicum-test/lib/libgcc_eh/Makefile.inc	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/lib/libgcc_eh/Makefile.inc	Sat Mar 16 04:02:19 2019	(r345219)
@@ -1,8 +1,8 @@
 # $FreeBSD$
 
 COMPILERRTDIR=	${SRCTOP}/contrib/compiler-rt
-UNWINDINCDIR=	${SRCTOP}/contrib/llvm/projects/libunwind/include
-UNWINDSRCDIR=	${SRCTOP}/contrib/llvm/projects/libunwind/src
+UNWINDINCDIR=	${SRCTOP}/contrib/libunwind/include
+UNWINDSRCDIR=	${SRCTOP}/contrib/libunwind/src
 
 STATIC_CFLAGS+=${PICFLAG} -fvisibility=hidden -DVISIBILITY_HIDDEN
 

Modified: projects/capsicum-test/libexec/rc/network.subr
==============================================================================
--- projects/capsicum-test/libexec/rc/network.subr	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/libexec/rc/network.subr	Sat Mar 16 04:02:19 2019	(r345219)
@@ -229,6 +229,11 @@ ifconfig_up()
 		${IFCONFIG_CMD} $1 up
 	fi
 
+	if ! noafif $1 && afexists inet6; then
+		ipv6_accept_rtadv_up $1
+		_cfg=0
+	fi
+
 	if dhcpif $1; then
 		if [ $_cfg -ne 0 ] ; then
 			${IFCONFIG_CMD} $1 up
@@ -686,7 +691,6 @@ ipv6_up()
 
 	ifalias ${_if} inet6 alias && _ret=0
 	ipv6_prefix_hostid_addr_common ${_if} alias && _ret=0
-	ipv6_accept_rtadv_up ${_if} && _ret=0
 
 	return $_ret
 }
@@ -1198,8 +1202,8 @@ ipv6_accept_rtadv_up()
 {
 	if ipv6_autoconfif $1; then
 		${IFCONFIG_CMD} $1 inet6 accept_rtadv up
-		if ! checkyesno rtsold_enable; then
-			rtsol ${rtsol_flags} $1
+		if [ -x /sbin/rtsol ]; then
+			/sbin/rtsol ${rtsol_flags} $1
 		fi
 	fi
 }

Modified: projects/capsicum-test/libexec/rc/rc.conf
==============================================================================
--- projects/capsicum-test/libexec/rc/rc.conf	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/libexec/rc/rc.conf	Sat Mar 16 04:02:19 2019	(r345219)
@@ -208,7 +208,8 @@ ipfs_enable="NO"		# Set to YES to enable saving and re
 ipfs_program="/sbin/ipfs"	# where the ipfs program lives
 ipfs_flags=""			# additional flags for ipfs
 pf_enable="NO"			# Set to YES to enable packet filter (pf)
-pf_rules="/etc/pf.conf"		# rules definition file for pf
+pf_rules="/etc/pf.conf"		# rules definition file for pf (nonexistent
+				# by default)
 pf_program="/sbin/pfctl"	# where the pfctl program lives
 pf_flags=""			# additional flags for pfctl
 pflog_enable="NO"		# Set to YES to enable packet filter logging

Modified: projects/capsicum-test/libexec/rc/rc.d/Makefile
==============================================================================
--- projects/capsicum-test/libexec/rc/rc.d/Makefile	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/libexec/rc/rc.d/Makefile	Sat Mar 16 04:02:19 2019	(r345219)
@@ -46,10 +46,6 @@ CONFS=	DAEMON \
 	hostname \
 	iovctl \
 	ip6addrctl \
-	ipfilter \
-	ipfs \
-	ipmon \
-	ipnat \
 	ipsec \
 	${_kadmind} \
 	${_kdc} \
@@ -213,6 +209,13 @@ HASTPACKAGE=	hast
 
 .if ${MK_INETD} != "no"
 CONFS+=		inetd
+.endif
+
+.if ${MK_IPFILTER} != "no"
+CONFS+=	ipfilter \
+	ipfs \
+	ipmon \
+	ipnat
 .endif
 
 .if ${MK_IPFW} != "no"

Modified: projects/capsicum-test/libexec/tftpd/tests/functional.c
==============================================================================
--- projects/capsicum-test/libexec/tftpd/tests/functional.c	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/libexec/tftpd/tests/functional.c	Sat Mar 16 04:02:19 2019	(r345219)
@@ -1,7 +1,8 @@
 /*-
  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
  *
- * Copyright (c) 2018 Alan Somers. All rights reserved.
+ * Copyright (c) 2018 Alan Somers.
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:

Modified: projects/capsicum-test/sbin/camcontrol/camcontrol.8
==============================================================================
--- projects/capsicum-test/sbin/camcontrol/camcontrol.8	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/sbin/camcontrol/camcontrol.8	Sat Mar 16 04:02:19 2019	(r345219)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 3, 2017
+.Dd March 12, 2019
 .Dt CAMCONTROL 8
 .Os
 .Sh NAME
@@ -78,6 +78,7 @@
 .Op Fl b
 .Op Fl h
 .Op Fl H
+.Op Fl l
 .Op Fl N
 .Op Fl q
 .Op Fl s
@@ -544,6 +545,11 @@ or
 .Fl b .
 .It Fl H
 Print out the device size in human readable (base 10, 1K == 1000) format.
+.It Fl l
+Skip sending the SCSI READ CAPACITY (10) command.
+Send only the SCSI READ CAPACITY (16) service action and report
+its results.
+When the two do not match, a quirk is needed to resolve the ambiguity.
 .It Fl N
 Print out the number of blocks in the device instead of the last logical
 block.

Modified: projects/capsicum-test/sbin/camcontrol/camcontrol.c
==============================================================================
--- projects/capsicum-test/sbin/camcontrol/camcontrol.c	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/sbin/camcontrol/camcontrol.c	Sat Mar 16 04:02:19 2019	(r345219)
@@ -203,7 +203,7 @@ static struct camcontrol_opts option_table[] = {
 	{"load", CAM_CMD_STARTSTOP, CAM_ARG_START_UNIT | CAM_ARG_EJECT, NULL},
 	{"eject", CAM_CMD_STARTSTOP, CAM_ARG_EJECT, NULL},
 	{"reportluns", CAM_CMD_REPORTLUNS, CAM_ARG_NONE, "clr:"},
-	{"readcapacity", CAM_CMD_READCAP, CAM_ARG_NONE, "bhHNqs"},
+	{"readcapacity", CAM_CMD_READCAP, CAM_ARG_NONE, "bhHlNqs"},
 	{"reprobe", CAM_CMD_REPROBE, CAM_ARG_NONE, NULL},
 #endif /* MINIMALISTIC */
 	{"rescan", CAM_CMD_RESCAN, CAM_ARG_NONE, NULL},
@@ -7162,7 +7162,7 @@ scsireadcapacity(struct cam_device *device, int argc, 
 		 char *combinedopt, int task_attr, int retry_count, int timeout)
 {
 	union ccb *ccb;
-	int blocksizeonly, humanize, numblocks, quiet, sizeonly, baseten;
+	int blocksizeonly, humanize, numblocks, quiet, sizeonly, baseten, longonly;
 	struct scsi_read_capacity_data rcap;
 	struct scsi_read_capacity_data_long rcaplong;
 	uint64_t maxsector;
@@ -7172,6 +7172,7 @@ scsireadcapacity(struct cam_device *device, int argc, 
 
 	blocksizeonly = 0;
 	humanize = 0;
+	longonly = 0;
 	numblocks = 0;
 	quiet = 0;
 	sizeonly = 0;
@@ -7200,6 +7201,9 @@ scsireadcapacity(struct cam_device *device, int argc, 
 			humanize++;
 			baseten++;
 			break;
+		case 'l':
+			longonly++;
+			break;
 		case 'N':
 			numblocks++;
 			break;
@@ -7242,6 +7246,9 @@ scsireadcapacity(struct cam_device *device, int argc, 
 		goto bailout;
 	}
 
+	if (longonly != 0)
+		goto long_only;
+
 	scsi_read_capacity(&ccb->csio,
 			   /*retries*/ retry_count,
 			   /*cbfcnp*/ NULL,
@@ -7284,6 +7291,7 @@ scsireadcapacity(struct cam_device *device, int argc, 
 	if (maxsector != 0xffffffff)
 		goto do_print;
 
+long_only:
 	scsi_read_capacity_16(&ccb->csio,
 			      /*retries*/ retry_count,
 			      /*cbfcnp*/ NULL,
@@ -9515,7 +9523,7 @@ usage(int printlong)
 "        camcontrol identify   [dev_id][generic args] [-v]\n"
 "        camcontrol reportluns [dev_id][generic args] [-c] [-l] [-r report]\n"
 "        camcontrol readcap    [dev_id][generic args] [-b] [-h] [-H] [-N]\n"
-"                              [-q] [-s]\n"
+"                              [-q] [-s] [-l]\n"
 "        camcontrol start      [dev_id][generic args]\n"
 "        camcontrol stop       [dev_id][generic args]\n"
 "        camcontrol load       [dev_id][generic args]\n"

Modified: projects/capsicum-test/share/man/man4/ccr.4
==============================================================================
--- projects/capsicum-test/share/man/man4/ccr.4	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/share/man/man4/ccr.4	Sat Mar 16 04:02:19 2019	(r345219)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 16, 2017
+.Dd March 11, 2019
 .Dt CCR 4
 .Os
 .Sh NAME
@@ -49,13 +49,14 @@ The
 .Nm
 driver provides support for the crypto accelerator engine included on
 PCI Express Ethernet adapters based on the Chelsio Terminator 6 ASIC (T6).
-The driver accelerates AES-CBC, AES-CTR, AES-GCM, AES-XTS, SHA1-HMAC,
+The driver accelerates AES-CBC, AES-CTR, AES-GCM, AES-XTS, SHA1, SHA2-224,
+SHA2-256, SHA2-384, SHA2-512, SHA1-HMAC, SHA2-224-HMAC,
 SHA2-256-HMAC, SHA2-384-HMAC, and SHA2-512-HMAC operations for
 .Xr crypto 4
 and
 .Xr ipsec 4 .
 The driver also supports chaining one of AES-CBC, AES-CTR, or AES-XTS with
-SHA1-HMAC, SHA2-256-HMAC, SHA2-384-HMAC, or SHA2-512-HMAC for
+SHA1-HMAC, SHA2-224-HMAC, SHA2-256-HMAC, SHA2-384-HMAC, or SHA2-512-HMAC for
 encrypt-then-authenticate operations.
 For further hardware information and questions related to hardware
 requirements, see

Modified: projects/capsicum-test/share/man/man4/mfi.4
==============================================================================
--- projects/capsicum-test/share/man/man4/mfi.4	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/share/man/man4/mfi.4	Sat Mar 16 04:02:19 2019	(r345219)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 15, 2013
+.Dd March 13, 2019
 .Dt MFI 4
 .Os
 .Sh NAME
@@ -84,6 +84,12 @@ then the driver will reduce its probe priority to allo
 .Cd mrsas
 to attach to the card instead of
 .Nm .
+.Pp
+.Nm
+does not provide ATA TRIM support.
+Refer to
+.Cd mrsas
+if TRIM support is required.
 .Sh HARDWARE
 The
 .Nm

Modified: projects/capsicum-test/share/man/man4/mrsas.4
==============================================================================
--- projects/capsicum-test/share/man/man4/mrsas.4	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/share/man/man4/mrsas.4	Sat Mar 16 04:02:19 2019	(r345219)
@@ -34,7 +34,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 8, 2014
+.Dd Mar 13, 2019
 .Dt MRSAS 4
 .Os
 .Sh NAME
@@ -117,6 +117,12 @@ at probe call for device id's 0x005B, 0x005D, and
 0x005F so that
 .Nm
 does not take control of these devices without user intervention.
+.Pp
+Solid-state drives (SSD) get ATA TRIM support with
+.Nm
+if underlying adapter allows it.
+This may require configuring SSD as Non-RAID drive
+rather then JBOD virtual mode.
 .Sh HARDWARE
 The
 .Nm

Modified: projects/capsicum-test/share/man/man5/pf.conf.5
==============================================================================
--- projects/capsicum-test/share/man/man5/pf.conf.5	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/share/man/man5/pf.conf.5	Sat Mar 16 04:02:19 2019	(r345219)
@@ -28,7 +28,7 @@
 .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd January 5, 2019
+.Dd March 10, 2019
 .Dt PF.CONF 5
 .Os
 .Sh NAME
@@ -3053,6 +3053,8 @@ include        = "include" filename
 Host name database.
 .It Pa /etc/pf.conf
 Default location of the ruleset file.
+The file has to be created manually as it is not installed with a
+standard installation.
 .It Pa /etc/pf.os
 Default location of OS fingerprints.
 .It Pa /etc/protocols

Modified: projects/capsicum-test/share/man/man5/src.conf.5
==============================================================================
--- projects/capsicum-test/share/man/man5/src.conf.5	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/share/man/man5/src.conf.5	Sat Mar 16 04:02:19 2019	(r345219)
@@ -1,6 +1,6 @@
 .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
 .\" $FreeBSD$
-.Dd March 6, 2019
+.Dd March 15, 2019
 .Dt SRC.CONF 5
 .Os
 .Sh NAME
@@ -828,6 +828,11 @@ Set to not build GNU
 Set this option to include GNU extensions in
 .Xr bsdgrep 1
 by linking against libgnuregex.
+.It Va WITHOUT_GOOGLETEST
+Set to neither build nor install
+.Lb libgmock ,
+.Lb libgtest ,
+and dependent tests.
 .It Va WITHOUT_GPIO
 Set to not build
 .Xr gpioctl 8
@@ -1826,6 +1831,10 @@ When set, it enforces these options:
 When set, these options are also in effect:
 .Pp
 .Bl -inset -compact
+.It Va WITHOUT_GOOGLETEST
+(unless
+.Va WITH_GOOGLETEST
+is set explicitly)
 .It Va WITHOUT_TESTS_SUPPORT
 (unless
 .Va WITH_TESTS_SUPPORT
@@ -1833,6 +1842,12 @@ is set explicitly)
 .El
 .It Va WITHOUT_TESTS_SUPPORT
 Set to disables the build of all test-related dependencies, including ATF.
+When set, it enforces these options:
+.Pp
+.Bl -item -compact
+.It
+.Va WITHOUT_GOOGLETEST
+.El
 .It Va WITHOUT_TEXTPROC
 Set to not build
 programs used for text processing.

Modified: projects/capsicum-test/share/man/man7/ports.7
==============================================================================
--- projects/capsicum-test/share/man/man7/ports.7	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/share/man/man7/ports.7	Sat Mar 16 04:02:19 2019	(r345219)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd February 12, 2019
+.Dd March 12, 2019
 .Dt PORTS 7
 .Os
 .Sh NAME
@@ -587,7 +587,7 @@ The following command builds and installs Emacs.
 .Ed
 .It Sy Example 2\&: No Installing Dependencies with Xr pkg 8
 .Pp
-The following examples shows how to build and install a port without having to
+The following example shows how to build and install a port without having to
 build its dependencies.
 Instead, the dependencies are downloaded via
 .Xr pkg 8 .
@@ -603,6 +603,16 @@ The drawback is that
 .Xr pkg 8
 offers only packages built with the default set of
 .Va OPTIONS .
+.It Sy Example 3\&: No Building a Non-Default Flavor of a Port
+.Pp
+The following command builds a non-default flavor of a port.
+(In this case
+.Pa devel/py-pip
+is going to be built with Python 3.7 support.)
+.Bd -literal -offset 2n
+.Li # Ic cd /usr/ports/devel/py-pip
+.Li # Ic env FLAVOR=py37 make build
+.Ed
 .El
 .Sh SEE ALSO
 .Xr make 1 ,

Modified: projects/capsicum-test/share/man/man9/VOP_INACTIVE.9
==============================================================================
--- projects/capsicum-test/share/man/man9/VOP_INACTIVE.9	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/share/man/man9/VOP_INACTIVE.9	Sat Mar 16 04:02:19 2019	(r345219)
@@ -28,7 +28,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 27, 2014
+.Dd March 15, 2019
 .Dt VOP_INACTIVE 9
 .Os
 .Sh NAME
@@ -50,13 +50,16 @@ The vnode being reclaimed.
 .El
 .Pp
 .Fn VOP_INACTIVE
-is called when the kernel is no longer using the vnode.
+is usually called when the kernel is no longer using the vnode.
+However, there is no guarantee that it will be called at all, for example if
+the last reference was dropped while the vnode lock could not be upgraded
+to exclusive without sleeping.
 This may be
 because the reference count reaches zero or it may be that the
 file system is being forcibly unmounted while there are open files.
-It can be used to reclaim space for
+It can be used to reclaim space on the last close of an 
 .Sq open but deleted
-files.
+file.
 .Pp
 .Fn VOP_RECLAIM
 is called when a vnode is being reused for a different file system.

Modified: projects/capsicum-test/share/man/man9/firmware.9
==============================================================================
--- projects/capsicum-test/share/man/man9/firmware.9	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/share/man/man9/firmware.9	Sat Mar 16 04:02:19 2019	(r345219)
@@ -23,7 +23,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 2, 2008
+.Dd March 14, 2019
 .Dt FIRMWARE 9
 .Os
 .Sh NAME
@@ -248,12 +248,11 @@ IxNpeMicrocode.fwo  optional npe_fw					\\
 			    -r -d -o ${.TARGET} IxNpeMicrocode.dat"	\\
         no-implicit-rule                                                \\
         clean           "IxNpeMicrocode.fwo"
-IxNpeMicrocode.dat                      optional npe_fw                 \\
-        dependency      ".PHONY"                                        \\
-        compile-with    "uudecode < $S/contrib/dev/npe/IxNpeMicrocode.dat.uu" \\
-        no-obj no-implicit-rule                                         \\
-        clean           "IxNpeMicrocode.dat"
 .Ed
+.Pp
+Firmware was previously committed to the source tree as uuencoded files,
+but this is no longer required; the binary firmware file should be committed
+to the tree as provided by the vendor.
 .Pp
 Note that generating the firmware modules in this way requires
 the availability of the following tools:

Modified: projects/capsicum-test/share/misc/committers-doc.dot
==============================================================================
--- projects/capsicum-test/share/misc/committers-doc.dot	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/share/misc/committers-doc.dot	Sat Mar 16 04:02:19 2019	(r345219)
@@ -92,6 +92,7 @@ skreuzer [label="Steven Kreuzer\nskreuzer@FreeBSD.org\
 taras [label="Taras Korenko\ntaras@FreeBSD.org\n2010/06/25"]
 trhodes [label="Tom Rhodes\ntrhodes@FreeBSD.org\n2002/03/25"]
 wblock [label="Warren Block\nwblock@FreeBSD.org\n2011/09/12"]
+ygy [label="Guangyuan Yang\nygy@FreeBSD.org\n2017/09/18"]
 zeising [label="Niclas Zeising\nzeising@FreeBSD.org\n2012/07/03"]
 
 # Here are the mentor/mentee relationships.

Copied: projects/capsicum-test/share/mk/googletest.test.inc.mk (from r345218, head/share/mk/googletest.test.inc.mk)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/capsicum-test/share/mk/googletest.test.inc.mk	Sat Mar 16 04:02:19 2019	(r345219, copy of r345218, head/share/mk/googletest.test.inc.mk)
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+# XXX: this should be defined in bsd.sys.mk
+CXXSTD?=	c++11
+
+GTESTS_CXXFLAGS+= -DGTEST_HAS_POSIX_RE=1
+GTESTS_CXXFLAGS+= -DGTEST_HAS_PTHREAD=1
+GTESTS_CXXFLAGS+= -DGTEST_HAS_STREAM_REDIRECTION=1
+GTESTS_CXXFLAGS+= -frtti
+GTESTS_CXXFLAGS+= -std=${CXXSTD}
+
+# XXX: src.libnames.mk should handle adding this directory.
+GTESTS_CXXFLAGS+= -I${DESTDIR}${INCLUDEDIR}/private
+
+NO_WTHREAD_SAFETY=

Copied: projects/capsicum-test/share/mk/googletest.test.mk (from r345218, head/share/mk/googletest.test.mk)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/capsicum-test/share/mk/googletest.test.mk	Sat Mar 16 04:02:19 2019	(r345219, copy of r345218, head/share/mk/googletest.test.mk)
@@ -0,0 +1,41 @@
+# $FreeBSD$
+#
+# You must include bsd.test.mk instead of this file from your Makefile.
+#
+# Logic to build and install GoogleTest based test programs.
+#
+# GoogleTest is a C++ test framework, thus, it does not describe/articulate how
+# to write tests in other languages, e.g., C or shell, unlike the ATF, plain,
+# and TAP raw test interfaces.
+#
+# For now this is a thin wrapper around the `plain` test interface, but in the
+# future this will rely on a newer version of kyua which will integrate in
+# GoogleTest support.
+
+.if !target(__<bsd.test.mk>__)
+.error googletest.test.mk cannot be included directly.
+.endif
+
+# List of GoogleTest test programs to build.
+#
+# Programs listed here are built according to the semantics of bsd.progs.mk for
+# PROGS_CXX.
+#
+# Test programs registered in this manner are set to be installed into TESTSDIR
+# (which should be overridden by the Makefile) and are not required to provide a
+# manpage.
+GTESTS?=
+
+.if !empty(GTESTS)
+.include <googletest.test.inc.mk>
+
+PROGS_CXX+= ${GTESTS}
+_TESTS+= ${GTESTS}
+.for _T in ${GTESTS}
+BINDIR.${_T}= ${TESTSDIR}
+CXXFLAGS.${_T}+= ${GTESTS_CXXFLAGS}
+MAN.${_T}?= # empty
+SRCS.${_T}?= ${_T}.cc
+TEST_INTERFACE.${_T}= plain
+.endfor
+.endif

Modified: projects/capsicum-test/stand/common/bcache.c
==============================================================================
--- projects/capsicum-test/stand/common/bcache.c	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/stand/common/bcache.c	Sat Mar 16 04:02:19 2019	(r345219)
@@ -44,9 +44,9 @@ __FBSDID("$FreeBSD$");
 /* #define BCACHE_DEBUG */
 
 #ifdef BCACHE_DEBUG
-# define DEBUG(fmt, args...)	printf("%s: " fmt "\n" , __func__ , ## args)
+# define DPRINTF(fmt, args...)	printf("%s: " fmt "\n" , __func__ , ## args)
 #else
-# define DEBUG(fmt, args...)
+# define DPRINTF(fmt, args...)
 #endif
 
 struct bcachectl
@@ -369,7 +369,7 @@ bcache_strategy(void *devdata, int rw, daddr_t blk, si
     /* bypass large requests, or when the cache is inactive */
     if (bc == NULL ||
 	((size * 2 / bcache_blksize) > bcache_nblks)) {
-	DEBUG("bypass %zu from %qu", size / bcache_blksize, blk);
+	DPRINTF("bypass %zu from %qu", size / bcache_blksize, blk);
 	bcache_bypasses++;
 	rw &= F_MASK;
 	return (dd->dv_strategy(dd->dv_devdata, rw, blk, size, buf, rsize));
@@ -444,7 +444,7 @@ bcache_insert(struct bcache *bc, daddr_t blkno)
     
     cand = BHASH(bc, blkno);
 
-    DEBUG("insert blk %llu -> %u # %d", blkno, cand, bcache_bcount);
+    DPRINTF("insert blk %llu -> %u # %d", blkno, cand, bcache_bcount);
     bc->bcache_ctl[cand].bc_blkno = blkno;
     bc->bcache_ctl[cand].bc_count = bcache_bcount++;
 }
@@ -461,7 +461,7 @@ bcache_invalidate(struct bcache *bc, daddr_t blkno)
     if (bc->bcache_ctl[i].bc_blkno == blkno) {
 	bc->bcache_ctl[i].bc_count = -1;
 	bc->bcache_ctl[i].bc_blkno = -1;
-	DEBUG("invalidate blk %llu", blkno);
+	DPRINTF("invalidate blk %llu", blkno);
     }
 }
 

Modified: projects/capsicum-test/stand/common/disk.c
==============================================================================
--- projects/capsicum-test/stand/common/disk.c	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/stand/common/disk.c	Sat Mar 16 04:02:19 2019	(r345219)
@@ -38,9 +38,9 @@ __FBSDID("$FreeBSD$");
 #include "disk.h"
 
 #ifdef DISK_DEBUG
-# define DEBUG(fmt, args...)	printf("%s: " fmt "\n" , __func__ , ## args)
+# define DPRINTF(fmt, args...)	printf("%s: " fmt "\n" , __func__ , ## args)
 #else
-# define DEBUG(fmt, args...)
+# define DPRINTF(fmt, args...)
 #endif
 
 struct open_disk {
@@ -231,7 +231,7 @@ disk_open(struct disk_devdesc *dev, uint64_t mediasize
 	rc = 0;
 	od = (struct open_disk *)malloc(sizeof(struct open_disk));
 	if (od == NULL) {
-		DEBUG("no memory");
+		DPRINTF("no memory");
 		return (ENOMEM);
 	}
 	dev->dd.d_opendata = od;
@@ -252,14 +252,14 @@ disk_open(struct disk_devdesc *dev, uint64_t mediasize
 	slice = dev->d_slice;
 	partition = dev->d_partition;
 
-	DEBUG("%s unit %d, slice %d, partition %d => %p",
+	DPRINTF("%s unit %d, slice %d, partition %d => %p",
 	    disk_fmtdev(dev), dev->dd.d_unit, dev->d_slice, dev->d_partition, od);
 
 	/* Determine disk layout. */
 	od->table = ptable_open(&partdev, mediasize / sectorsize, sectorsize,
 	    ptblread);
 	if (od->table == NULL) {
-		DEBUG("Can't read partition table");
+		DPRINTF("Can't read partition table");
 		rc = ENXIO;
 		goto out;
 	}
@@ -315,7 +315,7 @@ disk_open(struct disk_devdesc *dev, uint64_t mediasize
 		table = ptable_open(dev, part.end - part.start + 1,
 		    od->sectorsize, ptblread);
 		if (table == NULL) {
-			DEBUG("Can't read BSD label");
+			DPRINTF("Can't read BSD label");
 			rc = ENXIO;
 			goto out;
 		}
@@ -343,12 +343,12 @@ out:
 		if (od->table != NULL)
 			ptable_close(od->table);
 		free(od);
-		DEBUG("%s could not open", disk_fmtdev(dev));
+		DPRINTF("%s could not open", disk_fmtdev(dev));
 	} else {
 		/* Save the slice and partition number to the dev */
 		dev->d_slice = slice;
 		dev->d_partition = partition;
-		DEBUG("%s offset %lld => %p", disk_fmtdev(dev),
+		DPRINTF("%s offset %lld => %p", disk_fmtdev(dev),
 		    (long long)dev->d_offset, od);
 	}
 	return (rc);
@@ -360,7 +360,7 @@ disk_close(struct disk_devdesc *dev)
 	struct open_disk *od;
 
 	od = (struct open_disk *)dev->dd.d_opendata;
-	DEBUG("%s closed => %p", disk_fmtdev(dev), od);
+	DPRINTF("%s closed => %p", disk_fmtdev(dev), od);
 	ptable_close(od->table);
 	free(od);
 	return (0);

Modified: projects/capsicum-test/stand/common/interp_forth.c
==============================================================================
--- projects/capsicum-test/stand/common/interp_forth.c	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/stand/common/interp_forth.c	Sat Mar 16 04:02:19 2019	(r345219)
@@ -39,9 +39,9 @@ INTERP_DEFINE("4th");
 /* #define BFORTH_DEBUG */
 
 #ifdef BFORTH_DEBUG
-#define	DEBUG(fmt, args...)	printf("%s: " fmt "\n" , __func__ , ## args)
+#define	DPRINTF(fmt, args...)	printf("%s: " fmt "\n" , __func__ , ## args)
 #else
-#define	DEBUG(fmt, args...)
+#define	DPRINTF(fmt, args...)
 #endif
 
 /*
@@ -128,7 +128,7 @@ bf_command(FICL_VM *vm)
 			vmUpdateTib(vm, tail + len);
 		}
 	}
-	DEBUG("cmd '%s'", line);
+	DPRINTF("cmd '%s'", line);
 
 	command_errmsg = command_errbuf;
 	command_errbuf[0] = 0;
@@ -305,7 +305,7 @@ bf_run(const char *line)
 	 */
 	result = ficlExec(bf_vm, __DECONST(char *, line));
 
-	DEBUG("ficlExec '%s' = %d", line, result);
+	DPRINTF("ficlExec '%s' = %d", line, result);
 	switch (result) {
 	case VM_OUTOFTEXT:
 	case VM_ABORTQ:

Modified: projects/capsicum-test/stand/common/part.c
==============================================================================
--- projects/capsicum-test/stand/common/part.c	Sat Mar 16 03:58:23 2019	(r345218)
+++ projects/capsicum-test/stand/common/part.c	Sat Mar 16 04:02:19 2019	(r345219)
@@ -44,9 +44,9 @@ __FBSDID("$FreeBSD$");
 #include <uuid.h>
 
 #ifdef PART_DEBUG
-#define	DEBUG(fmt, args...) printf("%s: " fmt "\n", __func__, ## args)
+#define	DPRINTF(fmt, args...) printf("%s: " fmt "\n", __func__, ## args)
 #else
-#define	DEBUG(fmt, args...)
+#define	DPRINTF(fmt, args...)
 #endif
 
 #ifdef LOADER_GPT_SUPPORT
@@ -155,34 +155,34 @@ gpt_checkhdr(struct gpt_hdr *hdr, uint64_t lba_self, u
 	uint32_t sz, crc;
 
 	if (memcmp(hdr->hdr_sig, GPT_HDR_SIG, sizeof(hdr->hdr_sig)) != 0) {
-		DEBUG("no GPT signature");
+		DPRINTF("no GPT signature");
 		return (NULL);
 	}
 	sz = le32toh(hdr->hdr_size);
 	if (sz < 92 || sz > sectorsize) {
-		DEBUG("invalid GPT header size: %d", sz);
+		DPRINTF("invalid GPT header size: %d", sz);
 		return (NULL);
 	}
 	crc = le32toh(hdr->hdr_crc_self);
 	hdr->hdr_crc_self = 0;
 	if (crc32(hdr, sz) != crc) {
-		DEBUG("GPT header's CRC doesn't match");
+		DPRINTF("GPT header's CRC doesn't match");
 		return (NULL);
 	}
 	hdr->hdr_crc_self = crc;
 	hdr->hdr_revision = le32toh(hdr->hdr_revision);
 	if (hdr->hdr_revision < GPT_HDR_REVISION) {
-		DEBUG("unsupported GPT revision %d", hdr->hdr_revision);
+		DPRINTF("unsupported GPT revision %d", hdr->hdr_revision);
 		return (NULL);
 	}
 	hdr->hdr_lba_self = le64toh(hdr->hdr_lba_self);
 	if (hdr->hdr_lba_self != lba_self) {
-		DEBUG("self LBA doesn't match");
+		DPRINTF("self LBA doesn't match");
 		return (NULL);
 	}
 	hdr->hdr_lba_alt = le64toh(hdr->hdr_lba_alt);
 	if (hdr->hdr_lba_alt == hdr->hdr_lba_self) {
-		DEBUG("invalid alternate LBA");
+		DPRINTF("invalid alternate LBA");
 		return (NULL);
 	}
 	hdr->hdr_entries = le32toh(hdr->hdr_entries);
@@ -190,7 +190,7 @@ gpt_checkhdr(struct gpt_hdr *hdr, uint64_t lba_self, u
 	if (hdr->hdr_entries == 0 ||
 	    hdr->hdr_entsz < sizeof(struct gpt_ent) ||
 	    sectorsize % hdr->hdr_entsz != 0) {
-		DEBUG("invalid entry size or number of entries");
+		DPRINTF("invalid entry size or number of entries");
 		return (NULL);
 	}
 	hdr->hdr_lba_start = le64toh(hdr->hdr_lba_start);
@@ -214,7 +214,7 @@ gpt_checktbl(const struct gpt_hdr *hdr, uint8_t *tbl, 
 		/* Check CRC only when buffer size is enough for table. */
 		if (hdr->hdr_crc_table !=
 		    crc32(tbl, hdr->hdr_entries * hdr->hdr_entsz)) {
-			DEBUG("GPT table's CRC doesn't match");
+			DPRINTF("GPT table's CRC doesn't match");
 			return (-1);
 		}
 	}
@@ -310,7 +310,7 @@ ptable_gptread(struct ptable *table, void *dev, diskre
 		table->type = PTABLE_NONE;
 		goto out;
 	}
-	DEBUG("GPT detected");
+	DPRINTF("GPT detected");
 	size = MIN(hdr.hdr_entries * hdr.hdr_entsz,
 	    MAXTBLSZ * table->sectorsize);
 
@@ -346,7 +346,7 @@ ptable_gptread(struct ptable *table, void *dev, diskre
 		entry->flags = le64toh(ent->ent_attr);
 		memcpy(&entry->type.gpt, &ent->ent_type, sizeof(uuid_t));
 		STAILQ_INSERT_TAIL(&table->entries, entry, entry);
-		DEBUG("new GPT partition added");

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



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