svn commit: r273775 - in projects/sendfile: . bin/sh bin/sh/tests/builtins contrib/file/magic/Magdir contrib/hyperv/tools contrib/libxo contrib/netbsd-tests/lib/libc/gen contrib/netbsd-tests/lib/li...
Gleb Smirnoff
glebius at FreeBSD.org
Tue Oct 28 13:38:38 UTC 2014
Author: glebius
Date: Tue Oct 28 13:38:30 2014
New Revision: 273775
URL: https://svnweb.freebsd.org/changeset/base/273775
Log:
Merge head r258543 through r273773.
Added:
projects/sendfile/bin/sh/tests/builtins/getopts9.0
- copied unchanged from r273773, head/bin/sh/tests/builtins/getopts9.0
projects/sendfile/bin/sh/tests/builtins/getopts9.0.stdout
- copied unchanged from r273773, head/bin/sh/tests/builtins/getopts9.0.stdout
projects/sendfile/contrib/libxo/
- copied from r273773, head/contrib/libxo/
projects/sendfile/lib/libxo/
- copied from r273773, head/lib/libxo/
projects/sendfile/share/man/man4/virtio_console.4
- copied unchanged from r273773, head/share/man/man4/virtio_console.4
projects/sendfile/sys/amd64/vmm/io/vpmtmr.c
- copied unchanged from r273773, head/sys/amd64/vmm/io/vpmtmr.c
projects/sendfile/sys/amd64/vmm/io/vpmtmr.h
- copied unchanged from r273773, head/sys/amd64/vmm/io/vpmtmr.h
projects/sendfile/sys/dev/virtio/console/
- copied from r273773, head/sys/dev/virtio/console/
projects/sendfile/sys/modules/virtio/console/
- copied from r273773, head/sys/modules/virtio/console/
projects/sendfile/usr.bin/timeout/tests/
- copied from r273773, head/usr.bin/timeout/tests/
projects/sendfile/usr.bin/xo/
- copied from r273773, head/usr.bin/xo/
projects/sendfile/usr.sbin/ctld/isns.c
- copied unchanged from r273773, head/usr.sbin/ctld/isns.c
projects/sendfile/usr.sbin/ctld/isns.h
- copied unchanged from r273773, head/usr.sbin/ctld/isns.h
Deleted:
projects/sendfile/contrib/xz/po/
projects/sendfile/share/man/man8/hv_kvp_daemon.8
projects/sendfile/usr.sbin/bhyve/pmtmr.c
projects/sendfile/usr.sbin/pkg/elf_tables.h
Modified:
projects/sendfile/Makefile.inc1
projects/sendfile/bin/sh/eval.c
projects/sendfile/bin/sh/options.c
projects/sendfile/bin/sh/options.h
projects/sendfile/contrib/file/magic/Magdir/filesystems
projects/sendfile/contrib/hyperv/tools/hv_kvp_daemon.8
projects/sendfile/contrib/netbsd-tests/lib/libc/gen/t_sleep.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_clock_gettime.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_getgroups.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_getrusage.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_link.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_listen.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mknod.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mlock.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mmap.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mprotect.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msgctl.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msgrcv.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msgsnd.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msync.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_nanosleep.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_pipe2.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_poll.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_revoke.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_select.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_setrlimit.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_sigaction.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_sigqueue.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_socketpair.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_stat.c
projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_truncate.c
projects/sendfile/contrib/netcat/netcat.c
projects/sendfile/contrib/tzdata/africa
projects/sendfile/contrib/tzdata/antarctica
projects/sendfile/contrib/tzdata/asia
projects/sendfile/contrib/tzdata/australasia
projects/sendfile/contrib/tzdata/backward
projects/sendfile/contrib/tzdata/europe
projects/sendfile/contrib/tzdata/northamerica
projects/sendfile/contrib/tzdata/southamerica
projects/sendfile/contrib/tzdata/zone.tab
projects/sendfile/contrib/tzdata/zone1970.tab
projects/sendfile/contrib/xz/ChangeLog
projects/sendfile/contrib/xz/FREEBSD-Xlist
projects/sendfile/contrib/xz/THANKS
projects/sendfile/contrib/xz/TODO
projects/sendfile/contrib/xz/src/liblzma/api/lzma/block.h
projects/sendfile/contrib/xz/src/liblzma/api/lzma/version.h
projects/sendfile/contrib/xz/src/liblzma/check/crc32_fast.c
projects/sendfile/contrib/xz/src/liblzma/check/sha256.c
projects/sendfile/contrib/xz/src/liblzma/lzma/lzma_encoder_presets.c
projects/sendfile/contrib/xz/src/xz/coder.c
projects/sendfile/contrib/xz/src/xz/signals.c
projects/sendfile/contrib/xz/src/xz/suffix.c
projects/sendfile/etc/mtree/BSD.include.dist
projects/sendfile/etc/mtree/BSD.tests.dist
projects/sendfile/include/Makefile
projects/sendfile/include/semaphore.h
projects/sendfile/lib/Makefile
projects/sendfile/lib/libc/gen/getgrouplist.3
projects/sendfile/lib/libc/gen/initgroups.3
projects/sendfile/lib/libc/gen/sem_destroy.3
projects/sendfile/lib/libc/gen/sem_getvalue.3
projects/sendfile/lib/libc/gen/sem_init.3
projects/sendfile/lib/libc/gen/sem_new.c
projects/sendfile/lib/libc/gen/sem_open.3
projects/sendfile/lib/libc/gen/sem_post.3
projects/sendfile/lib/libc/gen/sem_timedwait.3
projects/sendfile/lib/libc/gen/sem_wait.3
projects/sendfile/lib/libc/net/nsdispatch.c
projects/sendfile/lib/libc/rpc/clnt_vc.c
projects/sendfile/lib/libc/stdio/open_memstream.3
projects/sendfile/lib/libc/stdlib/lsearch.c
projects/sendfile/lib/libnv/Makefile
projects/sendfile/lib/libusb/Makefile
projects/sendfile/lib/libz/Makefile
projects/sendfile/release/Makefile
projects/sendfile/sbin/ifconfig/sfp.c
projects/sendfile/sbin/ipfw/ipfw.8
projects/sendfile/sbin/ipfw/ipfw2.c
projects/sendfile/share/man/man3/pthread_cleanup_pop.3
projects/sendfile/share/man/man3/pthread_cleanup_push.3
projects/sendfile/share/man/man4/Makefile
projects/sendfile/share/man/man4/ctl.4
projects/sendfile/share/man/man4/urtwn.4
projects/sendfile/share/man/man4/virtio.4
projects/sendfile/share/man/man8/Makefile
projects/sendfile/share/man/man9/fpu_kern.9
projects/sendfile/sys/amd64/amd64/pmap.c
projects/sendfile/sys/amd64/amd64/uio_machdep.c
projects/sendfile/sys/amd64/conf/GENERIC
projects/sendfile/sys/amd64/include/pmap.h
projects/sendfile/sys/amd64/include/vmm.h (contents, props changed)
projects/sendfile/sys/amd64/include/vmparam.h
projects/sendfile/sys/amd64/vmm/amd/svm.c (contents, props changed)
projects/sendfile/sys/amd64/vmm/amd/vmcb.c (contents, props changed)
projects/sendfile/sys/amd64/vmm/io/vatpic.c
projects/sendfile/sys/amd64/vmm/io/vatpic.h
projects/sendfile/sys/amd64/vmm/io/vatpit.c
projects/sendfile/sys/amd64/vmm/io/vatpit.h
projects/sendfile/sys/amd64/vmm/vmm.c
projects/sendfile/sys/amd64/vmm/vmm_ioport.c
projects/sendfile/sys/amd64/vmm/vmm_ioport.h
projects/sendfile/sys/arm/arm/busdma_machdep-v6.c
projects/sendfile/sys/arm/arm/nexus.c
projects/sendfile/sys/arm/arm/pl310.c
projects/sendfile/sys/arm/arm/pmap-v6.c
projects/sendfile/sys/arm/at91/std.atmel
projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h
projects/sendfile/sys/arm/conf/ATMEL
projects/sendfile/sys/arm/freescale/imx/imx6_ccm.c
projects/sendfile/sys/arm/freescale/imx/imx6_machdep.c
projects/sendfile/sys/arm/ti/cpsw/if_cpsw.c
projects/sendfile/sys/cam/ata/ata_da.c
projects/sendfile/sys/cam/ctl/ctl.c
projects/sendfile/sys/cam/ctl/ctl.h
projects/sendfile/sys/cam/ctl/ctl_cmd_table.c
projects/sendfile/sys/cam/ctl/ctl_private.h
projects/sendfile/sys/cddl/compat/opensolaris/kern/opensolaris_lookup.c
projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c
projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/sys/gfs.h
projects/sendfile/sys/cddl/dev/fbt/powerpc/fbt_isa.c
projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c
projects/sendfile/sys/compat/freebsd32/freebsd32_util.h
projects/sendfile/sys/conf/NOTES
projects/sendfile/sys/conf/options
projects/sendfile/sys/conf/options.arm
projects/sendfile/sys/contrib/rdma/krping/krping.c
projects/sendfile/sys/dev/acpi_support/acpi_ibm.c
projects/sendfile/sys/dev/acpica/acpi.c
projects/sendfile/sys/dev/acpica/acpi_hpet.c
projects/sendfile/sys/dev/asmc/asmc.c
projects/sendfile/sys/dev/cxgbe/firmware/t4fw_cfg.txt
projects/sendfile/sys/dev/cxgbe/firmware/t5fw_cfg.txt
projects/sendfile/sys/dev/cxgbe/iw_cxgbe/cm.c
projects/sendfile/sys/dev/gpio/gpiobus.c
projects/sendfile/sys/dev/gpio/gpiobusvar.h
projects/sendfile/sys/dev/gpio/ofw_gpiobus.c
projects/sendfile/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
projects/sendfile/sys/dev/hyperv/stordisengage/hv_ata_pci_disengage.c
projects/sendfile/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
projects/sendfile/sys/dev/hyperv/utilities/hv_util.c
projects/sendfile/sys/dev/iicbus/iicbus.h
projects/sendfile/sys/dev/iicbus/iiconf.c
projects/sendfile/sys/dev/puc/pucdata.c
projects/sendfile/sys/dev/uart/uart_subr.c
projects/sendfile/sys/dev/usb/net/if_smsc.c
projects/sendfile/sys/dev/usb/usbdevs
projects/sendfile/sys/dev/usb/wlan/if_urtwn.c
projects/sendfile/sys/dev/vt/vt_core.c
projects/sendfile/sys/fs/nfsclient/nfs_clvfsops.c
projects/sendfile/sys/fs/nfsserver/nfs_nfsdkrpc.c
projects/sendfile/sys/geom/eli/g_eli.c
projects/sendfile/sys/geom/geom_disk.c
projects/sendfile/sys/i386/conf/GENERIC
projects/sendfile/sys/i386/conf/XEN
projects/sendfile/sys/i386/i386/machdep.c
projects/sendfile/sys/i386/i386/pmap.c
projects/sendfile/sys/kern/kern_environment.c
projects/sendfile/sys/kern/kern_ffclock.c
projects/sendfile/sys/kern/kern_loginclass.c
projects/sendfile/sys/kern/kern_prot.c
projects/sendfile/sys/kern/kern_resource.c
projects/sendfile/sys/kern/kern_syscalls.c
projects/sendfile/sys/kern/kern_sysctl.c
projects/sendfile/sys/kern/kern_umtx.c
projects/sendfile/sys/kern/sys_generic.c
projects/sendfile/sys/kern/sysv_msg.c
projects/sendfile/sys/kern/sysv_sem.c
projects/sendfile/sys/kern/sysv_shm.c
projects/sendfile/sys/kern/uipc_mqueue.c
projects/sendfile/sys/kern/uipc_sem.c
projects/sendfile/sys/kern/vfs_aio.c
projects/sendfile/sys/kern/vfs_bio.c
projects/sendfile/sys/kgssapi/gss_impl.c
projects/sendfile/sys/modules/dtrace/dtraceall/dtraceall.c
projects/sendfile/sys/modules/linux/Makefile
projects/sendfile/sys/modules/virtio/Makefile
projects/sendfile/sys/modules/vmm/Makefile
projects/sendfile/sys/net/bpf.c
projects/sendfile/sys/net/if.c
projects/sendfile/sys/net/if_gif.c
projects/sendfile/sys/netinet/cc/cc.c
projects/sendfile/sys/netinet/in_gif.c
projects/sendfile/sys/netinet/sctp_output.c
projects/sendfile/sys/netinet/sctp_syscalls.c
projects/sendfile/sys/netinet/sctp_sysctl.c
projects/sendfile/sys/netinet/siftr.c
projects/sendfile/sys/netinet6/in6.c
projects/sendfile/sys/netinet6/in6_gif.c
projects/sendfile/sys/netinet6/in6_var.h
projects/sendfile/sys/netipsec/key.c
projects/sendfile/sys/netipsec/key.h
projects/sendfile/sys/netpfil/ipfw/ip_fw_dynamic.c
projects/sendfile/sys/netpfil/ipfw/ip_fw_table_algo.c
projects/sendfile/sys/nfs/nfs_nfssvc.c
projects/sendfile/sys/nlm/nlm_prot_impl.c
projects/sendfile/sys/ofed/drivers/net/mlx4/en_netdev.c
projects/sendfile/sys/pc98/conf/GENERIC
projects/sendfile/sys/powerpc/conf/GENERIC
projects/sendfile/sys/powerpc/conf/GENERIC64
projects/sendfile/sys/sparc64/conf/GENERIC
projects/sendfile/sys/sparc64/sparc64/mem.c
projects/sendfile/sys/sys/_umtx.h
projects/sendfile/sys/sys/consio.h
projects/sendfile/sys/sys/mbuf.h
projects/sendfile/sys/sys/sysent.h
projects/sendfile/sys/sys/umtx.h
projects/sendfile/sys/x86/x86/identcpu.c
projects/sendfile/tools/build/mk/OptionalObsoleteFiles.inc
projects/sendfile/tools/regression/lib/libc/nss/test-gethostby.c
projects/sendfile/tools/regression/zfs/misc.sh
projects/sendfile/tools/regression/zfs/zpool/add/files.t
projects/sendfile/tools/regression/zfs/zpool/add/option-f_size_mismatch.t
projects/sendfile/tools/regression/zfs/zpool/add/option-f_type_mismatch.t
projects/sendfile/tools/regression/zfs/zpool/create/files.t
projects/sendfile/usr.bin/Makefile
projects/sendfile/usr.bin/bluetooth/rfcomm_sppd/Makefile
projects/sendfile/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.1
projects/sendfile/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.c
projects/sendfile/usr.bin/gzip/Makefile
projects/sendfile/usr.bin/gzip/gzip.1
projects/sendfile/usr.bin/gzip/gzip.c
projects/sendfile/usr.bin/gzip/zmore
projects/sendfile/usr.bin/gzip/zmore.1
projects/sendfile/usr.bin/timeout/Makefile
projects/sendfile/usr.bin/timeout/timeout.1
projects/sendfile/usr.bin/timeout/timeout.c
projects/sendfile/usr.bin/truss/syscalls.c
projects/sendfile/usr.bin/vmstat/vmstat.c
projects/sendfile/usr.sbin/bhyve/Makefile
projects/sendfile/usr.sbin/bhyve/rtc.c
projects/sendfile/usr.sbin/ctladm/ctladm.8
projects/sendfile/usr.sbin/ctld/Makefile
projects/sendfile/usr.sbin/ctld/ctl.conf.5
projects/sendfile/usr.sbin/ctld/ctld.c
projects/sendfile/usr.sbin/ctld/ctld.h
projects/sendfile/usr.sbin/ctld/discovery.c
projects/sendfile/usr.sbin/ctld/login.c
projects/sendfile/usr.sbin/ctld/parse.y
projects/sendfile/usr.sbin/ctld/token.l
projects/sendfile/usr.sbin/pciconf/pciconf.c
projects/sendfile/usr.sbin/pkg/Makefile
projects/sendfile/usr.sbin/pkg/config.c
projects/sendfile/usr.sbin/pmcstat/pmcstat.8
projects/sendfile/usr.sbin/pw/pw_group.c
projects/sendfile/usr.sbin/pw/tests/pw_modify.sh
projects/sendfile/usr.sbin/vidcontrol/vidcontrol.1
projects/sendfile/usr.sbin/vidcontrol/vidcontrol.c
Directory Properties:
projects/sendfile/ (props changed)
projects/sendfile/contrib/file/ (props changed)
projects/sendfile/contrib/netcat/ (props changed)
projects/sendfile/contrib/tzdata/ (props changed)
projects/sendfile/contrib/xz/ (props changed)
projects/sendfile/etc/ (props changed)
projects/sendfile/include/ (props changed)
projects/sendfile/lib/libc/ (props changed)
projects/sendfile/lib/libz/ (props changed)
projects/sendfile/sbin/ (props changed)
projects/sendfile/sbin/ipfw/ (props changed)
projects/sendfile/share/ (props changed)
projects/sendfile/share/man/man4/ (props changed)
projects/sendfile/sys/ (props changed)
projects/sendfile/sys/amd64/vmm/ (props changed)
projects/sendfile/sys/cddl/contrib/opensolaris/ (props changed)
projects/sendfile/sys/conf/ (props changed)
projects/sendfile/sys/dev/hyperv/ (props changed)
projects/sendfile/sys/modules/vmm/ (props changed)
projects/sendfile/usr.sbin/bhyve/ (props changed)
Modified: projects/sendfile/Makefile.inc1
==============================================================================
--- projects/sendfile/Makefile.inc1 Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/Makefile.inc1 Tue Oct 28 13:38:30 2014 (r273775)
@@ -323,9 +323,9 @@ X${BINUTIL}?= ${CROSS_BINUTILS_PREFIX}${
X${BINUTIL}?= ${${BINUTIL}}
.endif
.endfor
-WMAKEENV+= CC="${XCC} ${XFLAGS}" CXX="${XCXX} ${XFLAGS} ${XXFLAGS}" \
+WMAKEENV+= CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCFLAGS} ${XCXXFLAGS}" \
DEPFLAGS="${DEPFLAGS}" \
- CPP="${XCPP} ${XFLAGS}" \
+ CPP="${XCPP} ${XCFLAGS}" \
AS="${XAS}" AR="${XAR}" LD="${XLD}" NM=${XNM} \
OBJDUMP=${XOBJDUMP} OBJCOPY="${XOBJCOPY}" \
RANLIB=${XRANLIB} STRINGS=${XSTRINGS} \
@@ -351,13 +351,13 @@ TARGET_ABI= gnueabi
.endif
.endif
.if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc
-XFLAGS+= -isystem ${WORLDTMP}/usr/include -L${WORLDTMP}/usr/lib
-XXFLAGS+= -I${WORLDTMP}/usr/include/c++/v1 -std=gnu++11 -L${WORLDTMP}/../lib/libc++
+XCFLAGS+= -isystem ${WORLDTMP}/usr/include -L${WORLDTMP}/usr/lib
+XCXXFLAGS+= -I${WORLDTMP}/usr/include/c++/v1 -std=gnu++11 -L${WORLDTMP}/../lib/libc++
DEPFLAGS+= -I${WORLDTMP}/usr/include/c++/v1
.else
TARGET_ABI?= unknown
TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0
-XFLAGS+= -target ${TARGET_TRIPLE}
+XCFLAGS+= -target ${TARGET_TRIPLE}
.endif
.endif
Modified: projects/sendfile/bin/sh/eval.c
==============================================================================
--- projects/sendfile/bin/sh/eval.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/bin/sh/eval.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -1039,6 +1039,7 @@ evalcommand(union node *cmd, int flags,
shellparam.reset = 1;
shellparam.nparam = argc - 1;
shellparam.p = argv + 1;
+ shellparam.optp = NULL;
shellparam.optnext = NULL;
INTOFF;
savelocalvars = localvars;
Modified: projects/sendfile/bin/sh/options.c
==============================================================================
--- projects/sendfile/bin/sh/options.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/bin/sh/options.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -325,6 +325,7 @@ setparam(char **argv)
shellparam.malloc = 1;
shellparam.nparam = nparam;
shellparam.p = newparam;
+ shellparam.optp = NULL;
shellparam.reset = 1;
shellparam.optnext = NULL;
}
@@ -344,6 +345,11 @@ freeparam(struct shparam *param)
ckfree(*ap);
ckfree(param->p);
}
+ if (param->optp) {
+ for (ap = param->optp ; *ap ; ap++)
+ ckfree(*ap);
+ ckfree(param->optp);
+ }
}
@@ -417,20 +423,33 @@ getoptsreset(const char *value)
int
getoptscmd(int argc, char **argv)
{
- char **optbase = NULL;
+ char **optbase = NULL, **ap;
+ int i;
if (argc < 3)
error("usage: getopts optstring var [arg]");
- else if (argc == 3)
- optbase = shellparam.p;
- else
- optbase = &argv[3];
if (shellparam.reset == 1) {
+ INTOFF;
+ if (shellparam.optp) {
+ for (ap = shellparam.optp ; *ap ; ap++)
+ ckfree(*ap);
+ ckfree(shellparam.optp);
+ shellparam.optp = NULL;
+ }
+ if (argc > 3) {
+ shellparam.optp = ckmalloc((argc - 2) * sizeof *ap);
+ memset(shellparam.optp, '\0', (argc - 2) * sizeof *ap);
+ for (i = 0; i < argc - 3; i++)
+ shellparam.optp[i] = savestr(argv[i + 3]);
+ }
+ INTON;
+ optbase = argc == 3 ? shellparam.p : shellparam.optp;
shellparam.optnext = optbase;
shellparam.optptr = NULL;
shellparam.reset = 0;
- }
+ } else
+ optbase = shellparam.optp ? shellparam.optp : shellparam.p;
return getopts(argv[1], argv[2], optbase, &shellparam.optnext,
&shellparam.optptr);
Modified: projects/sendfile/bin/sh/options.h
==============================================================================
--- projects/sendfile/bin/sh/options.h Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/bin/sh/options.h Tue Oct 28 13:38:30 2014 (r273775)
@@ -38,6 +38,7 @@ struct shparam {
unsigned char malloc; /* if parameter list dynamically allocated */
unsigned char reset; /* if getopts has been reset */
char **p; /* parameter list */
+ char **optp; /* parameter list for getopts */
char **optnext; /* next parameter to be processed by getopts */
char *optptr; /* used by getopts */
};
Copied: projects/sendfile/bin/sh/tests/builtins/getopts9.0 (from r273773, head/bin/sh/tests/builtins/getopts9.0)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/sendfile/bin/sh/tests/builtins/getopts9.0 Tue Oct 28 13:38:30 2014 (r273775, copy of r273773, head/bin/sh/tests/builtins/getopts9.0)
@@ -0,0 +1,9 @@
+# $FreeBSD$
+
+args='-ab'
+getopts ab opt $args
+echo $?:$opt:$OPTARG
+for dummy in dummy1 dummy2; do
+ getopts ab opt $args
+ echo $?:$opt:$OPTARG
+done
Copied: projects/sendfile/bin/sh/tests/builtins/getopts9.0.stdout (from r273773, head/bin/sh/tests/builtins/getopts9.0.stdout)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/sendfile/bin/sh/tests/builtins/getopts9.0.stdout Tue Oct 28 13:38:30 2014 (r273775, copy of r273773, head/bin/sh/tests/builtins/getopts9.0.stdout)
@@ -0,0 +1,3 @@
+0:a:
+0:b:
+1:?:
Modified: projects/sendfile/contrib/file/magic/Magdir/filesystems
==============================================================================
--- projects/sendfile/contrib/file/magic/Magdir/filesystems Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/file/magic/Magdir/filesystems Tue Oct 28 13:38:30 2014 (r273775)
@@ -1,5 +1,5 @@
#------------------------------------------------------------------------------
-# $File: filesystems,v 1.95 2014/06/03 19:17:27 christos Exp $
+# $File: filesystems,v 1.106 2014/10/23 17:17:09 christos Exp $
# filesystems: file(1) magic for different filesystems
#
0 name partid
@@ -254,19 +254,13 @@
30 search/481 \x55\xAA
# to display DOS/MBR boot sector (40) before old one (strength=50+21),Syslinux bootloader (71),SYSLINUX MBR (37+36),NetBSD mbr (110),AdvanceMAME mbr (111)
# DOS BPB information (70) and after DOS floppy (120) like in previous file version
-!:strength +72
+!:strength +65
# for sector sizes < 512 Bytes
>11 uleshort <512
>>(11.s-2) uleshort 0xAA55 DOS/MBR boot sector
# for sector sizes with 512 or more Bytes
>0x1FE leshort 0xAA55 DOS/MBR boot sector
-# keep old DOS/MBR boot sector as dummy for mbr and bootloader displaying
-# only for sector sizes with 512 or more Bytes
-0x1FE leshort 0xAA55
-#
-# to display information (50) before DOS BPB (strength=70) and after DOS floppy (120) like in old file version
-!:strength +21
->2 string OSBS \b, OS/BS MBR
+>2 string OSBS OS/BS MBR
# added by Joerg Jenderek at Feb 2013 according to http://thestarman.pcministry.com/asm/mbr/
# and http://en.wikipedia.org/wiki/Master_Boot_Record
# test for nearly all MS-DOS Master Boot Record initial program loader (IPL) is now done by
@@ -538,6 +532,8 @@
>>>514 string !HdrS
# not BeOS
>>>>422 string !Be\ Boot\ Loader
+>>>>>32769 string CD001
+>>>>>>0 use cdrom
# jump over BPB instruction implies DOS bootsector or AdvanceMAME mbr
>>>>>0 ubelong&0xFD000000 =0xE9000000
# AdvanceMAME mbr
@@ -1043,7 +1039,7 @@
>>>>>>466 ubyte <0x10
>>>>>>>466 ubyte 0x05 \b, extended partition table
>>>>>>>466 ubyte 0x0F \b, extended partition table (LBA)
->>>>>>>466 ubyte 0x0 \b, extended partition table (last)
+>>>>>>>466 ubyte 0x0 \b, extended partition table (last)
# DOS x86 sector separated and moved from "DOS/MBR boot sector" by Joerg Jenderek at May 2011
@@ -1236,6 +1232,7 @@
>>>>>181 search/166 Error\ \0
# "a: disk" , "Fn: diskn" or "NetBSD MBR boot"
>>>>>>&3 string x \b,"%s"
+>>>446 use partition-table
# Andrea Mazzoleni AdvanceCD mbr loader of http://advancemame.sourceforge.net/boot-readme.html
# added by Joerg Jenderek at Nov 2012 for versions 1.3 - 1.4
# assembler instructions: jmp short 0x58;nop;ASCII
@@ -1353,18 +1350,19 @@
# minimal short forward jump found 0x29 for bootloaders or 0x0
# maximal short forward jump is 0x7f
# OEM-ID is empty or contain readable bytes
-0 ulelong&0x804000E9 0x000000E9
+0 ulelong&0x804000E9 0x000000E9
+!:strength +60
# mtools-3.9.8/msdos.h
# usual values are marked with comments to get only informations of strange FAT systems
# valid sectorsize must be a power of 2 from 32 to 32768
->11 uleshort&0xf001f 0
+>11 uleshort&0x001f 0
>>11 uleshort <32769
>>>11 uleshort >31
>>>>21 ubyte&0xf0 0xF0
->>>>>0 ubyte 0xEB
+>>>>>0 ubyte 0xEB DOS/MBR boot sector
>>>>>>1 ubyte x \b, code offset 0x%x+2
>>>>>0 ubyte 0xE9
->>>>>>1 uleshort x \b, code offset 0x%x+2
+>>>>>>1 uleshort x \b, code offset 0x%x+3
>>>>>3 string >\0 \b, OEM-ID "%-.8s"
#http://mirror.href.com/thestarman/asm/debug/debug2.htm#IHC
>>>>>>8 string IHC \b cached by Windows 9M
@@ -1373,10 +1371,11 @@
>>>>>11 uleshort <512 \b, Bytes/sector %u
>>>>>13 ubyte >1 \b, sectors/cluster %u
#>>>>>13 ubyte =1 \b, sectors/cluster %u (usual on Floppies)
->>>>>82 string FAT32
+# for lazy FAT32 implementation like Transcend digital photo frame PF830
+>>>>>82 string/c fat32
>>>>>>14 uleshort !32 \b, reserved sectors %u
#>>>>>>14 uleshort =32 \b, reserved sectors %u (usual Fat32)
->>>>>82 string !FAT32
+>>>>>82 string/c !fat32
>>>>>>14 uleshort >1 \b, reserved sectors %u
#>>>>>>14 uleshort =1 \b, reserved sectors %u (usual FAT12,FAT16)
#>>>>>>14 uleshort 0 \b, reserved sectors %u (usual NTFS)
@@ -1399,24 +1398,29 @@
>>>>>26 ubyte =1 \b, heads %u
# valid only for sector sizes with more then 32 Bytes
>>>>>11 uleshort >32
-# skip for Digital Research DOS (version 3.41) 1440 kB Bootdisk
->>>>>>38 ubyte !0x70
+# http://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#Extended_BIOS_Parameter_Block
+# skip for values 2,2Ah,70h,73h,DFh
+# and continue for extended boot signature values 0,28h,29h,80h
+>>>>>>38 ubyte&0x56 =0
>>>>>>>28 ulelong >0 \b, hidden sectors %u
#>>>>>>>28 ulelong =0 \b, hidden sectors %u (usual floppy)
>>>>>>>32 ulelong >0 \b, sectors %u (volumes > 32 MB)
#>>>>>>>32 ulelong =0 \b, sectors %u (volumes > 32 MB)
# FAT<32 bit specific
->>>>>>>82 string !FAT32
+>>>>>>>82 string/c !fat32
#>>>>>>>>36 ubyte 0x80 \b, physical drive 0x%x=0x80 (usual harddisk)
#>>>>>>>>36 ubyte 0 \b, physical drive 0x%x=0 (usual floppy)
>>>>>>>>36 ubyte !0x80
>>>>>>>>>36 ubyte !0 \b, physical drive 0x%x
+# VGA-copy CRC or
+# in Windows NT bit 0 is a dirty flag to request chkdsk at boot time. bit 1 requests surface scan too
>>>>>>>>37 ubyte >0 \b, reserved 0x%x
#>>>>>>>>37 ubyte =0 \b, reserved 0x%x
-# value is 0x80 for NTFS
+# extended boot signatur value is 0x80 for NTFS, 0x28 or 0x29 for others
>>>>>>>>38 ubyte !0x29 \b, dos < 4.0 BootSector (0x%x)
->>>>>>>>38 ubyte =0x29
+>>>>>>>>38 ubyte&0xFE =0x28
>>>>>>>>>39 ulelong x \b, serial number 0x%x
+>>>>>>>>38 ubyte =0x29
>>>>>>>>>43 string <NO\ NAME \b, label: "%11.11s"
>>>>>>>>>43 string >NO\ NAME \b, label: "%11.11s"
>>>>>>>>>43 string =NO\ NAME \b, unlabeled
@@ -1426,11 +1430,35 @@
# if it is small enough FAT is 12 bit, if it is too big enough FAT is 32 bit,
# otherwise FAT is 16 bit.
# http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/determining-fat-widths.html
->>>>>>54 string FAT \b, FAT
->>>>>>>54 string FAT12 \b (12 bit)
->>>>>>>54 string FAT16 \b (16 bit)
+>>>>>82 string/c !fat32
+>>>>>>54 string FAT12 \b, FAT (12 bit)
+>>>>>>54 string FAT16 \b, FAT (16 bit)
+>>>>>>54 default x
+# determinate FAT bit size by media descriptor
+# small floppies implies FAT12
+>>>>>>>21 ubyte <0xF0 \b, FAT (12 bit by descriptor)
+# with media descriptor F0h floppy or maybe superfloppy with FAT16
+>>>>>>>21 ubyte =0xF0
+# superfloppy (many sectors) implies FAT16
+>>>>>>>>32 ulelong >0xFFFF \b, FAT (16 bit by descriptor+sectors)
+# no superfloppy with media descriptor F0h implies FAT12
+>>>>>>>>32 default x \b, FAT (12 bit by descriptor+sectors)
+# with media descriptor F8h floppy or hard disc with FAT12 or FAT16
+>>>>>>>21 ubyte =0xF8
+# 360 KiB with media descriptor F8h, 9 sectors per track ,single sided floppy implies FAT12
+>>>>>>>>19 ubequad 0xd002f80300090001 \b, FAT (12 bit by descriptor+geometry)
+# hard disc with FAT12 or FAT16
+>>>>>>>>19 default x \b, FAT (1Y bit by descriptor)
+# with media descriptor FAh floppy, RAM disc with FAT12 or FAT16 or Tandy hard disc
+>>>>>>>21 ubyte =0xFA
+# 320 KiB with media descriptor FAh, 8 sectors per track ,single sided floppy implies FAT12
+>>>>>>>>19 ubequad 0x8002fa0200080001 \b, FAT (12 bit by descriptor+geometry)
+# RAM disc with FAT12 or FAT16 or Tandy hard disc
+>>>>>>>>19 default x \b, FAT (1Y bit by descriptor)
+# others are floppy
+>>>>>>>21 default x \b, FAT (12 bit by descriptor)
# FAT32 bit specific
->>>>>82 string FAT32 \b, FAT (32 bit)
+>>>>>82 string/c fat32 \b, FAT (32 bit)
>>>>>>36 ulelong x \b, sectors/FAT %u
# http://technet.microsoft.com/en-us/library/cc977221.aspx
>>>>>>40 uleshort >0 \b, extension flags 0x%x
@@ -1443,9 +1471,12 @@
>>>>>>48 uleshort >1 \b, infoSector %u
#>>>>>>48 uleshort =1 \b, infoSector %u (usual)
>>>>>>48 uleshort <1 \b, infoSector %u
->>>>>>50 uleshort >6 \b, Backup boot sector %u
+# 0 or 0xFFFF instead of usual 6 means no backup sector
+>>>>>>50 uleshort =0xFFFF \b, no Backup boot sector
+>>>>>>50 uleshort =0 \b, no Backup boot sector
#>>>>>>50 uleshort =6 \b, Backup boot sector %u (usual)
->>>>>>50 uleshort <6 \b, Backup boot sector %u
+>>>>>>50 default x
+>>>>>>>50 uleshort x \b, Backup boot sector %u
# corrected by Joerg Jenderek at Feb 2011 according to http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO
>>>>>>52 ulelong >0 \b, reserved1 0x%x
>>>>>>56 ulelong >0 \b, reserved2 0x%x
@@ -1880,12 +1911,11 @@
# defect IO.SYS+MSDOS.SYS ?
#>>>>>0x162 use 2xDOS-filename
-# CDROM Filesystems
-# Modified for UDF by gerardo.cacciari at gmail.com
-32769 string CD001 #
-!:mime application/x-iso9660-image
+0 name cdrom
>38913 string !NSR0 ISO 9660 CD-ROM filesystem data
+!:mime application/x-iso9660-image
>38913 string NSR0 UDF filesystem data
+!:mime application/x-iso9660-image
>>38917 string 1 (version 1.0)
>>38917 string 2 (version 1.5)
>>38917 string 3 (version 2.0)
@@ -1898,6 +1928,18 @@
!:mime application/x-iso9660-image
32777 string CDROM High Sierra CD-ROM filesystem data
+# CDROM Filesystems
+# https://en.wikipedia.org/wiki/ISO_9660
+# Modified for UDF by gerardo.cacciari at gmail.com
+32769 string CD001
+# mime line at that position does not work
+# to display CD-ROM (70=81-11) after MBR (113=40+72+1), partition-table (71=50+21) and before Apple Driver Map (51)
+!:strength -11
+# to display CD-ROM (114=81+33) before MBR (113=40+72+1), partition-table (71=50+21) and Apple Driver Map (51)
+# does not work
+#!:strength +33
+>0 use cdrom
+
# .cso files
0 string CISO Compressed ISO CD image
@@ -2131,7 +2173,6 @@
# which is mapped to VBN 2 of [000000]INDEXF.SYS;1 - gerardo.cacciari at gmail.com
#
1008 string DECFILE11 Files-11 On-Disk Structure
->525 byte x Level %d
>525 byte x (ODS-%d);
>1017 string A RSX-11, VAX/VMS or OpenVMS VAX file system;
>1017 string B
@@ -2266,14 +2307,31 @@
# UBIfs
# Linux kernel sources: fs/ubifs/ubifs-media.h
-0 belong 0x31181006
->0x16 short 0 UBIfs image
->0x08 lequad x \b, sequence number %llu
->0x10 leshort x \b, length %u
->0x04 lelong x \b, CRC 0x%08x
-
-0 belong 0x55424923
->0x04 short <2
->0x05 string \0\0\0
->0x1c string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
->0x04 short x UBI image, version %u
+0 lelong 0x06101831
+>0x16 leshort 0 UBIfs image
+>0x08 lequad x \b, sequence number %llu
+>0x10 leshort x \b, length %u
+>0x04 lelong x \b, CRC 0x%08x
+
+0 lelong 0x23494255
+>0x04 leshort <2
+>0x05 string \0\0\0
+>0x1c string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
+>0x04 leshort x UBI image, version %u
+
+# NEC PC-88 2D disk image
+# From Fabio R. Schmidlin <sd-snatcher at users.sourceforge.net>
+0x20 ulelong&0xFFFFFEFF 0x2A0
+>0x10 string \0\0\0\0\0\0\0\0\0\0
+>>0x280 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
+>>>0x1A ubyte&0xEF 0
+>>>>0x1B ubyte&0x8F 0
+>>>>>0x1B ubyte&70 <0x40
+>>>>>>0x1C ulelong >0x21
+>>>>>>>0 regex [[:print:]]* NEC PC-88 disk image, name=%s
+>>>>>>>>0x1B ubyte 0 \b, media=2D
+>>>>>>>>0x1B ubyte 0x10 \b, media=2DD
+>>>>>>>>0x1B ubyte 0x20 \b, media=2HD
+>>>>>>>>0x1B ubyte 0x30 \b, media=1D
+>>>>>>>>0x1B ubyte 0x40 \b, media=1DD
+>>>>>>>>0x1A ubyte 0x10 \b, write-protected
Modified: projects/sendfile/contrib/hyperv/tools/hv_kvp_daemon.8
==============================================================================
--- projects/sendfile/contrib/hyperv/tools/hv_kvp_daemon.8 Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/hyperv/tools/hv_kvp_daemon.8 Tue Oct 28 13:38:30 2014 (r273775)
@@ -22,41 +22,71 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd September 10, 2013
-.Dt HYPER-V 4
+.\" $FreeBSD$
+.Dd October 27, 2014
+.Dt HV_KVP_DAEMON 8
.Os
.Sh NAME
.Nm hv_kvp_daemon
.Nd Hyper-V Key Value Pair Daemon
.Sh SYNOPSIS
-The \fBhv_kvp_daemon\fP daemon provides the ability to store, retrieve, modify and delete
-Key Value pairs for FreeBSD guest partitions running on Hyper-V.
+.Nm
+.Op Fl dn
.Sh DESCRIPTION
+The
+.Nm
+daemon provides the ability to store, retrieve, modify and delete
+Key Value pairs for
+.Fx
+guest partitions running on Hyper-V.
+.Pp
Hyper-V allows administrators to store custom metadata in the form
-of Key Value pairs inside the FreeBSD guest partition. Administrators can
+of Key Value pairs inside the
+.Fx
+guest partition.
+Administrators can
use Windows Powershell scripts to add, read, modify and delete such
Key Value pairs.
-
-The \fBhv_kvp_daemon\fP accepts Key Value pair management requests from the
-\fBhv_utils\fP driver and performs the actual metadata management on the file-system.
-
+.Pp
+The
+.Nm
+accepts Key Value pair management requests from the
+.Xr hv_utils 4
+driver and performs the actual metadata management on the file-system.
+.Pp
The same daemon and driver combination is also used to set and get
-IP addresses from a FreeBSD guest.
-
+IP addresses from a
+.Fx
+guest.
+.Pp
The set functionality is particularly
-useful when the FreeBSD guest is assigned a static IP address and is failed
-over from one Hyper-V host to another. After failover, Hyper-V uses the set IP
+useful when the
+.Fx
+guest is assigned a static IP address and is failed
+over from one Hyper-V host to another.
+After failover, Hyper-V uses the set IP
functionality to automatically
-update the FreeBSD guest's IP address to its original static value.
-
+update the
+.Fx
+guest's IP address to its original static value.
+.Pp
On the other hand, the get IP functionality is used to update the guest IP
address in the Hyper-V management console window.
+.Pp
+The options are as follows:
+.Bl -tag -width indent
+.It Fl d
+Run as regular process instead of a daemon for debugging purpose.
+.It Fl n
+Generate debugging output.
+.El
.Sh SEE ALSO
.Xr hv_vmbus 4 ,
.Xr hv_utils 4 ,
.Xr hv_netvsc 4 ,
.Xr hv_storvsc 4 ,
-.Xr hv_ata_pci_disengage 4
+.Xr hv_ata_pci_disengage 4 ,
+.Xr hv_kvp 4
.Sh HISTORY
Support for Hyper-V in the form of ports was first released in September 2013.
The daemon was developed through a joint effort between Citrix Inc.,
@@ -64,5 +94,7 @@ Microsoft Corp. and Network Appliance In
.Sh AUTHORS
.An -nosplit
.Fx
-support for \fBhv_kvp_daemon\fP was first added by
-.An Microsoft BSD Integration Services Team Aq bsdic at microsoft.com .
+support for
+.Nm
+was first added by
+.An Microsoft BSD Integration Services Team Aq Mt bsdic at microsoft.com .
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/gen/t_sleep.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/gen/t_sleep.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/gen/t_sleep.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -49,6 +49,11 @@
#define KEVNT_TIMEOUT 10300 /* measured in milli-seconds */
#define FUZZ (40 * MILLION) /* scheduling fuzz accepted - 40 ms */
+#ifdef __FreeBSD__
+#include <sys/time.h>
+#include <inttypes.h>
+#endif
+
/*
* Timer notes
*
@@ -78,7 +83,9 @@ static volatile int sig;
int sleeptest(int (*)(struct timespec *, struct timespec *), bool, bool);
int do_nanosleep(struct timespec *, struct timespec *);
int do_select(struct timespec *, struct timespec *);
+#ifdef __NetBSD__
int do_poll(struct timespec *, struct timespec *);
+#endif
int do_sleep(struct timespec *, struct timespec *);
int do_kevent(struct timespec *, struct timespec *);
void sigalrm(int);
@@ -116,6 +123,7 @@ do_select(struct timespec *delay, struct
return ret;
}
+#ifdef __NetBSD__
int
do_poll(struct timespec *delay, struct timespec *remain)
{
@@ -129,6 +137,7 @@ do_poll(struct timespec *delay, struct t
ret = 0;
return ret;
}
+#endif
int
do_sleep(struct timespec *delay, struct timespec *remain)
@@ -210,6 +219,7 @@ ATF_TC_BODY(select, tc)
sleeptest(do_select, true, true);
}
+#ifdef __NetBSD__
ATF_TC(poll);
ATF_TC_HEAD(poll, tc)
{
@@ -223,6 +233,7 @@ ATF_TC_BODY(poll, tc)
sleeptest(do_poll, true, true);
}
+#endif
ATF_TC(sleep);
ATF_TC_HEAD(sleep, tc)
@@ -329,7 +340,9 @@ ATF_TP_ADD_TCS(tp)
{
ATF_TP_ADD_TC(tp, nanosleep);
ATF_TP_ADD_TC(tp, select);
+#ifdef __NetBSD__
ATF_TP_ADD_TC(tp, poll);
+#endif
ATF_TP_ADD_TC(tp, sleep);
ATF_TP_ADD_TC(tp, kevent);
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_clock_gettime.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_clock_gettime.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_clock_gettime.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -63,7 +63,9 @@ __RCSID("$NetBSD: t_clock_gettime.c,v 1.
#include <sys/param.h>
#include <sys/sysctl.h>
+#if defined(__NetBSD__)
#include <machine/int_limits.h>
+#endif
#include <atf-c.h>
#include <errno.h>
@@ -73,7 +75,13 @@ __RCSID("$NetBSD: t_clock_gettime.c,v 1.
#include <time.h>
#include <unistd.h>
+#if defined(__NetBSD__)
#include "../../../h_macros.h"
+#else
+#include <limits.h>
+#include <stdint.h>
+#include "h_macros.h"
+#endif
#define MINPOSDIFF 15000000 /* 15 ms for now */
#define TIMEOUT 5
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_getgroups.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_getgroups.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_getgroups.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -57,6 +57,9 @@ ATF_TC_BODY(getgroups_err, tc)
errno = 0;
+#if defined(__FreeBSD__)
+ atf_tc_expect_fail("Reported as kern/189941");
+#endif
ATF_REQUIRE(getgroups(-1, gidset) == -1);
ATF_REQUIRE(errno == EINVAL);
}
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_getrusage.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_getrusage.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_getrusage.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -47,7 +47,11 @@ static void sighandler(int);
static const size_t maxiter = 2000;
static void
+#if defined(__FreeBSD__)
+sighandler(int signo __unused)
+#else
sighandler(int signo)
+#endif
{
/* Nothing. */
}
@@ -129,7 +133,9 @@ ATF_TC_BODY(getrusage_utime_back, tc)
/*
* Test that two consecutive calls are sane.
*/
+#ifdef __NetBSD__
atf_tc_expect_fail("PR kern/30115");
+#endif
for (i = 0; i < maxiter; i++) {
@@ -148,7 +154,9 @@ ATF_TC_BODY(getrusage_utime_back, tc)
atf_tc_fail("user time went backwards");
}
+#ifdef __NetBSD__
atf_tc_fail("anticipated error did not occur");
+#endif
}
ATF_TC(getrusage_utime_zero);
@@ -162,6 +170,11 @@ ATF_TC_BODY(getrusage_utime_zero, tc)
struct rusage ru;
size_t i;
+#ifdef __FreeBSD__
+ atf_tc_skip("this testcase passes/fails sporadically on FreeBSD/i386 "
+ "@ r273153 (at least)");
+#endif
+
/*
* Test that getrusage(2) does not return
* zero user time for the calling process.
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_link.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_link.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_link.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -41,6 +41,10 @@ __RCSID("$NetBSD: t_link.c,v 1.2 2014/04
#include <string.h>
#include <unistd.h>
+#ifdef __FreeBSD__
+#include <limits.h>
+#endif
+
static const char *getpath(void);
static char path[] = "link";
static const char *pathl;
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_listen.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_listen.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_listen.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -36,6 +36,10 @@
#include <arpa/inet.h>
#include <netinet/in.h>
+#if defined(__FreeBSD__)
+#include <sys/socket.h>
+#endif
+
static const char *path = "listen";
ATF_TC_WITH_CLEANUP(listen_err);
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mknod.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mknod.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mknod.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -58,8 +58,15 @@ ATF_TC_BODY(mknod_err, tc)
(void)memset(buf, 'x', sizeof(buf));
+#ifndef __FreeBSD__
+ /*
+ * As of FreeBSD 6.0 device nodes may be created in regular file systems but
+ * such nodes cannot be used to access devices. As a result an invalid dev
+ * argument is unchecked.
+ */
errno = 0;
ATF_REQUIRE_ERRNO(EINVAL, mknod(path, S_IFCHR, -1) == -1);
+#endif
errno = 0;
ATF_REQUIRE_ERRNO(ENAMETOOLONG, mknod(buf, S_IFCHR, 0) == -1);
@@ -166,6 +173,9 @@ ATF_TC_BODY(mknod_stat, tc)
(void)memset(&st, 0, sizeof(struct stat));
+#ifdef __FreeBSD__
+ atf_tc_expect_fail("mknod does not allow S_IFREG");
+#endif
ATF_REQUIRE(mknod(path, S_IFREG, 0) == 0);
ATF_REQUIRE(stat(path, &st) == 0);
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mlock.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mlock.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mlock.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -31,6 +31,9 @@
#include <sys/cdefs.h>
__RCSID("$NetBSD: t_mlock.c,v 1.5 2014/02/26 20:49:26 martin Exp $");
+#ifdef __FreeBSD__
+#include <sys/types.h>
+#endif
#include <sys/mman.h>
#include <sys/resource.h>
#include <sys/sysctl.h>
@@ -43,6 +46,11 @@ __RCSID("$NetBSD: t_mlock.c,v 1.5 2014/0
#include <stdlib.h>
#include <unistd.h>
+#ifdef __FreeBSD__
+#define _KMEMUSER
+#include <machine/vmparam.h>
+#endif
+
static long page = 0;
ATF_TC(mlock_clip);
@@ -79,16 +87,25 @@ ATF_TC_HEAD(mlock_err, tc)
ATF_TC_BODY(mlock_err, tc)
{
+#ifdef __NetBSD__
unsigned long vmin = 0;
size_t len = sizeof(vmin);
+#endif
void *invalid_ptr;
int null_errno = ENOMEM; /* error expected for NULL */
+#ifdef __FreeBSD__
+#ifdef VM_MIN_ADDRESS
+ if ((uintptr_t)VM_MIN_ADDRESS > 0)
+ null_errno = EINVAL; /* NULL is not inside user VM */
+#endif
+#else
if (sysctlbyname("vm.minaddress", &vmin, &len, NULL, 0) != 0)
atf_tc_fail("failed to read vm.minaddress");
if (vmin > 0)
null_errno = EINVAL; /* NULL is not inside user VM */
+#endif
errno = 0;
ATF_REQUIRE_ERRNO(null_errno, mlock(NULL, page) == -1);
@@ -156,7 +173,17 @@ ATF_TC_BODY(mlock_limits, tc)
errno = 0;
+#ifdef __FreeBSD__
+ /*
+ * NetBSD doesn't conform to POSIX with ENOMEM requirement;
+ * FreeBSD does.
+ *
+ * See: NetBSD PR # kern/48962 for more details.
+ */
+ if (mlock(buf, i) != -1 || errno != ENOMEM) {
+#else
if (mlock(buf, i) != -1 || errno != EAGAIN) {
+#endif
(void)munlock(buf, i);
_exit(EXIT_FAILURE);
}
@@ -181,7 +208,11 @@ ATF_TC_HEAD(mlock_mmap, tc)
ATF_TC_BODY(mlock_mmap, tc)
{
+#ifdef __NetBSD__
static const int flags = MAP_ANON | MAP_PRIVATE | MAP_WIRED;
+#else
+ static const int flags = MAP_ANON | MAP_PRIVATE;
+#endif
void *buf;
/*
@@ -191,6 +222,13 @@ ATF_TC_BODY(mlock_mmap, tc)
buf = mmap(NULL, page, PROT_READ | PROT_WRITE, flags, -1, 0);
ATF_REQUIRE(buf != MAP_FAILED);
+#ifdef __FreeBSD__
+ /*
+ * The duplicate mlock call is added to ensure that the call works
+ * as described above without MAP_WIRED support.
+ */
+ ATF_REQUIRE(mlock(buf, page) == 0);
+#endif
ATF_REQUIRE(mlock(buf, page) == 0);
ATF_REQUIRE(munlock(buf, page) == 0);
ATF_REQUIRE(munmap(buf, page) == 0);
@@ -202,7 +240,11 @@ ATF_TC_BODY(mlock_mmap, tc)
buf = mmap(NULL, page, PROT_NONE, flags, -1, 0);
ATF_REQUIRE(buf != MAP_FAILED);
+#ifdef __FreeBSD__
+ ATF_REQUIRE_ERRNO(ENOMEM, mlock(buf, page) != 0);
+#else
ATF_REQUIRE(mlock(buf, page) != 0);
+#endif
ATF_REQUIRE(munmap(buf, page) == 0);
}
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mmap.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mmap.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mmap.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -72,7 +72,15 @@ __RCSID("$NetBSD: t_mmap.c,v 1.7 2012/06
#include <string.h>
#include <unistd.h>
#include <paths.h>
+#ifdef __NetBSD__
#include <machine/disklabel.h>
+#endif
+
+#ifdef __FreeBSD__
+#include <sys/disklabel.h>
+#include <sys/stat.h>
+#include <stdint.h>
+#endif
static long page = 0;
static char path[] = "mmap";
@@ -155,6 +163,7 @@ map_sighandler(int signo)
_exit(signo);
}
+#ifdef __NetBSD__
ATF_TC(mmap_block);
ATF_TC_HEAD(mmap_block, tc)
{
@@ -199,6 +208,7 @@ ATF_TC_BODY(mmap_block, tc)
ATF_REQUIRE(munmap(map, 4096) == 0);
}
+#endif
ATF_TC(mmap_err);
ATF_TC_HEAD(mmap_err, tc)
@@ -468,8 +478,15 @@ ATF_TC_BODY(mmap_va0, tc)
* Make an anonymous fixed mapping at zero address. If the address
* is restricted as noted in security(7), the syscall should fail.
*/
+#ifdef __FreeBSD__
+ if (sysctlbyname("security.bsd.map_at_zero", &val, &len, NULL, 0) != 0)
+ atf_tc_fail("failed to read security.bsd.map_at_zero");
+ val = !val; /* 1 == enable map at zero */
+#endif
+#ifdef __NetBSD__
if (sysctlbyname("vm.user_va0_disable", &val, &len, NULL, 0) != 0)
atf_tc_fail("failed to read vm.user_va0_disable");
+#endif
map = mmap(NULL, page, PROT_EXEC, flags, -1, 0);
map_check(map, val);
@@ -492,7 +509,9 @@ ATF_TP_ADD_TCS(tp)
page = sysconf(_SC_PAGESIZE);
ATF_REQUIRE(page >= 0);
+#ifdef __NetBSD__
ATF_TP_ADD_TC(tp, mmap_block);
+#endif
ATF_TP_ADD_TC(tp, mmap_err);
ATF_TP_ADD_TC(tp, mmap_loan);
ATF_TP_ADD_TC(tp, mmap_prot_1);
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mprotect.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mprotect.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mprotect.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -44,7 +44,9 @@ __RCSID("$NetBSD: t_mprotect.c,v 1.3 201
#include <atf-c.h>
+#ifdef __NetBSD__
#include "../common/exec_prot.h"
+#endif
static long page = 0;
static int pax_global = -1;
@@ -160,6 +162,7 @@ ATF_TC_BODY(mprotect_err, tc)
ATF_REQUIRE(errno == EINVAL);
}
+#ifdef __NetBSD__
ATF_TC(mprotect_exec);
ATF_TC_HEAD(mprotect_exec, tc)
{
@@ -242,6 +245,7 @@ ATF_TC_BODY(mprotect_exec, tc)
break;
}
}
+#endif
ATF_TC(mprotect_pax);
ATF_TC_HEAD(mprotect_pax, tc)
@@ -351,7 +355,9 @@ ATF_TP_ADD_TCS(tp)
ATF_TP_ADD_TC(tp, mprotect_access);
ATF_TP_ADD_TC(tp, mprotect_err);
+#ifdef __NetBSD__
ATF_TP_ADD_TC(tp, mprotect_exec);
+#endif
ATF_TP_ADD_TC(tp, mprotect_pax);
ATF_TP_ADD_TC(tp, mprotect_write);
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msgctl.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msgctl.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msgctl.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -46,6 +46,10 @@ __RCSID("$NetBSD: t_msgctl.c,v 1.4 2014/
#include <time.h>
#include <unistd.h>
+#ifdef __FreeBSD__
+#include <limits.h>
+#endif
+
#define MSG_KEY 12345689
#define MSG_MTYPE_1 0x41
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msgrcv.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msgrcv.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msgrcv.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -47,6 +47,10 @@ __RCSID("$NetBSD: t_msgrcv.c,v 1.3 2013/
#include <time.h>
#include <unistd.h>
+#if defined(__FreeBSD__)
+#include <limits.h>
+#endif
+
#define MSG_KEY 1234
#define MSG_MTYPE_1 0x41
#define MSG_MTYPE_2 0x42
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msgsnd.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msgsnd.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msgsnd.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -47,6 +47,10 @@ __RCSID("$NetBSD: t_msgsnd.c,v 1.2 2011/
#include <time.h>
#include <unistd.h>
+#if defined(__FreeBSD__)
+#include <limits.h>
+#endif
+
#define MSG_KEY 1234
#define MSG_MTYPE_1 0x41
#define MSG_MTYPE_2 0x42
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msync.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msync.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_msync.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -170,8 +170,15 @@ ATF_TC_BODY(msync_err, tc)
/*
* Test that invalid flags error out.
*/
+#ifdef __FreeBSD__
+ errno = 0;
+ ATF_REQUIRE_ERRNO(EINVAL, msync_sync("error", -1) != NULL);
+ errno = 0;
+ ATF_REQUIRE_ERRNO(EINVAL, msync_sync("error", INT_MAX) != NULL);
+#else
ATF_REQUIRE(msync_sync("error", -1) != NULL);
ATF_REQUIRE(msync_sync("error", INT_MAX) != NULL);
+#endif
errno = 0;
@@ -185,7 +192,11 @@ ATF_TC_BODY(msync_err, tc)
(void)munmap(map, page);
ATF_REQUIRE(msync(map, page, MS_SYNC) != 0);
+#ifdef __FreeBSD__
+ ATF_REQUIRE(errno == ENOMEM);
+#else
ATF_REQUIRE(errno == EFAULT);
+#endif
}
ATF_TC(msync_invalidate);
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_nanosleep.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_nanosleep.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_nanosleep.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -45,7 +45,11 @@ __RCSID("$NetBSD: t_nanosleep.c,v 1.3 20
#include <unistd.h>
static void
+#if defined(__FreeBSD__)
+handler(int signo __unused)
+#else
handler(int signo)
+#endif
{
/* Nothing. */
}
Modified: projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_pipe2.c
==============================================================================
--- projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_pipe2.c Tue Oct 28 13:38:10 2014 (r273774)
+++ projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_pipe2.c Tue Oct 28 13:38:30 2014 (r273775)
@@ -53,7 +53,11 @@ run(int flags)
while ((i = open("/", O_RDONLY)) < 3)
ATF_REQUIRE(i != -1);
+#if defined(__FreeBSD__)
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list