From owner-svn-src-user@FreeBSD.ORG Sat Jun 18 19:58:10 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 72A111065670; Sat, 18 Jun 2011 19:58:10 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5F7898FC17; Sat, 18 Jun 2011 19:58:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5IJwAXb055011; Sat, 18 Jun 2011 19:58:10 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5IJw9cZ054971; Sat, 18 Jun 2011 19:58:09 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201106181958.p5IJw9cZ054971@svn.freebsd.org> From: Gabor Kovesdan Date: Sat, 18 Jun 2011 19:58:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: 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... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Jun 2011 19:58:10 -0000 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 #include #include +#include /* * 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 #include #include +#include #include @@ -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 +#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 +#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 +#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 +#include #include #include @@ -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 -.\" 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 - * All rights reserved. + * Copyright (c) 1997, 2004 Todd C. Miller * - * 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 ***