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...
Brooks Davis
brooks at FreeBSD.org
Tue Jan 12 07:55:03 UTC 2010
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 at 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 ***
More information about the svn-src-projects
mailing list