Date: Tue, 12 Jan 2010 07:55:02 +0000 (UTC) From: Brooks Davis <brooks@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r202144 - in projects/ngroups: . contrib/gcc/config/mips contrib/one-true-awk contrib/opie/libopie etc etc/rc.d games/fortune/datfiles kerberos5/usr.bin/kdestroy kerberos5/usr.bin/kpass... Message-ID: <201001120755.o0C7t2v7021014@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: brooks Date: Tue Jan 12 07:55:02 2010 New Revision: 202144 URL: http://svn.freebsd.org/changeset/base/202144 Log: MFH at r202143 Added: projects/ngroups/lib/libc/mips/gen/hardfloat/ - copied from r202143, head/lib/libc/mips/gen/hardfloat/ projects/ngroups/share/man/man3/pthread_affinity_np.3 - copied unchanged from r202143, head/share/man/man3/pthread_affinity_np.3 projects/ngroups/share/man/man3/pthread_attr_affinity_np.3 - copied unchanged from r202143, head/share/man/man3/pthread_attr_affinity_np.3 projects/ngroups/sys/boot/efi/libefi/efipart.c - copied unchanged from r202143, head/sys/boot/efi/libefi/efipart.c projects/ngroups/sys/conf/ldscript.mips.mips64 - copied unchanged from r202143, head/sys/conf/ldscript.mips.mips64 projects/ngroups/sys/conf/ldscript.mips.octeon1.32 - copied unchanged from r202143, head/sys/conf/ldscript.mips.octeon1.32 projects/ngroups/sys/conf/ldscript.mips.octeon1.64 - copied unchanged from r202143, head/sys/conf/ldscript.mips.octeon1.64 projects/ngroups/sys/conf/ldscript.mips.octeon1.n32 - copied unchanged from r202143, head/sys/conf/ldscript.mips.octeon1.n32 projects/ngroups/sys/dev/cfe/cfe_env.c - copied unchanged from r202143, head/sys/dev/cfe/cfe_env.c projects/ngroups/sys/dev/flash/mx25l.c - copied unchanged from r202143, head/sys/dev/flash/mx25l.c projects/ngroups/sys/dev/flash/mx25lreg.h - copied unchanged from r202143, head/sys/dev/flash/mx25lreg.h projects/ngroups/sys/dev/siba/siba_cc.c - copied unchanged from r202143, head/sys/dev/siba/siba_cc.c projects/ngroups/sys/ia64/ia64/iodev_machdep.c - copied unchanged from r202143, head/sys/ia64/ia64/iodev_machdep.c projects/ngroups/sys/ia64/include/iodev.h - copied unchanged from r202143, head/sys/ia64/include/iodev.h projects/ngroups/sys/mips/alchemy/ - copied from r202143, head/sys/mips/alchemy/ projects/ngroups/sys/mips/atheros/ - copied from r202143, head/sys/mips/atheros/ projects/ngroups/sys/mips/cavium/ - copied from r202143, head/sys/mips/cavium/ projects/ngroups/sys/mips/conf/ALCHEMY - copied unchanged from r202143, head/sys/mips/conf/ALCHEMY projects/ngroups/sys/mips/conf/AR71XX - copied unchanged from r202143, head/sys/mips/conf/AR71XX projects/ngroups/sys/mips/conf/AR71XX.hints - copied unchanged from r202143, head/sys/mips/conf/AR71XX.hints projects/ngroups/sys/mips/conf/MALTA64 - copied unchanged from r202143, head/sys/mips/conf/MALTA64 projects/ngroups/sys/mips/conf/OCTEON1 - copied unchanged from r202143, head/sys/mips/conf/OCTEON1 projects/ngroups/sys/mips/conf/OCTEON1-32 - copied unchanged from r202143, head/sys/mips/conf/OCTEON1-32 projects/ngroups/sys/mips/conf/OCTEON1.hints - copied unchanged from r202143, head/sys/mips/conf/OCTEON1.hints projects/ngroups/sys/mips/conf/SWARM - copied unchanged from r202143, head/sys/mips/conf/SWARM projects/ngroups/sys/mips/conf/SWARM.hints - copied unchanged from r202143, head/sys/mips/conf/SWARM.hints projects/ngroups/sys/mips/conf/XLR - copied unchanged from r202143, head/sys/mips/conf/XLR projects/ngroups/sys/mips/include/cdefs.h - copied unchanged from r202143, head/sys/mips/include/cdefs.h projects/ngroups/sys/mips/include/fls64.h - copied unchanged from r202143, head/sys/mips/include/fls64.h projects/ngroups/sys/mips/mips/bus_space_generic.c - copied unchanged from r202143, head/sys/mips/mips/bus_space_generic.c projects/ngroups/sys/mips/mips/elf_trampoline.c - copied unchanged from r202143, head/sys/mips/mips/elf_trampoline.c projects/ngroups/sys/mips/mips/inckern.S - copied unchanged from r202143, head/sys/mips/mips/inckern.S projects/ngroups/sys/mips/mips/ptrace_machdep.c - copied unchanged from r202143, head/sys/mips/mips/ptrace_machdep.c projects/ngroups/sys/mips/mips/sys_machdep.c - copied unchanged from r202143, head/sys/mips/mips/sys_machdep.c projects/ngroups/sys/mips/rmi/ - copied from r202143, head/sys/mips/rmi/ projects/ngroups/sys/mips/sibyte/ - copied from r202143, head/sys/mips/sibyte/ projects/ngroups/sys/modules/epic/ - copied from r202143, head/sys/modules/epic/ projects/ngroups/sys/sparc64/ebus/epic.c - copied unchanged from r202143, head/sys/sparc64/ebus/epic.c Deleted: projects/ngroups/contrib/one-true-awk/mac.code projects/ngroups/lib/libc/mips/gen/fpgetmask.c projects/ngroups/lib/libc/mips/gen/fpgetround.c projects/ngroups/lib/libc/mips/gen/fpgetsticky.c projects/ngroups/lib/libc/mips/gen/fpsetmask.c projects/ngroups/lib/libc/mips/gen/fpsetround.c projects/ngroups/lib/libc/mips/gen/fpsetsticky.c projects/ngroups/sys/boot/efi/libefi/efifs.c projects/ngroups/sys/mips/include/bus_octeon.h projects/ngroups/sys/mips/include/intr.h projects/ngroups/sys/mips/include/pltfm.h projects/ngroups/sys/mips/sentry5/siba_cc.c projects/ngroups/sys/mips/sentry5/siba_mips.c projects/ngroups/sys/mips/sentry5/siba_sdram.c projects/ngroups/usr.bin/awk/b.c.diff projects/ngroups/usr.bin/awk/main.c.diff projects/ngroups/usr.bin/awk/run.c.diff Modified: projects/ngroups/Makefile projects/ngroups/UPDATING projects/ngroups/contrib/gcc/config/mips/freebsd.h projects/ngroups/contrib/one-true-awk/FIXES projects/ngroups/contrib/one-true-awk/b.c projects/ngroups/contrib/one-true-awk/lib.c projects/ngroups/contrib/one-true-awk/main.c projects/ngroups/contrib/one-true-awk/makefile projects/ngroups/contrib/one-true-awk/maketab.c projects/ngroups/contrib/one-true-awk/proctab.c projects/ngroups/contrib/one-true-awk/proto.h projects/ngroups/contrib/one-true-awk/run.c projects/ngroups/contrib/opie/libopie/getutmpentry.c projects/ngroups/contrib/opie/libopie/insecure.c projects/ngroups/contrib/opie/libopie/login.c projects/ngroups/etc/rc.firewall projects/ngroups/etc/termcap.small projects/ngroups/games/fortune/datfiles/freebsd-tips projects/ngroups/kerberos5/usr.bin/kdestroy/Makefile projects/ngroups/kerberos5/usr.bin/kpasswd/Makefile projects/ngroups/lib/libc/Makefile projects/ngroups/lib/libc/gen/sem_init.3 projects/ngroups/lib/libc/gen/sem_open.3 projects/ngroups/lib/libc/mips/Symbol.map projects/ngroups/lib/libc/mips/sys/brk.S projects/ngroups/lib/libc/stdio/fread.c projects/ngroups/lib/libc/stdio/fwrite.c projects/ngroups/lib/libc/sys/cpuset.2 projects/ngroups/lib/libc/sys/cpuset_getaffinity.2 projects/ngroups/lib/libstand/dosfs.c projects/ngroups/lib/libthr/arch/mips/include/pthread_md.h projects/ngroups/lib/libusb/libusb20.c projects/ngroups/sbin/fsck_ffs/pass2.c projects/ngroups/share/man/man3/Makefile projects/ngroups/share/man/man3/pthread.3 projects/ngroups/share/man/man3/pthread_attr.3 projects/ngroups/share/man/man4/bridge.4 projects/ngroups/share/man/man4/faith.4 projects/ngroups/share/man/man4/uart.4 projects/ngroups/share/man/man5/devfs.rules.5 projects/ngroups/share/man/man9/sleepqueue.9 projects/ngroups/share/mk/bsd.libnames.mk projects/ngroups/share/termcap/termcap.src projects/ngroups/sys/amd64/amd64/io.c projects/ngroups/sys/amd64/amd64/mp_machdep.c projects/ngroups/sys/amd64/amd64/pmap.c projects/ngroups/sys/amd64/amd64/sys_machdep.c projects/ngroups/sys/amd64/conf/GENERIC projects/ngroups/sys/amd64/include/iodev.h projects/ngroups/sys/boot/common/bootstrap.h projects/ngroups/sys/boot/common/dev_net.c projects/ngroups/sys/boot/efi/include/efilib.h projects/ngroups/sys/boot/efi/libefi/Makefile projects/ngroups/sys/boot/forth/loader.conf projects/ngroups/sys/boot/ia64/efi/conf.c projects/ngroups/sys/boot/ia64/efi/main.c projects/ngroups/sys/boot/ia64/efi/version projects/ngroups/sys/boot/sparc64/loader/Makefile projects/ngroups/sys/cam/ata/ata_xpt.c projects/ngroups/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/ngroups/sys/compat/linux/linux_file.c projects/ngroups/sys/conf/Makefile.mips projects/ngroups/sys/conf/NOTES projects/ngroups/sys/conf/files projects/ngroups/sys/conf/files.ia64 projects/ngroups/sys/conf/files.mips projects/ngroups/sys/conf/files.sparc64 projects/ngroups/sys/conf/kern.mk projects/ngroups/sys/conf/ldscript.mips projects/ngroups/sys/conf/options projects/ngroups/sys/conf/options.mips projects/ngroups/sys/dev/ae/if_ae.c projects/ngroups/sys/dev/ahci/ahci.c projects/ngroups/sys/dev/ata/ata-all.c projects/ngroups/sys/dev/ata/chipsets/ata-ati.c projects/ngroups/sys/dev/cfe/cfe_api.c projects/ngroups/sys/dev/cxgb/common/cxgb_t3_hw.c projects/ngroups/sys/dev/ic/ns16550.h projects/ngroups/sys/dev/io/iodev.c projects/ngroups/sys/dev/iwn/if_iwn.c projects/ngroups/sys/dev/iwn/if_iwnvar.h projects/ngroups/sys/dev/mxge/eth_z8e.h projects/ngroups/sys/dev/mxge/ethp_z8e.h projects/ngroups/sys/dev/mxge/if_mxge.c projects/ngroups/sys/dev/mxge/rss_eth_z8e.h projects/ngroups/sys/dev/mxge/rss_ethp_z8e.h projects/ngroups/sys/dev/sound/pci/hda/hdac.c projects/ngroups/sys/dev/sound/pci/hda/hdac_private.h projects/ngroups/sys/dev/usb/serial/u3g.c projects/ngroups/sys/dev/usb/usbdevs projects/ngroups/sys/i386/conf/GENERIC projects/ngroups/sys/i386/i386/io.c projects/ngroups/sys/i386/i386/locore.s projects/ngroups/sys/i386/i386/pmap.c projects/ngroups/sys/i386/include/iodev.h projects/ngroups/sys/i386/xen/mp_machdep.c projects/ngroups/sys/i386/xen/xen_machdep.c projects/ngroups/sys/ia64/conf/DEFAULTS projects/ngroups/sys/ia64/conf/GENERIC projects/ngroups/sys/ia64/ia64/sys_machdep.c projects/ngroups/sys/ia64/include/sysarch.h projects/ngroups/sys/kern/kern_clock.c projects/ngroups/sys/kern/kern_environment.c projects/ngroups/sys/kern/kern_jail.c projects/ngroups/sys/kern/kern_umtx.c projects/ngroups/sys/kern/subr_sleepqueue.c projects/ngroups/sys/kern/subr_turnstile.c projects/ngroups/sys/kern/vfs_syscalls.c projects/ngroups/sys/mips/adm5120/adm5120_machdep.c projects/ngroups/sys/mips/adm5120/files.adm5120 projects/ngroups/sys/mips/adm5120/if_admsw.c projects/ngroups/sys/mips/adm5120/obio.c projects/ngroups/sys/mips/adm5120/uart_cpu_adm5120.c projects/ngroups/sys/mips/conf/MALTA projects/ngroups/sys/mips/conf/SENTRY5 projects/ngroups/sys/mips/idt/files.idt projects/ngroups/sys/mips/idt/idt_machdep.c projects/ngroups/sys/mips/idt/obio.c projects/ngroups/sys/mips/idt/uart_bus_rc32434.c projects/ngroups/sys/mips/idt/uart_cpu_rc32434.c projects/ngroups/sys/mips/include/_align.h projects/ngroups/sys/mips/include/_bus.h projects/ngroups/sys/mips/include/_types.h projects/ngroups/sys/mips/include/asm.h projects/ngroups/sys/mips/include/atomic.h projects/ngroups/sys/mips/include/bus.h projects/ngroups/sys/mips/include/cache.h projects/ngroups/sys/mips/include/cache_mipsNN.h projects/ngroups/sys/mips/include/cpu.h projects/ngroups/sys/mips/include/cpufunc.h projects/ngroups/sys/mips/include/cpuinfo.h projects/ngroups/sys/mips/include/cpuregs.h projects/ngroups/sys/mips/include/db_machdep.h projects/ngroups/sys/mips/include/elf.h projects/ngroups/sys/mips/include/endian.h projects/ngroups/sys/mips/include/float.h projects/ngroups/sys/mips/include/hwfunc.h projects/ngroups/sys/mips/include/intr_machdep.h projects/ngroups/sys/mips/include/kdb.h projects/ngroups/sys/mips/include/locore.h projects/ngroups/sys/mips/include/md_var.h projects/ngroups/sys/mips/include/param.h projects/ngroups/sys/mips/include/pcb.h projects/ngroups/sys/mips/include/pmap.h projects/ngroups/sys/mips/include/proc.h projects/ngroups/sys/mips/include/profile.h projects/ngroups/sys/mips/include/psl.h projects/ngroups/sys/mips/include/pte.h projects/ngroups/sys/mips/include/regdef.h projects/ngroups/sys/mips/include/regnum.h projects/ngroups/sys/mips/include/sysarch.h projects/ngroups/sys/mips/include/trap.h projects/ngroups/sys/mips/include/ucontext.h projects/ngroups/sys/mips/malta/files.malta projects/ngroups/sys/mips/malta/gt_pci.c projects/ngroups/sys/mips/malta/malta_machdep.c projects/ngroups/sys/mips/malta/maltareg.h projects/ngroups/sys/mips/malta/obio.c projects/ngroups/sys/mips/malta/std.malta projects/ngroups/sys/mips/malta/uart_bus_maltausart.c projects/ngroups/sys/mips/malta/uart_cpu_maltausart.c projects/ngroups/sys/mips/malta/yamon.h projects/ngroups/sys/mips/mips/busdma_machdep.c projects/ngroups/sys/mips/mips/cache.c projects/ngroups/sys/mips/mips/cache_mipsNN.c projects/ngroups/sys/mips/mips/copystr.S projects/ngroups/sys/mips/mips/cpu.c projects/ngroups/sys/mips/mips/db_trace.c projects/ngroups/sys/mips/mips/elf_machdep.c projects/ngroups/sys/mips/mips/exception.S projects/ngroups/sys/mips/mips/fp.S projects/ngroups/sys/mips/mips/gdb_machdep.c projects/ngroups/sys/mips/mips/genassym.c projects/ngroups/sys/mips/mips/in_cksum.c projects/ngroups/sys/mips/mips/intr_machdep.c projects/ngroups/sys/mips/mips/locore.S projects/ngroups/sys/mips/mips/machdep.c projects/ngroups/sys/mips/mips/mainbus.c projects/ngroups/sys/mips/mips/mem.c projects/ngroups/sys/mips/mips/nexus.c projects/ngroups/sys/mips/mips/pm_machdep.c projects/ngroups/sys/mips/mips/pmap.c projects/ngroups/sys/mips/mips/psraccess.S projects/ngroups/sys/mips/mips/support.S projects/ngroups/sys/mips/mips/swtch.S projects/ngroups/sys/mips/mips/tick.c projects/ngroups/sys/mips/mips/tlb.S projects/ngroups/sys/mips/mips/trap.c projects/ngroups/sys/mips/mips/vm_machdep.c projects/ngroups/sys/mips/sentry5/files.sentry5 projects/ngroups/sys/mips/sentry5/obio.c projects/ngroups/sys/mips/sentry5/s5_machdep.c projects/ngroups/sys/mips/sentry5/uart_bus_sbusart.c projects/ngroups/sys/mips/sentry5/uart_cpu_sbusart.c projects/ngroups/sys/modules/Makefile projects/ngroups/sys/net/if_epair.c projects/ngroups/sys/netgraph/ng_ether.c projects/ngroups/sys/nfsclient/nfs_vfsops.c projects/ngroups/sys/nfsclient/nfs_vnops.c projects/ngroups/sys/nfsserver/nfs.h projects/ngroups/sys/nfsserver/nfs_fha.c projects/ngroups/sys/nfsserver/nfs_srvkrpc.c projects/ngroups/sys/opencrypto/cryptosoft.c projects/ngroups/sys/pc98/conf/GENERIC projects/ngroups/sys/powerpc/conf/GENERIC projects/ngroups/sys/sparc64/conf/GENERIC projects/ngroups/sys/sparc64/pci/fire.c projects/ngroups/sys/sun4v/conf/GENERIC projects/ngroups/sys/sys/proc.h projects/ngroups/sys/sys/sleepqueue.h projects/ngroups/sys/sys/syscallsubr.h projects/ngroups/sys/sys/systm.h projects/ngroups/sys/ufs/ffs/ffs_alloc.c projects/ngroups/sys/ufs/ffs/fs.h projects/ngroups/sys/ufs/ufs/ufs_lookup.c projects/ngroups/tools/build/mk/OptionalObsoleteFiles.inc projects/ngroups/usr.bin/awk/Makefile projects/ngroups/usr.bin/lastcomm/lastcomm.c projects/ngroups/usr.bin/make/job.c projects/ngroups/usr.bin/netstat/if.c projects/ngroups/usr.bin/netstat/main.c projects/ngroups/usr.bin/netstat/netstat.1 projects/ngroups/usr.bin/netstat/netstat.h projects/ngroups/usr.sbin/faithd/faithd.8 projects/ngroups/usr.sbin/traceroute/findsaddr-udp.c projects/ngroups/usr.sbin/usbconfig/Makefile projects/ngroups/usr.sbin/usbconfig/usbconfig.c Directory Properties: projects/ngroups/ (props changed) projects/ngroups/cddl/contrib/opensolaris/ (props changed) projects/ngroups/contrib/ee/ (props changed) projects/ngroups/contrib/expat/ (props changed) projects/ngroups/contrib/less/ (props changed) projects/ngroups/contrib/one-true-awk/ (props changed) projects/ngroups/contrib/tcsh/ (props changed) projects/ngroups/etc/rc.d/static_arp (props changed) projects/ngroups/sys/cddl/contrib/opensolaris/ (props changed) projects/ngroups/sys/cddl/contrib/opensolaris/uts/common/rpc/ (props changed) projects/ngroups/sys/contrib/dev/acpica/ (props changed) projects/ngroups/sys/dev/xen/xenpci/ (props changed) Modified: projects/ngroups/Makefile ============================================================================== --- projects/ngroups/Makefile Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/Makefile Tue Jan 12 07:55:02 2010 (r202144) @@ -321,8 +321,9 @@ universe_${target}: @echo ">> ${target} completed on `LC_ALL=C date`" .endfor universe_kernels: universe_kernconfs -BUILD_ARCH!= uname -p -TARGET?= ${BUILD_ARCH} +.if !defined(TARGET) +TARGET!= uname -m +.endif KERNCONFS!= cd ${.CURDIR}/sys/${TARGET}/conf && \ find [A-Z0-9]*[A-Z0-9] -type f -maxdepth 0 \ ! -name DEFAULTS ! -name NOTES Modified: projects/ngroups/UPDATING ============================================================================== --- projects/ngroups/UPDATING Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/UPDATING Tue Jan 12 07:55:02 2010 (r202144) @@ -22,6 +22,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20100108: + Introduce the kernel thread "deadlock resolver" (which can be enabled + via the DEADLKRES option, see NOTES for more details) and the + sleepq_type() function for sleepqueues. + 20091202: The rc.firewall and rc.firewall6 were unified, and rc.firewall6 and rc.d/ip6fw were removed. Modified: projects/ngroups/contrib/gcc/config/mips/freebsd.h ============================================================================== --- projects/ngroups/contrib/gcc/config/mips/freebsd.h Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/gcc/config/mips/freebsd.h Tue Jan 12 07:55:02 2010 (r202144) @@ -97,6 +97,9 @@ Boston, MA 02110-1301, USA. */ Needs to agree with <machine/ansi.h>. GCC defaults come from c-decl.c, c-common.c, and config/<arch>/<arch>.h. */ +#undef TARGET_DEFAULT +#define TARGET_DEFAULT (MASK_ABICALLS | MASK_SOFT_FLOAT) + #if TARGET_ENDIAN_DEFAULT != 0 #define TARGET_VERSION fprintf (stderr, " (FreeBSD/mips)"); #else Modified: projects/ngroups/contrib/one-true-awk/FIXES ============================================================================== --- projects/ngroups/contrib/one-true-awk/FIXES Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/FIXES Tue Jan 12 07:55:02 2010 (r202144) @@ -25,6 +25,23 @@ THIS SOFTWARE. This file lists all bug fixes, changes, etc., made since the AWK book was sent to the printers in August, 1987. +Nov 26, 2009: + fixed a long-standing issue with when FS takes effect. a + change to FS is now noticed immediately for subsequent splits. + + changed the name getline() to awkgetline() to avoid yet another + name conflict somewhere. + +Feb 11, 2009: + temporarily for now defined HAS_ISBLANK, since that seems to + be the best way through the thicket. isblank arrived in C99, + but seems to be arriving at different systems at different + times. + +Oct 8, 2008: + fixed typo in b.c that set tmpvec wrongly. no one had ever + run into the problem, apparently. thanks to alistair crooks. + Oct 23, 2007: minor fix in lib.c: increase inputFS to 100, change malloc for fields to n+1. Modified: projects/ngroups/contrib/one-true-awk/b.c ============================================================================== --- projects/ngroups/contrib/one-true-awk/b.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/b.c Tue Jan 12 07:55:02 2010 (r202144) @@ -24,6 +24,9 @@ THIS SOFTWARE. /* lasciate ogne speranza, voi ch'intrate. */ +#include <sys/cdefs.h> +__FBSDID("$FreeBSD$"); + #define DEBUG #include <ctype.h> @@ -285,9 +288,21 @@ int quoted(char **pp) /* pick up next th return c; } +static int collate_range_cmp(int a, int b) +{ + static char s[2][2]; + + if ((uschar)a == (uschar)b) + return 0; + s[0][0] = a; + s[1][0] = b; + return (strcoll(s[0], s[1])); +} + char *cclenter(const char *argp) /* add a character class */ { int i, c, c2; + int j; uschar *p = (uschar *) argp; uschar *op, *bp; static uschar *buf = 0; @@ -306,15 +321,18 @@ char *cclenter(const char *argp) /* add c2 = *p++; if (c2 == '\\') c2 = quoted((char **) &p); - if (c > c2) { /* empty; ignore */ + if (collate_range_cmp(c, c2) > 0) { bp--; i--; continue; } - while (c < c2) { + for (j = 0; j < NCHARS; j++) { + if ((collate_range_cmp(c, j) > 0) || + collate_range_cmp(j, c2) > 0) + continue; if (!adjbuf((char **) &buf, &bufsz, bp-buf+2, 100, (char **) &bp, "cclenter1")) FATAL("out of space for character class [%.10s...] 2", p); - *bp++ = ++c; + *bp++ = j; i++; } continue; @@ -731,6 +749,7 @@ Node *unary(Node *np) * to nelson beebe for the suggestion; let's see if it works everywhere. */ +/* #define HAS_ISBLANK */ #ifndef HAS_ISBLANK int (isblank)(int c) @@ -876,7 +895,7 @@ int cgoto(fa *f, int s, int c) if (q[j] >= maxsetvec) { maxsetvec *= 4; setvec = (int *) realloc(setvec, maxsetvec * sizeof(int)); - tmpset = (int *) realloc(setvec, maxsetvec * sizeof(int)); + tmpset = (int *) realloc(tmpset, maxsetvec * sizeof(int)); if (setvec == 0 || tmpset == 0) overflo("cgoto overflow"); } Modified: projects/ngroups/contrib/one-true-awk/lib.c ============================================================================== --- projects/ngroups/contrib/one-true-awk/lib.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/lib.c Tue Jan 12 07:55:02 2010 (r202144) @@ -274,6 +274,7 @@ void fldbld(void) /* create fields from } fr = fields; i = 0; /* number of fields accumulated here */ + strcpy(inputFS, *FS); if (strlen(inputFS) > 1) { /* it's a regular expression */ i = refldbld(r, inputFS); } else if ((sep = *inputFS) == ' ') { /* default whitespace */ Modified: projects/ngroups/contrib/one-true-awk/main.c ============================================================================== --- projects/ngroups/contrib/one-true-awk/main.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/main.c Tue Jan 12 07:55:02 2010 (r202144) @@ -22,7 +22,10 @@ ARISING OUT OF OR IN CONNECTION WITH THE THIS SOFTWARE. ****************************************************************/ -const char *version = "version 20070501"; +#include <sys/cdefs.h> +__FBSDID("$FreeBSD$"); + +const char *version = "version 20091126 (FreeBSD)"; #define DEBUG #include <stdio.h> @@ -58,6 +61,7 @@ int main(int argc, char *argv[]) const char *fs = NULL; setlocale(LC_CTYPE, ""); + setlocale(LC_COLLATE, ""); setlocale(LC_NUMERIC, "C"); /* for parsing cmdline & prog */ cmdname = argv[0]; if (argc == 1) { @@ -86,13 +90,18 @@ int main(int argc, char *argv[]) safe = 1; break; case 'f': /* next argument is program filename */ - argc--; - argv++; - if (argc <= 1) - FATAL("no program filename"); - if (npfile >= MAX_PFILE - 1) - FATAL("too many -f options"); - pfile[npfile++] = argv[1]; + if (argv[1][2] != 0) { /* arg is -fsomething */ + if (npfile >= MAX_PFILE - 1) + FATAL("too many -f options"); + pfile[npfile++] = &argv[1][2]; + } else { /* arg is -f something */ + argc--; argv++; + if (argc <= 1) + FATAL("no program filename"); + if (npfile >= MAX_PFILE - 1) + FATAL("too many -f options"); + pfile[npfile++] = argv[1]; + } break; case 'F': /* set field separator */ if (argv[1][2] != 0) { /* arg is -Fsomething */ @@ -111,8 +120,14 @@ int main(int argc, char *argv[]) WARNING("field separator FS is empty"); break; case 'v': /* -v a=1 to be done NOW. one -v for each */ - if (argv[1][2] == '\0' && --argc > 1 && isclvar((++argv)[1])) - setclvar(argv[1]); + if (argv[1][2] != 0) { /* arg is -vsomething */ + if (argv[1][2] != 0) + setclvar(&argv[1][2]); + } else { /* arg is -v something */ + argc--; argv++; + if (argc > 1 && isclvar(argv[1])) + setclvar(argv[1]); + } break; case 'd': dbg = atoi(&argv[1][2]); Modified: projects/ngroups/contrib/one-true-awk/makefile ============================================================================== --- projects/ngroups/contrib/one-true-awk/makefile Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/makefile Tue Jan 12 07:55:02 2010 (r202144) @@ -31,7 +31,6 @@ CC = gcc -fprofile-arcs -ftest-coverage CC = gcc -Wall -g CC = cc CC = gcc -O4 -CC = gcc -Wall -g YACC = bison -y Modified: projects/ngroups/contrib/one-true-awk/maketab.c ============================================================================== --- projects/ngroups/contrib/one-true-awk/maketab.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/maketab.c Tue Jan 12 07:55:02 2010 (r202144) @@ -102,7 +102,7 @@ struct xx { CALL, "call", "call" }, { ARG, "arg", "arg" }, { VARNF, "getnf", "NF" }, - { GETLINE, "getline", "getline" }, + { GETLINE, "awkgetline", "getline" }, { 0, "", "" }, }; Modified: projects/ngroups/contrib/one-true-awk/proctab.c ============================================================================== --- projects/ngroups/contrib/one-true-awk/proctab.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/proctab.c Tue Jan 12 07:55:02 2010 (r202144) @@ -180,7 +180,7 @@ Cell *(*proctab[93])(Node **, int) = { nullproc, /* NUMBER */ nullproc, /* STRING */ nullproc, /* REGEXPR */ - getline, /* GETLINE */ + awkgetline, /* GETLINE */ substr, /* SUBSTR */ split, /* SPLIT */ jump, /* RETURN */ Modified: projects/ngroups/contrib/one-true-awk/proto.h ============================================================================== --- projects/ngroups/contrib/one-true-awk/proto.h Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/proto.h Tue Jan 12 07:55:02 2010 (r202144) @@ -149,7 +149,7 @@ extern Cell *call(Node **, int); extern Cell *copycell(Cell *); extern Cell *arg(Node **, int); extern Cell *jump(Node **, int); -extern Cell *getline(Node **, int); +extern Cell *awkgetline(Node **, int); extern Cell *getnf(Node **, int); extern Cell *array(Node **, int); extern Cell *awkdelete(Node **, int); Modified: projects/ngroups/contrib/one-true-awk/run.c ============================================================================== --- projects/ngroups/contrib/one-true-awk/run.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/run.c Tue Jan 12 07:55:02 2010 (r202144) @@ -22,6 +22,9 @@ ARISING OUT OF OR IN CONNECTION WITH THE THIS SOFTWARE. ****************************************************************/ +#include <sys/cdefs.h> +__FBSDID("$FreeBSD$"); + #define DEBUG #include <stdio.h> #include <ctype.h> @@ -388,7 +391,7 @@ Cell *jump(Node **a, int n) /* break, co return 0; /* not reached */ } -Cell *getline(Node **a, int n) /* get next line from specific input */ +Cell *awkgetline(Node **a, int n) /* get next line from specific input */ { /* a[0] is variable, a[1] is operator, a[2] is filename */ Cell *r, *x; extern Cell **fldtab; @@ -653,7 +656,7 @@ Cell *relop(Node **a, int n) /* a[0 < a[ j = x->fval - y->fval; i = j<0? -1: (j>0? 1: 0); } else { - i = strcmp(getsval(x), getsval(y)); + i = strcoll(getsval(x), getsval(y)); } tempfree(x); tempfree(y); @@ -1159,11 +1162,11 @@ Cell *cat(Node **a, int q) /* a[0] cat a x->sval, y->sval); strcpy(s, x->sval); strcpy(s+n1, y->sval); + tempfree(x); tempfree(y); z = gettemp(); z->sval = s; z->tval = STR; - tempfree(x); return(z); } Modified: projects/ngroups/contrib/opie/libopie/getutmpentry.c ============================================================================== --- projects/ngroups/contrib/opie/libopie/getutmpentry.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/opie/libopie/getutmpentry.c Tue Jan 12 07:55:02 2010 (r202144) @@ -15,13 +15,14 @@ you didn't get a copy, you may request o #include "opie_cfg.h" #include <stdio.h> #include <sys/types.h> -#include <utmp.h> #if DOUTMPX #include <utmpx.h> #define setutent setutxent #define getutline(x) getutxline(x) #define utmp utmpx +#else +#include <utmp.h> #endif /* DOUTMPX */ #if HAVE_STRING_H Modified: projects/ngroups/contrib/opie/libopie/insecure.c ============================================================================== --- projects/ngroups/contrib/opie/libopie/insecure.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/opie/libopie/insecure.c Tue Jan 12 07:55:02 2010 (r202144) @@ -39,11 +39,12 @@ $FreeBSD$ #include <sys/param.h> #include <unistd.h> -#include <utmp.h> #if DOUTMPX #include <utmpx.h> #define utmp utmpx #define endutent endutxent +#else +#include <utmp.h> #endif /* DOUTMPX */ #if HAVE_SYS_UTSNAME_H Modified: projects/ngroups/contrib/opie/libopie/login.c ============================================================================== --- projects/ngroups/contrib/opie/libopie/login.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/opie/libopie/login.c Tue Jan 12 07:55:02 2010 (r202144) @@ -21,13 +21,14 @@ you didn't get a copy, you may request o #include "opie_cfg.h" #include <stdio.h> #include <sys/types.h> -#include <utmp.h> #if DOUTMPX #include <utmpx.h> #define pututline(x) pututxline(x) #define endutent endutxent #define utmp utmpx +#else +#include <utmp.h> #endif /* DOUTMPX */ #if HAVE_STRING_H Modified: projects/ngroups/etc/rc.firewall ============================================================================== --- projects/ngroups/etc/rc.firewall Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/etc/rc.firewall Tue Jan 12 07:55:02 2010 (r202144) @@ -220,6 +220,8 @@ case ${firewall_type} in # Allow any link-local multicast traffic ${fwcmd} add pass all from fe80::/10 to ff02::/16 ${fwcmd} add pass all from ${net6} to ff02::/16 + # Allow DHCPv6 + ${fwcmd} add pass udp from fe80::/10 to me6 546 fi # Allow TCP through if setup succeeded Modified: projects/ngroups/etc/termcap.small ============================================================================== --- projects/ngroups/etc/termcap.small Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/etc/termcap.small Tue Jan 12 07:55:02 2010 (r202144) @@ -294,9 +294,9 @@ pc3|ibmpc3|IBM PC 386BSD Console:\ # $XTermId: termcap,v 1.78 2009/11/09 00:24:26 tom Exp $ # xterm-new|modern xterm:\ - :*6=\EOF:@7=\EOF:F1=\E[23~:F2=\E[24~:K2=\EOE:Km=\E[M:\ + :@7=\EOF:@8=\EOM:F1=\E[23~:F2=\E[24~:K2=\EOE:Km=\E[M:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kH=\EOF:kI=\E[2~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kI=\E[2~:\ :kN=\E[6~:kP=\E[5~:kd=\EOB:kh=\EOH:kl=\EOD:kr=\EOC:ku=\EOA:\ :tc=xterm-basic: # Modified: projects/ngroups/games/fortune/datfiles/freebsd-tips ============================================================================== --- projects/ngroups/games/fortune/datfiles/freebsd-tips Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/games/fortune/datfiles/freebsd-tips Tue Jan 12 07:55:02 2010 (r202144) @@ -50,18 +50,6 @@ If you are in the C shell and have just be able to run it unless you first type "rehash". -- Dru <genesis@istar.ca> % -If you are running xterm, the default TERM variable will be 'xterm'. If you -set this environment variable to 'xterm-color' instead, a lot of programs will -use colors. You can do this by - - TERM=xterm-color; export TERM - -in Bourne-derived shells, and - - setenv TERM xterm-color - -in csh-derived shells. -% If you do not want to get beeps in X11 (X Windows), you can turn them off with xset b off Modified: projects/ngroups/kerberos5/usr.bin/kdestroy/Makefile ============================================================================== --- projects/ngroups/kerberos5/usr.bin/kdestroy/Makefile Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/kerberos5/usr.bin/kdestroy/Makefile Tue Jan 12 07:55:02 2010 (r202144) @@ -2,7 +2,7 @@ PROG= kdestroy CFLAGS+=-I${KRB5DIR}/lib/roken -DPADD= ${LIBKAFS5} ${LIBKRB5} ${LIBHX509) ${LIBROKEN} ${LIBVERS} \ +DPADD= ${LIBKAFS5} ${LIBKRB5} ${LIBHX509} ${LIBROKEN} ${LIBVERS} \ ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBCOM_ERR} LDADD= -lkafs5 -lkrb5 -lhx509 -lroken ${LIBVERS} \ -lasn1 -lcrypto -lcrypt -lcom_err Modified: projects/ngroups/kerberos5/usr.bin/kpasswd/Makefile ============================================================================== --- projects/ngroups/kerberos5/usr.bin/kpasswd/Makefile Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/kerberos5/usr.bin/kpasswd/Makefile Tue Jan 12 07:55:02 2010 (r202144) @@ -2,7 +2,7 @@ PROG= kpasswd CFLAGS+=-I${KRB5DIR}/lib/roken -DPADD= ${LIBKRB5} ${LIBHX509 ${LIBROKEN} ${LIBVERS} \ +DPADD= ${LIBKRB5} ${LIBHX509} ${LIBROKEN} ${LIBVERS} \ ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBCOM_ERR} LDADD= -lkrb5 -lhx509 -lroken ${LIBVERS} \ -lasn1 -lcrypto -lcrypt -lcom_err Modified: projects/ngroups/lib/libc/Makefile ============================================================================== --- projects/ngroups/lib/libc/Makefile Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/Makefile Tue Jan 12 07:55:02 2010 (r202144) @@ -64,7 +64,7 @@ NOASM= .include "${.CURDIR}/rpc/Makefile.inc" .include "${.CURDIR}/uuid/Makefile.inc" .include "${.CURDIR}/xdr/Makefile.inc" -.if ${MACHINE_ARCH} == "arm" +.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "mips" .include "${.CURDIR}/softfloat/Makefile.inc" .endif .if ${MK_NIS} != "no" Modified: projects/ngroups/lib/libc/gen/sem_init.3 ============================================================================== --- projects/ngroups/lib/libc/gen/sem_init.3 Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/gen/sem_init.3 Tue Jan 12 07:55:02 2010 (r202144) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 7, 2010 +.Dd January 9, 2010 .Dt SEM_INIT 3 .Os .Sh NAME @@ -46,9 +46,19 @@ function initializes the unnamed semapho .Fa sem to have the value .Fa value . +.Pp A non-zero value for .Fa pshared -specifies a shared semaphore that can be used by multiple processes. +specifies a shared semaphore that can be used by multiple processes, +the semaphore should be located in shared memory region (see +.Xr mmap 2 , +.Xr shm_open 2 , +and +.Xr shmget 2 ) , +any process having read and write access to address +.Fa sem +can perform semaphore operations on +.Fa sem . .Pp Following a successful call to .Fn sem_init , Modified: projects/ngroups/lib/libc/gen/sem_open.3 ============================================================================== --- projects/ngroups/lib/libc/gen/sem_open.3 Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/gen/sem_open.3 Tue Jan 12 07:55:02 2010 (r202144) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 15, 2003 +.Dd January 9, 2010 .Dt SEM_OPEN 3 .Os .Sh NAME @@ -58,6 +58,12 @@ The returned semaphore may be used in su and .Fn sem_close . .Pp +This implementation places strict requirements on the value of +.Fa name : +it must begin with a slash +.Pq Ql / +and contain no other slash characters. +.Pp The following bits may be set in the .Fa oflag argument: @@ -217,11 +223,3 @@ functions conform to .Sh HISTORY Support for named semaphores first appeared in .Fx 5.0 . -.Sh BUGS -This implementation places strict requirements on the value of -.Fa name : -it must begin with a slash -.Pq Ql / , -contain no other slash characters, -and be less than 14 characters in length -not including the terminating null character. Modified: projects/ngroups/lib/libc/mips/Symbol.map ============================================================================== --- projects/ngroups/lib/libc/mips/Symbol.map Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/mips/Symbol.map Tue Jan 12 07:55:02 2010 (r202144) @@ -56,9 +56,27 @@ FBSDprivate_1.0 { __siglongjmp; __sys_vfork; _vfork; - end; /* XXX - Should this be _end (see sys/brk.S)? */ - curbrk; + _end; + __curbrk; minbrk; _brk; _sbrk; + + /* softfloat */ + __addsf3; + __adddf3; + __subsf3; + __subdf3; + __mulsf3; + __muldf3; + __divsf3; + __divdf3; + __floatsisf; + __floatsidf; + __fixsfsi; + __fixdfsi; + __fixunssfsi; + __fixunsdfsi; + __extendsfdf2; + __truncdfsf2; }; Modified: projects/ngroups/lib/libc/mips/sys/brk.S ============================================================================== --- projects/ngroups/lib/libc/mips/sys/brk.S Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/mips/sys/brk.S Tue Jan 12 07:55:02 2010 (r202144) @@ -42,15 +42,12 @@ __FBSDID("$FreeBSD$"); #endif /* LIBC_SCCS and not lint */ .globl _C_LABEL(minbrk) - .globl _C_LABEL(curbrk) + .globl _C_LABEL(__curbrk) .globl _C_LABEL(_end) .data _C_LABEL(minbrk): .word _C_LABEL(_end) -_C_LABEL(curbrk): - .word _C_LABEL(_end) - .text LEAF(__sys_brk) WEAK_ALIAS(brk, __sys_brk) @@ -67,7 +64,7 @@ LEAF(__sys_brk) li v0, SYS_break syscall bne a3, zero, 2f - sw a0, _C_LABEL(curbrk) + sw a0, _C_LABEL(__curbrk) move v0, zero j ra 2: Modified: projects/ngroups/lib/libc/stdio/fread.c ============================================================================== --- projects/ngroups/lib/libc/stdio/fread.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/stdio/fread.c Tue Jan 12 07:55:02 2010 (r202144) @@ -37,6 +37,8 @@ static char sccsid[] = "@(#)fread.c 8.2 __FBSDID("$FreeBSD$"); #include "namespace.h" +#include <errno.h> +#include <stdint.h> #include <stdio.h> #include <string.h> #include "un-namespace.h" @@ -69,8 +71,27 @@ __fread(void * __restrict buf, size_t si /* * ANSI and SUSv2 require a return value of 0 if size or count are 0. */ - if ((resid = count * size) == 0) + if ((count == 0) || (size == 0)) return (0); + + /* + * Check for integer overflow. As an optimization, first check that + * at least one of {count, size} is at least 2^16, since if both + * values are less than that, their product can't possible overflow + * (size_t is always at least 32 bits on FreeBSD). + */ + if (((count | size) > 0xFFFF) && + (count > SIZE_MAX / size)) { + errno = EINVAL; + fp->_flags |= __SERR; + return (0); + } + + /* + * Compute the (now required to not overflow) number of bytes to + * read and actually do the work. + */ + resid = count * size; ORIENT(fp, -1); if (fp->_r < 0) fp->_r = 0; Modified: projects/ngroups/lib/libc/stdio/fwrite.c ============================================================================== --- projects/ngroups/lib/libc/stdio/fwrite.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/stdio/fwrite.c Tue Jan 12 07:55:02 2010 (r202144) @@ -37,6 +37,8 @@ static char sccsid[] = "@(#)fwrite.c 8.1 __FBSDID("$FreeBSD$"); #include "namespace.h" +#include <errno.h> +#include <stdint.h> #include <stdio.h> #include "un-namespace.h" #include "local.h" @@ -60,10 +62,24 @@ fwrite(buf, size, count, fp) /* * ANSI and SUSv2 require a return value of 0 if size or count are 0. */ - n = count * size; - if (n == 0) + if ((count == 0) || (size == 0)) return (0); + /* + * Check for integer overflow. As an optimization, first check that + * at least one of {count, size} is at least 2^16, since if both + * values are less than that, their product can't possible overflow + * (size_t is always at least 32 bits on FreeBSD). + */ + if (((count | size) > 0xFFFF) && + (count > SIZE_MAX / size)) { + errno = EINVAL; + fp->_flags |= __SERR; + return (0); + } + + n = count * size; + iov.iov_base = (void *)buf; uio.uio_resid = iov.iov_len = n; uio.uio_iov = &iov; Modified: projects/ngroups/lib/libc/sys/cpuset.2 ============================================================================== --- projects/ngroups/lib/libc/sys/cpuset.2 Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/sys/cpuset.2 Tue Jan 12 07:55:02 2010 (r202144) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 29, 2008 +.Dd January 8, 2010 .Dt CPUSET 2 .Os .Sh NAME @@ -216,7 +216,9 @@ for allocation. .Xr cpuset 1 , .Xr cpuset_getaffinity 2 , .Xr cpuset_setaffinity 2 , -.Xr CPU_SET 3 +.Xr CPU_SET 3 , +.Xr pthread_affinity_np 3 , +.Xr pthread_attr_affinity_np 3 .Sh HISTORY The .Nm Modified: projects/ngroups/lib/libc/sys/cpuset_getaffinity.2 ============================================================================== --- projects/ngroups/lib/libc/sys/cpuset_getaffinity.2 Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/sys/cpuset_getaffinity.2 Tue Jan 12 07:55:02 2010 (r202144) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 29, 2008 +.Dd January 8, 2010 .Dt CPUSET 2 .Os .Sh NAME @@ -147,7 +147,9 @@ operation. .Xr cpuset 2 , .Xr cpuset_getid 2 , .Xr cpuset_setid 2 , -.Xr CPU_SET 3 +.Xr CPU_SET 3 , +.Xr pthread_affinity_np 3 , +.Xr pthread_attr_affinity_np 3 .Sh HISTORY The .Nm Modified: projects/ngroups/lib/libstand/dosfs.c ============================================================================== --- projects/ngroups/lib/libstand/dosfs.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libstand/dosfs.c Tue Jan 12 07:55:02 2010 (r202144) @@ -47,6 +47,7 @@ static int dos_close(struct open_file *f static int dos_read(struct open_file *fd, void *buf, size_t size, size_t *resid); static off_t dos_seek(struct open_file *fd, off_t offset, int whence); static int dos_stat(struct open_file *fd, struct stat *sb); +static int dos_readdir(struct open_file *fd, struct dirent *d); struct fs_ops dosfs_fsops = { "dosfs", @@ -56,7 +57,7 @@ struct fs_ops dosfs_fsops = { null_write, dos_seek, dos_stat, - null_readdir + dos_readdir }; #define SECSIZ 512 /* sector size */ @@ -354,6 +355,72 @@ dos_stat(struct open_file *fd, struct st return (0); } +static int +dos_readdir(struct open_file *fd, struct dirent *d) +{ + DOS_FILE *f = (DOS_FILE *)fd->f_fsdata; + u_char fn[261]; + DOS_DIR dd; + size_t res; + u_int chk, i, x, xdn; + int err; + + x = chk = 0; + while (1) { + xdn = x; + x = 0; + err = dos_read(fd, &dd, sizeof(dd), &res); + if (err) + return (err); + if (res == sizeof(dd)) + return (ENOENT); + if (dd.de.name[0] == 0) + return (ENOENT); + + /* Skip deleted entries */ + if (dd.de.name[0] == 0xe5) + continue; + + /* Skip volume labels */ + if (dd.de.attr & FA_LABEL) + continue; + + if ((dd.de.attr & FA_MASK) == FA_XDE) { + if (dd.xde.seq & 0x40) + chk = dd.xde.chk; + else if (dd.xde.seq != xdn - 1 || dd.xde.chk != chk) + continue; + x = dd.xde.seq & ~0x40; + if (x < 1 || x > 20) { + x = 0; + continue; + } + cp_xdnm(fn, &dd.xde); + } else { + if (xdn == 1) { + x = 0; + for (i = 0; i < 11; i++) { + x = ((x & 1) << 7) | (x >> 1); + x += dd.de.name[i]; + x &= 0xff; + } + if (x == chk) + break; + } else { + cp_sfn(fn, &dd.de); + break; + } + x = 0; + } + } + + d->d_fileno = dd.de.clus[1] << 8 + dd.de.clus[0]; + d->d_reclen = sizeof(*d); + d->d_type = (dd.de.attr & FA_DIR) ? DT_DIR : DT_REG; + memcpy(d->d_name, fn, sizeof(d->d_name)); + return(0); +} + /* * Parse DOS boot sector */ Modified: projects/ngroups/lib/libthr/arch/mips/include/pthread_md.h ============================================================================== --- projects/ngroups/lib/libthr/arch/mips/include/pthread_md.h Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libthr/arch/mips/include/pthread_md.h Tue Jan 12 07:55:02 2010 (r202144) @@ -60,7 +60,8 @@ void _tcb_dtor(struct tcb *); static __inline void _tcb_set(struct tcb *tcb) { - mips_tcb_set(tcb); + + sysarch(MIPS_SET_TLS, tcb); } /* @@ -69,7 +70,10 @@ _tcb_set(struct tcb *tcb) static __inline struct tcb * _tcb_get(void) { - return (mips_tcb_get()); + void *tcb; + + sysarch(MIPS_GET_TLS, &tcb); + return tcb; } extern struct pthread *_thr_initial; Modified: projects/ngroups/lib/libusb/libusb20.c ============================================================================== --- projects/ngroups/lib/libusb/libusb20.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libusb/libusb20.c Tue Jan 12 07:55:02 2010 (r202144) @@ -130,8 +130,19 @@ libusb20_tr_close(struct libusb20_transf if (xfer->ppBuffer) { free(xfer->ppBuffer); } - /* clear some fields */ + /* reset variable fields in case the transfer is opened again */ + xfer->priv_sc0 = 0; + xfer->priv_sc1 = 0; xfer->is_opened = 0; + xfer->is_pending = 0; + xfer->is_cancel = 0; + xfer->is_draining = 0; + xfer->is_restart = 0; + xfer->status = 0; + xfer->flags = 0; + xfer->nFrames = 0; + xfer->aFrames = 0; + xfer->timeout = 0; xfer->maxFrames = 0; xfer->maxTotalLength = 0; xfer->maxPacketLen = 0; Modified: projects/ngroups/sbin/fsck_ffs/pass2.c ============================================================================== --- projects/ngroups/sbin/fsck_ffs/pass2.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/sbin/fsck_ffs/pass2.c Tue Jan 12 07:55:02 2010 (r202144) @@ -36,12 +36,14 @@ static const char sccsid[] = "@(#)pass2. __FBSDID("$FreeBSD$"); #include <sys/param.h> +#include <sys/sysctl.h> #include <ufs/ufs/dinode.h> #include <ufs/ufs/dir.h> #include <ufs/ffs/fs.h> #include <err.h> +#include <errno.h> #include <stdint.h> #include <string.h> @@ -49,6 +51,8 @@ __FBSDID("$FreeBSD$"); #define MINDIRSIZE (sizeof (struct dirtemplate)) +static int fix_extraneous(struct inoinfo *, struct inodesc *); +static int deleteentry(struct inodesc *); static int blksort(const void *, const void *); static int pass2check(struct inodesc *); @@ -212,9 +216,48 @@ pass2(void) inoinfo(inp->i_parent)->ino_linkcnt--; continue; } - fileerror(inp->i_parent, inp->i_number, - "BAD INODE NUMBER FOR '..'"); - if (reply("FIX") == 0) + /* + * Here we have: + * inp->i_number is directory with bad ".." in it. + * inp->i_dotdot is current value of "..". + * inp->i_parent is directory to which ".." should point. + */ + getpathname(pathbuf, inp->i_parent, inp->i_number); + printf("BAD INODE NUMBER FOR '..' in DIR I=%d (%s)\n", + inp->i_number, pathbuf); + getpathname(pathbuf, inp->i_dotdot, inp->i_dotdot); + printf("CURRENTLY POINTS TO I=%d (%s), ", inp->i_dotdot, + pathbuf); + getpathname(pathbuf, inp->i_parent, inp->i_parent); + printf("SHOULD POINT TO I=%d (%s)", inp->i_parent, pathbuf); + if (cursnapshot != 0) { + /* + * We need to: + * setcwd(inp->i_number); + * setdotdot(inp->i_dotdot, inp->i_parent); + */ + cmd.value = inp->i_number; + if (sysctlbyname("vfs.ffs.setcwd", 0, 0, + &cmd, sizeof cmd) == -1) { + /* kernel lacks support for these functions */ + printf(" (IGNORED)\n"); + continue; + } + cmd.value = inp->i_dotdot; /* verify same value */ + cmd.size = inp->i_parent; /* new parent */ + if (sysctlbyname("vfs.ffs.setdotdot", 0, 0, + &cmd, sizeof cmd) == -1) { + printf(" (FIX FAILED: %s)\n", strerror(errno)); + continue; + } + printf(" (FIXED)\n"); + inoinfo(inp->i_parent)->ino_linkcnt--; + inp->i_dotdot = inp->i_parent; + continue; + } + if (preen) + printf(" (FIXED)\n"); + else if (reply("FIX") == 0) continue; inoinfo(inp->i_dotdot)->ino_linkcnt++; inoinfo(inp->i_parent)->ino_linkcnt--; @@ -236,8 +279,6 @@ pass2check(struct inodesc *idesc) union dinode *dp; const char *errmsg; struct direct proto; - char namebuf[MAXPATHLEN + 1]; - char pathbuf[MAXPATHLEN + 1]; /* * check for "." @@ -416,27 +457,12 @@ again: case DFOUND: inp = getinoinfo(dirp->d_ino); - if (inp->i_parent != 0 && idesc->id_entryno > 2) { - getpathname(pathbuf, idesc->id_number, - idesc->id_number); - getpathname(namebuf, dirp->d_ino, dirp->d_ino); - pwarn("%s%s%s %s %s\n", pathbuf, - (strcmp(pathbuf, "/") == 0 ? "" : "/"), - dirp->d_name, - "IS AN EXTRANEOUS HARD LINK TO DIRECTORY", - namebuf); - if (cursnapshot != 0) - break; - if (preen) { - printf(" (REMOVED)\n"); - n = 1; - break; - } - if ((n = reply("REMOVE")) == 1) + if (idesc->id_entryno > 2) { + if (inp->i_parent == 0) + inp->i_parent = idesc->id_number; + else if ((n = fix_extraneous(inp, idesc)) == 1) break; } - if (idesc->id_entryno > 2) - inp->i_parent = idesc->id_number; /* FALLTHROUGH */ case FSTATE: @@ -462,6 +488,143 @@ again: return (ret|KEEPON|ALTERED); } +static int +fix_extraneous(struct inoinfo *inp, struct inodesc *idesc) +{ + char *cp; + struct inodesc dotdesc; + char oldname[MAXPATHLEN + 1]; + char newname[MAXPATHLEN + 1]; + + /* + * If we have not yet found "..", look it up now so we know + * which inode the directory itself believes is its parent. + */ + if (inp->i_dotdot == 0) { + memset(&dotdesc, 0, sizeof(struct inodesc)); + dotdesc.id_type = DATA; + dotdesc.id_number = idesc->id_dirp->d_ino; + dotdesc.id_func = findino; + dotdesc.id_name = strdup(".."); + if ((ckinode(ginode(dotdesc.id_number), &dotdesc) & FOUND)) + inp->i_dotdot = dotdesc.id_parent; + } + /* + * We have the previously found old name (inp->i_parent) and the + * just found new name (idesc->id_number). We have five cases: + * 1) ".." is missing - can remove either name, choose to delete + * new one and let fsck create ".." pointing to old name. + * 2) Both new and old are in same directory, choose to delete + * the new name and let fsck fix ".." if it is wrong. + * 3) ".." does not point to the new name, so delete it and let + * fsck fix ".." to point to the old one if it is wrong. + * 4) ".." points to the old name only, so delete the new one. + * 5) ".." points to the new name only, so delete the old one. + * + * For cases 1-4 we eliminate the new name; + * for case 5 we eliminate the old name. + */ + if (inp->i_dotdot == 0 || /* Case 1 */ + idesc->id_number == inp->i_parent || /* Case 2 */ + inp->i_dotdot != idesc->id_number || /* Case 3 */ + inp->i_dotdot == inp->i_parent) { /* Case 4 */ + getpathname(newname, idesc->id_number, idesc->id_number); + if (strcmp(newname, "/") != 0) + strcat (newname, "/"); + strcat(newname, idesc->id_dirp->d_name); + getpathname(oldname, inp->i_number, inp->i_number); + pwarn("%s IS AN EXTRANEOUS HARD LINK TO DIRECTORY %s", + newname, oldname); + if (cursnapshot != 0) { + /* + * We need to + * setcwd(idesc->id_number); + * unlink(idesc->id_dirp->d_name); + */ + cmd.value = idesc->id_number; + if (sysctlbyname("vfs.ffs.setcwd", 0, 0, + &cmd, sizeof cmd) == -1) { + printf(" (IGNORED)\n"); *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001120755.o0C7t2v7021014>