From owner-svn-src-projects@FreeBSD.ORG Sat Jan 8 01:15:33 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6990B10656B9; Sat, 8 Jan 2011 01:15:33 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 542138FC14; Sat, 8 Jan 2011 01:15:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p081FXvL071931; Sat, 8 Jan 2011 01:15:33 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p081FW18071902; Sat, 8 Jan 2011 01:15:32 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201101080115.p081FW18071902@svn.freebsd.org> From: Attilio Rao Date: Sat, 8 Jan 2011 01:15:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r217138 - in projects/sv: . bin/kill bin/setfacl bin/sh bin/sh/bltin contrib/gcc/config/i386 contrib/top etc etc/rc.d gnu/lib/libgcc gnu/lib/libgomp gnu/usr.bin/binutils gnu/usr.bin/bin... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Jan 2011 01:15:33 -0000 Author: attilio Date: Sat Jan 8 01:15:32 2011 New Revision: 217138 URL: http://svn.freebsd.org/changeset/base/217138 Log: MFC Added: projects/sv/lib/libthr/thread/thr_sleepq.c - copied unchanged from r217136, head/lib/libthr/thread/thr_sleepq.c projects/sv/share/man/man4/vte.4 - copied unchanged from r217136, head/share/man/man4/vte.4 projects/sv/share/man/man9/osd.9 - copied unchanged from r217136, head/share/man/man9/osd.9 projects/sv/sys/boot/powerpc/ps3/ - copied from r217136, head/sys/boot/powerpc/ps3/ projects/sv/sys/dev/mii/rdcphy.c - copied unchanged from r217136, head/sys/dev/mii/rdcphy.c projects/sv/sys/dev/mii/rdcphyreg.h - copied unchanged from r217136, head/sys/dev/mii/rdcphyreg.h projects/sv/sys/dev/vte/ - copied from r217136, head/sys/dev/vte/ projects/sv/sys/modules/vte/ - copied from r217136, head/sys/modules/vte/ projects/sv/sys/powerpc/ps3/ - copied from r217136, head/sys/powerpc/ps3/ projects/sv/tools/regression/bin/sh/builtins/exit1.0 - copied unchanged from r217136, head/tools/regression/bin/sh/builtins/exit1.0 projects/sv/tools/regression/bin/sh/builtins/trap4.0 - copied unchanged from r217136, head/tools/regression/bin/sh/builtins/trap4.0 projects/sv/tools/regression/bin/sh/errors/assignment-error2.0 - copied unchanged from r217136, head/tools/regression/bin/sh/errors/assignment-error2.0 projects/sv/tools/regression/bin/sh/errors/redirection-error7.0 - copied unchanged from r217136, head/tools/regression/bin/sh/errors/redirection-error7.0 projects/sv/tools/regression/bin/sh/expansion/cmdsubst10.0 - copied unchanged from r217136, head/tools/regression/bin/sh/expansion/cmdsubst10.0 projects/sv/tools/regression/bin/sh/expansion/cmdsubst4.0 - copied unchanged from r217136, head/tools/regression/bin/sh/expansion/cmdsubst4.0 projects/sv/tools/regression/bin/sh/expansion/cmdsubst5.0 - copied unchanged from r217136, head/tools/regression/bin/sh/expansion/cmdsubst5.0 projects/sv/tools/regression/bin/sh/expansion/cmdsubst6.0 - copied unchanged from r217136, head/tools/regression/bin/sh/expansion/cmdsubst6.0 projects/sv/tools/regression/bin/sh/expansion/cmdsubst7.0 - copied unchanged from r217136, head/tools/regression/bin/sh/expansion/cmdsubst7.0 projects/sv/tools/regression/bin/sh/expansion/cmdsubst8.0 - copied unchanged from r217136, head/tools/regression/bin/sh/expansion/cmdsubst8.0 projects/sv/tools/regression/bin/sh/expansion/cmdsubst9.0 - copied unchanged from r217136, head/tools/regression/bin/sh/expansion/cmdsubst9.0 projects/sv/tools/regression/bin/sh/expansion/plus-minus7.0 - copied unchanged from r217136, head/tools/regression/bin/sh/expansion/plus-minus7.0 projects/sv/tools/regression/usr.bin/sed/inplace_race.t - copied unchanged from r217136, head/tools/regression/usr.bin/sed/inplace_race.t Deleted: projects/sv/sys/arm/conf/SKYEYE projects/sv/sys/dev/cxgb/ulp/tom/cxgb_vm.c projects/sv/sys/dev/cxgb/ulp/tom/cxgb_vm.h projects/sv/sys/mips/conf/OCTEON1-32 Modified: projects/sv/COPYRIGHT projects/sv/Makefile projects/sv/Makefile.inc1 projects/sv/Makefile.mips projects/sv/UPDATING projects/sv/bin/kill/kill.1 projects/sv/bin/kill/kill.c projects/sv/bin/setfacl/setfacl.c projects/sv/bin/sh/Makefile projects/sv/bin/sh/alias.c projects/sv/bin/sh/bltin/bltin.h projects/sv/bin/sh/builtins.def projects/sv/bin/sh/cd.c projects/sv/bin/sh/error.c projects/sv/bin/sh/error.h projects/sv/bin/sh/eval.c projects/sv/bin/sh/exec.c projects/sv/bin/sh/expand.c projects/sv/bin/sh/expand.h projects/sv/bin/sh/histedit.c projects/sv/bin/sh/jobs.c projects/sv/bin/sh/memalloc.c projects/sv/bin/sh/memalloc.h projects/sv/bin/sh/parser.c projects/sv/bin/sh/redir.c projects/sv/bin/sh/sh.1 projects/sv/bin/sh/trap.c projects/sv/bin/sh/var.c projects/sv/bin/sh/var.h projects/sv/contrib/gcc/config/i386/freebsd.h projects/sv/etc/devd.conf projects/sv/etc/portsnap.conf projects/sv/etc/rc.d/devd projects/sv/etc/rc.d/ldconfig projects/sv/etc/rc.subr projects/sv/gnu/lib/libgcc/Makefile projects/sv/gnu/lib/libgomp/Makefile projects/sv/gnu/usr.bin/binutils/Makefile.inc0 projects/sv/gnu/usr.bin/binutils/ld/Makefile.mips projects/sv/gnu/usr.bin/binutils/libbfd/Makefile.mips projects/sv/gnu/usr.bin/cc/Makefile.inc projects/sv/gnu/usr.bin/cc/Makefile.tgt projects/sv/gnu/usr.bin/gdb/Makefile.inc projects/sv/gnu/usr.bin/gdb/libgdb/Makefile projects/sv/include/pthread.h projects/sv/lib/bind/config.mk projects/sv/lib/csu/amd64/crti.S projects/sv/lib/csu/amd64/crtn.S projects/sv/lib/csu/i386-elf/crt1_s.S projects/sv/lib/csu/i386-elf/crti.S projects/sv/lib/csu/i386-elf/crtn.S projects/sv/lib/libc/Makefile projects/sv/lib/libc/amd64/gen/_setjmp.S projects/sv/lib/libc/amd64/gen/fabs.S projects/sv/lib/libc/amd64/gen/modf.S projects/sv/lib/libc/amd64/gen/rfork_thread.S projects/sv/lib/libc/amd64/gen/setjmp.S projects/sv/lib/libc/amd64/gen/sigsetjmp.S projects/sv/lib/libc/amd64/stdlib/div.S projects/sv/lib/libc/amd64/stdlib/ldiv.S projects/sv/lib/libc/amd64/stdlib/lldiv.S projects/sv/lib/libc/amd64/string/bcmp.S projects/sv/lib/libc/amd64/string/bcopy.S projects/sv/lib/libc/amd64/string/bzero.S projects/sv/lib/libc/amd64/string/memcmp.S projects/sv/lib/libc/amd64/string/memmove.S projects/sv/lib/libc/amd64/string/memset.S projects/sv/lib/libc/amd64/string/strcat.S projects/sv/lib/libc/amd64/string/strcmp.S projects/sv/lib/libc/amd64/string/strcpy.S projects/sv/lib/libc/amd64/sys/brk.S projects/sv/lib/libc/amd64/sys/cerror.S projects/sv/lib/libc/amd64/sys/exect.S projects/sv/lib/libc/amd64/sys/getcontext.S projects/sv/lib/libc/amd64/sys/pipe.S projects/sv/lib/libc/amd64/sys/ptrace.S projects/sv/lib/libc/amd64/sys/reboot.S projects/sv/lib/libc/amd64/sys/sbrk.S projects/sv/lib/libc/amd64/sys/setlogin.S projects/sv/lib/libc/amd64/sys/sigreturn.S projects/sv/lib/libc/amd64/sys/vfork.S projects/sv/lib/libc/i386/gen/_ctx_start.S projects/sv/lib/libc/i386/gen/_setjmp.S projects/sv/lib/libc/i386/gen/fabs.S projects/sv/lib/libc/i386/gen/modf.S projects/sv/lib/libc/i386/gen/rfork_thread.S projects/sv/lib/libc/i386/gen/setjmp.S projects/sv/lib/libc/i386/gen/sigsetjmp.S projects/sv/lib/libc/i386/stdlib/div.S projects/sv/lib/libc/i386/stdlib/ldiv.S projects/sv/lib/libc/i386/string/bcmp.S projects/sv/lib/libc/i386/string/bcopy.S projects/sv/lib/libc/i386/string/bzero.S projects/sv/lib/libc/i386/string/ffs.S projects/sv/lib/libc/i386/string/index.S projects/sv/lib/libc/i386/string/memchr.S projects/sv/lib/libc/i386/string/memcmp.S projects/sv/lib/libc/i386/string/memcpy.S projects/sv/lib/libc/i386/string/memmove.S projects/sv/lib/libc/i386/string/memset.S projects/sv/lib/libc/i386/string/rindex.S projects/sv/lib/libc/i386/string/strcat.S projects/sv/lib/libc/i386/string/strchr.S projects/sv/lib/libc/i386/string/strcmp.S projects/sv/lib/libc/i386/string/strcpy.S projects/sv/lib/libc/i386/string/strncmp.S projects/sv/lib/libc/i386/string/strrchr.S projects/sv/lib/libc/i386/string/swab.S projects/sv/lib/libc/i386/string/wcschr.S projects/sv/lib/libc/i386/string/wcscmp.S projects/sv/lib/libc/i386/string/wcslen.S projects/sv/lib/libc/i386/string/wmemchr.S projects/sv/lib/libc/i386/sys/Ovfork.S projects/sv/lib/libc/i386/sys/brk.S projects/sv/lib/libc/i386/sys/cerror.S projects/sv/lib/libc/i386/sys/exect.S projects/sv/lib/libc/i386/sys/getcontext.S projects/sv/lib/libc/i386/sys/pipe.S projects/sv/lib/libc/i386/sys/ptrace.S projects/sv/lib/libc/i386/sys/reboot.S projects/sv/lib/libc/i386/sys/sbrk.S projects/sv/lib/libc/i386/sys/setlogin.S projects/sv/lib/libc/i386/sys/sigreturn.S projects/sv/lib/libc/i386/sys/syscall.S projects/sv/lib/libc/locale/mbrtowc.3 projects/sv/lib/libc/rpc/publickey.3 projects/sv/lib/libc/sys/Makefile.inc projects/sv/lib/libcompiler_rt/Makefile projects/sv/lib/libkvm/kvm_getloadavg.3 projects/sv/lib/libstand/Makefile projects/sv/lib/libthr/arch/amd64/amd64/_umtx_op_err.S projects/sv/lib/libthr/arch/i386/i386/_umtx_op_err.S projects/sv/lib/libthr/thread/Makefile.inc projects/sv/lib/libthr/thread/thr_cond.c projects/sv/lib/libthr/thread/thr_init.c projects/sv/lib/libthr/thread/thr_kern.c projects/sv/lib/libthr/thread/thr_list.c projects/sv/lib/libthr/thread/thr_mutex.c projects/sv/lib/libthr/thread/thr_private.h projects/sv/lib/libthr/thread/thr_umtx.c projects/sv/lib/libthr/thread/thr_umtx.h projects/sv/lib/libugidfw/ugidfw.c projects/sv/lib/msun/amd64/e_remainder.S projects/sv/lib/msun/amd64/e_remainderf.S projects/sv/lib/msun/amd64/e_remainderl.S projects/sv/lib/msun/amd64/e_sqrt.S projects/sv/lib/msun/amd64/e_sqrtf.S projects/sv/lib/msun/amd64/e_sqrtl.S projects/sv/lib/msun/amd64/s_llrint.S projects/sv/lib/msun/amd64/s_llrintf.S projects/sv/lib/msun/amd64/s_llrintl.S projects/sv/lib/msun/amd64/s_logbl.S projects/sv/lib/msun/amd64/s_lrint.S projects/sv/lib/msun/amd64/s_lrintf.S projects/sv/lib/msun/amd64/s_lrintl.S projects/sv/lib/msun/amd64/s_remquo.S projects/sv/lib/msun/amd64/s_remquof.S projects/sv/lib/msun/amd64/s_remquol.S projects/sv/lib/msun/amd64/s_rintl.S projects/sv/lib/msun/amd64/s_scalbn.S projects/sv/lib/msun/amd64/s_scalbnf.S projects/sv/lib/msun/amd64/s_scalbnl.S projects/sv/lib/msun/i387/e_exp.S projects/sv/lib/msun/i387/e_fmod.S projects/sv/lib/msun/i387/e_log.S projects/sv/lib/msun/i387/e_log10.S projects/sv/lib/msun/i387/e_log10f.S projects/sv/lib/msun/i387/e_logf.S projects/sv/lib/msun/i387/e_remainder.S projects/sv/lib/msun/i387/e_remainderf.S projects/sv/lib/msun/i387/e_remainderl.S projects/sv/lib/msun/i387/e_sqrt.S projects/sv/lib/msun/i387/e_sqrtf.S projects/sv/lib/msun/i387/e_sqrtl.S projects/sv/lib/msun/i387/s_ceil.S projects/sv/lib/msun/i387/s_ceilf.S projects/sv/lib/msun/i387/s_ceill.S projects/sv/lib/msun/i387/s_copysign.S projects/sv/lib/msun/i387/s_copysignf.S projects/sv/lib/msun/i387/s_copysignl.S projects/sv/lib/msun/i387/s_cos.S projects/sv/lib/msun/i387/s_finite.S projects/sv/lib/msun/i387/s_floor.S projects/sv/lib/msun/i387/s_floorf.S projects/sv/lib/msun/i387/s_floorl.S projects/sv/lib/msun/i387/s_llrint.S projects/sv/lib/msun/i387/s_llrintf.S projects/sv/lib/msun/i387/s_llrintl.S projects/sv/lib/msun/i387/s_logb.S projects/sv/lib/msun/i387/s_logbf.S projects/sv/lib/msun/i387/s_logbl.S projects/sv/lib/msun/i387/s_lrint.S projects/sv/lib/msun/i387/s_lrintf.S projects/sv/lib/msun/i387/s_lrintl.S projects/sv/lib/msun/i387/s_remquo.S projects/sv/lib/msun/i387/s_remquof.S projects/sv/lib/msun/i387/s_remquol.S projects/sv/lib/msun/i387/s_rint.S projects/sv/lib/msun/i387/s_rintf.S projects/sv/lib/msun/i387/s_rintl.S projects/sv/lib/msun/i387/s_scalbn.S projects/sv/lib/msun/i387/s_scalbnf.S projects/sv/lib/msun/i387/s_scalbnl.S projects/sv/lib/msun/i387/s_significand.S projects/sv/lib/msun/i387/s_significandf.S projects/sv/lib/msun/i387/s_sin.S projects/sv/lib/msun/i387/s_tan.S projects/sv/lib/msun/i387/s_trunc.S projects/sv/lib/msun/i387/s_truncf.S projects/sv/lib/msun/i387/s_truncl.S projects/sv/libexec/ftpd/ftpd.c projects/sv/libexec/rtld-elf/Makefile projects/sv/libexec/rtld-elf/amd64/Makefile.inc projects/sv/libexec/rtld-elf/amd64/reloc.c projects/sv/libexec/rtld-elf/amd64/rtld_start.S projects/sv/libexec/rtld-elf/arm/reloc.c projects/sv/libexec/rtld-elf/i386/Makefile.inc projects/sv/libexec/rtld-elf/i386/reloc.c projects/sv/libexec/rtld-elf/i386/rtld_start.S projects/sv/libexec/rtld-elf/ia64/reloc.c projects/sv/libexec/rtld-elf/mips/reloc.c projects/sv/libexec/rtld-elf/powerpc/reloc.c projects/sv/libexec/rtld-elf/powerpc64/reloc.c projects/sv/libexec/rtld-elf/powerpc64/rtld_start.S projects/sv/libexec/rtld-elf/rtld.1 projects/sv/libexec/rtld-elf/rtld.c projects/sv/libexec/rtld-elf/rtld.h projects/sv/libexec/rtld-elf/rtld_lock.c projects/sv/libexec/rtld-elf/rtld_lock.h projects/sv/libexec/rtld-elf/sparc64/reloc.c projects/sv/sbin/camcontrol/camcontrol.8 projects/sv/sbin/dumpfs/dumpfs.c projects/sv/sbin/hastd/parse.y projects/sv/sbin/ifconfig/ifmedia.c projects/sv/sbin/mount_nfs/mount_nfs.c projects/sv/sbin/newfs/mkfs.c projects/sv/sbin/newfs/newfs.8 projects/sv/sbin/newfs/newfs.c projects/sv/sbin/newfs/newfs.h projects/sv/sbin/shutdown/Makefile projects/sv/sbin/shutdown/shutdown.8 projects/sv/sbin/shutdown/shutdown.c projects/sv/sbin/tunefs/tunefs.8 projects/sv/sbin/tunefs/tunefs.c projects/sv/share/examples/etc/make.conf projects/sv/share/man/man1/builtin.1 projects/sv/share/man/man4/Makefile projects/sv/share/man/man4/altq.4 projects/sv/share/man/man4/miibus.4 projects/sv/share/man/man4/tcp.4 projects/sv/share/man/man4/vlan.4 projects/sv/share/man/man4/wi.4 projects/sv/share/man/man5/core.5 projects/sv/share/man/man9/BUS_SETUP_INTR.9 projects/sv/share/man/man9/Makefile projects/sv/share/man/man9/ithread.9 projects/sv/share/man/man9/mutex.9 projects/sv/share/man/man9/style.9 projects/sv/share/man/man9/swi.9 projects/sv/share/misc/committers-doc.dot projects/sv/share/misc/committers-src.dot projects/sv/share/mk/bsd.cpu.mk projects/sv/share/mk/bsd.endian.mk projects/sv/share/mk/bsd.lib.mk projects/sv/share/mk/bsd.own.mk projects/sv/share/mk/sys.mk projects/sv/sys/amd64/amd64/cpu_switch.S projects/sv/sys/amd64/amd64/exception.S projects/sv/sys/amd64/amd64/fpu.c projects/sv/sys/amd64/amd64/genassym.c projects/sv/sys/amd64/amd64/machdep.c projects/sv/sys/amd64/amd64/sys_machdep.c projects/sv/sys/amd64/amd64/vm_machdep.c projects/sv/sys/amd64/ia32/ia32_reg.c projects/sv/sys/amd64/ia32/ia32_signal.c projects/sv/sys/amd64/include/elf.h projects/sv/sys/amd64/include/pcb.h projects/sv/sys/amd64/linux32/linux32_machdep.c projects/sv/sys/amd64/linux32/linux32_sysvec.c projects/sv/sys/arm/at91/at91_st.c projects/sv/sys/arm/at91/at91rm9200.c projects/sv/sys/arm/at91/if_macb.c projects/sv/sys/arm/at91/uart_bus_at91usart.c projects/sv/sys/arm/at91/uart_cpu_at91rm9200usart.c projects/sv/sys/arm/at91/uart_dev_at91usart.c projects/sv/sys/arm/include/_limits.h projects/sv/sys/arm/include/elf.h projects/sv/sys/arm/include/pmap.h projects/sv/sys/arm/mv/gpio.c projects/sv/sys/arm/s3c2xx0/s3c24x0_clk.c projects/sv/sys/arm/xscale/ixp425/avila_gpio.c projects/sv/sys/boot/efi/libefi/efinet.c projects/sv/sys/boot/efi/libefi/efipart.c projects/sv/sys/boot/ficl/Makefile projects/sv/sys/boot/forth/loader.conf projects/sv/sys/boot/i386/Makefile.inc projects/sv/sys/boot/i386/boot2/Makefile projects/sv/sys/boot/i386/gptboot/Makefile projects/sv/sys/boot/i386/gptzfsboot/Makefile projects/sv/sys/boot/i386/zfsboot/Makefile projects/sv/sys/boot/pc98/Makefile.inc projects/sv/sys/boot/pc98/boot2/Makefile projects/sv/sys/boot/powerpc/Makefile projects/sv/sys/boot/zfs/Makefile projects/sv/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h projects/sv/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/sv/sys/compat/linux/linux_ioctl.c projects/sv/sys/compat/linux/linux_ioctl.h projects/sv/sys/conf/NOTES projects/sv/sys/conf/files projects/sv/sys/conf/files.powerpc projects/sv/sys/conf/kern.mk projects/sv/sys/conf/kern.pre.mk projects/sv/sys/conf/makeLINT.mk projects/sv/sys/conf/options.i386 projects/sv/sys/conf/options.powerpc projects/sv/sys/dev/acpica/acpi.c projects/sv/sys/dev/acpica/acpi_ec.c projects/sv/sys/dev/acpica/acpivar.h projects/sv/sys/dev/adlink/adlink.c projects/sv/sys/dev/ae/if_ae.c projects/sv/sys/dev/ae/if_aevar.h projects/sv/sys/dev/age/if_age.c projects/sv/sys/dev/age/if_agevar.h projects/sv/sys/dev/alc/if_alc.c projects/sv/sys/dev/alc/if_alcvar.h projects/sv/sys/dev/ale/if_ale.c projects/sv/sys/dev/ale/if_alevar.h projects/sv/sys/dev/bge/if_bge.c projects/sv/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c projects/sv/sys/dev/cxgb/ulp/tom/cxgb_ddp.c projects/sv/sys/dev/drm/via_dmablit.c projects/sv/sys/dev/if_ndis/if_ndis.c projects/sv/sys/dev/ispfw/asm_2322.h projects/sv/sys/dev/ispfw/asm_2400.h projects/sv/sys/dev/ispfw/asm_2500.h projects/sv/sys/dev/ixgbe/ixgbe.c projects/sv/sys/dev/ixgbe/ixgbe.h projects/sv/sys/dev/md/md.c projects/sv/sys/dev/mii/miidevs projects/sv/sys/dev/mii/nsgphy.c projects/sv/sys/dev/mmc/mmc.c projects/sv/sys/dev/mpt/mpt_cam.c projects/sv/sys/dev/mpt/mpt_pci.c projects/sv/sys/dev/msk/if_msk.c projects/sv/sys/dev/mwl/mwlhal.c projects/sv/sys/dev/mxge/if_mxge.c projects/sv/sys/dev/nfe/if_nfe.c projects/sv/sys/dev/nfe/if_nfevar.h projects/sv/sys/dev/pty/pty.c projects/sv/sys/dev/random/randomdev.c projects/sv/sys/dev/sound/pci/hda/hdac.c projects/sv/sys/dev/usb/controller/ehci_mv.c projects/sv/sys/dev/usb/serial/uplcom.c projects/sv/sys/dev/usb/usbdevs projects/sv/sys/dev/wpi/if_wpi.c projects/sv/sys/dev/xen/balloon/balloon.c projects/sv/sys/dev/xen/blkfront/blkfront.c projects/sv/sys/dev/xen/console/console.c projects/sv/sys/dev/xen/netfront/netfront.c projects/sv/sys/dev/xen/xenpci/evtchn.c projects/sv/sys/fs/nfs/nfs.h projects/sv/sys/fs/nfs/nfs_commonsubs.c projects/sv/sys/fs/nfs/nfs_var.h projects/sv/sys/fs/nfs/nfsdport.h projects/sv/sys/fs/nfs/nfsport.h projects/sv/sys/fs/nfsclient/nfs_clvfsops.c projects/sv/sys/fs/nfsclient/nfsmount.h projects/sv/sys/fs/nfsserver/nfs_nfsdport.c projects/sv/sys/fs/nfsserver/nfs_nfsdserv.c projects/sv/sys/fs/nfsserver/nfs_nfsdsocket.c projects/sv/sys/fs/nfsserver/nfs_nfsdstate.c projects/sv/sys/geom/geom_ctl.c projects/sv/sys/geom/geom_disk.c projects/sv/sys/geom/part/g_part.c projects/sv/sys/geom/part/g_part_ebr.c projects/sv/sys/geom/part/g_part_gpt.c projects/sv/sys/i386/conf/GENERIC projects/sv/sys/i386/conf/XBOX projects/sv/sys/i386/conf/XEN projects/sv/sys/i386/i386/sys_machdep.c projects/sv/sys/i386/include/_limits.h projects/sv/sys/i386/include/elf.h projects/sv/sys/i386/include/pcpu.h projects/sv/sys/i386/include/pmap.h projects/sv/sys/i386/include/segments.h projects/sv/sys/i386/include/xen/hypercall.h projects/sv/sys/i386/include/xen/xen-os.h projects/sv/sys/i386/include/xen/xenpmap.h projects/sv/sys/i386/include/xen/xenvar.h projects/sv/sys/i386/xen/clock.c projects/sv/sys/i386/xen/mp_machdep.c projects/sv/sys/i386/xen/pmap.c projects/sv/sys/i386/xen/xen_machdep.c projects/sv/sys/ia64/include/elf.h projects/sv/sys/kern/init_main.c projects/sv/sys/kern/kern_descrip.c projects/sv/sys/kern/kern_fork.c projects/sv/sys/kern/kern_jail.c projects/sv/sys/kern/kern_kthread.c projects/sv/sys/kern/kern_linker.c projects/sv/sys/kern/kern_resource.c projects/sv/sys/kern/kern_synch.c projects/sv/sys/kern/kern_timeout.c projects/sv/sys/kern/kern_umtx.c projects/sv/sys/kern/sched_4bsd.c projects/sv/sys/kern/sched_ule.c projects/sv/sys/kern/subr_autoconf.c projects/sv/sys/kern/subr_bus.c projects/sv/sys/kern/subr_devstat.c projects/sv/sys/kern/subr_log.c projects/sv/sys/kern/sys_pipe.c projects/sv/sys/kern/tty.c projects/sv/sys/kern/tty_tty.c projects/sv/sys/kern/uipc_cow.c projects/sv/sys/kern/vfs_bio.c projects/sv/sys/kern/vfs_subr.c projects/sv/sys/mips/cavium/octeon_machdep.c projects/sv/sys/mips/cavium/octeon_mp.c projects/sv/sys/mips/conf/SENTRY5 projects/sv/sys/mips/include/_limits.h projects/sv/sys/mips/include/cpufunc.h projects/sv/sys/mips/include/elf.h projects/sv/sys/mips/mips/machdep.c projects/sv/sys/mips/mips/mp_machdep.c projects/sv/sys/mips/rmi/dev/nlge/if_nlge.c projects/sv/sys/mips/rmi/dev/xlr/rge.c projects/sv/sys/mips/rmi/fmn.c projects/sv/sys/modules/Makefile projects/sv/sys/modules/aha/Makefile projects/sv/sys/modules/ahb/Makefile projects/sv/sys/modules/mii/Makefile projects/sv/sys/net/bpf_zerocopy.c projects/sv/sys/net/flowtable.c projects/sv/sys/net/if_llatbl.h projects/sv/sys/net/if_media.h projects/sv/sys/netinet/if_ether.c projects/sv/sys/netinet/in_pcb.c projects/sv/sys/netinet/ip_output.c projects/sv/sys/netinet/ipfw/ip_dummynet.c projects/sv/sys/netinet/sctp_asconf.c projects/sv/sys/netinet/sctp_bsd_addr.c projects/sv/sys/netinet/sctp_cc_functions.c projects/sv/sys/netinet/sctp_constants.h projects/sv/sys/netinet/sctp_indata.c projects/sv/sys/netinet/sctp_input.c projects/sv/sys/netinet/sctp_output.c projects/sv/sys/netinet/sctp_pcb.c projects/sv/sys/netinet/sctp_sysctl.h projects/sv/sys/netinet/sctp_timer.c projects/sv/sys/netinet/sctp_uio.h projects/sv/sys/netinet/sctp_usrreq.c projects/sv/sys/netinet/sctputil.c projects/sv/sys/netinet/tcp_input.c projects/sv/sys/netinet/tcp_lro.c projects/sv/sys/netinet/tcp_lro.h projects/sv/sys/netinet/tcp_output.c projects/sv/sys/netinet/tcp_reass.c projects/sv/sys/netinet/tcp_sack.c projects/sv/sys/netinet/tcp_subr.c projects/sv/sys/netinet/tcp_syncache.h projects/sv/sys/netinet/tcp_timer.c projects/sv/sys/netinet/tcp_usrreq.c projects/sv/sys/netinet/tcp_var.h projects/sv/sys/netinet/udp.h projects/sv/sys/netinet/udp_var.h projects/sv/sys/netinet6/in6_ifattach.c projects/sv/sys/netinet6/sctp6_usrreq.c projects/sv/sys/nfs/nfs_lock.c projects/sv/sys/nfs/nfs_mountcommon.h projects/sv/sys/nfsclient/nfs_vfsops.c projects/sv/sys/nfsclient/nfsmount.h projects/sv/sys/nfsserver/nfs.h projects/sv/sys/nfsserver/nfs_serv.c projects/sv/sys/nfsserver/nfs_srvsubs.c projects/sv/sys/nlm/nlm_advlock.c projects/sv/sys/nlm/nlm_prot_impl.c projects/sv/sys/pc98/pc98/machdep.c projects/sv/sys/powerpc/aim/nexus.c projects/sv/sys/powerpc/aim/vm_machdep.c projects/sv/sys/powerpc/conf/GENERIC64 projects/sv/sys/powerpc/conf/NOTES projects/sv/sys/powerpc/cpufreq/dfs.c projects/sv/sys/powerpc/cpufreq/pcr.c projects/sv/sys/powerpc/include/_limits.h projects/sv/sys/powerpc/include/elf.h projects/sv/sys/powerpc/include/pte.h projects/sv/sys/powerpc/ofw/ofw_real.c projects/sv/sys/powerpc/powermac/macgpio.c projects/sv/sys/powerpc/powermac/uninorth.c projects/sv/sys/powerpc/powerpc/intr_machdep.c projects/sv/sys/sparc64/include/asmacros.h projects/sv/sys/sparc64/include/cpufunc.h projects/sv/sys/sparc64/include/elf.h projects/sv/sys/sparc64/include/intr_machdep.h projects/sv/sys/sparc64/include/pmap.h projects/sv/sys/sparc64/include/tsb.h projects/sv/sys/sparc64/include/vmparam.h projects/sv/sys/sparc64/pci/apb.c projects/sv/sys/sparc64/pci/fire.c projects/sv/sys/sparc64/pci/ofw_pcib.c projects/sv/sys/sparc64/pci/psycho.c projects/sv/sys/sparc64/pci/schizo.c projects/sv/sys/sparc64/sbus/sbus.c projects/sv/sys/sparc64/sparc64/exception.S projects/sv/sys/sparc64/sparc64/genassym.c projects/sv/sys/sparc64/sparc64/intr_machdep.c projects/sv/sys/sparc64/sparc64/mp_machdep.c projects/sv/sys/sparc64/sparc64/pmap.c projects/sv/sys/sparc64/sparc64/support.S projects/sv/sys/sparc64/sparc64/tick.c projects/sv/sys/sparc64/sparc64/tlb.c projects/sv/sys/sparc64/sparc64/tsb.c projects/sv/sys/sun4v/include/elf.h projects/sv/sys/sys/_umtx.h projects/sv/sys/sys/bus.h projects/sv/sys/sys/copyright.h projects/sv/sys/sys/mount.h projects/sv/sys/sys/param.h projects/sv/sys/sys/priority.h projects/sv/sys/sys/sched.h projects/sv/sys/sys/umtx.h projects/sv/sys/ufs/ffs/ffs_alloc.c projects/sv/sys/ufs/ffs/ffs_softdep.c projects/sv/sys/ufs/ffs/ffs_vfsops.c projects/sv/sys/ufs/ffs/fs.h projects/sv/sys/ufs/ffs/softdep.h projects/sv/sys/ufs/ufs/ufs_inode.c projects/sv/sys/ufs/ufs/ufs_vnops.c projects/sv/sys/ufs/ufs/ufsmount.h projects/sv/sys/vm/swap_pager.c projects/sv/sys/vm/vm_contig.c projects/sv/sys/vm/vm_extern.h projects/sv/sys/vm/vm_fault.c projects/sv/sys/vm/vm_object.c projects/sv/sys/vm/vm_object.h projects/sv/sys/vm/vm_page.c projects/sv/sys/vm/vm_pageout.c projects/sv/sys/x86/x86/io_apic.c projects/sv/sys/xen/evtchn/evtchn.c projects/sv/tools/regression/acct/Makefile projects/sv/tools/regression/acct/pack.c projects/sv/tools/regression/acct/regress.t projects/sv/tools/regression/bin/sh/expansion/plus-minus1.0 projects/sv/tools/regression/usr.bin/sed/Makefile projects/sv/tools/tools/nanobsd/gateworks/common projects/sv/tools/tools/nanobsd/nanobsd.sh projects/sv/usr.bin/ar/ar.1 projects/sv/usr.bin/c89/c89.1 projects/sv/usr.bin/c99/c99.1 projects/sv/usr.bin/calendar/calendar.1 projects/sv/usr.bin/calendar/calendar.h projects/sv/usr.bin/calendar/calendars/calendar.freebsd projects/sv/usr.bin/calendar/parsedata.c projects/sv/usr.bin/gcore/gcore.1 projects/sv/usr.bin/lock/lock.c projects/sv/usr.bin/mail/mail.1 projects/sv/usr.bin/printf/printf.c projects/sv/usr.bin/sed/main.c projects/sv/usr.bin/tar/bsdtar.1 projects/sv/usr.bin/xlint/Makefile.inc projects/sv/usr.sbin/Makefile.mips projects/sv/usr.sbin/ancontrol/ancontrol.8 projects/sv/usr.sbin/cpucontrol/cpucontrol.c projects/sv/usr.sbin/fwcontrol/fwdv.c projects/sv/usr.sbin/fwcontrol/fwmpegts.c projects/sv/usr.sbin/newsyslog/newsyslog.c projects/sv/usr.sbin/pkg_install/add/main.c projects/sv/usr.sbin/rtadvd/Makefile projects/sv/usr.sbin/rtadvd/rtadvd.8 projects/sv/usr.sbin/rtadvd/rtadvd.c projects/sv/usr.sbin/rtprio/rtprio.c projects/sv/usr.sbin/sysinstall/devices.c projects/sv/usr.sbin/sysinstall/menus.c Directory Properties: projects/sv/ (props changed) projects/sv/cddl/contrib/opensolaris/ (props changed) projects/sv/contrib/bind9/ (props changed) projects/sv/contrib/binutils/ (props changed) projects/sv/contrib/bzip2/ (props changed) projects/sv/contrib/ee/ (props changed) projects/sv/contrib/expat/ (props changed) projects/sv/contrib/file/ (props changed) projects/sv/contrib/gdb/ (props changed) projects/sv/contrib/gdtoa/ (props changed) projects/sv/contrib/gnu-sort/ (props changed) projects/sv/contrib/groff/ (props changed) projects/sv/contrib/less/ (props changed) projects/sv/contrib/libpcap/ (props changed) projects/sv/contrib/llvm/ (props changed) projects/sv/contrib/llvm/tools/clang/ (props changed) projects/sv/contrib/ncurses/ (props changed) projects/sv/contrib/netcat/ (props changed) projects/sv/contrib/ntp/ (props changed) projects/sv/contrib/one-true-awk/ (props changed) projects/sv/contrib/openbsm/ (props changed) projects/sv/contrib/openpam/ (props changed) projects/sv/contrib/pf/ (props changed) projects/sv/contrib/sendmail/ (props changed) projects/sv/contrib/tcpdump/ (props changed) projects/sv/contrib/tcsh/ (props changed) projects/sv/contrib/top/ (props changed) projects/sv/contrib/top/install-sh (props changed) projects/sv/contrib/tzcode/stdtime/ (props changed) projects/sv/contrib/tzcode/zic/ (props changed) projects/sv/contrib/tzdata/ (props changed) projects/sv/contrib/wpa/ (props changed) projects/sv/contrib/xz/ (props changed) projects/sv/crypto/openssh/ (props changed) projects/sv/crypto/openssl/ (props changed) projects/sv/lib/libc/ (props changed) projects/sv/lib/libc/stdtime/ (props changed) projects/sv/lib/libutil/ (props changed) projects/sv/lib/libz/ (props changed) projects/sv/sbin/ (props changed) projects/sv/sbin/ipfw/ (props changed) projects/sv/share/mk/bsd.arch.inc.mk (props changed) projects/sv/share/zoneinfo/ (props changed) projects/sv/sys/ (props changed) projects/sv/sys/amd64/include/xen/ (props changed) projects/sv/sys/cddl/contrib/opensolaris/ (props changed) projects/sv/sys/contrib/dev/acpica/ (props changed) projects/sv/sys/contrib/octeon-sdk/ (props changed) projects/sv/sys/contrib/pf/ (props changed) projects/sv/sys/contrib/x86emu/ (props changed) projects/sv/usr.bin/calendar/ (props changed) projects/sv/usr.bin/csup/ (props changed) projects/sv/usr.bin/procstat/ (props changed) projects/sv/usr.sbin/zic/ (props changed) Modified: projects/sv/COPYRIGHT ============================================================================== --- projects/sv/COPYRIGHT Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/COPYRIGHT Sat Jan 8 01:15:32 2011 (r217138) @@ -4,7 +4,7 @@ The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (c) 1992-2010 The FreeBSD Project. All rights reserved. +Copyright (c) 1992-2011 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: projects/sv/Makefile ============================================================================== --- projects/sv/Makefile Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/Makefile Sat Jan 8 01:15:32 2011 (r217138) @@ -26,6 +26,7 @@ # delete-old-dirs - Delete obsolete directories. # delete-old-files - Delete obsolete files. # delete-old-libs - Delete obsolete libraries. +# targets - Print a list of supported TARGET/TARGET_ARCH pairs. # # This makefile is simple by design. The FreeBSD make automatically reads # the /usr/share/mk/sys.mk unless the -m argument is specified on the @@ -280,10 +281,10 @@ tinderbox: # with a reasonable chance of success, regardless of how old your # existing system is. # -.if make(universe) || make(universe_kernels) || make(tinderbox) +.if make(universe) || make(universe_kernels) || make(tinderbox) || make(targets) TARGETS?=amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v TARGET_ARCHES_arm?= arm armeb -TARGET_ARCHES_mips?= mipsel mipseb +TARGET_ARCHES_mips?= mipsel mipseb mips64el mips64eb TARGET_ARCHES_powerpc?= powerpc powerpc64 TARGET_ARCHES_pc98?= i386 TARGET_ARCHES_sun4v?= sparc64 @@ -291,6 +292,14 @@ TARGET_ARCHES_sun4v?= sparc64 TARGET_ARCHES_${target}?= ${target} .endfor +targets: + @echo "Supported TARGET/TARGET_ARCH pairs" +.for target in ${TARGETS} +.for target_arch in ${TARGET_ARCHES_${target}} + @echo " ${target}/${target_arch}" +.endfor +.endfor + .if defined(DOING_TINDERBOX) FAILFILE=tinderbox.failed MAKEFAIL=tee -a ${FAILFILE} @@ -350,8 +359,11 @@ KERNCONFS!= cd ${.CURDIR}/sys/${TARGET}/ universe_kernconfs: .for kernel in ${KERNCONFS} TARGET_ARCH_${kernel}!= cd ${.CURDIR}/sys/${TARGET}/conf && \ - config -m ${.CURDIR}/sys/${TARGET}/conf/${kernel} | \ - cut -f 2 + config -m ${.CURDIR}/sys/${TARGET}/conf/${kernel} 2> /dev/null | \ + grep -v WARNING: | cut -f 2 +.if empty(TARGET_ARCH_${kernel}) +.error "Target architecture for ${TARGET}/conf/${kernel} unknown. config(8) likely too old." +.endif universe_kernconfs: universe_kernconf_${TARGET}_${kernel} universe_kernconf_${TARGET}_${kernel}: @(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \ Modified: projects/sv/Makefile.inc1 ============================================================================== --- projects/sv/Makefile.inc1 Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/Makefile.inc1 Sat Jan 8 01:15:32 2011 (r217138) @@ -121,7 +121,7 @@ VERSION+= ${OSRELDATE} TARGET_ARCH= ${TARGET:S/pc98/i386/:S/sun4v/sparc64/:S/mips/mipsel/} .elif !defined(TARGET) && defined(TARGET_ARCH) && \ ${TARGET_ARCH} != ${MACHINE_ARCH} -TARGET= ${TARGET_ARCH:C/mipse[lb]/mips/:C/armeb/arm/} +TARGET= ${TARGET_ARCH:C/mips.*e[lb]/mips/:C/armeb/arm/} .endif # Legacy names, for a transition period mips:mips -> mipsel:mips .if defined(TARGET) && defined(TARGET_ARCH) && \ @@ -142,7 +142,7 @@ TARGET_ARCH=armeb TARGET?= ${MACHINE} TARGET_ARCH?= ${MACHINE_ARCH} -KNOWN_ARCHES?= amd64 arm armeb/arm i386 i386/pc98 ia64 mipsel/mips mipseb/mips powerpc powerpc64/powerpc sparc64 sparc64/sun4v +KNOWN_ARCHES?= amd64 arm armeb/arm i386 i386/pc98 ia64 mipsel/mips mipseb/mips mips64el/mips mips64eb/mips mipsn32el/mips mipsn32eb/mips powerpc powerpc64/powerpc sparc64 sparc64/sun4v .if ${TARGET} == ${TARGET_ARCH} _t= ${TARGET} .else Modified: projects/sv/Makefile.mips ============================================================================== --- projects/sv/Makefile.mips Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/Makefile.mips Sat Jan 8 01:15:32 2011 (r217138) @@ -1,5 +1,5 @@ # $FreeBSD$ -.if defined(TARGET_ABI) && ${TARGET_ABI} == "n64" +.if ${MACHINE_ARCH} != "mipsel" && ${MACHINE_ARCH} != "mipseb" MK_RESCUE=no .endif Modified: projects/sv/UPDATING ============================================================================== --- projects/sv/UPDATING Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/UPDATING Sat Jan 8 01:15:32 2011 (r217138) @@ -22,6 +22,27 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20110103: + If you are trying to run make universe on a -stable system, and you get + the following warning: +"Makefile", line 356: "Target architecture for i386/conf/GENERIC unknown. config(8) likely too old." + or something similar to it, then you must upgrade your -stable system + to 8.2-Release or newer (really, any time after r210146 7/15/2010 in + stable/8) or build the config from the latest stable/8 branch and + install it on your system. + + Prior to this date, building a current universe on 8-stable system from + between 7/15/2010 and 1/2/2011 would result in a weird shell parsing + error in the first kernel build phase. A new config on those old systems + will fix that problem for older versions of -current. + +20101228: + The TCP stack has been modified to allow Khelp modules to interact with + it via helper hook points and store per-connection data in the TCP + control block. Bump __FreeBSD_version to 900029. User space tools that + rely on the size of struct tcpcb in tcp_var.h (e.g. sockstat) need to + be recompiled. + 20101114: Generic IEEE 802.3 annex 31B full duplex flow control support has been added to mii(4) and bge(4), bce(4), msk(4), nfe(4) and stge(4) along Modified: projects/sv/bin/kill/kill.1 ============================================================================== --- projects/sv/bin/kill/kill.1 Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/kill/kill.1 Sat Jan 8 01:15:32 2011 (r217138) @@ -134,6 +134,7 @@ Terminate the process group with PGID 11 .Xr csh 1 , .Xr killall 1 , .Xr ps 1 , +.Xr sh 1 , .Xr kill 2 , .Xr sigaction 2 .Sh STANDARDS Modified: projects/sv/bin/kill/kill.c ============================================================================== --- projects/sv/bin/kill/kill.c Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/kill/kill.c Sat Jan 8 01:15:32 2011 (r217138) @@ -49,6 +49,12 @@ __FBSDID("$FreeBSD$"); #include #include +#ifdef SHELL +#define main killcmd +#include "bltin/bltin.h" +#include "error.h" +#endif + static void nosig(const char *); static void printsignals(FILE *); static int signame_to_signum(const char *); @@ -75,16 +81,16 @@ main(int argc, char *argv[]) usage(); numsig = strtol(*argv, &ep, 10); if (!**argv || *ep) - errx(1, "illegal signal number: %s", *argv); + errx(2, "illegal signal number: %s", *argv); if (numsig >= 128) numsig -= 128; if (numsig <= 0 || numsig >= sys_nsig) nosig(*argv); printf("%s\n", sys_signame[numsig]); - exit(0); + return (0); } printsignals(stdout); - exit(0); + return (0); } if (!strcmp(*argv, "-s")) { @@ -107,7 +113,7 @@ main(int argc, char *argv[]) } else if (isdigit(**argv)) { numsig = strtol(*argv, &ep, 10); if (!**argv || *ep) - errx(1, "illegal signal number: %s", *argv); + errx(2, "illegal signal number: %s", *argv); if (numsig < 0) nosig(*argv); } else @@ -122,16 +128,23 @@ main(int argc, char *argv[]) usage(); for (errors = 0; argc; argc--, argv++) { - pid = strtol(*argv, &ep, 10); - if (!**argv || *ep) - errx(1, "illegal process id: %s", *argv); - else if (kill(pid, numsig) == -1) { +#ifdef SHELL + if (**argv == '%') + pid = getjobpgrp(*argv); + else +#endif + { + pid = strtol(*argv, &ep, 10); + if (!**argv || *ep) + errx(2, "illegal process id: %s", *argv); + } + if (kill(pid, numsig) == -1) { warn("%s", *argv); errors = 1; } } - exit(errors); + return (errors); } static int @@ -154,7 +167,11 @@ nosig(const char *name) warnx("unknown signal %s; valid signals:", name); printsignals(stderr); - exit(1); +#ifdef SHELL + error(NULL); +#else + exit(2); +#endif } static void @@ -180,5 +197,9 @@ usage(void) " kill -l [exit_status]", " kill -signal_name pid ...", " kill -signal_number pid ..."); - exit(1); +#ifdef SHELL + error(NULL); +#else + exit(2); +#endif } Modified: projects/sv/bin/setfacl/setfacl.c ============================================================================== --- projects/sv/bin/setfacl/setfacl.c Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/setfacl/setfacl.c Sat Jan 8 01:15:32 2011 (r217138) @@ -201,12 +201,14 @@ main(int argc, char *argv[]) if (stat(file->filename, &sb) == -1) { warn("%s: stat() failed", file->filename); + carried_error++; continue; } if (acl_type == ACL_TYPE_DEFAULT && S_ISDIR(sb.st_mode) == 0) { warnx("%s: default ACL may only be set on a directory", file->filename); + carried_error++; continue; } @@ -218,6 +220,7 @@ main(int argc, char *argv[]) if (acl_type == ACL_TYPE_DEFAULT) { warnx("%s: there are no default entries " "in NFSv4 ACLs", file->filename); + carried_error++; continue; } acl_type = ACL_TYPE_NFS4; @@ -240,6 +243,7 @@ main(int argc, char *argv[]) else warn("%s: acl_get_file() failed", file->filename); + carried_error++; continue; } Modified: projects/sv/bin/sh/Makefile ============================================================================== --- projects/sv/bin/sh/Makefile Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/Makefile Sat Jan 8 01:15:32 2011 (r217138) @@ -4,7 +4,7 @@ PROG= sh INSTALLFLAGS= -S SHSRCS= alias.c arith.y arith_lex.l cd.c echo.c error.c eval.c exec.c expand.c \ - histedit.c input.c jobs.c mail.c main.c memalloc.c miscbltin.c \ + histedit.c input.c jobs.c kill.c mail.c main.c memalloc.c miscbltin.c \ mystring.c options.c output.c parser.c printf.c redir.c show.c \ test.c trap.c var.c GENSRCS= builtins.c init.c nodes.c syntax.c @@ -26,6 +26,7 @@ WARNS?= 2 WFORMAT=0 .PATH: ${.CURDIR}/bltin \ + ${.CURDIR}/../kill \ ${.CURDIR}/../test \ ${.CURDIR}/../../usr.bin/printf Modified: projects/sv/bin/sh/alias.c ============================================================================== --- projects/sv/bin/sh/alias.c Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/alias.c Sat Jan 8 01:15:32 2011 (r217138) @@ -246,7 +246,7 @@ aliascmd(int argc, char **argv) while ((n = *++argv) != NULL) { if ((v = strchr(n+1, '=')) == NULL) /* n+1: funny ksh stuff */ if ((ap = lookupalias(n, 0)) == NULL) { - outfmt(out2, "alias: %s not found\n", n); + warning("%s not found", n); ret = 1; } else printalias(ap); Modified: projects/sv/bin/sh/bltin/bltin.h ============================================================================== --- projects/sv/bin/sh/bltin/bltin.h Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/bltin/bltin.h Sat Jan 8 01:15:32 2011 (r217138) @@ -43,6 +43,7 @@ #include "../mystring.h" #ifdef SHELL #include "../output.h" +#define FILE struct output #undef stdout #define stdout out1 #undef stderr @@ -57,11 +58,8 @@ #define fwrite(ptr, size, nmemb, file) outbin(ptr, (size) * (nmemb), file) #define fflush flushout #define INITARGS(argv) -#define warnx(...) do { \ - out2fmt_flush("%s: ", commandname); \ - out2fmt_flush(__VA_ARGS__); \ - out2fmt_flush("\n"); \ - } while (0) +#define warnx warning +#define warn(fmt, ...) warning(fmt ": %s", __VA_ARGS__, strerror(errno)) #define errx(exitstatus, ...) error(__VA_ARGS__) #else @@ -71,8 +69,11 @@ #define INITARGS(argv) if ((commandname = argv[0]) == NULL) {fputs("Argc is zero\n", stderr); exit(2);} else #endif +#include + pointer stalloc(int); void error(const char *, ...) __printf0like(1, 2); +pid_t getjobpgrp(char *); int echocmd(int, char **); int testcmd(int, char **); Modified: projects/sv/bin/sh/builtins.def ============================================================================== --- projects/sv/bin/sh/builtins.def Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/builtins.def Sat Jan 8 01:15:32 2011 (r217138) @@ -70,6 +70,7 @@ hashcmd hash histcmd -h fc jobidcmd jobid jobscmd jobs +killcmd kill localcmd local printfcmd printf pwdcmd pwd Modified: projects/sv/bin/sh/cd.c ============================================================================== --- projects/sv/bin/sh/cd.c Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/cd.c Sat Jan 8 01:15:32 2011 (r217138) @@ -224,7 +224,7 @@ cdphysical(char *dest) } p = findcwd(NULL); if (p == NULL) - out2fmt_flush("cd: warning: failed to get name of current directory\n"); + warning("warning: failed to get name of current directory"); updatepwd(p); INTON; return (0); Modified: projects/sv/bin/sh/error.c ============================================================================== --- projects/sv/bin/sh/error.c Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/error.c Sat Jan 8 01:15:32 2011 (r217138) @@ -134,6 +134,26 @@ onint(void) } +static void +vwarning(const char *msg, va_list ap) +{ + if (commandname) + outfmt(out2, "%s: ", commandname); + doformat(out2, msg, ap); + out2fmt_flush("\n"); +} + + +void +warning(const char *msg, ...) +{ + va_list ap; + va_start(ap, msg); + vwarning(msg, ap); + va_end(ap); +} + + /* * Exverror is called to raise the error exception. If the first argument * is not NULL then error prints an error message using printf style @@ -158,12 +178,8 @@ exverror(int cond, const char *msg, va_l else TRACE(("exverror(%d, NULL) pid=%d\n", cond, getpid())); #endif - if (msg) { - if (commandname) - outfmt(out2, "%s: ", commandname); - doformat(out2, msg, ap); - out2c('\n'); - } + if (msg) + vwarning(msg, ap); flushall(); exraise(cond); } Modified: projects/sv/bin/sh/error.h ============================================================================== --- projects/sv/bin/sh/error.h Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/error.h Sat Jan 8 01:15:32 2011 (r217138) @@ -80,6 +80,7 @@ extern volatile sig_atomic_t intpending; void exraise(int) __dead2; void onint(void); +void warning(const char *, ...) __printflike(1, 2); void error(const char *, ...) __printf0like(1, 2) __dead2; void exerror(int, const char *, ...) __printf0like(2, 3) __dead2; Modified: projects/sv/bin/sh/eval.c ============================================================================== --- projects/sv/bin/sh/eval.c Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/eval.c Sat Jan 8 01:15:32 2011 (r217138) @@ -94,6 +94,7 @@ static void evalsubshell(union node *, i static void evalredir(union node *, int); static void expredir(union node *); static void evalpipe(union node *); +static int is_valid_fast_cmdsubst(union node *n); static void evalcommand(union node *, int, struct backcmd *); static void prehash(union node *); @@ -565,6 +566,19 @@ evalpipe(union node *n) +static int +is_valid_fast_cmdsubst(union node *n) +{ + union node *argp; + + if (n->type != NCMD) + return 0; + for (argp = n->ncmd.args ; argp ; argp = argp->narg.next) + if (expandhassideeffects(argp->narg.text)) + return 0; + return 1; +} + /* * Execute a command inside back quotes. If it's a builtin command, we * want to save its output in a block obtained from malloc. Otherwise @@ -578,6 +592,8 @@ evalbackcmd(union node *n, struct backcm int pip[2]; struct job *jp; struct stackmark smark; /* unnecessary */ + struct jmploc jmploc; + struct jmploc *savehandler; setstackmark(&smark); result->fd = -1; @@ -588,9 +604,21 @@ evalbackcmd(union node *n, struct backcm exitstatus = 0; goto out; } - if (n->type == NCMD) { + if (is_valid_fast_cmdsubst(n)) { exitstatus = oexitstatus; - evalcommand(n, EV_BACKCMD, result); + savehandler = handler; + if (setjmp(jmploc.loc)) { + if (exception == EXERROR || exception == EXEXEC) + exitstatus = 2; + else if (exception != 0) { + handler = savehandler; + longjmp(handler->loc, 1); + } + } else { + handler = &jmploc; + evalcommand(n, EV_BACKCMD, result); + } + handler = savehandler; } else { exitstatus = 0; if (pipe(pip) < 0) @@ -615,10 +643,35 @@ out: result->fd, result->buf, result->nleft, result->jp)); } - +/* + * Check if a builtin can safely be executed in the same process, + * even though it should be in a subshell (command substitution). + * Note that jobid, jobs, times and trap can show information not + * available in a child process; this is deliberate. + * The arguments should already have been expanded. + */ +static int +safe_builtin(int idx, int argc, char **argv) +{ + if (idx == BLTINCMD || idx == COMMANDCMD || idx == ECHOCMD || + idx == FALSECMD || idx == JOBIDCMD || idx == JOBSCMD || + idx == KILLCMD || idx == PRINTFCMD || idx == PWDCMD || + idx == TESTCMD || idx == TIMESCMD || idx == TRUECMD || + idx == TYPECMD) + return (1); + if (idx == EXPORTCMD || idx == TRAPCMD || idx == ULIMITCMD || + idx == UMASKCMD) + return (argc <= 1 || (argc == 2 && argv[1][0] == '-')); + if (idx == SETCMD) + return (argc <= 1 || (argc == 2 && (argv[1][0] == '-' || + argv[1][0] == '+') && argv[1][1] == 'o' && + argv[1][2] == '\0')); + return (0); +} /* * Execute a simple command. + * Note: This may or may not return if (flags & EV_EXIT). */ static void @@ -655,6 +708,7 @@ evalcommand(union node *cmd, int flags, arglist.lastp = &arglist.list; varlist.lastp = &varlist.list; varflag = 1; + jp = NULL; do_clearcmdentry = 0; oexitstatus = exitstatus; exitstatus = 0; @@ -833,10 +887,8 @@ evalcommand(union node *cmd, int flags, || ((cmdentry.cmdtype == CMDNORMAL || cmdentry.cmdtype == CMDUNKNOWN) && ((flags & EV_EXIT) == 0 || have_traps())) || ((flags & EV_BACKCMD) != 0 - && (cmdentry.cmdtype != CMDBUILTIN - || cmdentry.u.index == CDCMD - || cmdentry.u.index == DOTCMD - || cmdentry.u.index == EVALCMD))) { + && (cmdentry.cmdtype != CMDBUILTIN || + !safe_builtin(cmdentry.u.index, argc, argv)))) { jp = makejob(cmd, 1); mode = cmd->ncmd.backgnd; if (flags & EV_BACKCMD) { @@ -915,7 +967,7 @@ evalcommand(union node *cmd, int flags, evalskip = 0; skipcount = 0; } - if (flags & EV_EXIT) + if (jp) exitshell(exitstatus); } else if (cmdentry.cmdtype == CMDBUILTIN) { #ifdef DEBUG @@ -947,8 +999,7 @@ evalcommand(union node *cmd, int flags, */ if (argc == 0 && !(flags & EV_BACKCMD)) cmdentry.special = 1; - if (cmdentry.special) - listsetvar(cmdenviron); + listsetvar(cmdenviron, cmdentry.special ? 0 : VNOSET); if (argc > 0) bltinsetlocale(); commandname = argv[0]; @@ -964,13 +1015,12 @@ cmddone: out1 = &output; out2 = &errout; freestdout(); + handler = savehandler; if (e != EXSHELLPROC) { commandname = savecmdname; - if (flags & EV_EXIT) { + if (jp) exitshell(exitstatus); - } } - handler = savehandler; if (flags == EV_BACKCMD) { backcmd->buf = memout.buf; backcmd->nleft = memout.nextc - memout.buf; Modified: projects/sv/bin/sh/exec.c ============================================================================== --- projects/sv/bin/sh/exec.c Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/exec.c Sat Jan 8 01:15:32 2011 (r217138) @@ -190,9 +190,8 @@ padvance(const char **path, const char * for (p = start; *p && *p != ':' && *p != '%'; p++) ; /* nothing */ len = p - start + strlen(name) + 2; /* "2" is for '/' and '\0' */ - while (stackblocksize() < len) - growstackblock(); - q = stackblock(); + STARTSTACKSTR(q); + CHECKSTRSPACE(len, q); if (p != start) { memcpy(q, start, p - start); q += p - start; Modified: projects/sv/bin/sh/expand.c ============================================================================== --- projects/sv/bin/sh/expand.c Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/expand.c Sat Jan 8 01:15:32 2011 (r217138) @@ -502,13 +502,14 @@ expbackq(union node *cmd, int quoted, in if (lastc == '\n') { nnl++; } else { + CHECKSTRSPACE(nnl + 2, dest); while (nnl > 0) { nnl--; - STPUTC('\n', dest); + USTPUTC('\n', dest); } if (quotes && syntax[(int)lastc] == CCTL) - STPUTC(CTLESC, dest); - STPUTC(lastc, dest); + USTPUTC(CTLESC, dest); + USTPUTC(lastc, dest); } } } @@ -1569,6 +1570,78 @@ cvtnum(int num, char *buf) } /* + * Check statically if expanding a string may have side effects. + */ +int +expandhassideeffects(const char *p) +{ + int c; + int arinest; + + arinest = 0; + while ((c = *p++) != '\0') { + switch (c) { + case CTLESC: + p++; + break; + case CTLVAR: + c = *p++; + /* Expanding $! sets the job to remembered. */ + if (*p == '!') + return 1; + if ((c & VSTYPE) == VSASSIGN) + return 1; + /* + * If we are in arithmetic, the parameter may contain + * '=' which may cause side effects. Exceptions are + * the length of a parameter and $$, $# and $? which + * are always numeric. + */ + if ((c & VSTYPE) == VSLENGTH) { + while (*p != '=') + p++; + p++; + break; + } + if ((*p == '$' || *p == '#' || *p == '?') && + p[1] == '=') { + p += 2; + break; + } + if (arinest > 0) + return 1; + break; + case CTLBACKQ: + case CTLBACKQ | CTLQUOTE: + if (arinest > 0) + return 1; + break; + case CTLARI: + arinest++; + break; + case CTLENDARI: + arinest--; + break; + case '=': + if (*p == '=') { + /* Allow '==' operator. */ + p++; + continue; + } + if (arinest > 0) + return 1; + break; + case '!': case '<': case '>': + /* Allow '!=', '<=', '>=' operators. */ + if (*p == '=') + p++; + break; + } + } + return 0; +} + +/* * Do most of the work for wordexp(3). */ Modified: projects/sv/bin/sh/expand.h ============================================================================== --- projects/sv/bin/sh/expand.h Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/expand.h Sat Jan 8 01:15:32 2011 (r217138) @@ -63,4 +63,5 @@ void expari(int); int patmatch(const char *, const char *, int); void rmescapes(char *); int casematch(union node *, const char *); +int expandhassideeffects(const char *); int wordexpcmd(int, char **); Modified: projects/sv/bin/sh/histedit.c ============================================================================== --- projects/sv/bin/sh/histedit.c Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/histedit.c Sat Jan 8 01:15:32 2011 (r217138) @@ -232,6 +232,7 @@ histcmd(int argc, char **argv) } argc -= optind, argv += optind; + savehandler = handler; /* * If executing... */ @@ -242,7 +243,6 @@ histcmd(int argc, char **argv) * Catch interrupts to reset active counter and * cleanup temp files. */ - savehandler = handler; if (setjmp(jmploc.loc)) { active = 0; if (editfile) @@ -399,6 +399,7 @@ histcmd(int argc, char **argv) --active; if (displayhist) displayhist = 0; + handler = savehandler; return 0; } Modified: projects/sv/bin/sh/jobs.c ============================================================================== --- projects/sv/bin/sh/jobs.c Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/jobs.c Sat Jan 8 01:15:32 2011 (r217138) @@ -632,6 +632,14 @@ currentjob: if ((jp = getcurjob(NULL)) = } +pid_t +getjobpgrp(char *name) +{ + struct job *jp; + + jp = getjob(name); + return -jp->ps[0].pid; +} /* * Return a new job structure, Modified: projects/sv/bin/sh/memalloc.c ============================================================================== --- projects/sv/bin/sh/memalloc.c Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/memalloc.c Sat Jan 8 01:15:32 2011 (r217138) @@ -127,7 +127,7 @@ static struct stack_block *stackp; static struct stackmark *markp; char *stacknxt; int stacknleft; -int sstrnleft; +char *sstrend; static void @@ -146,6 +146,7 @@ stnewblock(int nbytes) sp->prev = stackp; stacknxt = SPACE(sp); stacknleft = allocsize - (stacknxt - (char*)sp); + sstrend = stacknxt + stacknleft; stackp = sp; INTON; } @@ -204,6 +205,7 @@ popstackmark(struct stackmark *mark) } stacknxt = mark->stacknxt; stacknleft = mark->stacknleft; + sstrend = stacknxt + stacknleft; INTON; } @@ -218,8 +220,8 @@ popstackmark(struct stackmark *mark) * part of the block that has been used. */ -void -growstackblock(void) +static void +growstackblock(int min) { char *p; int newlen; @@ -229,8 +231,15 @@ growstackblock(void) struct stack_block *oldstackp; struct stackmark *xmark; - newlen = (stacknleft == 0) ? MINSIZE : stacknleft * 2 + 100; - newlen = ALIGN(newlen); + if (min < stacknleft) + min = stacknleft; + if (min >= INT_MAX / 2 - ALIGN(sizeof(struct stack_block))) + error("Out of space"); + min += stacknleft; + min += ALIGN(sizeof(struct stack_block)); + newlen = 512; + while (newlen < min) + newlen <<= 1; oldspace = stacknxt; oldlen = stacknleft; @@ -243,6 +252,7 @@ growstackblock(void) stackp = sp; stacknxt = SPACE(sp); stacknleft = newlen - (stacknxt - (char*)sp); + sstrend = stacknxt + stacknleft; /* * Stack marks pointing to the start of the old block @@ -257,6 +267,7 @@ growstackblock(void) } INTON; } else { + newlen -= ALIGN(sizeof(struct stack_block)); p = stalloc(newlen); if (oldlen != 0) memcpy(p, oldspace, oldlen); @@ -295,10 +306,9 @@ grabstackblock(int len) */ static char * -growstrstackblock(int n) +growstrstackblock(int n, int min) { - growstackblock(); - sstrnleft = stackblocksize() - n; + growstackblock(min); return stackblock() + n; } @@ -308,7 +318,7 @@ growstackstr(void) int len; len = stackblocksize(); - return growstrstackblock(len); + return (growstrstackblock(len, 0)); } @@ -317,33 +327,21 @@ growstackstr(void) */ char * -makestrspace(void) +makestrspace(int min, char *p) { int len; - len = stackblocksize() - sstrnleft; - return growstrstackblock(len); -} - - - -void -ungrabstackstr(char *s, char *p) -{ - stacknleft += stacknxt - s; - stacknxt = s; - sstrnleft = stacknleft - (p - s); + len = p - stackblock(); + return (growstrstackblock(len, min)); } char * stputbin(const char *data, int len, char *p) { - int i; - - for (i = 0; i < len; i++) - STPUTC(data[i], p); - return (p); + CHECKSTRSPACE(len, p); + memcpy(p, data, len); + return (p + len); } char * Modified: projects/sv/bin/sh/memalloc.h ============================================================================== --- projects/sv/bin/sh/memalloc.h Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/memalloc.h Sat Jan 8 01:15:32 2011 (r217138) @@ -45,7 +45,7 @@ struct stackmark { extern char *stacknxt; extern int stacknleft; -extern int sstrnleft; +extern char *sstrend; pointer ckmalloc(size_t); pointer ckrealloc(pointer, int); @@ -55,11 +55,9 @@ pointer stalloc(int); void stunalloc(pointer); void setstackmark(struct stackmark *); void popstackmark(struct stackmark *); -void growstackblock(void); void grabstackblock(int); char *growstackstr(void); -char *makestrspace(void); -void ungrabstackstr(char *, char *); +char *makestrspace(int, char *); char *stputbin(const char *data, int len, char *p); char *stputs(const char *data, char *p); @@ -67,10 +65,10 @@ char *stputs(const char *data, char *p); #define stackblock() stacknxt #define stackblocksize() stacknleft -#define STARTSTACKSTR(p) p = stackblock(), sstrnleft = stackblocksize() -#define STPUTC(c, p) (--sstrnleft >= 0? (*p++ = (c)) : (p = growstackstr(), --sstrnleft, *p++ = (c))) -#define CHECKSTRSPACE(n, p) { if (sstrnleft < n) p = makestrspace(); } -#define USTPUTC(c, p) (--sstrnleft, *p++ = (c)) +#define STARTSTACKSTR(p) p = stackblock() +#define STPUTC(c, p) do { if (p == sstrend) p = growstackstr(); *p++ = (c); } while(0) +#define CHECKSTRSPACE(n, p) { if (sstrend - p < n) p = makestrspace(n, p); } +#define USTPUTC(c, p) (*p++ = (c)) /* * STACKSTRNUL's use is where we want to be able to turn a stack * (non-sentinel, character counting string) into a C string, @@ -78,10 +76,11 @@ char *stputs(const char *data, char *p); * Note: Because of STACKSTRNUL's semantics, STACKSTRNUL cannot be used * on a stack that will grabstackstr()ed. */ -#define STACKSTRNUL(p) (sstrnleft == 0? (p = growstackstr(), *p = '\0') : (*p = '\0')) -#define STUNPUTC(p) (++sstrnleft, --p) +#define STACKSTRNUL(p) (p == sstrend ? (p = growstackstr(), *p = '\0') : (*p = '\0')) +#define STUNPUTC(p) (--p) #define STTOPC(p) p[-1] -#define STADJUST(amount, p) (p += (amount), sstrnleft -= (amount)) -#define grabstackstr(p) stalloc(stackblocksize() - sstrnleft) +#define STADJUST(amount, p) (p += (amount)) +#define grabstackstr(p) stalloc((char *)p - stackblock()) +#define ungrabstackstr(s, p) stunalloc((s)) #define STPUTBIN(s, len, p) p = stputbin((s), (len), p) #define STPUTS(s, p) p = stputs((s), p) Modified: projects/sv/bin/sh/parser.c ============================================================================== --- projects/sv/bin/sh/parser.c Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/parser.c Sat Jan 8 01:15:32 2011 (r217138) @@ -1093,9 +1093,8 @@ done: popfile(); tokpushback = 0; } - while (stackblocksize() <= savelen) - growstackblock(); STARTSTACKSTR(out); + CHECKSTRSPACE(savelen + 1, out); INTOFF; if (str) { memcpy(out, str, savelen); Modified: projects/sv/bin/sh/redir.c ============================================================================== --- projects/sv/bin/sh/redir.c Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/redir.c Sat Jan 8 01:15:32 2011 (r217138) @@ -155,6 +155,7 @@ openredirect(union node *redir, char mem int fd = redir->nfile.fd; char *fname; int f; + int e; /* * We suppress interrupts so that we won't leave open file @@ -173,7 +174,11 @@ openredirect(union node *redir, char mem error("cannot open %s: %s", fname, strerror(errno)); movefd: if (f != fd) { - dup2(f, fd); + if (dup2(f, fd) == -1) { + e = errno; + close(f); + error("%d: %s", fd, strerror(e)); + } close(f); } break; Modified: projects/sv/bin/sh/sh.1 ============================================================================== --- projects/sv/bin/sh/sh.1 Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/sh.1 Sat Jan 8 01:15:32 2011 (r217138) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd December 3, 2010 +.Dd December 21, 2010 .Dt SH 1 .Os .Sh NAME @@ -456,9 +456,10 @@ would become Aliases provide a convenient way for naive users to create shorthands for commands without having to learn how to create functions with arguments. -They can also be -used to create lexically obscure code. -This use is discouraged. +Using aliases in scripts is discouraged +because the command that defines them must be executed +before the code that uses them is parsed. +This is fragile and not portable. .Pp An alias name may be escaped in a command line, so that it is not replaced by its alias value, by using quoting characters within or @@ -2049,6 +2050,10 @@ If the .Fl s option is specified, only the PIDs of the job commands are printed, one per line. +.It Ic kill +A built-in equivalent of +.Xr kill 1 +that additionally supports sending signals to jobs. .It Ic local Oo Ar variable ... Oc Op Fl See the .Sx Functions @@ -2477,6 +2482,7 @@ will return the argument. .Xr echo 1 , .Xr ed 1 , .Xr emacs 1 , +.Xr kill 1 , .Xr printf 1 , .Xr pwd 1 , .Xr test 1 , Modified: projects/sv/bin/sh/trap.c ============================================================================== --- projects/sv/bin/sh/trap.c Sat Jan 8 01:11:14 2011 (r217137) +++ projects/sv/bin/sh/trap.c Sat Jan 8 01:15:32 2011 (r217138) @@ -185,7 +185,7 @@ trapcmd(int argc, char **argv) } while (*argv) { if ((signo = sigstring_to_signum(*argv)) == -1) { - out2fmt_flush("trap: bad signal %s\n", *argv); + warning("bad signal %s", *argv); *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***