Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Jun 2011 19:58:09 +0000 (UTC)
From:      Gabor Kovesdan <gabor@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r223266 - in user/gabor/tre-integration: . bin/sh cddl/contrib/opensolaris/lib/libdtrace/common contrib/binutils/bfd contrib/binutils/gas contrib/binutils/gas/config contrib/binutils/ld...
Message-ID:  <201106181958.p5IJw9cZ054971@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gabor
Date: Sat Jun 18 19:58:09 2011
New Revision: 223266
URL: http://svn.freebsd.org/changeset/base/223266

Log:
  - Merge from HEAD

Added:
  user/gabor/tre-integration/etc/rc.d/kld
     - copied unchanged from r223265, head/etc/rc.d/kld
  user/gabor/tre-integration/lib/libthr/arch/sparc64/sparc64/_umtx_op_err.S
     - copied unchanged from r223265, head/lib/libthr/arch/sparc64/sparc64/_umtx_op_err.S
  user/gabor/tre-integration/tools/build/options/WITHOUT_UTMPX
     - copied unchanged from r223265, head/tools/build/options/WITHOUT_UTMPX
  user/gabor/tre-integration/tools/regression/bin/sh/builtins/case8.0
     - copied unchanged from r223265, head/tools/regression/bin/sh/builtins/case8.0
  user/gabor/tre-integration/tools/regression/bin/sh/builtins/case9.0
     - copied unchanged from r223265, head/tools/regression/bin/sh/builtins/case9.0
  user/gabor/tre-integration/tools/regression/bin/sh/builtins/export1.0
     - copied unchanged from r223265, head/tools/regression/bin/sh/builtins/export1.0
  user/gabor/tre-integration/tools/regression/bin/sh/builtins/set2.0
     - copied unchanged from r223265, head/tools/regression/bin/sh/builtins/set2.0
  user/gabor/tre-integration/tools/regression/bin/sh/expansion/cmdsubst11.0
     - copied unchanged from r223265, head/tools/regression/bin/sh/expansion/cmdsubst11.0
Modified:
  user/gabor/tre-integration/Makefile
  user/gabor/tre-integration/Makefile.inc1
  user/gabor/tre-integration/UPDATING
  user/gabor/tre-integration/bin/sh/eval.c
  user/gabor/tre-integration/bin/sh/expand.c
  user/gabor/tre-integration/bin/sh/mktokens
  user/gabor/tre-integration/bin/sh/nodetypes
  user/gabor/tre-integration/bin/sh/parser.c
  user/gabor/tre-integration/bin/sh/sh.1
  user/gabor/tre-integration/bin/sh/var.c
  user/gabor/tre-integration/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c
  user/gabor/tre-integration/contrib/binutils/bfd/coffcode.h
  user/gabor/tre-integration/contrib/binutils/bfd/opncls.c
  user/gabor/tre-integration/contrib/binutils/bfd/peicode.h
  user/gabor/tre-integration/contrib/binutils/gas/config/obj-elf.c
  user/gabor/tre-integration/contrib/binutils/gas/frags.c
  user/gabor/tre-integration/contrib/binutils/gas/subsegs.c
  user/gabor/tre-integration/contrib/binutils/ld/ldexp.c
  user/gabor/tre-integration/contrib/binutils/ld/sysdep.h
  user/gabor/tre-integration/contrib/binutils/opcodes/i386-dis.c
  user/gabor/tre-integration/contrib/gcc/cfg.c
  user/gabor/tre-integration/contrib/gcc/output.h
  user/gabor/tre-integration/contrib/gcc/rtl.h
  user/gabor/tre-integration/contrib/gcc/tree.h
  user/gabor/tre-integration/contrib/gperf/src/gen-perf.cc
  user/gabor/tre-integration/contrib/gperf/src/key-list.cc
  user/gabor/tre-integration/etc/defaults/rc.conf
  user/gabor/tre-integration/etc/periodic/daily/800.scrub-zfs
  user/gabor/tre-integration/etc/periodic/monthly/Makefile
  user/gabor/tre-integration/etc/rc.d/Makefile
  user/gabor/tre-integration/etc/rc.d/var
  user/gabor/tre-integration/etc/rc.subr
  user/gabor/tre-integration/lib/libc/db/btree/bt_split.c
  user/gabor/tre-integration/lib/libc/db/man/mpool.3
  user/gabor/tre-integration/lib/libc/gen/basename.3
  user/gabor/tre-integration/lib/libc/gen/basename.c
  user/gabor/tre-integration/lib/libc/gen/ftw.c
  user/gabor/tre-integration/lib/libc/gen/posix_spawn.3
  user/gabor/tre-integration/lib/libc/gen/sysconf.c
  user/gabor/tre-integration/lib/libc/net/sctp_opt_info.3
  user/gabor/tre-integration/lib/libc/net/sctp_sys_calls.c
  user/gabor/tre-integration/lib/libc/sys/wait.2
  user/gabor/tre-integration/lib/libstand/net.c
  user/gabor/tre-integration/lib/libstand/tftp.c
  user/gabor/tre-integration/lib/libstand/zalloc.c
  user/gabor/tre-integration/lib/libstand/zalloc_malloc.c
  user/gabor/tre-integration/lib/libthr/arch/sparc64/Makefile.inc
  user/gabor/tre-integration/lib/libthr/arch/sparc64/include/pthread_md.h
  user/gabor/tre-integration/lib/libthr/arch/sparc64/sparc64/pthread_md.c
  user/gabor/tre-integration/lib/msun/ld80/e_rem_pio2l.h
  user/gabor/tre-integration/libexec/rtld-elf/rtld.c
  user/gabor/tre-integration/libexec/tftpd/tftpd.8
  user/gabor/tre-integration/release/Makefile
  user/gabor/tre-integration/sbin/geom/class/part/geom_part.c
  user/gabor/tre-integration/sbin/hastd/primary.c
  user/gabor/tre-integration/sbin/hastd/proto_common.c
  user/gabor/tre-integration/sbin/hastd/secondary.c
  user/gabor/tre-integration/sbin/ipfw/ipfw2.c
  user/gabor/tre-integration/sbin/ipfw/nat.c
  user/gabor/tre-integration/share/examples/etc/make.conf
  user/gabor/tre-integration/share/man/man4/snd_hda.4
  user/gabor/tre-integration/share/man/man5/make.conf.5
  user/gabor/tre-integration/share/man/man5/rc.conf.5
  user/gabor/tre-integration/share/man/man5/src.conf.5
  user/gabor/tre-integration/share/man/man7/build.7
  user/gabor/tre-integration/share/man/man9/Makefile
  user/gabor/tre-integration/share/man/man9/device_get_sysctl.9
  user/gabor/tre-integration/share/misc/usb_hid_usages
  user/gabor/tre-integration/share/mk/bsd.own.mk
  user/gabor/tre-integration/sys/amd64/ia32/ia32_sigtramp.S
  user/gabor/tre-integration/sys/boot/i386/libi386/biosacpi.c
  user/gabor/tre-integration/sys/cddl/contrib/opensolaris/uts/common/sys/ctf_api.h
  user/gabor/tre-integration/sys/compat/freebsd32/freebsd32_misc.c
  user/gabor/tre-integration/sys/compat/freebsd32/freebsd32_proto.h
  user/gabor/tre-integration/sys/compat/freebsd32/freebsd32_syscall.h
  user/gabor/tre-integration/sys/compat/freebsd32/freebsd32_syscalls.c
  user/gabor/tre-integration/sys/compat/freebsd32/freebsd32_sysent.c
  user/gabor/tre-integration/sys/compat/freebsd32/syscalls.master
  user/gabor/tre-integration/sys/compat/linprocfs/linprocfs.c
  user/gabor/tre-integration/sys/conf/Makefile.arm
  user/gabor/tre-integration/sys/dev/acpica/acpi.c
  user/gabor/tre-integration/sys/dev/acpica/acpi_pci.c
  user/gabor/tre-integration/sys/dev/e1000/if_igb.c
  user/gabor/tre-integration/sys/dev/e1000/if_igb.h
  user/gabor/tre-integration/sys/dev/pccbb/pccbb.c
  user/gabor/tre-integration/sys/dev/sound/pci/hda/hdac.c
  user/gabor/tre-integration/sys/ia64/ia64/busdma_machdep.c
  user/gabor/tre-integration/sys/ia64/ia64/pmap.c
  user/gabor/tre-integration/sys/ia64/include/ia64_cpu.h
  user/gabor/tre-integration/sys/kern/imgact_aout.c
  user/gabor/tre-integration/sys/kern/link_elf.c
  user/gabor/tre-integration/sys/kern/sys_process.c
  user/gabor/tre-integration/sys/net/if_gre.c
  user/gabor/tre-integration/sys/net/if_gre.h
  user/gabor/tre-integration/sys/net80211/ieee80211_acl.c
  user/gabor/tre-integration/sys/net80211/ieee80211_ioctl.c
  user/gabor/tre-integration/sys/net80211/ieee80211_ioctl.h
  user/gabor/tre-integration/sys/netinet/if_ether.c
  user/gabor/tre-integration/sys/netinet/sctp.h
  user/gabor/tre-integration/sys/netinet/sctp_auth.c
  user/gabor/tre-integration/sys/netinet/sctp_indata.c
  user/gabor/tre-integration/sys/netinet/sctp_output.c
  user/gabor/tre-integration/sys/netinet/sctp_pcb.c
  user/gabor/tre-integration/sys/netinet/sctp_structs.h
  user/gabor/tre-integration/sys/netinet/sctp_uio.h
  user/gabor/tre-integration/sys/netinet/sctp_usrreq.c
  user/gabor/tre-integration/sys/netinet/sctp_var.h
  user/gabor/tre-integration/sys/netinet/sctputil.c
  user/gabor/tre-integration/sys/sparc64/include/smp.h
  user/gabor/tre-integration/sys/sparc64/sparc64/intr_machdep.c
  user/gabor/tre-integration/sys/sys/diskpc98.h
  user/gabor/tre-integration/sys/sys/param.h
  user/gabor/tre-integration/sys/ufs/ffs/ffs_alloc.c
  user/gabor/tre-integration/sys/ufs/ffs/ffs_balloc.c
  user/gabor/tre-integration/sys/ufs/ffs/ffs_extern.h
  user/gabor/tre-integration/sys/ufs/ffs/ffs_inode.c
  user/gabor/tre-integration/sys/ufs/ffs/ffs_snapshot.c
  user/gabor/tre-integration/sys/ufs/ffs/ffs_softdep.c
  user/gabor/tre-integration/sys/ufs/ffs/softdep.h
  user/gabor/tre-integration/sys/x86/x86/tsc.c
  user/gabor/tre-integration/tools/build/mk/OptionalObsoleteFiles.inc
  user/gabor/tre-integration/tools/build/options/WITHOUT_ACCT
  user/gabor/tre-integration/usr.bin/Makefile
  user/gabor/tre-integration/usr.bin/kdump/mksubr
  user/gabor/tre-integration/usr.bin/ldd/sods.c
  user/gabor/tre-integration/usr.bin/tftp/main.c
  user/gabor/tre-integration/usr.bin/tftp/tftp.1
  user/gabor/tre-integration/usr.bin/users/users.c
  user/gabor/tre-integration/usr.bin/xlint/lint1/decl.c
  user/gabor/tre-integration/usr.bin/xlint/lint1/scan.l
  user/gabor/tre-integration/usr.bin/xlint/lint2/msg.c
  user/gabor/tre-integration/usr.bin/xlint/lint2/read.c
  user/gabor/tre-integration/usr.sbin/Makefile
  user/gabor/tre-integration/usr.sbin/fdread/fdread.c
  user/gabor/tre-integration/usr.sbin/jls/jls.c
  user/gabor/tre-integration/usr.sbin/makefs/ffs/ffs_bswap.c
  user/gabor/tre-integration/usr.sbin/makefs/ffs/ffs_subr.c
  user/gabor/tre-integration/usr.sbin/pw/pw_user.c
Directory Properties:
  user/gabor/tre-integration/   (props changed)
  user/gabor/tre-integration/cddl/contrib/opensolaris/   (props changed)
  user/gabor/tre-integration/contrib/bind9/   (props changed)
  user/gabor/tre-integration/contrib/binutils/   (props changed)
  user/gabor/tre-integration/contrib/bzip2/   (props changed)
  user/gabor/tre-integration/contrib/compiler-rt/   (props changed)
  user/gabor/tre-integration/contrib/dialog/   (props changed)
  user/gabor/tre-integration/contrib/ee/   (props changed)
  user/gabor/tre-integration/contrib/expat/   (props changed)
  user/gabor/tre-integration/contrib/file/   (props changed)
  user/gabor/tre-integration/contrib/gcc/   (props changed)
  user/gabor/tre-integration/contrib/gdb/   (props changed)
  user/gabor/tre-integration/contrib/gdtoa/   (props changed)
  user/gabor/tre-integration/contrib/gnu-sort/   (props changed)
  user/gabor/tre-integration/contrib/groff/   (props changed)
  user/gabor/tre-integration/contrib/less/   (props changed)
  user/gabor/tre-integration/contrib/libpcap/   (props changed)
  user/gabor/tre-integration/contrib/libstdc++/   (props changed)
  user/gabor/tre-integration/contrib/llvm/   (props changed)
  user/gabor/tre-integration/contrib/llvm/tools/clang/   (props changed)
  user/gabor/tre-integration/contrib/ncurses/   (props changed)
  user/gabor/tre-integration/contrib/netcat/   (props changed)
  user/gabor/tre-integration/contrib/ntp/   (props changed)
  user/gabor/tre-integration/contrib/one-true-awk/   (props changed)
  user/gabor/tre-integration/contrib/openbsm/   (props changed)
  user/gabor/tre-integration/contrib/openpam/   (props changed)
  user/gabor/tre-integration/contrib/pf/   (props changed)
  user/gabor/tre-integration/contrib/sendmail/   (props changed)
  user/gabor/tre-integration/contrib/tcpdump/   (props changed)
  user/gabor/tre-integration/contrib/tcsh/   (props changed)
  user/gabor/tre-integration/contrib/top/   (props changed)
  user/gabor/tre-integration/contrib/top/install-sh   (props changed)
  user/gabor/tre-integration/contrib/tzcode/stdtime/   (props changed)
  user/gabor/tre-integration/contrib/tzcode/zic/   (props changed)
  user/gabor/tre-integration/contrib/tzdata/   (props changed)
  user/gabor/tre-integration/contrib/wpa/   (props changed)
  user/gabor/tre-integration/contrib/xz/   (props changed)
  user/gabor/tre-integration/crypto/openssh/   (props changed)
  user/gabor/tre-integration/crypto/openssl/   (props changed)
  user/gabor/tre-integration/gnu/lib/   (props changed)
  user/gabor/tre-integration/gnu/usr.bin/binutils/   (props changed)
  user/gabor/tre-integration/gnu/usr.bin/cc/cc_tools/   (props changed)
  user/gabor/tre-integration/gnu/usr.bin/gdb/   (props changed)
  user/gabor/tre-integration/lib/libc/   (props changed)
  user/gabor/tre-integration/lib/libc/stdtime/   (props changed)
  user/gabor/tre-integration/lib/libutil/   (props changed)
  user/gabor/tre-integration/lib/libz/   (props changed)
  user/gabor/tre-integration/sbin/   (props changed)
  user/gabor/tre-integration/sbin/ipfw/   (props changed)
  user/gabor/tre-integration/share/mk/bsd.arch.inc.mk   (props changed)
  user/gabor/tre-integration/share/zoneinfo/   (props changed)
  user/gabor/tre-integration/sys/   (props changed)
  user/gabor/tre-integration/sys/amd64/include/xen/   (props changed)
  user/gabor/tre-integration/sys/boot/   (props changed)
  user/gabor/tre-integration/sys/boot/i386/efi/   (props changed)
  user/gabor/tre-integration/sys/boot/ia64/efi/   (props changed)
  user/gabor/tre-integration/sys/boot/ia64/ski/   (props changed)
  user/gabor/tre-integration/sys/boot/powerpc/boot1.chrp/   (props changed)
  user/gabor/tre-integration/sys/boot/powerpc/ofw/   (props changed)
  user/gabor/tre-integration/sys/cddl/contrib/opensolaris/   (props changed)
  user/gabor/tre-integration/sys/conf/   (props changed)
  user/gabor/tre-integration/sys/contrib/dev/acpica/   (props changed)
  user/gabor/tre-integration/sys/contrib/octeon-sdk/   (props changed)
  user/gabor/tre-integration/sys/contrib/pf/   (props changed)
  user/gabor/tre-integration/sys/contrib/x86emu/   (props changed)
  user/gabor/tre-integration/usr.bin/calendar/   (props changed)
  user/gabor/tre-integration/usr.bin/csup/   (props changed)
  user/gabor/tre-integration/usr.bin/procstat/   (props changed)
  user/gabor/tre-integration/usr.sbin/ndiscvt/   (props changed)
  user/gabor/tre-integration/usr.sbin/zic/   (props changed)

Modified: user/gabor/tre-integration/Makefile
==============================================================================
--- user/gabor/tre-integration/Makefile	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/Makefile	Sat Jun 18 19:58:09 2011	(r223266)
@@ -19,7 +19,7 @@
 # kernel              - buildkernel + installkernel.
 # kernel-toolchain    - Builds the subset of world necessary to build a kernel
 # doxygen             - Build API documentation of the kernel, needs doxygen.
-# update              - Convenient way to update your source tree (cvs).
+# update              - Convenient way to update your source tree(s).
 # check-old           - List obsolete directories/files/libraries.
 # check-old-dirs      - List obsolete directories.
 # check-old-files     - List obsolete files.

Modified: user/gabor/tre-integration/Makefile.inc1
==============================================================================
--- user/gabor/tre-integration/Makefile.inc1	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/Makefile.inc1	Sat Jun 18 19:58:09 2011	(r223266)
@@ -12,6 +12,7 @@
 #	-DNO_KERNELOBJ do not run ${MAKE} obj in ${MAKE} buildkernel
 #	-DNO_PORTSUPDATE do not update ports in ${MAKE} update
 #	-DNO_DOCUPDATE do not update doc in ${MAKE} update
+#	-DNO_WWWUPDATE do not update www in ${MAKE} update
 #	-DNO_CTF do not run the DTrace CTF conversion tools on built objects
 #	LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list
 #	TARGET="machine" to crossbuild world for a different machine type
@@ -904,7 +905,7 @@ doxygen:
 #
 # update
 #
-# Update the source tree, by running cvsup and/or running cvs to update to the
+# Update the source tree(s), by running cvsup/cvs/svn to update to the
 # latest copy.
 #
 update:
@@ -927,6 +928,9 @@ update:
 .if defined(DOCSUPFILE) && !defined(NO_DOCUPDATE)
 	@${SUP} ${SUPFLAGS} ${DOCSUPFILE}
 .endif
+.if defined(WWWSUPFILE) && !defined(NO_WWWUPDATE)
+	@${SUP} ${SUPFLAGS} ${WWWSUPFILE}
+.endif
 .endif
 .if defined(CVS_UPDATE)
 	@cd ${.CURDIR} ; \

Modified: user/gabor/tre-integration/UPDATING
==============================================================================
--- user/gabor/tre-integration/UPDATING	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/UPDATING	Sat Jun 18 19:58:09 2011	(r223266)
@@ -52,6 +52,18 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9.
 20110513:
 	Support for sun4v architecture is officially dropped
 
+20110503:
+	Several KPI breaking changes have been committed to the mii(4) layer,
+	the PHY drivers and consequently some Ethernet drivers using mii(4).
+	This means that miibus.ko and the modules of the affected Ethernet
+	drivers need to be recompiled.
+
+	Note to kernel developers: Given that the OUI bit reversion problem
+	was fixed as part of these changes all mii(4) commits related to OUIs,
+	i.e. to sys/dev/mii/miidevs, PHY driver probing and vendor specific
+	handling, no longer can be merged verbatim to stable/8 and previous
+	branches.
+
 20110430:
 	Users of the Atheros AR71xx SoC code now need to add 'device ar71xx_pci'
 	into their kernel configurations along with 'device pci'.

Modified: user/gabor/tre-integration/bin/sh/eval.c
==============================================================================
--- user/gabor/tre-integration/bin/sh/eval.c	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/bin/sh/eval.c	Sat Jun 18 19:58:09 2011	(r223266)
@@ -140,7 +140,7 @@ evalcmd(int argc, char **argv)
                         STPUTC('\0', concat);
                         p = grabstackstr(concat);
                 }
-                evalstring(p, builtin_flags & EV_TESTED);
+                evalstring(p, builtin_flags);
         } else
                 exitstatus = 0;
         return exitstatus;
@@ -386,6 +386,14 @@ evalcase(union node *n, int flags)
 	for (cp = n->ncase.cases ; cp && evalskip == 0 ; cp = cp->nclist.next) {
 		for (patp = cp->nclist.pattern ; patp ; patp = patp->narg.next) {
 			if (casematch(patp, arglist.list->text)) {
+				while (cp->nclist.next &&
+				    cp->type == NCLISTFALLTHRU) {
+					if (evalskip != 0)
+						break;
+					evaltree(cp->nclist.body,
+					    flags & ~EV_EXIT);
+					cp = cp->nclist.next;
+				}
 				if (evalskip == 0) {
 					evaltree(cp->nclist.body, flags);
 				}
@@ -908,6 +916,7 @@ evalcommand(union node *cmd, int flags, 
 				dup2(pip[1], 1);
 				close(pip[1]);
 			}
+			flags &= ~EV_BACKCMD;
 		}
 		flags |= EV_EXIT;
 	}

Modified: user/gabor/tre-integration/bin/sh/expand.c
==============================================================================
--- user/gabor/tre-integration/bin/sh/expand.c	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/bin/sh/expand.c	Sat Jun 18 19:58:09 2011	(r223266)
@@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$");
 #include <string.h>
 #include <unistd.h>
 #include <wchar.h>
+#include <wctype.h>
 
 /*
  * Routines to expand arguments to commands.  We have to deal with
@@ -1401,13 +1402,43 @@ get_wc(const char **p)
 
 
 /*
+ * See if a character matches a character class, starting at the first colon
+ * of "[:class:]".
+ * If a valid character class is recognized, a pointer to the next character
+ * after the final closing bracket is stored into *end, otherwise a null
+ * pointer is stored into *end.
+ */
+static int
+match_charclass(const char *p, wchar_t chr, const char **end)
+{
+	char name[20];
+	const char *nameend;
+	wctype_t cclass;
+
+	*end = NULL;
+	p++;
+	nameend = strstr(p, ":]");
+	if (nameend == NULL || nameend - p >= sizeof(name) || nameend == p)
+		return 0;
+	memcpy(name, p, nameend - p);
+	name[nameend - p] = '\0';
+	*end = nameend + 2;
+	cclass = wctype(name);
+	/* An unknown class matches nothing but is valid nevertheless. */
+	if (cclass == 0)
+		return 0;
+	return iswctype(chr, cclass);
+}
+
+
+/*
  * Returns true if the pattern matches the string.
  */
 
 int
 patmatch(const char *pattern, const char *string, int squoted)
 {
-	const char *p, *q;
+	const char *p, *q, *end;
 	char c;
 	wchar_t wc, wc2;
 
@@ -1495,6 +1526,11 @@ patmatch(const char *pattern, const char
 			do {
 				if (c == CTLQUOTEMARK)
 					continue;
+				if (c == '[' && *p == ':') {
+					found |= match_charclass(p, chr, &end);
+					if (end != NULL)
+						p = end;
+				}
 				if (c == CTLESC)
 					c = *p++;
 				if (localeisutf8 && c & 0x80) {

Modified: user/gabor/tre-integration/bin/sh/mktokens
==============================================================================
--- user/gabor/tre-integration/bin/sh/mktokens	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/bin/sh/mktokens	Sat Jun 18 19:58:09 2011	(r223266)
@@ -50,6 +50,7 @@ TPIPE	0	"|"
 TLP	0	"("
 TRP	1	")"
 TENDCASE 1	";;"
+TFALLTHRU 1	";&"
 TREDIR	0	redirection
 TWORD	0	word
 TIF	0	"if"

Modified: user/gabor/tre-integration/bin/sh/nodetypes
==============================================================================
--- user/gabor/tre-integration/bin/sh/nodetypes	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/bin/sh/nodetypes	Sat Jun 18 19:58:09 2011	(r223266)
@@ -96,12 +96,13 @@ NCASE ncase			# a case statement
 	expr	  nodeptr		# the word to switch on
 	cases	  nodeptr		# the list of cases (NCLIST nodes)
 
-NCLIST nclist			# a case
+NCLIST nclist			# a case ending with ;;
 	type	  int
 	next	  nodeptr		# the next case in list
 	pattern	  nodeptr		# list of patterns for this case
 	body	  nodeptr		# code to execute for this case
 
+NCLISTFALLTHRU nclist		# a case ending with ;&
 
 NDEFUN narg			# define a function.  The "next" field contains
 				# the body of the function.

Modified: user/gabor/tre-integration/bin/sh/parser.c
==============================================================================
--- user/gabor/tre-integration/bin/sh/parser.c	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/bin/sh/parser.c	Sat Jun 18 19:58:09 2011	(r223266)
@@ -542,10 +542,13 @@ TRACE(("expecting DO got %s %s\n", tokna
 
 			checkkwd = CHKNL | CHKKWD | CHKALIAS;
 			if ((t = readtoken()) != TESAC) {
-				if (t != TENDCASE)
-					synexpect(TENDCASE);
+				if (t == TENDCASE)
+					;
+				else if (t == TFALLTHRU)
+					cp->type = NCLISTFALLTHRU;
 				else
-					checkkwd = CHKNL | CHKKWD, readtoken();
+					synexpect(TENDCASE);
+				checkkwd = CHKNL | CHKKWD, readtoken();
 			}
 			cpp = &cp->nclist.next;
 		}
@@ -931,8 +934,11 @@ xxreadtoken(void)
 			pungetc();
 			RETURN(TPIPE);
 		case ';':
-			if (pgetc() == ';')
+			c = pgetc();
+			if (c == ';')
 				RETURN(TENDCASE);
+			else if (c == '&')
+				RETURN(TFALLTHRU);
 			pungetc();
 			RETURN(TSEMI);
 		case '(':

Modified: user/gabor/tre-integration/bin/sh/sh.1
==============================================================================
--- user/gabor/tre-integration/bin/sh/sh.1	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/bin/sh/sh.1	Sat Jun 18 19:58:09 2011	(r223266)
@@ -32,7 +32,7 @@
 .\"	from: @(#)sh.1	8.6 (Berkeley) 5/4/95
 .\" $FreeBSD$
 .\"
-.Dd June 12, 2011
+.Dd June 17, 2011
 .Dt SH 1
 .Os
 .Sh NAME
@@ -372,7 +372,7 @@ The following is a list of valid operato
 .It Control operators:
 .Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact
 .It Li & Ta Li && Ta Li ( Ta Li ) Ta Li \en
-.It Li ;; Ta Li ; Ta Li | Ta Li ||
+.It Li ;; Ta Li ;& Ta Li ; Ta Li | Ta Li ||
 .El
 .It Redirection operators:
 .Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact
@@ -990,6 +990,11 @@ described later),
 separated by
 .Ql \&|
 characters.
+If the selected list is terminated by the control operator
+.Ql ;&
+instead of
+.Ql ;; ,
+execution continues with the next list.
 The exit code of the
 .Ic case
 command is the exit code of the last command executed in the list or
@@ -1648,6 +1653,15 @@ matches a
 rather than introducing a character class.
 A character class matches any of the characters between the square brackets.
 A range of characters may be specified using a minus sign.
+A named class of characters (see
+.Xr wctype 3 )
+may be specified by surrounding the name with
+.Ql \&[:
+and
+.Ql :\&] .
+For example,
+.Ql \&[\&[:alpha:\&]\&]
+is a shell pattern that matches a single letter.
 The character class may be complemented by making an exclamation point
 .Pq Ql !\&
 the first character of the character class.
@@ -2572,6 +2586,7 @@ will return the argument.
 .Xr execve 2 ,
 .Xr getrlimit 2 ,
 .Xr umask 2 ,
+.Xr wctype 3 ,
 .Xr editrc 5
 .Sh HISTORY
 A

Modified: user/gabor/tre-integration/bin/sh/var.c
==============================================================================
--- user/gabor/tre-integration/bin/sh/var.c	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/bin/sh/var.c	Sat Jun 18 19:58:09 2011	(r223266)
@@ -612,6 +612,12 @@ showvarscmd(int argc __unused, char **ar
 
 	qsort(vars, n, sizeof(*vars), var_compare);
 	for (i = 0; i < n; i++) {
+		/*
+		 * Skip improper variable names so the output remains usable as
+		 * shell input.
+		 */
+		if (!isassignment(vars[i]))
+			continue;
 		s = strchr(vars[i], '=');
 		s++;
 		outbin(vars[i], s - vars[i], out1);
@@ -683,6 +689,13 @@ exportcmd(int argc, char **argv)
 			for (vp = *vpp ; vp ; vp = vp->next) {
 				if (vp->flags & flag) {
 					if (values) {
+						/*
+						 * Skip improper variable names
+						 * so the output remains usable
+						 * as shell input.
+						 */
+						if (!isassignment(vp->text))
+							continue;
 						out1str(cmdname);
 						out1c(' ');
 					}

Modified: user/gabor/tre-integration/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c
==============================================================================
--- user/gabor/tre-integration/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c	Sat Jun 18 19:58:09 2011	(r223266)
@@ -45,6 +45,7 @@
 #include <assert.h>
 #include <libgen.h>
 #include <limits.h>
+#include <stdint.h>
 
 #include <dt_impl.h>
 
@@ -811,15 +812,14 @@ dt_basename(char *str)
 ulong_t
 dt_popc(ulong_t x)
 {
-#ifdef _ILP32
+#if defined(_ILP32)
 	x = x - ((x >> 1) & 0x55555555UL);
 	x = (x & 0x33333333UL) + ((x >> 2) & 0x33333333UL);
 	x = (x + (x >> 4)) & 0x0F0F0F0FUL;
 	x = x + (x >> 8);
 	x = x + (x >> 16);
 	return (x & 0x3F);
-#endif
-#ifdef _LP64
+#elif defined(_LP64)
 	x = x - ((x >> 1) & 0x5555555555555555ULL);
 	x = (x & 0x3333333333333333ULL) + ((x >> 2) & 0x3333333333333333ULL);
 	x = (x + (x >> 4)) & 0x0F0F0F0F0F0F0F0FULL;
@@ -827,6 +827,8 @@ dt_popc(ulong_t x)
 	x = x + (x >> 16);
 	x = x + (x >> 32);
 	return (x & 0x7F);
+#else
+# warning need td_popc() implementation
 #endif
 }
 
@@ -958,7 +960,7 @@ dtrace_uaddr2str(dtrace_hdl_t *dtp, pid_
 		P = dt_proc_grab(dtp, pid, PGRAB_RDONLY | PGRAB_FORCE, 0);
 
 	if (P == NULL) {
-		(void) snprintf(c, sizeof (c), "0x%llx", addr);
+	  (void) snprintf(c, sizeof (c), "0x%jx", (uintmax_t)addr);
 		return (dt_string2str(c, str, nbytes));
 	}
 
@@ -976,10 +978,10 @@ dtrace_uaddr2str(dtrace_hdl_t *dtp, pid_
 			(void) snprintf(c, sizeof (c), "%s`%s", obj, name);
 		}
 	} else if (Pobjname(P, addr, objname, sizeof (objname)) != 0) {
-		(void) snprintf(c, sizeof (c), "%s`0x%llx",
-		    dt_basename(objname), addr);
+		(void) snprintf(c, sizeof (c), "%s`0x%jx",
+				dt_basename(objname), (uintmax_t)addr);
 	} else {
-		(void) snprintf(c, sizeof (c), "0x%llx", addr);
+	  (void) snprintf(c, sizeof (c), "0x%jx", (uintmax_t)addr);
 	}
 
 	dt_proc_unlock(dtp, P);

Modified: user/gabor/tre-integration/contrib/binutils/bfd/coffcode.h
==============================================================================
--- user/gabor/tre-integration/contrib/binutils/bfd/coffcode.h	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/contrib/binutils/bfd/coffcode.h	Sat Jun 18 19:58:09 2011	(r223266)
@@ -3240,7 +3240,7 @@ coff_compute_section_file_positions (bfd
 	 incremented in coff_set_section_contents.  This is right for
 	 SVR3.2.  */
       if (strcmp (current->name, _LIB) == 0)
-	bfd_set_section_vma (abfd, current, 0);
+	(void) bfd_set_section_vma (abfd, current, 0);
 #endif
 
       previous = current;

Modified: user/gabor/tre-integration/contrib/binutils/bfd/opncls.c
==============================================================================
--- user/gabor/tre-integration/contrib/binutils/bfd/opncls.c	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/contrib/binutils/bfd/opncls.c	Sat Jun 18 19:58:09 2011	(r223266)
@@ -231,7 +231,7 @@ bfd_fopen (const char *filename, const c
      then it may have been opened with special flags that make it
      unsafe to close and reopen the file.  */
   if (fd == -1)
-    bfd_set_cacheable (nbfd, TRUE);
+    (void) bfd_set_cacheable (nbfd, TRUE);
 
   return nbfd;
 }

Modified: user/gabor/tre-integration/contrib/binutils/bfd/peicode.h
==============================================================================
--- user/gabor/tre-integration/contrib/binutils/bfd/peicode.h	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/contrib/binutils/bfd/peicode.h	Sat Jun 18 19:58:09 2011	(r223266)
@@ -607,7 +607,7 @@ pe_ILF_make_a_section (pe_ILF_vars * var
 
   bfd_set_section_flags (vars->abfd, sec, flags | extra_flags);
 
-  bfd_set_section_alignment (vars->abfd, sec, 2);
+  (void) bfd_set_section_alignment (vars->abfd, sec, 2);
 
   /* Check that we will not run out of space.  */
   BFD_ASSERT (vars->data + size < vars->bim->buffer + vars->bim->size);

Modified: user/gabor/tre-integration/contrib/binutils/gas/config/obj-elf.c
==============================================================================
--- user/gabor/tre-integration/contrib/binutils/gas/config/obj-elf.c	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/contrib/binutils/gas/config/obj-elf.c	Sat Jun 18 19:58:09 2011	(r223266)
@@ -1636,7 +1636,7 @@ obj_elf_init_stab_section (segT seg)
 
   /* Force the section to align to a longword boundary.  Without this,
      UnixWare ar crashes.  */
-  bfd_set_section_alignment (stdoutput, seg, 2);
+  (void) bfd_set_section_alignment (stdoutput, seg, 2);
 
   /* Make space for this first symbol.  */
   p = frag_more (12);

Modified: user/gabor/tre-integration/contrib/binutils/gas/frags.c
==============================================================================
--- user/gabor/tre-integration/contrib/binutils/gas/frags.c	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/contrib/binutils/gas/frags.c	Sat Jun 18 19:58:09 2011	(r223266)
@@ -146,7 +146,7 @@ frag_new (int old_frags_var_max_size
 
   /* This will align the obstack so the next struct we allocate on it
      will begin at a correct boundary.  */
-  obstack_finish (&frchain_now->frch_obstack);
+  (void) obstack_finish (&frchain_now->frch_obstack);
   frchP = frchain_now;
   know (frchP);
   former_last_fragP = frchP->frch_last;

Modified: user/gabor/tre-integration/contrib/binutils/gas/subsegs.c
==============================================================================
--- user/gabor/tre-integration/contrib/binutils/gas/subsegs.c	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/contrib/binutils/gas/subsegs.c	Sat Jun 18 19:58:09 2011	(r223266)
@@ -67,7 +67,7 @@ subseg_change (register segT seg, regist
     {
       seginfo = xcalloc (1, sizeof (*seginfo));
       seginfo->bfd_section = seg;
-      bfd_set_section_userdata (stdoutput, seg, seginfo);
+      (void) bfd_set_section_userdata (stdoutput, seg, seginfo);
     }
 }
 
@@ -169,7 +169,7 @@ subseg_get (const char *segname, int for
       secptr->output_section = secptr;
       seginfo = xcalloc (1, sizeof (*seginfo));
       seginfo->bfd_section = secptr;
-      bfd_set_section_userdata (stdoutput, secptr, seginfo);
+      (void) bfd_set_section_userdata (stdoutput, secptr, seginfo);
     }
   return secptr;
 }

Modified: user/gabor/tre-integration/contrib/binutils/ld/ldexp.c
==============================================================================
--- user/gabor/tre-integration/contrib/binutils/ld/ldexp.c	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/contrib/binutils/ld/ldexp.c	Sat Jun 18 19:58:09 2011	(r223266)
@@ -1112,9 +1112,9 @@ exp_get_fill (etree_type *tree, fill_typ
       fill = xmalloc (4 + sizeof (*fill) - 1);
       val = expld.result.value;
       fill->data[0] = (val >> 24) & 0xff;
-      fill->data[1] = (val >> 16) & 0xff;
-      fill->data[2] = (val >>  8) & 0xff;
-      fill->data[3] = (val >>  0) & 0xff;
+      __PAST_END(fill->data, 1) = (val >> 16) & 0xff;
+      __PAST_END(fill->data, 2) = (val >>  8) & 0xff;
+      __PAST_END(fill->data, 3) = (val >>  0) & 0xff;
       fill->size = 4;
     }
   return fill;

Modified: user/gabor/tre-integration/contrib/binutils/ld/sysdep.h
==============================================================================
--- user/gabor/tre-integration/contrib/binutils/ld/sysdep.h	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/contrib/binutils/ld/sysdep.h	Sat Jun 18 19:58:09 2011	(r223266)
@@ -54,6 +54,9 @@ extern char *strrchr ();
 /* for MAXPATHLEN */
 #ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>
+#ifndef __PAST_END
+# define __PAST_END(array, offset) (((typeof(*(array)) *)(array))[offset])
+#endif
 #endif
 #ifdef PATH_MAX
 # define LD_PATHMAX PATH_MAX

Modified: user/gabor/tre-integration/contrib/binutils/opcodes/i386-dis.c
==============================================================================
--- user/gabor/tre-integration/contrib/binutils/opcodes/i386-dis.c	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/contrib/binutils/opcodes/i386-dis.c	Sat Jun 18 19:58:09 2011	(r223266)
@@ -3203,7 +3203,7 @@ ckprefix (void)
   rex_used = 0;
   while (1)
     {
-      FETCH_DATA (the_info, codep + 1);
+      (void) FETCH_DATA (the_info, codep + 1);
       newrex = 0;
       switch (*codep)
 	{
@@ -3606,7 +3606,7 @@ print_insn (bfd_vma pc, disassemble_info
   insn_codep = codep;
   sizeflag = priv.orig_sizeflag;
 
-  FETCH_DATA (info, codep + 1);
+  (void) FETCH_DATA (info, codep + 1);
   two_source_ops = (*codep == 0x62) || (*codep == 0xc8);
 
   if (((prefixes & PREFIX_FWAIT)
@@ -3628,7 +3628,7 @@ print_insn (bfd_vma pc, disassemble_info
   if (*codep == 0x0f)
     {
       unsigned char threebyte;
-      FETCH_DATA (info, codep + 2);
+      (void) FETCH_DATA (info, codep + 2);
       threebyte = *++codep;
       dp = &dis386_twobyte[threebyte];
       need_modrm = twobyte_has_modrm[*codep];
@@ -3639,7 +3639,7 @@ print_insn (bfd_vma pc, disassemble_info
       codep++;
       if (dp->name == NULL && dp->op[0].bytemode == IS_3BYTE_OPCODE)
 	{
-	  FETCH_DATA (info, codep + 2);
+	  (void) FETCH_DATA (info, codep + 2);
 	  op = *codep++;
 	  switch (threebyte)
 	    {
@@ -3724,7 +3724,7 @@ print_insn (bfd_vma pc, disassemble_info
     }
   else if (need_modrm)
     {
-      FETCH_DATA (info, codep + 1);
+      (void) FETCH_DATA (info, codep + 1);
       modrm.mod = (*codep >> 6) & 3;
       modrm.reg = (*codep >> 3) & 7;
       modrm.rm = *codep & 7;
@@ -4890,7 +4890,7 @@ OP_E (int bytemode, int sizeflag)
       if (base == 4)
 	{
 	  havesib = 1;
-	  FETCH_DATA (the_info, codep + 1);
+	  (void) FETCH_DATA (the_info, codep + 1);
 	  index = (*codep >> 3) & 7;
 	  if (address_mode == mode_64bit || index != 0x4)
 	    /* When INDEX == 0x4 in 32 bit mode, SCALE is ignored.  */
@@ -5147,7 +5147,7 @@ get64 (void)
   unsigned int a;
   unsigned int b;
 
-  FETCH_DATA (the_info, codep + 8);
+  (void) FETCH_DATA (the_info, codep + 8);
   a = *codep++ & 0xff;
   a |= (*codep++ & 0xff) << 8;
   a |= (*codep++ & 0xff) << 16;
@@ -5169,7 +5169,7 @@ get32 (void)
 {
   bfd_signed_vma x = 0;
 
-  FETCH_DATA (the_info, codep + 4);
+  (void) FETCH_DATA (the_info, codep + 4);
   x = *codep++ & (bfd_signed_vma) 0xff;
   x |= (*codep++ & (bfd_signed_vma) 0xff) << 8;
   x |= (*codep++ & (bfd_signed_vma) 0xff) << 16;
@@ -5182,7 +5182,7 @@ get32s (void)
 {
   bfd_signed_vma x = 0;
 
-  FETCH_DATA (the_info, codep + 4);
+  (void) FETCH_DATA (the_info, codep + 4);
   x = *codep++ & (bfd_signed_vma) 0xff;
   x |= (*codep++ & (bfd_signed_vma) 0xff) << 8;
   x |= (*codep++ & (bfd_signed_vma) 0xff) << 16;
@@ -5198,7 +5198,7 @@ get16 (void)
 {
   int x = 0;
 
-  FETCH_DATA (the_info, codep + 2);
+  (void) FETCH_DATA (the_info, codep + 2);
   x = *codep++ & 0xff;
   x |= (*codep++ & 0xff) << 8;
   return x;
@@ -6018,7 +6018,7 @@ OP_3DNowSuffix (int bytemode ATTRIBUTE_U
 {
   const char *mnemonic;
 
-  FETCH_DATA (the_info, codep + 1);
+  (void) FETCH_DATA (the_info, codep + 1);
   /* AMD 3DNow! instructions are specified by an opcode suffix in the
      place where an 8-bit immediate would normally go.  ie. the last
      byte of the instruction.  */
@@ -6054,7 +6054,7 @@ OP_SIMD_Suffix (int bytemode ATTRIBUTE_U
 {
   unsigned int cmp_type;
 
-  FETCH_DATA (the_info, codep + 1);
+  (void) FETCH_DATA (the_info, codep + 1);
   obufp = obuf + strlen (obuf);
   cmp_type = *codep++ & 0xff;
   if (cmp_type < 8)

Modified: user/gabor/tre-integration/contrib/gcc/cfg.c
==============================================================================
--- user/gabor/tre-integration/contrib/gcc/cfg.c	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/contrib/gcc/cfg.c	Sat Jun 18 19:58:09 2011	(r223266)
@@ -830,7 +830,7 @@ dump_cfg_bb_info (FILE *file, basic_bloc
 	else
 	  fprintf (file, ", ");
 	first = false;
-	fprintf (file, bb_bitnames[i]);
+	fputs (bb_bitnames[i], file);
       }
   if (!first)
     fprintf (file, ")");

Modified: user/gabor/tre-integration/contrib/gcc/output.h
==============================================================================
--- user/gabor/tre-integration/contrib/gcc/output.h	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/contrib/gcc/output.h	Sat Jun 18 19:58:09 2011	(r223266)
@@ -109,13 +109,14 @@ extern void output_addr_const (FILE *, r
 
 /* Output a string of assembler code, substituting numbers, strings
    and fixed syntactic prefixes.  */
-#if GCC_VERSION >= 3004
+#if GCC_VERSION >= 3004 && !defined(__clang__)
 #define ATTRIBUTE_ASM_FPRINTF(m, n) __attribute__ ((__format__ (__asm_fprintf__, m, n))) ATTRIBUTE_NONNULL(m)
 /* This is a magic identifier which allows GCC to figure out the type
    of HOST_WIDE_INT for %wd specifier checks.  You must issue this
    typedef before using the __asm_fprintf__ format attribute.  */
 typedef HOST_WIDE_INT __gcc_host_wide_int__;
 #else
+/* FIXME(benl): what about %wd? */
 #define ATTRIBUTE_ASM_FPRINTF(m, n) ATTRIBUTE_NONNULL(m)
 #endif
 

Modified: user/gabor/tre-integration/contrib/gcc/rtl.h
==============================================================================
--- user/gabor/tre-integration/contrib/gcc/rtl.h	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/contrib/gcc/rtl.h	Sat Jun 18 19:58:09 2011	(r223266)
@@ -22,6 +22,11 @@ Software Foundation, 51 Franklin Street,
 #ifndef GCC_RTL_H
 #define GCC_RTL_H
 
+#include <sys/param.h>
+#ifndef __PAST_END
+# define __PAST_END(array, offset) (((typeof(*(array)) *)(array))[offset])
+#endif
+
 #include "statistics.h"
 #include "machmode.h"
 #include "input.h"
@@ -565,12 +570,12 @@ extern void rtvec_check_failed_bounds (r
 
 #define RTL_CHECK1(RTX, N, C1)      ((RTX)->u.fld[N])
 #define RTL_CHECK2(RTX, N, C1, C2)  ((RTX)->u.fld[N])
-#define RTL_CHECKC1(RTX, N, C)	    ((RTX)->u.fld[N])
+#define RTL_CHECKC1(RTX, N, C)	    __PAST_END((RTX)->u.fld, N)
 #define RTL_CHECKC2(RTX, N, C1, C2) ((RTX)->u.fld[N])
-#define RTVEC_ELT(RTVEC, I)	    ((RTVEC)->elem[I])
+#define RTVEC_ELT(RTVEC, I)	    __PAST_END((RTVEC)->elem, I)
 #define XWINT(RTX, N)		    ((RTX)->u.hwint[N])
 #define XCWINT(RTX, N, C)	    ((RTX)->u.hwint[N])
-#define XCMWINT(RTX, N, C, M)	    ((RTX)->u.hwint[N])
+#define XCMWINT(RTX, N, C, M)	    __PAST_END((RTX)->u.hwint, N)
 #define XCNMWINT(RTX, N, C, M)	    ((RTX)->u.hwint[N])
 #define XCNMPRV(RTX, C, M)	    (&(RTX)->u.rv)
 #define BLOCK_SYMBOL_CHECK(RTX)	    (&(RTX)->u.block_sym)

Modified: user/gabor/tre-integration/contrib/gcc/tree.h
==============================================================================
--- user/gabor/tre-integration/contrib/gcc/tree.h	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/contrib/gcc/tree.h	Sat Jun 18 19:58:09 2011	(r223266)
@@ -22,6 +22,11 @@ Software Foundation, 51 Franklin Street,
 #ifndef GCC_TREE_H
 #define GCC_TREE_H
 
+#include <sys/param.h>
+#ifndef __PAST_END
+# define __PAST_END(array, offset) (((typeof(*(array)) *)(array))[offset])
+#endif
+
 #include "hashtab.h"
 #include "machmode.h"
 #include "input.h"
@@ -830,12 +835,12 @@ extern void omp_clause_range_check_faile
 #define TREE_RANGE_CHECK(T, CODE1, CODE2)	(T)
 #define EXPR_CHECK(T)				(T)
 #define NON_TYPE_CHECK(T)			(T)
-#define TREE_VEC_ELT_CHECK(T, I)		((T)->vec.a[I])
-#define TREE_OPERAND_CHECK(T, I)		((T)->exp.operands[I])
-#define TREE_OPERAND_CHECK_CODE(T, CODE, I)	((T)->exp.operands[I])
+#define TREE_VEC_ELT_CHECK(T, I)		__PAST_END((T)->vec.a, I)
+#define TREE_OPERAND_CHECK(T, I)		__PAST_END((T)->exp.operands, I)
+#define TREE_OPERAND_CHECK_CODE(T, CODE, I)	__PAST_END((T)->exp.operands, I)
 #define TREE_RTL_OPERAND_CHECK(T, CODE, I)  (*(rtx *) &((T)->exp.operands[I]))
 #define PHI_NODE_ELT_CHECK(T, i)	((T)->phi.a[i])
-#define OMP_CLAUSE_ELT_CHECK(T, i)	        ((T)->omp_clause.ops[i])
+#define OMP_CLAUSE_ELT_CHECK(T, i)	        __PAST_END((T)->omp_clause.ops, i)
 #define OMP_CLAUSE_RANGE_CHECK(T, CODE1, CODE2)	(T)
 #define OMP_CLAUSE_SUBCODE_CHECK(T, CODE)	(T)
 

Modified: user/gabor/tre-integration/contrib/gperf/src/gen-perf.cc
==============================================================================
--- user/gabor/tre-integration/contrib/gperf/src/gen-perf.cc	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/contrib/gperf/src/gen-perf.cc	Sat Jun 18 19:58:09 2011	(r223266)
@@ -246,7 +246,7 @@ Gen_Perf::change (List_Node *prior, List
       {
         if (option[DEBUG])
           {
-            fprintf (stderr, " by changing asso_value['%c'] (char #%zd) to %d\n",
+            fprintf (stderr, " by changing asso_value['%c'] (char #%td) to %d\n",
                      *p, p - union_set + 1, asso_values[(unsigned char)(*p)]);
             fflush (stderr);
           }

Modified: user/gabor/tre-integration/contrib/gperf/src/key-list.cc
==============================================================================
--- user/gabor/tre-integration/contrib/gperf/src/key-list.cc	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/contrib/gperf/src/key-list.cc	Sat Jun 18 19:58:09 2011	(r223266)
@@ -1441,7 +1441,7 @@ Key_List::output_lookup_array (void)
 
           if (option[DEBUG])
             fprintf (stderr,
-                     "dup_ptr[%zd]: hash_value = %d, index = %d, count = %d\n",
+                     "dup_ptr[%td]: hash_value = %d, index = %d, count = %d\n",
                      dup_ptr - duplicates,
                      dup_ptr->hash_value, dup_ptr->index, dup_ptr->count);
 

Modified: user/gabor/tre-integration/etc/defaults/rc.conf
==============================================================================
--- user/gabor/tre-integration/etc/defaults/rc.conf	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/etc/defaults/rc.conf	Sat Jun 18 19:58:09 2011	(r223266)
@@ -38,6 +38,7 @@ ddb_enable="NO"		# Set to YES to load dd
 ddb_config="/etc/ddb.conf"	# ddb(8) config file.
 devd_enable="YES" 	# Run devd, to trigger programs on device tree changes.
 devd_flags=""		# Additional flags for devd(8).
+#kld_list="" 		# Kernel modules to load after local disks are mounted
 kldxref_enable="NO"	# Build linker.hints files with kldxref(8).
 kldxref_clobber="NO"	# Overwrite old linker.hints at boot.
 kldxref_module_path=""	# Override kern.module_path. A ';'-delimited list.

Modified: user/gabor/tre-integration/etc/periodic/daily/800.scrub-zfs
==============================================================================
--- user/gabor/tre-integration/etc/periodic/daily/800.scrub-zfs	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/etc/periodic/daily/800.scrub-zfs	Sat Jun 18 19:58:09 2011	(r223266)
@@ -46,7 +46,7 @@ case "$daily_scrub_zfs_enable" in
 		esac
 
 		# determine how many days shall be between scrubs
-		eval _pool_threshold=\${daily_scrub_zfs_$(echo "${pool}"|tr -s "-" "_"|tr -s "." "_"|tr -s ":" "_")_threshold}
+		eval _pool_threshold=\${daily_scrub_zfs_$(echo "${pool}"|tr  ".:-" "_")_threshold}
 		if [ -z "${_pool_threshold}" ];then
 			_pool_threshold=${daily_scrub_zfs_default_threshold}
 		fi

Modified: user/gabor/tre-integration/etc/periodic/monthly/Makefile
==============================================================================
--- user/gabor/tre-integration/etc/periodic/monthly/Makefile	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/etc/periodic/monthly/Makefile	Sat Jun 18 19:58:09 2011	(r223266)
@@ -6,7 +6,7 @@ FILES=	999.local
 
 # NB: keep these sorted by MK_* knobs
 
-.if ${MK_ACCT} != "no"
+.if ${MK_UTMPX} != "no"
 FILES+=	200.accounting
 .endif
 

Modified: user/gabor/tre-integration/etc/rc.d/Makefile
==============================================================================
--- user/gabor/tre-integration/etc/rc.d/Makefile	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/etc/rc.d/Makefile	Sat Jun 18 19:58:09 2011	(r223266)
@@ -18,7 +18,7 @@ FILES=	DAEMON FILESYSTEMS LOGIN NETWORKI
 	ip6addrctl ipfilter ipfs ipfw ipmon \
 	ipnat ipsec ipxrouted \
 	jail \
-	kadmind kerberos keyserv kldxref kpasswdd \
+	kadmind kerberos keyserv kld kldxref kpasswdd \
 	ldconfig local localpkg lockd lpd \
 	mixer motd mountcritlocal mountcritremote mountlate \
 	mdconfig mdconfig2 mountd moused mroute6d mrouted msgs \

Copied: user/gabor/tre-integration/etc/rc.d/kld (from r223265, head/etc/rc.d/kld)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/gabor/tre-integration/etc/rc.d/kld	Sat Jun 18 19:58:09 2011	(r223266, copy of r223265, head/etc/rc.d/kld)
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Copyright (c) 2011 Douglas Barton
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+#
+# PROVIDE: kld
+# REQUIRE: FILESYSTEMS
+# KEYWORD: nojail
+
+. /etc/rc.subr
+
+name="kld"
+
+start_cmd="${name}_start"
+stop_cmd=':'
+
+kld_start()
+{
+	[ -n "$kld_list" ] || return
+
+	local _kld
+
+	echo 'Loading kernel modules:'
+	for _kld in $kld_list ; do
+		load_kld -e ${_kld}.ko $_kld
+	done
+}
+
+load_rc_config $name
+run_rc_command "$1"

Modified: user/gabor/tre-integration/etc/rc.d/var
==============================================================================
--- user/gabor/tre-integration/etc/rc.d/var	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/etc/rc.d/var	Sat Jun 18 19:58:09 2011	(r223266)
@@ -28,7 +28,7 @@
 #
 
 # PROVIDE: var
-# REQUIRE: FILESYSTEMS
+# REQUIRE: FILESYSTEMS kld
 
 . /etc/rc.subr
 

Modified: user/gabor/tre-integration/etc/rc.subr
==============================================================================
--- user/gabor/tre-integration/etc/rc.subr	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/etc/rc.subr	Sat Jun 18 19:58:09 2011	(r223266)
@@ -1062,7 +1062,7 @@ load_rc_config()
 
 	# Set defaults if defined.
 	for _var in $rcvar $rcvars; do
-		_defval=`eval echo "\\\$${_var}_defval"`
+		eval _defval=\$${_var}_defval
 		if [ -n "$_defval" ]; then
 			eval : \${$_var:=\$${_var}_defval}
 		fi
@@ -1070,9 +1070,9 @@ load_rc_config()
 
 	# check obsolete rc.conf variables
 	for _var in $rcvars_obsolete; do
-		_v=`eval echo \\$$_var`
-		_msg=`eval echo \\$${_var}_obsolete_msg`
-		_new=`eval echo \\$${_var}_newvar`
+		eval _v=\$$_var
+		eval _msg=\$${_var}_obsolete_msg
+		eval _new=\$${_var}_newvar
 		case $_v in
 		"")
 			;;
@@ -1765,7 +1765,7 @@ check_kern_features()
 _echoonce()
 {
 	local _var _msg _mode
-	_var=`eval echo \\$$1`
+	eval _var=\$$1
 	_msg=$2
 	_mode=$3
 

Modified: user/gabor/tre-integration/lib/libc/db/btree/bt_split.c
==============================================================================
--- user/gabor/tre-integration/lib/libc/db/btree/bt_split.c	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/lib/libc/db/btree/bt_split.c	Sat Jun 18 19:58:09 2011	(r223266)
@@ -37,6 +37,7 @@ static char sccsid[] = "@(#)bt_split.c	8
 __FBSDID("$FreeBSD$");
 
 #include <sys/types.h>
+#include <sys/param.h>
 
 #include <limits.h>
 #include <stdio.h>
@@ -482,7 +483,7 @@ bt_rroot(BTREE *t, PAGE *h, PAGE *l, PAG
 	WR_RINTERNAL(dest,
 	    l->flags & P_RLEAF ? NEXTINDEX(l) : rec_total(l), l->pgno);
 
-	h->linp[1] = h->upper -= NRINTERNAL;
+	__PAST_END(h->linp, 1) = h->upper -= NRINTERNAL;
 	dest = (char *)h + h->upper;
 	WR_RINTERNAL(dest,
 	    r->flags & P_RLEAF ? NEXTINDEX(r) : rec_total(r), r->pgno);
@@ -534,7 +535,7 @@ bt_broot(BTREE *t, PAGE *h, PAGE *l, PAG
 	case P_BLEAF:
 		bl = GETBLEAF(r, 0);
 		nbytes = NBINTERNAL(bl->ksize);
-		h->linp[1] = h->upper -= nbytes;
+		__PAST_END(h->linp, 1) = h->upper -= nbytes;
 		dest = (char *)h + h->upper;
 		WR_BINTERNAL(dest, bl->ksize, r->pgno, 0);
 		memmove(dest, bl->bytes, bl->ksize);
@@ -550,7 +551,7 @@ bt_broot(BTREE *t, PAGE *h, PAGE *l, PAG
 	case P_BINTERNAL:
 		bi = GETBINTERNAL(r, 0);
 		nbytes = NBINTERNAL(bi->ksize);
-		h->linp[1] = h->upper -= nbytes;
+		__PAST_END(h->linp, 1) = h->upper -= nbytes;
 		dest = (char *)h + h->upper;
 		memmove(dest, bi, nbytes);
 		((BINTERNAL *)dest)->pgno = r->pgno;

Modified: user/gabor/tre-integration/lib/libc/db/man/mpool.3
==============================================================================
--- user/gabor/tre-integration/lib/libc/db/man/mpool.3	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/lib/libc/db/man/mpool.3	Sat Jun 18 19:58:09 2011	(r223266)
@@ -28,7 +28,7 @@
 .\"	@(#)mpool.3	8.1 (Berkeley) 6/4/93
 .\" $FreeBSD$
 .\"
-.Dd February 25, 1999
+.Dd June 17, 2011
 .Dt MPOOL 3
 .Os
 .Sh NAME
@@ -147,7 +147,14 @@ is returned and
 is set.
 The
 .Fa flags
-argument is not currently used.
+argument is specified by
+.Em or Ns 'ing
+any of the following values:
+.Bl -tag -width indent
+.It Dv MPOOL_IGNOREPIN
+The page returned is not pinned;
+page will otherwise be pinned on return.
+.El
 .Pp
 The
 .Fn mpool_put

Modified: user/gabor/tre-integration/lib/libc/gen/basename.3
==============================================================================
--- user/gabor/tre-integration/lib/libc/gen/basename.3	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/lib/libc/gen/basename.3	Sat Jun 18 19:58:09 2011	(r223266)
@@ -1,33 +1,22 @@
+.\" $OpenBSD: basename.3,v 1.20 2007/05/31 19:19:28 jmc Exp $
 .\"
 .\" Copyright (c) 1997 Todd C. Miller <Todd.Miller@courtesan.com>
-.\" All rights reserved.
 .\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\" 3. The name of the author may not be used to endorse or promote products
-.\"    derived from this software without specific prior written permission.
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
 .\"
-.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
-.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
-.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
-.\" THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-.\" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-.\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-.\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-.\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.\" $OpenBSD: basename.3,v 1.12 2000/04/18 03:01:25 aaron Exp $
 .\" $FreeBSD$
 .\"
-.Dd October 6, 2009
+.Dd March 31, 2010
 .Dt BASENAME 3
 .Os
 .Sh NAME
@@ -42,8 +31,7 @@
 .Sh DESCRIPTION
 The
 .Fn basename
-function
-returns the last component from the pathname pointed to by
+function returns the last component from the pathname pointed to by
 .Fa path ,
 deleting any trailing
 .Sq \&/
@@ -111,4 +99,15 @@ function first appeared in
 and
 .Fx 4.2 .
 .Sh AUTHORS
-.An "Todd C. Miller" Aq Todd.Miller@courtesan.com
+.An Todd C. Miller
+.Sh CAVEATS
+.Fn basename
+returns a pointer to internal static storage space that will be overwritten
+by subsequent calls.
+.Pp
+Other vendor implementations of
+.Fn basename
+may modify the contents of the string passed to
+.Fn basename ;
+this should be taken into account when writing code which calls this function
+if portability is desired.

Modified: user/gabor/tre-integration/lib/libc/gen/basename.c
==============================================================================
--- user/gabor/tre-integration/lib/libc/gen/basename.c	Sat Jun 18 19:43:08 2011	(r223265)
+++ user/gabor/tre-integration/lib/libc/gen/basename.c	Sat Jun 18 19:58:09 2011	(r223266)
@@ -1,35 +1,21 @@
+/*	$OpenBSD: basename.c,v 1.14 2005/08/08 08:05:33 espie Exp $	*/
+
 /*
- * Copyright (c) 1997 Todd C. Miller <Todd.Miller@courtesan.com>
- * All rights reserved.
+ * Copyright (c) 1997, 2004 Todd C. Miller <Todd.Miller@courtesan.com>
  *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
  *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
- * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,

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



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