svn commit: r295172 - in projects/release-pkg: . bin/csh bin/sh bin/test cddl/contrib/opensolaris/lib/libzfs/common contrib/libucl/tests contrib/libxo contrib/ofed/librdmacm/examples/build/cmatose ...
Glen Barber
gjb at FreeBSD.org
Tue Feb 2 22:27:53 UTC 2016
Author: gjb
Date: Tue Feb 2 22:27:48 2016
New Revision: 295172
URL: https://svnweb.freebsd.org/changeset/base/295172
Log:
MFH
Sponsored by: The FreeBSD Foundation
Added:
projects/release-pkg/lib/libc/tests/gen/dlopen_empty_test.c
- copied unchanged from r295171, head/lib/libc/tests/gen/dlopen_empty_test.c
projects/release-pkg/sbin/nvmecontrol/power.c
- copied unchanged from r295171, head/sbin/nvmecontrol/power.c
projects/release-pkg/sys/arm/arm/swtch-v4.S
- copied unchanged from r295171, head/sys/arm/arm/swtch-v4.S
projects/release-pkg/sys/arm/arm/swtch-v6.S
- copied unchanged from r295171, head/sys/arm/arm/swtch-v6.S
projects/release-pkg/sys/boot/fdt/dts/riscv/
- copied from r295171, head/sys/boot/fdt/dts/riscv/
projects/release-pkg/sys/boot/ficl/riscv/
- copied from r295171, head/sys/boot/ficl/riscv/
projects/release-pkg/sys/conf/Makefile.riscv
- copied unchanged from r295171, head/sys/conf/Makefile.riscv
projects/release-pkg/sys/conf/files.riscv
- copied unchanged from r295171, head/sys/conf/files.riscv
projects/release-pkg/sys/conf/ldscript.riscv
- copied unchanged from r295171, head/sys/conf/ldscript.riscv
projects/release-pkg/sys/conf/options.riscv
- copied unchanged from r295171, head/sys/conf/options.riscv
projects/release-pkg/sys/dev/hwpmc/hwpmc_riscv.h
- copied unchanged from r295171, head/sys/dev/hwpmc/hwpmc_riscv.h
projects/release-pkg/sys/riscv/conf/
- copied from r295171, head/sys/riscv/conf/
projects/release-pkg/sys/riscv/htif/
- copied from r295171, head/sys/riscv/htif/
projects/release-pkg/sys/riscv/riscv/
- copied from r295171, head/sys/riscv/riscv/
projects/release-pkg/tools/tools/nanobsd/embedded/qemu-amd64-uefi-bios.cfg
- copied unchanged from r295171, head/tools/tools/nanobsd/embedded/qemu-amd64-uefi-bios.cfg
projects/release-pkg/tools/tools/nanobsd/embedded/qemu-amd64-uefi.cfg
- copied unchanged from r295171, head/tools/tools/nanobsd/embedded/qemu-amd64-uefi.cfg
Deleted:
projects/release-pkg/contrib/libucl/tests/.gitignore
projects/release-pkg/contrib/libxo/.gitignore
projects/release-pkg/contrib/unbound/.gitignore
projects/release-pkg/sys/arm/arm/cpufunc_asm_arm10.S
Modified:
projects/release-pkg/Makefile
projects/release-pkg/Makefile.inc1
projects/release-pkg/UPDATING
projects/release-pkg/bin/csh/iconv_stub.c
projects/release-pkg/bin/sh/redir.c
projects/release-pkg/bin/sh/sh.1
projects/release-pkg/bin/test/test.c
projects/release-pkg/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c
projects/release-pkg/contrib/ofed/librdmacm/examples/build/cmatose/Makefile
projects/release-pkg/contrib/ofed/librdmacm/examples/build/mckey/Makefile
projects/release-pkg/contrib/ofed/librdmacm/examples/build/udaddy/Makefile
projects/release-pkg/contrib/openresolv/Makefile
projects/release-pkg/contrib/openresolv/resolvconf.8.in
projects/release-pkg/contrib/openresolv/resolvconf.conf.5.in
projects/release-pkg/contrib/openresolv/resolvconf.in
projects/release-pkg/contrib/openresolv/unbound.in
projects/release-pkg/contrib/smbfs/smbutil/print.c
projects/release-pkg/crypto/openssh/sshd_config
projects/release-pkg/crypto/openssh/sshd_config.5
projects/release-pkg/lib/libc/tests/gen/Makefile
projects/release-pkg/lib/libsysdecode/syscallnames.c
projects/release-pkg/lib/libsysdecode/sysdecode.3
projects/release-pkg/lib/libsysdecode/sysdecode.h
projects/release-pkg/libexec/atrun/atrun.c
projects/release-pkg/libexec/rtld-elf/map_object.c
projects/release-pkg/sbin/nvmecontrol/Makefile
projects/release-pkg/sbin/nvmecontrol/nvmecontrol.8
projects/release-pkg/sbin/nvmecontrol/nvmecontrol.c
projects/release-pkg/sbin/nvmecontrol/nvmecontrol.h
projects/release-pkg/sbin/pfctl/pf_print_state.c
projects/release-pkg/sbin/rcorder/rcorder.c
projects/release-pkg/sbin/swapon/swapon.c
projects/release-pkg/sys/arm/annapurna/alpine/alpine_machdep.c
projects/release-pkg/sys/arm/arm/cpufunc.c
projects/release-pkg/sys/arm/arm/cpufunc_asm.S
projects/release-pkg/sys/arm/arm/cpufunc_asm_arm11.S
projects/release-pkg/sys/arm/arm/cpufunc_asm_arm11x6.S
projects/release-pkg/sys/arm/arm/cpufunc_asm_armv4.S
projects/release-pkg/sys/arm/arm/cpufunc_asm_fa526.S
projects/release-pkg/sys/arm/arm/db_interface.c
projects/release-pkg/sys/arm/arm/devmap.c
projects/release-pkg/sys/arm/arm/elf_trampoline.c
projects/release-pkg/sys/arm/arm/genassym.c
projects/release-pkg/sys/arm/arm/machdep.c
projects/release-pkg/sys/arm/arm/mp_machdep.c
projects/release-pkg/sys/arm/arm/pmap-v6.c
projects/release-pkg/sys/arm/arm/pmap.c
projects/release-pkg/sys/arm/arm/swtch.S
projects/release-pkg/sys/arm/include/cpufunc.h
projects/release-pkg/sys/arm/include/param.h
projects/release-pkg/sys/arm/include/pmap-v6.h
projects/release-pkg/sys/arm/include/pmap.h
projects/release-pkg/sys/arm/include/smp.h
projects/release-pkg/sys/arm/include/vm.h
projects/release-pkg/sys/arm/mv/armadaxp/armadaxp.c
projects/release-pkg/sys/arm/mv/armadaxp/armadaxp_mp.c
projects/release-pkg/sys/arm/mv/mv_common.c
projects/release-pkg/sys/arm/mv/mv_machdep.c
projects/release-pkg/sys/arm/mv/orion/db88f5xxx.c
projects/release-pkg/sys/arm/ti/omap4/pandaboard/pandaboard.c
projects/release-pkg/sys/arm/ti/ti_cpuid.c
projects/release-pkg/sys/arm/versatile/versatile_machdep.c
projects/release-pkg/sys/arm64/arm64/copystr.c
projects/release-pkg/sys/arm64/arm64/genassym.c
projects/release-pkg/sys/arm64/arm64/gic_fdt.c
projects/release-pkg/sys/arm64/arm64/intr_machdep.c
projects/release-pkg/sys/arm64/arm64/locore.S
projects/release-pkg/sys/arm64/arm64/machdep.c
projects/release-pkg/sys/arm64/arm64/mp_machdep.c
projects/release-pkg/sys/arm64/arm64/pmap.c
projects/release-pkg/sys/arm64/arm64/swtch.S
projects/release-pkg/sys/arm64/arm64/trap.c
projects/release-pkg/sys/arm64/include/armreg.h
projects/release-pkg/sys/arm64/include/pcb.h
projects/release-pkg/sys/arm64/include/pmap.h
projects/release-pkg/sys/boot/efi/libefi/efinet.c
projects/release-pkg/sys/cam/scsi/scsi_pass.c
projects/release-pkg/sys/cam/scsi/scsi_sa.c
projects/release-pkg/sys/cddl/compat/opensolaris/sys/atomic.h
projects/release-pkg/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c
projects/release-pkg/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
projects/release-pkg/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h
projects/release-pkg/sys/conf/Makefile.arm
projects/release-pkg/sys/conf/NOTES
projects/release-pkg/sys/conf/files.arm
projects/release-pkg/sys/conf/kern.mk
projects/release-pkg/sys/conf/kern.post.mk
projects/release-pkg/sys/conf/kern.pre.mk
projects/release-pkg/sys/conf/options.mips
projects/release-pkg/sys/contrib/ipfilter/netinet/ip_compat.h
projects/release-pkg/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c (contents, props changed)
projects/release-pkg/sys/dev/bwn/if_bwn.c
projects/release-pkg/sys/dev/e1000/if_em.c
projects/release-pkg/sys/dev/ed/if_ed.c
projects/release-pkg/sys/dev/ep/if_ep.c
projects/release-pkg/sys/dev/fe/if_fe.c
projects/release-pkg/sys/dev/fxp/if_fxp.c
projects/release-pkg/sys/dev/iicbus/iic.c
projects/release-pkg/sys/dev/iscsi_initiator/isc_cam.c
projects/release-pkg/sys/dev/iscsi_initiator/isc_sm.c
projects/release-pkg/sys/dev/iscsi_initiator/isc_soc.c
projects/release-pkg/sys/dev/iscsi_initiator/isc_subr.c
projects/release-pkg/sys/dev/iscsi_initiator/iscsi_subr.c
projects/release-pkg/sys/dev/ixgbe/if_ix.c
projects/release-pkg/sys/dev/ixgbe/ixgbe_common.c
projects/release-pkg/sys/dev/ixgbe/ixgbe_phy.c
projects/release-pkg/sys/dev/ixgbe/ixgbe_type.h
projects/release-pkg/sys/dev/ixgbe/ixgbe_x540.c
projects/release-pkg/sys/dev/ixgbe/ixgbe_x550.c
projects/release-pkg/sys/dev/ixl/if_ixl.c
projects/release-pkg/sys/dev/le/lance.c
projects/release-pkg/sys/dev/malo/if_malo.c
projects/release-pkg/sys/dev/md/md.c
projects/release-pkg/sys/dev/mps/mps_mapping.c
projects/release-pkg/sys/dev/mps/mps_sas.c
projects/release-pkg/sys/dev/netmap/netmap_offloadings.c
projects/release-pkg/sys/dev/nvme/nvme.h
projects/release-pkg/sys/dev/oce/oce_if.h
projects/release-pkg/sys/dev/otus/if_otus.c
projects/release-pkg/sys/dev/sfxge/sfxge_rx.c
projects/release-pkg/sys/dev/sfxge/sfxge_tx.c
projects/release-pkg/sys/dev/sn/if_sn.c
projects/release-pkg/sys/dev/tx/if_tx.c
projects/release-pkg/sys/dev/usb/controller/ehcireg.h
projects/release-pkg/sys/dev/usb/wlan/if_rsu.c
projects/release-pkg/sys/dev/wi/if_wi.c
projects/release-pkg/sys/dev/wi/if_wi_pci.c
projects/release-pkg/sys/dev/xe/if_xe.c
projects/release-pkg/sys/dev/xl/if_xl.c
projects/release-pkg/sys/kern/kern_ktr.c
projects/release-pkg/sys/kern/subr_mchain.c
projects/release-pkg/sys/kern/uipc_debug.c
projects/release-pkg/sys/kern/uipc_sockbuf.c
projects/release-pkg/sys/kern/uipc_socket.c
projects/release-pkg/sys/kgssapi/krb5/kcrypto_aes.c
projects/release-pkg/sys/mips/conf/AR933X_BASE
projects/release-pkg/sys/mips/conf/AR934X_BASE
projects/release-pkg/sys/mips/conf/QCA955X_BASE
projects/release-pkg/sys/mips/include/asm.h
projects/release-pkg/sys/mips/include/cpufunc.h
projects/release-pkg/sys/mips/include/cpuregs.h
projects/release-pkg/sys/mips/rt305x/std.rt305x
projects/release-pkg/sys/net/bridgestp.c
projects/release-pkg/sys/net/if_epair.c
projects/release-pkg/sys/net/if_mib.c
projects/release-pkg/sys/net/netisr.c
projects/release-pkg/sys/net/pfvar.h
projects/release-pkg/sys/net80211/ieee80211.c
projects/release-pkg/sys/net80211/ieee80211_acl.c
projects/release-pkg/sys/net80211/ieee80211_action.c
projects/release-pkg/sys/net80211/ieee80211_ageq.c
projects/release-pkg/sys/net80211/ieee80211_amrr.c
projects/release-pkg/sys/net80211/ieee80211_crypto_none.c
projects/release-pkg/sys/net80211/ieee80211_ddb.c
projects/release-pkg/sys/net80211/ieee80211_freebsd.c
projects/release-pkg/sys/net80211/ieee80211_ht.c
projects/release-pkg/sys/net80211/ieee80211_ioctl.c
projects/release-pkg/sys/net80211/ieee80211_output.c
projects/release-pkg/sys/net80211/ieee80211_power.c
projects/release-pkg/sys/net80211/ieee80211_proto.c
projects/release-pkg/sys/net80211/ieee80211_scan.c
projects/release-pkg/sys/net80211/ieee80211_scan_sta.c
projects/release-pkg/sys/net80211/ieee80211_scan_sw.c
projects/release-pkg/sys/net80211/ieee80211_xauth.c
projects/release-pkg/sys/netgraph/netflow/netflow.c
projects/release-pkg/sys/netgraph/netflow/netflow_v9.c
projects/release-pkg/sys/netgraph/netflow/ng_netflow.c
projects/release-pkg/sys/netgraph/ng_base.c
projects/release-pkg/sys/netinet/in_proto.c
projects/release-pkg/sys/netinet/sctp_input.c
projects/release-pkg/sys/netinet/sctp_output.c
projects/release-pkg/sys/netinet/sctp_output.h
projects/release-pkg/sys/netinet/sctp_sysctl.c
projects/release-pkg/sys/netinet/sctp_uio.h
projects/release-pkg/sys/netinet/sctp_var.h
projects/release-pkg/sys/netinet/tcp_lro.c
projects/release-pkg/sys/netinet/toecore.c
projects/release-pkg/sys/netinet6/in6_proto.c
projects/release-pkg/sys/netinet6/send.c
projects/release-pkg/sys/netipsec/ipsec_mbuf.c
projects/release-pkg/sys/netipsec/key_debug.c
projects/release-pkg/sys/netpfil/ipfw/ip_fw_log.c
projects/release-pkg/sys/powerpc/fpu/fpu_emu.c
projects/release-pkg/sys/powerpc/fpu/fpu_emu.h
projects/release-pkg/sys/powerpc/fpu/fpu_extern.h
projects/release-pkg/sys/powerpc/include/reg.h
projects/release-pkg/sys/powerpc/powerpc/exec_machdep.c
projects/release-pkg/sys/powerpc/powerpc/nexus.c
projects/release-pkg/sys/rpc/replay.c
projects/release-pkg/sys/sys/cdefs.h
projects/release-pkg/sys/sys/kerneldump.h
projects/release-pkg/sys/sys/socketvar.h
projects/release-pkg/sys/tools/embed_mfs.sh
projects/release-pkg/tests/sys/geom/class/gate/1_test.sh
projects/release-pkg/tools/tools/nanobsd/defaults.sh
projects/release-pkg/tools/tools/nanobsd/embedded/README
projects/release-pkg/tools/tools/nanobsd/embedded/common
projects/release-pkg/usr.bin/kdump/kdump.c
projects/release-pkg/usr.bin/netstat/inet.c
projects/release-pkg/usr.bin/netstat/sctp.c
projects/release-pkg/usr.bin/netstat/unix.c
projects/release-pkg/usr.bin/truss/aarch64-cloudabi64.c
projects/release-pkg/usr.bin/truss/aarch64-freebsd.c
projects/release-pkg/usr.bin/truss/amd64-cloudabi64.c
projects/release-pkg/usr.bin/truss/amd64-freebsd.c
projects/release-pkg/usr.bin/truss/amd64-freebsd32.c
projects/release-pkg/usr.bin/truss/amd64-linux32.c
projects/release-pkg/usr.bin/truss/arm-freebsd.c
projects/release-pkg/usr.bin/truss/i386-freebsd.c
projects/release-pkg/usr.bin/truss/i386-linux.c
projects/release-pkg/usr.bin/truss/mips-freebsd.c
projects/release-pkg/usr.bin/truss/powerpc-freebsd.c
projects/release-pkg/usr.bin/truss/powerpc64-freebsd.c
projects/release-pkg/usr.bin/truss/powerpc64-freebsd32.c
projects/release-pkg/usr.bin/truss/sparc64-freebsd.c
projects/release-pkg/usr.sbin/bsdconfig/bsdconfig
projects/release-pkg/usr.sbin/bsdconfig/networking/share/media.subr
projects/release-pkg/usr.sbin/bsdconfig/networking/share/resolv.subr
projects/release-pkg/usr.sbin/bsdconfig/share/device.subr
projects/release-pkg/usr.sbin/bsdconfig/share/strings.subr
projects/release-pkg/usr.sbin/bsdinstall/scripts/zfsboot
projects/release-pkg/usr.sbin/sysrc/sysrc
projects/release-pkg/usr.sbin/sysrc/sysrc.8
Directory Properties:
projects/release-pkg/ (props changed)
projects/release-pkg/cddl/ (props changed)
projects/release-pkg/cddl/contrib/opensolaris/ (props changed)
projects/release-pkg/cddl/contrib/opensolaris/lib/libzfs/ (props changed)
projects/release-pkg/contrib/libucl/ (props changed)
projects/release-pkg/contrib/openresolv/ (props changed)
projects/release-pkg/contrib/unbound/ (props changed)
projects/release-pkg/crypto/openssh/ (props changed)
projects/release-pkg/lib/libc/ (props changed)
projects/release-pkg/sbin/ (props changed)
projects/release-pkg/sys/ (props changed)
projects/release-pkg/sys/boot/ (props changed)
projects/release-pkg/sys/cddl/contrib/opensolaris/ (props changed)
projects/release-pkg/sys/conf/ (props changed)
projects/release-pkg/sys/contrib/ipfilter/ (props changed)
Modified: projects/release-pkg/Makefile
==============================================================================
--- projects/release-pkg/Makefile Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/Makefile Tue Feb 2 22:27:48 2016 (r295172)
@@ -137,6 +137,7 @@ TGTS+= ${BITGTS}
.ORDER: buildworld installworld
.ORDER: buildworld distributeworld
.ORDER: buildworld buildkernel
+.ORDER: installworld distribution
.ORDER: buildkernel installkernel
.ORDER: buildkernel installkernel.debug
.ORDER: buildkernel reinstallkernel
@@ -329,7 +330,7 @@ bmake: .PHONY
${MMAKE} all; \
${MMAKE} install DESTDIR=${MYMAKE:H} BINDIR=
-tinderbox toolchains kernel-toolchains: upgrade_checks
+tinderbox toolchains kernel-toolchains kernels worlds: upgrade_checks
tinderbox:
@cd ${.CURDIR}; ${SUB_MAKE} DOING_TINDERBOX=YES universe
@@ -340,6 +341,12 @@ toolchains:
kernel-toolchains:
@cd ${.CURDIR}; ${SUB_MAKE} UNIVERSE_TARGET=kernel-toolchain universe
+kernels:
+ @cd ${.CURDIR}; ${SUB_MAKE} UNIVERSE_TARGET=buildkernel universe
+
+worlds:
+ @cd ${.CURDIR}; ${SUB_MAKE} UNIVERSE_TARGET=buildworld universe
+
#
# universe
#
Modified: projects/release-pkg/Makefile.inc1
==============================================================================
--- projects/release-pkg/Makefile.inc1 Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/Makefile.inc1 Tue Feb 2 22:27:48 2016 (r295172)
@@ -72,7 +72,7 @@ SRCDIR?= ${.CURDIR}
SUBDIR= ${SUBDIR_OVERRIDE}
.else
SUBDIR= lib libexec
-.if make(install*)
+.if !defined(NO_ROOT) && (make(installworld) || make(install))
# Ensure libraries are installed before progressing.
SUBDIR+=.WAIT
.endif
@@ -127,7 +127,7 @@ SUBDIR+= ${_DIR}
# by calling 'makedb' in share/man. This is only relevant for
# install/distribute so they build the whatis file after every manpage is
# installed.
-.if make(install*)
+.if make(installworld) || make(install)
SUBDIR+=.WAIT
.endif
SUBDIR+=etc
@@ -1125,9 +1125,7 @@ distrib-dirs: .MAKE .PHONY
${_+_}cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \
${IMAKE_INSTALL} ${IMAKE_MTREE} METALOG=${METALOG} ${.TARGET}
-distribution: .MAKE .PHONY
- ${_+_}cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \
- ${IMAKE_INSTALL} ${IMAKE_MTREE} METALOG=${METALOG} ${.TARGET}
+distribution: distrib-dirs .MAKE .PHONY
${_+_}cd ${.CURDIR}; ${CROSSENV} PATH=${TMPPATH} \
${MAKE} -f Makefile.inc1 ${IMAKE_INSTALL} \
METALOG=${METALOG} installconfig
Modified: projects/release-pkg/UPDATING
==============================================================================
--- projects/release-pkg/UPDATING Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/UPDATING Tue Feb 2 22:27:48 2016 (r295172)
@@ -31,6 +31,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
disable the most expensive debugging functionality run
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
+20160129:
+ Building ZFS pools on top of zvols is prohibited by default. That
+ feature has never worked safely; it's always been prone to deadlocks.
+ Using a zvol as the backing store for a VM guest's virtual disk will
+ still work, even if the guest is using ZFS. Legacy behavior can be
+ restored by setting vfs.zfs.vol.recursive=1.
+
20160119:
The NONE and HPN patches has been removed from OpenSSH. They are
still available in the security/openssh-portable port.
Modified: projects/release-pkg/bin/csh/iconv_stub.c
==============================================================================
--- projects/release-pkg/bin/csh/iconv_stub.c Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/bin/csh/iconv_stub.c Tue Feb 2 22:27:48 2016 (r295172)
@@ -36,9 +36,9 @@
#undef iconv_close
#define ICONVLIB "libiconv.so"
-#define ICONV_ENGINE "iconv"
-#define ICONV_OPEN "iconv_open"
-#define ICONV_CLOSE "iconv_close"
+#define ICONV_ENGINE "libiconv"
+#define ICONV_OPEN "libiconv_open"
+#define ICONV_CLOSE "libiconv_close"
typedef iconv_t iconv_open_t(const char *, const char *);
Modified: projects/release-pkg/bin/sh/redir.c
==============================================================================
--- projects/release-pkg/bin/sh/redir.c Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/bin/sh/redir.c Tue Feb 2 22:27:48 2016 (r295172)
@@ -70,6 +70,7 @@ struct redirtab {
struct redirtab *next;
int renamed[10];
int fd0_redirected;
+ unsigned int empty_redirs;
};
@@ -82,6 +83,9 @@ static struct redirtab *redirlist;
*/
static int fd0_redirected = 0;
+/* Number of redirtabs that have not been allocated. */
+static unsigned int empty_redirs = 0;
+
static void openredirect(union node *, char[10 ]);
static int openhere(union node *);
@@ -115,12 +119,17 @@ redirect(union node *redir, int flags)
memory[i] = 0;
memory[1] = flags & REDIR_BACKQ;
if (flags & REDIR_PUSH) {
- sv = ckmalloc(sizeof (struct redirtab));
- for (i = 0 ; i < 10 ; i++)
- sv->renamed[i] = EMPTY;
- sv->fd0_redirected = fd0_redirected;
- sv->next = redirlist;
- redirlist = sv;
+ empty_redirs++;
+ if (redir != NULL) {
+ sv = ckmalloc(sizeof (struct redirtab));
+ for (i = 0 ; i < 10 ; i++)
+ sv->renamed[i] = EMPTY;
+ sv->fd0_redirected = fd0_redirected;
+ sv->empty_redirs = empty_redirs - 1;
+ sv->next = redirlist;
+ redirlist = sv;
+ empty_redirs = 0;
+ }
}
for (n = redir ; n ; n = n->nfile.next) {
fd = n->nfile.fd;
@@ -303,6 +312,12 @@ popredir(void)
struct redirtab *rp = redirlist;
int i;
+ INTOFF;
+ if (empty_redirs > 0) {
+ empty_redirs--;
+ INTON;
+ return;
+ }
for (i = 0 ; i < 10 ; i++) {
if (rp->renamed[i] != EMPTY) {
if (rp->renamed[i] >= 0) {
@@ -313,8 +328,8 @@ popredir(void)
}
}
}
- INTOFF;
fd0_redirected = rp->fd0_redirected;
+ empty_redirs = rp->empty_redirs;
redirlist = rp->next;
ckfree(rp);
INTON;
Modified: projects/release-pkg/bin/sh/sh.1
==============================================================================
--- projects/release-pkg/bin/sh/sh.1 Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/bin/sh/sh.1 Tue Feb 2 22:27:48 2016 (r295172)
@@ -32,7 +32,7 @@
.\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95
.\" $FreeBSD$
.\"
-.Dd August 29, 2015
+.Dd January 30, 2016
.Dt SH 1
.Os
.Sh NAME
@@ -1952,13 +1952,20 @@ Execute the specified built-in command,
This is useful when the user wishes to override a shell function
with the same name as a built-in command.
.It Ic cd Oo Fl L | P Oc Oo Fl e Oc Op Ar directory
+.It Ic cd Fl
Switch to the specified
.Ar directory ,
-or to the directory specified in the
+to the directory specified in the
.Va HOME
environment variable if no
.Ar directory
-is specified.
+is specified or
+to the directory specified in the
+.Va OLDPWD
+environment variable if
+.Ar directory
+is
+.Fl .
If
.Ar directory
does not begin with
@@ -1982,10 +1989,12 @@ the
.Ic cd
command will print out the name of the directory
that it actually switched to
-if this is different from the name that the user gave.
-These may be different either because the
+if the
.Va CDPATH
-mechanism was used or because a symbolic link was crossed.
+mechanism was used or if
+.Ar directory
+was
+.Fl .
.Pp
If the
.Fl P
@@ -2774,6 +2783,10 @@ Initialization file for interactive shel
Locale settings.
These are inherited by children of the shell,
and is used in a limited manner by the shell itself.
+.It Ev OLDPWD
+The previous current directory.
+This is used and updated by
+.Ic cd .
.It Ev PWD
An absolute pathname for the current directory,
possibly containing symbolic links.
Modified: projects/release-pkg/bin/test/test.c
==============================================================================
--- projects/release-pkg/bin/test/test.c Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/bin/test/test.c Tue Feb 2 22:27:48 2016 (r295172)
@@ -120,51 +120,53 @@ enum token {
#define TOKEN_TYPE(token) ((token) & 0xff00)
-static struct t_op {
- char op_text[4];
+static const struct t_op {
+ char op_text[2];
short op_num;
-} const ops [] = {
- {"-r", FILRD},
- {"-w", FILWR},
- {"-x", FILEX},
- {"-e", FILEXIST},
- {"-f", FILREG},
- {"-d", FILDIR},
- {"-c", FILCDEV},
- {"-b", FILBDEV},
- {"-p", FILFIFO},
- {"-u", FILSUID},
- {"-g", FILSGID},
- {"-k", FILSTCK},
- {"-s", FILGZ},
- {"-t", FILTT},
- {"-z", STREZ},
- {"-n", STRNZ},
- {"-h", FILSYM}, /* for backwards compat */
- {"-O", FILUID},
- {"-G", FILGID},
- {"-L", FILSYM},
- {"-S", FILSOCK},
+} ops1[] = {
{"=", STREQ},
- {"==", STREQ},
- {"!=", STRNE},
{"<", STRLT},
{">", STRGT},
- {"-eq", INTEQ},
- {"-ne", INTNE},
- {"-ge", INTGE},
- {"-gt", INTGT},
- {"-le", INTLE},
- {"-lt", INTLT},
- {"-nt", FILNT},
- {"-ot", FILOT},
- {"-ef", FILEQ},
{"!", UNOT},
- {"-a", BAND},
- {"-o", BOR},
{"(", LPAREN},
{")", RPAREN},
- {"", 0}
+}, opsm1[] = {
+ {"r", FILRD},
+ {"w", FILWR},
+ {"x", FILEX},
+ {"e", FILEXIST},
+ {"f", FILREG},
+ {"d", FILDIR},
+ {"c", FILCDEV},
+ {"b", FILBDEV},
+ {"p", FILFIFO},
+ {"u", FILSUID},
+ {"g", FILSGID},
+ {"k", FILSTCK},
+ {"s", FILGZ},
+ {"t", FILTT},
+ {"z", STREZ},
+ {"n", STRNZ},
+ {"h", FILSYM}, /* for backwards compat */
+ {"O", FILUID},
+ {"G", FILGID},
+ {"L", FILSYM},
+ {"S", FILSOCK},
+ {"a", BAND},
+ {"o", BOR},
+}, ops2[] = {
+ {"==", STREQ},
+ {"!=", STRNE},
+}, opsm2[] = {
+ {"eq", INTEQ},
+ {"ne", INTNE},
+ {"ge", INTGE},
+ {"gt", INTGT},
+ {"le", INTLE},
+ {"lt", INTLT},
+ {"nt", FILNT},
+ {"ot", FILOT},
+ {"ef", FILEQ},
};
static int nargc;
@@ -416,35 +418,71 @@ filstat(char *nm, enum token mode)
}
}
-static enum token
-t_lex(char *s)
+static int
+find_op_1char(const struct t_op *op, const struct t_op *end, const char *s)
{
- struct t_op const *op = ops;
+ char c;
- if (s == 0) {
- return EOI;
+ c = s[0];
+ while (op != end) {
+ if (c == *op->op_text)
+ return op->op_num;
+ op++;
}
- while (*op->op_text) {
- if (strcmp(s, op->op_text) == 0) {
- if (((TOKEN_TYPE(op->op_num) == UNOP ||
- TOKEN_TYPE(op->op_num) == BUNOP)
- && isunopoperand()) ||
- (op->op_num == LPAREN && islparenoperand()) ||
- (op->op_num == RPAREN && isrparenoperand()))
- break;
+ return OPERAND;
+}
+
+static int
+find_op_2char(const struct t_op *op, const struct t_op *end, const char *s)
+{
+ while (op != end) {
+ if (s[0] == op->op_text[0] && s[1] == op->op_text[1])
return op->op_num;
- }
op++;
}
return OPERAND;
}
static int
+find_op(const char *s)
+{
+ if (s[0] == '\0')
+ return OPERAND;
+ else if (s[1] == '\0')
+ return find_op_1char(ops1, (&ops1)[1], s);
+ else if (s[2] == '\0')
+ return s[0] == '-' ? find_op_1char(opsm1, (&opsm1)[1], s + 1) :
+ find_op_2char(ops2, (&ops2)[1], s);
+ else if (s[3] == '\0')
+ return s[0] == '-' ? find_op_2char(opsm2, (&opsm2)[1], s + 1) :
+ OPERAND;
+ else
+ return OPERAND;
+}
+
+static enum token
+t_lex(char *s)
+{
+ int num;
+
+ if (s == 0) {
+ return EOI;
+ }
+ num = find_op(s);
+ if (((TOKEN_TYPE(num) == UNOP || TOKEN_TYPE(num) == BUNOP)
+ && isunopoperand()) ||
+ (num == LPAREN && islparenoperand()) ||
+ (num == RPAREN && isrparenoperand()))
+ return OPERAND;
+ return num;
+}
+
+static int
isunopoperand(void)
{
- struct t_op const *op = ops;
char *s;
char *t;
+ int num;
if (nargc == 1)
return 1;
@@ -452,20 +490,16 @@ isunopoperand(void)
if (nargc == 2)
return parenlevel == 1 && strcmp(s, ")") == 0;
t = *(t_wp + 2);
- while (*op->op_text) {
- if (strcmp(s, op->op_text) == 0)
- return TOKEN_TYPE(op->op_num) == BINOP &&
- (parenlevel == 0 || t[0] != ')' || t[1] != '\0');
- op++;
- }
- return 0;
+ num = find_op(s);
+ return TOKEN_TYPE(num) == BINOP &&
+ (parenlevel == 0 || t[0] != ')' || t[1] != '\0');
}
static int
islparenoperand(void)
{
- struct t_op const *op = ops;
char *s;
+ int num;
if (nargc == 1)
return 1;
@@ -474,12 +508,8 @@ islparenoperand(void)
return parenlevel == 1 && strcmp(s, ")") == 0;
if (nargc != 3)
return 0;
- while (*op->op_text) {
- if (strcmp(s, op->op_text) == 0)
- return TOKEN_TYPE(op->op_num) == BINOP;
- op++;
- }
- return 0;
+ num = find_op(s);
+ return TOKEN_TYPE(num) == BINOP;
}
static int
Modified: projects/release-pkg/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c
==============================================================================
--- projects/release-pkg/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c Tue Feb 2 22:27:48 2016 (r295172)
@@ -26,6 +26,7 @@
/*
* Copyright (c) 2012 by Delphix. All rights reserved.
+ * Copyright (c) 2015 by Syneto S.R.L. All rights reserved.
*/
/*
@@ -246,8 +247,9 @@ zpool_get_features(zpool_handle_t *zhp)
config = zpool_get_config(zhp, NULL);
}
- verify(nvlist_lookup_nvlist(config, ZPOOL_CONFIG_FEATURE_STATS,
- &features) == 0);
+ if (nvlist_lookup_nvlist(config, ZPOOL_CONFIG_FEATURE_STATS,
+ &features) != 0)
+ return (NULL);
return (features);
}
Modified: projects/release-pkg/contrib/ofed/librdmacm/examples/build/cmatose/Makefile
==============================================================================
--- projects/release-pkg/contrib/ofed/librdmacm/examples/build/cmatose/Makefile Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/contrib/ofed/librdmacm/examples/build/cmatose/Makefile Tue Feb 2 22:27:48 2016 (r295172)
@@ -5,7 +5,6 @@
PROG= cmatose
MAN=
SRCS= cmatose.c
-LDADD+= -libverbs -lrdmacm -lpthread
-LDADD+= -lmlx4
+LIBADD= ibverbs rdmacm pthread mlx4
.include <bsd.prog.mk>
Modified: projects/release-pkg/contrib/ofed/librdmacm/examples/build/mckey/Makefile
==============================================================================
--- projects/release-pkg/contrib/ofed/librdmacm/examples/build/mckey/Makefile Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/contrib/ofed/librdmacm/examples/build/mckey/Makefile Tue Feb 2 22:27:48 2016 (r295172)
@@ -5,7 +5,6 @@
PROG= mckey
MAN=
SRCS= mckey.c
-LDADD+= -libverbs -lrdmacm -lpthread
-LDADD+= -lmlx4
+LIBADD= ibverbs rdmacm pthread mlx4
.include <bsd.prog.mk>
Modified: projects/release-pkg/contrib/ofed/librdmacm/examples/build/udaddy/Makefile
==============================================================================
--- projects/release-pkg/contrib/ofed/librdmacm/examples/build/udaddy/Makefile Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/contrib/ofed/librdmacm/examples/build/udaddy/Makefile Tue Feb 2 22:27:48 2016 (r295172)
@@ -5,7 +5,6 @@
PROG= udaddy
MAN=
SRCS= udaddy.c
-LDADD+= -libverbs -lrdmacm -lpthread
-LDADD+= -lmlx4
+LIBADD= ibverbs rdmacm pthread mlx4
.include <bsd.prog.mk>
Modified: projects/release-pkg/contrib/openresolv/Makefile
==============================================================================
--- projects/release-pkg/contrib/openresolv/Makefile Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/contrib/openresolv/Makefile Tue Feb 2 22:27:48 2016 (r295172)
@@ -1,5 +1,5 @@
PKG= openresolv
-VERSION= 3.7.0
+VERSION= 3.7.1
# Nasty hack so that make clean works without configure being run
_CONFIG_MK!= test -e config.mk && echo config.mk || echo config-null.mk
@@ -37,7 +37,7 @@ SED_RESTARTCMD= -e 's:@RESTARTCMD \(.*\
DISTPREFIX?= ${PKG}-${VERSION}
DISTFILEGZ?= ${DISTPREFIX}.tar.gz
-DISTFILE?= ${DISTPREFIX}.tar.bz2
+DISTFILE?= ${DISTPREFIX}.tar.xz
FOSSILID?= current
.SUFFIXES: .in
@@ -77,9 +77,9 @@ install: proginstall maninstall
import:
rm -rf /tmp/${DISTPREFIX}
${INSTALL} -d /tmp/${DISTPREFIX}
- cp README ${SRCS} /tmp/${DISPREFIX}
+ cp README ${SRCS} /tmp/${DISTPREFIX}
dist:
fossil tarball --name ${DISTPREFIX} ${FOSSILID} ${DISTFILEGZ}
- gunzip -c ${DISTFILEGZ} | bzip2 >${DISTFILE}
+ gunzip -c ${DISTFILEGZ} | xz >${DISTFILE}
rm ${DISTFILEGZ}
Modified: projects/release-pkg/contrib/openresolv/resolvconf.8.in
==============================================================================
--- projects/release-pkg/contrib/openresolv/resolvconf.8.in Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/contrib/openresolv/resolvconf.8.in Tue Feb 2 22:27:48 2016 (r295172)
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd April 27, 2014
+.Dd April 27, 2015
.Dt RESOLVCONF 8
.Os
.Sh NAME
Modified: projects/release-pkg/contrib/openresolv/resolvconf.conf.5.in
==============================================================================
--- projects/release-pkg/contrib/openresolv/resolvconf.conf.5.in Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/contrib/openresolv/resolvconf.conf.5.in Tue Feb 2 22:27:48 2016 (r295172)
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd March 20, 2015
+.Dd May 14, 2015
.Dt RESOLVCONF.CONF 5
.Os
.Sh NAME
@@ -91,6 +91,11 @@ To remove a block, you can use 192.168.*
These interfaces name servers will only be queried for the domains listed
in their resolv.conf.
Useful for VPN domains.
+Setting
+.Sy private_interfaces Ns ="*"
+will stop the forwarding of the root zone and allows the local resolver to
+recursively query the root servers directly.
+Requires a local nameserver other than libc.
This is equivalent to the
.Nm resolvconf -p
option.
@@ -149,7 +154,7 @@ When set to /dev/null or NULL,
.Sy resolv_conf_local_only
is defaulted to NO,
.Sy local_nameservers
-is unset unless overriden and only the information set in
+is unset unless overridden and only the information set in
.Nm
is written to
.Sy resolv_conf .
@@ -271,7 +276,7 @@ Each subscriber attempts to automaticall
distribution has been catered for.
Also, users could equally want to use a different version from the one
installed by default, such as bind8 and bind9.
-To accomodate this, the subscribers have these files in configurable
+To accommodate this, the subscribers have these files in configurable
variables, documented below.
.Pp
.Bl -tag -width indent
Modified: projects/release-pkg/contrib/openresolv/resolvconf.in
==============================================================================
--- projects/release-pkg/contrib/openresolv/resolvconf.in Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/contrib/openresolv/resolvconf.in Tue Feb 2 22:27:48 2016 (r295172)
@@ -50,7 +50,6 @@ elif [ -d "$SYSCONFDIR/resolvconf" ]; th
interface_order="$(cat "$SYSCONFDIR"/interface-order)"
fi
fi
-TMPDIR="$VARDIR/tmp"
IFACEDIR="$VARDIR/interfaces"
METRICDIR="$VARDIR/metrics"
PRIVATEDIR="$VARDIR/private"
Modified: projects/release-pkg/contrib/openresolv/unbound.in
==============================================================================
--- projects/release-pkg/contrib/openresolv/unbound.in Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/contrib/openresolv/unbound.in Tue Feb 2 22:27:48 2016 (r295172)
@@ -45,7 +45,8 @@ for d in $DOMAINS; do
ns="${d#*:}"
case "$unbound_insecure" in
[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
- newconf="$newconf${NL}domain-insecure: \"$dn\""
+ newconf="$newconf${NL}server:$NL"
+ newconf="$newconf domain-insecure: \"$dn\"$NL"
;;
esac
newconf="$newconf${NL}forward-zone:$NL name: \"$dn\"$NL"
Modified: projects/release-pkg/contrib/smbfs/smbutil/print.c
==============================================================================
--- projects/release-pkg/contrib/smbfs/smbutil/print.c Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/contrib/smbfs/smbutil/print.c Tue Feb 2 22:27:48 2016 (r295172)
@@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$");
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
+#include <string.h>
#include <strings.h>
#include <stdlib.h>
#include <sysexits.h>
Modified: projects/release-pkg/crypto/openssh/sshd_config
==============================================================================
--- projects/release-pkg/crypto/openssh/sshd_config Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/crypto/openssh/sshd_config Tue Feb 2 22:27:48 2016 (r295172)
@@ -45,7 +45,7 @@
# Authentication:
#LoginGraceTime 2m
-#PermitRootLogin prohibit-password
+#PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
Modified: projects/release-pkg/crypto/openssh/sshd_config.5
==============================================================================
--- projects/release-pkg/crypto/openssh/sshd_config.5 Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/crypto/openssh/sshd_config.5 Tue Feb 2 22:27:48 2016 (r295172)
@@ -1217,7 +1217,7 @@ The argument must be
or
.Dq no .
The default is
-.Dq prohibit-password .
+.Dq no .
Note that if
.Cm ChallengeResponseAuthentication
is
Modified: projects/release-pkg/lib/libc/tests/gen/Makefile
==============================================================================
--- projects/release-pkg/lib/libc/tests/gen/Makefile Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/lib/libc/tests/gen/Makefile Tue Feb 2 22:27:48 2016 (r295172)
@@ -15,6 +15,7 @@ ATF_TESTS_C+= ftw_test
ATF_TESTS_C+= popen_test
ATF_TESTS_C+= posix_spawn_test
ATF_TESTS_C+= wordexp_test
+ATF_TESTS_C+= dlopen_empty_test
# TODO: t_closefrom, t_cpuset, t_fmtcheck, t_randomid, t_sleep
# TODO: t_siginfo (fixes require further inspection)
Copied: projects/release-pkg/lib/libc/tests/gen/dlopen_empty_test.c (from r295171, head/lib/libc/tests/gen/dlopen_empty_test.c)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/release-pkg/lib/libc/tests/gen/dlopen_empty_test.c Tue Feb 2 22:27:48 2016 (r295172, copy of r295171, head/lib/libc/tests/gen/dlopen_empty_test.c)
@@ -0,0 +1,97 @@
+/*-
+ * Copyright (c) 2016 Maksym Sobolyev
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/stat.h>
+#include <dlfcn.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include <atf-c.h>
+
+static const char *funname;
+static char *soname;
+
+static void
+sigsegv_handler(int sig __unused)
+{
+ unlink(soname);
+ free(soname);
+ atf_tc_fail("got SIGSEGV in the %s(3)", funname);
+}
+
+ATF_TC(dlopen_empty_test);
+ATF_TC_HEAD(dlopen_empty_test, tc)
+{
+ atf_tc_set_md_var(tc, "descr", "Tests the dlopen() of an empty file "
+ "returns an error");
+}
+ATF_TC_BODY(dlopen_empty_test, tc)
+{
+ char tempname[] = "/tmp/temp.XXXXXX";
+ char *fname;
+ int fd;
+ void *dlh;
+ struct sigaction act, oact;
+
+ fname = mktemp(tempname);
+ ATF_REQUIRE_MSG(fname != NULL, "mktemp failed; errno=%d", errno);
+ asprintf(&soname, "%s.so", fname);
+ ATF_REQUIRE_MSG(soname != NULL, "asprintf failed; errno=%d", ENOMEM);
+ fd = open(soname, O_WRONLY | O_CREAT | O_TRUNC, DEFFILEMODE);
+ ATF_REQUIRE_MSG(fd != -1, "open(\"%s\") failed; errno=%d", soname, errno);
+ close(fd);
+
+ act.sa_handler = sigsegv_handler;
+ act.sa_flags = 0;
+ sigemptyset(&act.sa_mask);
+ ATF_CHECK_MSG(sigaction(SIGSEGV, &act, &oact) != -1,
+ "sigaction() failed");
+
+ funname = "dlopen";
+ dlh = dlopen(soname, RTLD_LAZY);
+ if (dlh != NULL) {
+ funname = "dlclose";
+ dlclose(dlh);
+ }
+ ATF_REQUIRE_MSG(dlh == NULL, "dlopen(\"%s\") did not fail", soname);
+ unlink(soname);
+ free(soname);
+}
+
+ATF_TP_ADD_TCS(tp)
+{
+
+ ATF_TP_ADD_TC(tp, dlopen_empty_test);
+
+ return (atf_no_error());
+}
Modified: projects/release-pkg/lib/libsysdecode/syscallnames.c
==============================================================================
--- projects/release-pkg/lib/libsysdecode/syscallnames.c Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/lib/libsysdecode/syscallnames.c Tue Feb 2 22:27:48 2016 (r295172)
@@ -70,30 +70,30 @@ sysdecode_syscallname(enum sysdecode_abi
{
switch (abi) {
- case FREEBSD:
+ case SYSDECODE_ABI_FREEBSD:
if (code < nitems(syscallnames))
return (syscallnames[code]);
break;
#if defined(__amd64__) || defined(__powerpc64__)
- case FREEBSD32:
+ case SYSDECODE_ABI_FREEBSD32:
if (code < nitems(freebsd32_syscallnames))
return (freebsd32_syscallnames[code]);
break;
#endif
#if defined(__amd64__) || defined(__i386__)
- case LINUX:
+ case SYSDECODE_ABI_LINUX:
if (code < nitems(linux_syscallnames))
return (linux_syscallnames[code]);
break;
#endif
#ifdef __amd64__
- case LINUX32:
+ case SYSDECODE_ABI_LINUX32:
if (code < nitems(linux32_syscallnames))
return (linux32_syscallnames[code]);
break;
#endif
#if defined(__amd64__) || defined(__aarch64__)
- case CLOUDABI64:
+ case SYSDECODE_ABI_CLOUDABI64:
if (code < nitems(cloudabi64_syscallnames))
return (cloudabi64_syscallnames[code]);
break;
Modified: projects/release-pkg/lib/libsysdecode/sysdecode.3
==============================================================================
--- projects/release-pkg/lib/libsysdecode/sysdecode.3 Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/lib/libsysdecode/sysdecode.3 Tue Feb 2 22:27:48 2016 (r295172)
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 24, 2016
+.Dd January 29, 2016
.Dt SYSDECODE 3
.Os
.Sh NAME
@@ -44,23 +44,23 @@ The supported ABIs are named by the
.Vt enum sysdecode_abi
enumeration.
.Pp
-.Bl -tag -width "Li UNKNOWN_ABI" -compact
-.It Li FREEBSD
+.Bl -tag -width "Li SYSDECODE_ABI_CLOUDABI64" -compact
+.It Li SYSDECODE_ABI_FREEBSD
Native FreeBSD binaries.
Supported on all platforms.
-.It Li FREEBSD32
+.It Li SYSDECODE_ABI_FREEBSD32
32-bit FreeBSD binaries.
Supported on amd64 and powerpc64.
-.It Li LINUX
+.It Li SYSDECODE_ABI_LINUX
Linux binaries of the same platform.
Supported on amd64 and i386.
-.It Li LINUX32
+.It Li SYSDECODE_ABI_LINUX32
32-bit Linux binaries.
Supported on amd64.
-.It Li CLOUDABI64
+.It Li SYSDECODE_ABI_CLOUDABI64
64-bit CloudABI binaries.
Supported on aarch64 and amd64.
-.It Li UNKNOWN_ABI
+.It Li SYSDECODE_ABI_UNKNOWN
A placeholder for use when the ABI is not known.
.El
.Sh SEE ALSO
Modified: projects/release-pkg/lib/libsysdecode/sysdecode.h
==============================================================================
--- projects/release-pkg/lib/libsysdecode/sysdecode.h Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/lib/libsysdecode/sysdecode.h Tue Feb 2 22:27:48 2016 (r295172)
@@ -30,12 +30,12 @@
#define __SYSDECODE_H__
enum sysdecode_abi {
- UNKNOWN_ABI = 0,
- FREEBSD,
- FREEBSD32,
- LINUX,
- LINUX32,
- CLOUDABI64
+ SYSDECODE_ABI_UNKNOWN = 0,
+ SYSDECODE_ABI_FREEBSD,
+ SYSDECODE_ABI_FREEBSD32,
+ SYSDECODE_ABI_LINUX,
+ SYSDECODE_ABI_LINUX32,
+ SYSDECODE_ABI_CLOUDABI64
};
const char *sysdecode_ioctlname(unsigned long _val);
Modified: projects/release-pkg/libexec/atrun/atrun.c
==============================================================================
--- projects/release-pkg/libexec/atrun/atrun.c Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/libexec/atrun/atrun.c Tue Feb 2 22:27:48 2016 (r295172)
@@ -459,8 +459,9 @@ main(int argc, char *argv[])
int c;
int run_batch;
#ifdef __FreeBSD__
- size_t ncpu, ncpusz;
+ size_t ncpusz;
double load_avg = -1;
+ int ncpu;
#else
double load_avg = LOADAVG_MX;
#endif
Modified: projects/release-pkg/libexec/rtld-elf/map_object.c
==============================================================================
--- projects/release-pkg/libexec/rtld-elf/map_object.c Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/libexec/rtld-elf/map_object.c Tue Feb 2 22:27:48 2016 (r295172)
@@ -38,7 +38,7 @@
#include "debug.h"
#include "rtld.h"
-static Elf_Ehdr *get_elf_header(int, const char *);
+static Elf_Ehdr *get_elf_header(int, const char *, const struct stat *);
static int convert_prot(int); /* Elf flags -> mmap protection */
static int convert_flags(int); /* Elf flags -> mmap flags */
@@ -91,7 +91,7 @@ map_object(int fd, const char *path, con
char *note_map;
size_t note_map_len;
- hdr = get_elf_header(fd, path);
+ hdr = get_elf_header(fd, path, sb);
if (hdr == NULL)
return (NULL);
@@ -324,10 +324,16 @@ error:
}
static Elf_Ehdr *
-get_elf_header(int fd, const char *path)
+get_elf_header(int fd, const char *path, const struct stat *sbp)
{
Elf_Ehdr *hdr;
+ /* Make sure file has enough data for the ELF header */
+ if (sbp != NULL && sbp->st_size < sizeof(Elf_Ehdr)) {
+ _rtld_error("%s: invalid file format", path);
+ return (NULL);
+ }
+
hdr = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_PRIVATE | MAP_PREFAULT_READ,
fd, 0);
if (hdr == (Elf_Ehdr *)MAP_FAILED) {
Modified: projects/release-pkg/sbin/nvmecontrol/Makefile
==============================================================================
--- projects/release-pkg/sbin/nvmecontrol/Makefile Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/sbin/nvmecontrol/Makefile Tue Feb 2 22:27:48 2016 (r295172)
@@ -2,7 +2,7 @@
PROG= nvmecontrol
SRCS= nvmecontrol.c devlist.c firmware.c identify.c logpage.c \
- perftest.c reset.c nvme_util.c
+ perftest.c reset.c nvme_util.c power.c
MAN= nvmecontrol.8
.PATH: ${.CURDIR}/../../sys/dev/nvme
Modified: projects/release-pkg/sbin/nvmecontrol/nvmecontrol.8
==============================================================================
--- projects/release-pkg/sbin/nvmecontrol/nvmecontrol.8 Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/sbin/nvmecontrol/nvmecontrol.8 Tue Feb 2 22:27:48 2016 (r295172)
@@ -70,6 +70,11 @@
.Op Fl f Ar path_to_firmware
.Op Fl a
.Aq device id
+.Nm
+.Ic power
+.Op Fl l
+.Op Fl p power_state
+.Op fl w workload_hint
.Sh DESCRIPTION
NVM Express (NVMe) is a storage protocol standard, for SSDs and other
high-speed storage devices over PCI Express.
@@ -120,6 +125,18 @@ Activate the firmware in slot 4 of the n
.Pp
Download the firmware image contained in "/tmp/nvme_firmware" to slot 7 of the
nvme0 controller and activate it on the next reset.
+.Pp
+.Dl nvmecontrol power -l nvme0
+.Pp
+List all the current power modes.
+.Pp
+.Dl nvmecontrol power -p 3 nvme0
+.Pp
+Set the current power mode.
+.Pp
+.Dl nvmecontrol power nvme0
+.Pp
+Get the current power mode.
.Sh AUTHORS
.An -nosplit
.Nm
Modified: projects/release-pkg/sbin/nvmecontrol/nvmecontrol.c
==============================================================================
--- projects/release-pkg/sbin/nvmecontrol/nvmecontrol.c Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/sbin/nvmecontrol/nvmecontrol.c Tue Feb 2 22:27:48 2016 (r295172)
@@ -58,6 +58,7 @@ static struct nvme_function {
{"reset", reset, RESET_USAGE},
{"logpage", logpage, LOGPAGE_USAGE},
{"firmware", firmware, FIRMWARE_USAGE},
+ {"power", power, POWER_USAGE},
{NULL, NULL, NULL},
};
Modified: projects/release-pkg/sbin/nvmecontrol/nvmecontrol.h
==============================================================================
--- projects/release-pkg/sbin/nvmecontrol/nvmecontrol.h Tue Feb 2 22:26:49 2016 (r295171)
+++ projects/release-pkg/sbin/nvmecontrol/nvmecontrol.h Tue Feb 2 22:27:48 2016 (r295172)
@@ -55,12 +55,16 @@
#define FIRMWARE_USAGE \
" nvmecontrol firmware [-s slot] [-f path_to_firmware] [-a] <controller id>\n"
+#define POWER_USAGE \
+" nvmecontrol power [-l] [-p new-state [-w workload-hint]] <controller id>\n"
+
void devlist(int argc, char *argv[]);
void identify(int argc, char *argv[]);
void perftest(int argc, char *argv[]);
void reset(int argc, char *argv[]);
void logpage(int argc, char *argv[]);
void firmware(int argc, char *argv[]);
+void power(int argc, char *argv[]);
int open_dev(const char *str, int *fd, int show_error, int exit_on_error);
void parse_ns_str(const char *ns_str, char *ctrlr_str, int *nsid);
Copied: projects/release-pkg/sbin/nvmecontrol/power.c (from r295171, head/sbin/nvmecontrol/power.c)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/release-pkg/sbin/nvmecontrol/power.c Tue Feb 2 22:27:48 2016 (r295172, copy of r295171, head/sbin/nvmecontrol/power.c)
@@ -0,0 +1,185 @@
+/*-
+ * Copyright (c) 2016 Netflix, Inc
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list