From owner-svn-src-projects@FreeBSD.ORG Wed Feb 9 19:57:01 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 33A97106564A; Wed, 9 Feb 2011 19:57:01 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1EBC48FC1C; Wed, 9 Feb 2011 19:57:01 +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 p19Jv1Vu095724; Wed, 9 Feb 2011 19:57:01 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19Jv0lf095707; Wed, 9 Feb 2011 19:57:00 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201102091957.p19Jv0lf095707@svn.freebsd.org> From: Dimitry Andric Date: Wed, 9 Feb 2011 19:57:00 +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: r218496 - in projects/binutils-2.17: . bin/kill bin/pkill bin/sh contrib/bind9 contrib/bind9/bin/check contrib/bind9/bin/dig contrib/bind9/bin/dnssec contrib/bind9/bin/named contrib/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: Wed, 09 Feb 2011 19:57:01 -0000 Author: dim Date: Wed Feb 9 19:57:00 2011 New Revision: 218496 URL: http://svn.freebsd.org/changeset/base/218496 Log: Sync: merge r218200 through r218495 from ^/head. Added: projects/binutils-2.17/bin/sh/arith_yacc.c - copied unchanged from r218495, head/bin/sh/arith_yacc.c projects/binutils-2.17/bin/sh/arith_yacc.h - copied unchanged from r218495, head/bin/sh/arith_yacc.h projects/binutils-2.17/bin/sh/arith_yylex.c - copied unchanged from r218495, head/bin/sh/arith_yylex.c projects/binutils-2.17/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.html - copied unchanged from r218495, head/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.html projects/binutils-2.17/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.pdf - copied unchanged from r218495, head/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.pdf projects/binutils-2.17/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.txt - copied unchanged from r218495, head/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.txt projects/binutils-2.17/lib/libthr/thread/thr_getthreadid_np.c - copied unchanged from r218495, head/lib/libthr/thread/thr_getthreadid_np.c projects/binutils-2.17/share/man/man3/pthread_getthreadid_np.3 - copied unchanged from r218495, head/share/man/man3/pthread_getthreadid_np.3 projects/binutils-2.17/tools/regression/bin/sh/errors/bad-binary1.126 - copied unchanged from r218495, head/tools/regression/bin/sh/errors/bad-binary1.126 projects/binutils-2.17/tools/regression/bin/sh/execution/hash1.0 - copied unchanged from r218495, head/tools/regression/bin/sh/execution/hash1.0 projects/binutils-2.17/tools/regression/bin/sh/execution/redir5.0 - copied unchanged from r218495, head/tools/regression/bin/sh/execution/redir5.0 projects/binutils-2.17/tools/regression/bin/sh/execution/shellproc1.0 - copied unchanged from r218495, head/tools/regression/bin/sh/execution/shellproc1.0 projects/binutils-2.17/tools/regression/bin/sh/expansion/arith10.0 - copied unchanged from r218495, head/tools/regression/bin/sh/expansion/arith10.0 projects/binutils-2.17/tools/regression/bin/sh/expansion/arith9.0 - copied unchanged from r218495, head/tools/regression/bin/sh/expansion/arith9.0 Deleted: projects/binutils-2.17/bin/sh/arith.y projects/binutils-2.17/bin/sh/arith_lex.l projects/binutils-2.17/contrib/bind9/RELEASE-NOTES-BIND-9.6-ESV.html projects/binutils-2.17/contrib/bind9/RELEASE-NOTES-BIND-9.6-ESV.pdf projects/binutils-2.17/contrib/bind9/RELEASE-NOTES-BIND-9.6-ESV.txt projects/binutils-2.17/contrib/bind9/release-notes.css Modified: projects/binutils-2.17/Makefile projects/binutils-2.17/ObsoleteFiles.inc projects/binutils-2.17/UPDATING projects/binutils-2.17/bin/kill/kill.c projects/binutils-2.17/bin/pkill/pkill.c projects/binutils-2.17/bin/sh/Makefile projects/binutils-2.17/bin/sh/TOUR projects/binutils-2.17/bin/sh/alias.c projects/binutils-2.17/bin/sh/alias.h projects/binutils-2.17/bin/sh/arith.h projects/binutils-2.17/bin/sh/error.h projects/binutils-2.17/bin/sh/eval.c projects/binutils-2.17/bin/sh/exec.c projects/binutils-2.17/bin/sh/exec.h projects/binutils-2.17/bin/sh/expand.c projects/binutils-2.17/bin/sh/init.h projects/binutils-2.17/bin/sh/input.c projects/binutils-2.17/bin/sh/jobs.c projects/binutils-2.17/bin/sh/main.c projects/binutils-2.17/bin/sh/mkinit.c projects/binutils-2.17/bin/sh/options.c projects/binutils-2.17/bin/sh/parser.c projects/binutils-2.17/bin/sh/redir.c projects/binutils-2.17/bin/sh/sh.1 projects/binutils-2.17/bin/sh/trap.c projects/binutils-2.17/bin/sh/var.c projects/binutils-2.17/contrib/bind9/CHANGES projects/binutils-2.17/contrib/bind9/COPYRIGHT projects/binutils-2.17/contrib/bind9/README projects/binutils-2.17/contrib/bind9/bin/check/check-tool.c projects/binutils-2.17/contrib/bind9/bin/check/check-tool.h projects/binutils-2.17/contrib/bind9/bin/check/named-checkconf.c projects/binutils-2.17/contrib/bind9/bin/check/named-checkzone.c projects/binutils-2.17/contrib/bind9/bin/dig/dig.c projects/binutils-2.17/contrib/bind9/bin/dig/dighost.c projects/binutils-2.17/contrib/bind9/bin/dig/host.c projects/binutils-2.17/contrib/bind9/bin/dig/nslookup.1 projects/binutils-2.17/contrib/bind9/bin/dig/nslookup.docbook projects/binutils-2.17/contrib/bind9/bin/dig/nslookup.html projects/binutils-2.17/contrib/bind9/bin/dnssec/dnssec-dsfromkey.8 projects/binutils-2.17/contrib/bind9/bin/dnssec/dnssec-dsfromkey.html projects/binutils-2.17/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.html projects/binutils-2.17/contrib/bind9/bin/dnssec/dnssec-keygen.html projects/binutils-2.17/contrib/bind9/bin/dnssec/dnssec-signzone.c projects/binutils-2.17/contrib/bind9/bin/dnssec/dnssec-signzone.html projects/binutils-2.17/contrib/bind9/bin/named/builtin.c projects/binutils-2.17/contrib/bind9/bin/named/client.c projects/binutils-2.17/contrib/bind9/bin/named/control.c projects/binutils-2.17/contrib/bind9/bin/named/include/named/globals.h projects/binutils-2.17/contrib/bind9/bin/named/include/named/query.h projects/binutils-2.17/contrib/bind9/bin/named/main.c projects/binutils-2.17/contrib/bind9/bin/named/query.c projects/binutils-2.17/contrib/bind9/bin/named/server.c projects/binutils-2.17/contrib/bind9/bin/named/update.c projects/binutils-2.17/contrib/bind9/bin/named/xfrout.c projects/binutils-2.17/contrib/bind9/bin/nsupdate/nsupdate.1 projects/binutils-2.17/contrib/bind9/bin/nsupdate/nsupdate.c projects/binutils-2.17/contrib/bind9/bin/nsupdate/nsupdate.docbook projects/binutils-2.17/contrib/bind9/bin/nsupdate/nsupdate.html projects/binutils-2.17/contrib/bind9/config.h.in projects/binutils-2.17/contrib/bind9/config.threads.in projects/binutils-2.17/contrib/bind9/configure.in projects/binutils-2.17/contrib/bind9/doc/arm/Bv9ARM-book.xml projects/binutils-2.17/contrib/bind9/doc/arm/Bv9ARM.ch06.html projects/binutils-2.17/contrib/bind9/doc/arm/Bv9ARM.ch07.html projects/binutils-2.17/contrib/bind9/doc/arm/Bv9ARM.ch08.html projects/binutils-2.17/contrib/bind9/doc/arm/Bv9ARM.ch09.html projects/binutils-2.17/contrib/bind9/doc/arm/Bv9ARM.html projects/binutils-2.17/contrib/bind9/doc/arm/Bv9ARM.pdf projects/binutils-2.17/contrib/bind9/doc/arm/man.dig.html projects/binutils-2.17/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html projects/binutils-2.17/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html projects/binutils-2.17/contrib/bind9/doc/arm/man.dnssec-keygen.html projects/binutils-2.17/contrib/bind9/doc/arm/man.dnssec-signzone.html projects/binutils-2.17/contrib/bind9/doc/arm/man.host.html projects/binutils-2.17/contrib/bind9/doc/arm/man.named-checkconf.html projects/binutils-2.17/contrib/bind9/doc/arm/man.named-checkzone.html projects/binutils-2.17/contrib/bind9/doc/arm/man.named.html projects/binutils-2.17/contrib/bind9/doc/arm/man.nsupdate.html projects/binutils-2.17/contrib/bind9/doc/arm/man.rndc-confgen.html projects/binutils-2.17/contrib/bind9/doc/arm/man.rndc.conf.html projects/binutils-2.17/contrib/bind9/doc/arm/man.rndc.html projects/binutils-2.17/contrib/bind9/doc/misc/options projects/binutils-2.17/contrib/bind9/lib/bind9/api projects/binutils-2.17/contrib/bind9/lib/bind9/check.c projects/binutils-2.17/contrib/bind9/lib/dns/Makefile.in projects/binutils-2.17/contrib/bind9/lib/dns/adb.c projects/binutils-2.17/contrib/bind9/lib/dns/api projects/binutils-2.17/contrib/bind9/lib/dns/dst_api.c projects/binutils-2.17/contrib/bind9/lib/dns/dst_internal.h projects/binutils-2.17/contrib/bind9/lib/dns/gssapictx.c projects/binutils-2.17/contrib/bind9/lib/dns/include/dns/diff.h projects/binutils-2.17/contrib/bind9/lib/dns/include/dns/events.h projects/binutils-2.17/contrib/bind9/lib/dns/include/dns/name.h projects/binutils-2.17/contrib/bind9/lib/dns/include/dns/ncache.h projects/binutils-2.17/contrib/bind9/lib/dns/include/dns/rdataset.h projects/binutils-2.17/contrib/bind9/lib/dns/include/dns/resolver.h projects/binutils-2.17/contrib/bind9/lib/dns/include/dns/result.h projects/binutils-2.17/contrib/bind9/lib/dns/include/dns/tsig.h projects/binutils-2.17/contrib/bind9/lib/dns/include/dns/types.h projects/binutils-2.17/contrib/bind9/lib/dns/include/dns/validator.h projects/binutils-2.17/contrib/bind9/lib/dns/include/dns/view.h projects/binutils-2.17/contrib/bind9/lib/dns/include/dns/zone.h projects/binutils-2.17/contrib/bind9/lib/dns/include/dst/dst.h projects/binutils-2.17/contrib/bind9/lib/dns/journal.c projects/binutils-2.17/contrib/bind9/lib/dns/message.c projects/binutils-2.17/contrib/bind9/lib/dns/name.c projects/binutils-2.17/contrib/bind9/lib/dns/ncache.c projects/binutils-2.17/contrib/bind9/lib/dns/openssl_link.c projects/binutils-2.17/contrib/bind9/lib/dns/rbtdb.c projects/binutils-2.17/contrib/bind9/lib/dns/rdata.c projects/binutils-2.17/contrib/bind9/lib/dns/rdata/generic/ipseckey_45.c projects/binutils-2.17/contrib/bind9/lib/dns/rdata/generic/nsec_47.c projects/binutils-2.17/contrib/bind9/lib/dns/rdata/generic/rrsig_46.c projects/binutils-2.17/contrib/bind9/lib/dns/rdatalist.c projects/binutils-2.17/contrib/bind9/lib/dns/rdataset.c projects/binutils-2.17/contrib/bind9/lib/dns/rdataslab.c projects/binutils-2.17/contrib/bind9/lib/dns/resolver.c projects/binutils-2.17/contrib/bind9/lib/dns/result.c projects/binutils-2.17/contrib/bind9/lib/dns/rootns.c projects/binutils-2.17/contrib/bind9/lib/dns/sdb.c projects/binutils-2.17/contrib/bind9/lib/dns/sdlz.c projects/binutils-2.17/contrib/bind9/lib/dns/time.c projects/binutils-2.17/contrib/bind9/lib/dns/tkey.c projects/binutils-2.17/contrib/bind9/lib/dns/tsig.c projects/binutils-2.17/contrib/bind9/lib/dns/validator.c projects/binutils-2.17/contrib/bind9/lib/dns/view.c projects/binutils-2.17/contrib/bind9/lib/dns/zone.c projects/binutils-2.17/contrib/bind9/lib/isc/Makefile.in projects/binutils-2.17/contrib/bind9/lib/isc/api projects/binutils-2.17/contrib/bind9/lib/isc/entropy.c projects/binutils-2.17/contrib/bind9/lib/isc/include/isc/mem.h projects/binutils-2.17/contrib/bind9/lib/isc/include/isc/platform.h.in projects/binutils-2.17/contrib/bind9/lib/isc/include/isc/task.h projects/binutils-2.17/contrib/bind9/lib/isc/mem.c projects/binutils-2.17/contrib/bind9/lib/isc/nothreads/Makefile.in projects/binutils-2.17/contrib/bind9/lib/isc/print.c projects/binutils-2.17/contrib/bind9/lib/isc/pthreads/mutex.c projects/binutils-2.17/contrib/bind9/lib/isc/task.c projects/binutils-2.17/contrib/bind9/lib/isc/unix/socket.c projects/binutils-2.17/contrib/bind9/lib/isccfg/api projects/binutils-2.17/contrib/bind9/lib/isccfg/namedconf.c projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_buffer.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_config.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_context.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_gabn.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_gai_strerror.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_gethostent.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_getipnode.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_getnameinfo.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_gnba.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_hstrerror.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_inetntop.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_noop.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_packet.html projects/binutils-2.17/contrib/bind9/lib/lwres/man/lwres_resutil.html projects/binutils-2.17/contrib/bind9/lib/lwres/print_p.h projects/binutils-2.17/contrib/bind9/version projects/binutils-2.17/contrib/bsnmp/oid-list projects/binutils-2.17/etc/namedb/named.conf projects/binutils-2.17/etc/termcap.small projects/binutils-2.17/gnu/lib/libdialog/Makefile projects/binutils-2.17/gnu/lib/libdialog/dlg_config.h projects/binutils-2.17/include/pthread_np.h projects/binutils-2.17/lib/bind/config.h projects/binutils-2.17/lib/bind/dns/code.h projects/binutils-2.17/lib/bind/dns/dns/enumclass.h projects/binutils-2.17/lib/bind/dns/dns/enumtype.h projects/binutils-2.17/lib/bind/dns/dns/rdatastruct.h projects/binutils-2.17/lib/bind/isc/isc/platform.h projects/binutils-2.17/lib/libc/amd64/string/memmove.S projects/binutils-2.17/lib/libc/gen/psignal.3 projects/binutils-2.17/lib/libc/gen/rfork_thread.3 projects/binutils-2.17/lib/libc/gen/siglist.c projects/binutils-2.17/lib/libc/i386/string/memcpy.S projects/binutils-2.17/lib/libc/i386/string/memmove.S projects/binutils-2.17/lib/libc/include/namespace.h projects/binutils-2.17/lib/libc/include/un-namespace.h projects/binutils-2.17/lib/libthr/pthread.map projects/binutils-2.17/lib/libthr/thread/Makefile.inc projects/binutils-2.17/lib/msun/amd64/s_llrint.S projects/binutils-2.17/lib/msun/amd64/s_llrintf.S projects/binutils-2.17/libexec/rtld-elf/rtld.c projects/binutils-2.17/libexec/rtld-elf/rtld.h projects/binutils-2.17/libexec/rtld-elf/rtld_lock.c projects/binutils-2.17/release/picobsd/build/picobsd projects/binutils-2.17/sbin/hastctl/hastctl.c projects/binutils-2.17/sbin/hastd/control.c projects/binutils-2.17/sbin/hastd/hast.h projects/binutils-2.17/sbin/hastd/hastd.c projects/binutils-2.17/sbin/hastd/primary.c projects/binutils-2.17/sbin/hastd/proto_uds.c projects/binutils-2.17/sbin/hastd/secondary.c projects/binutils-2.17/sbin/hastd/subr.c projects/binutils-2.17/share/man/man3/Makefile projects/binutils-2.17/share/man/man3/pthread_self.3 projects/binutils-2.17/share/man/man4/amdtemp.4 projects/binutils-2.17/share/man/man4/bwi.4 projects/binutils-2.17/sys/amd64/amd64/machdep.c projects/binutils-2.17/sys/amd64/ia32/ia32_signal.c projects/binutils-2.17/sys/arm/arm/locore.S projects/binutils-2.17/sys/arm/arm/sys_machdep.c projects/binutils-2.17/sys/arm/arm/vm_machdep.c projects/binutils-2.17/sys/arm/at91/if_ate.c projects/binutils-2.17/sys/arm/include/pmap.h projects/binutils-2.17/sys/arm/include/proc.h projects/binutils-2.17/sys/arm/mv/gpio.c projects/binutils-2.17/sys/arm/mv/ic.c projects/binutils-2.17/sys/arm/mv/mv_pci.c projects/binutils-2.17/sys/arm/mv/timer.c projects/binutils-2.17/sys/boot/fdt/dts/db78100.dts projects/binutils-2.17/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/binutils-2.17/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/binutils-2.17/sys/conf/files projects/binutils-2.17/sys/conf/options projects/binutils-2.17/sys/dev/aac/aac.c projects/binutils-2.17/sys/dev/aac/aacvar.h projects/binutils-2.17/sys/dev/ath/ath_hal/ah.c projects/binutils-2.17/sys/dev/ath/ath_hal/ah.h projects/binutils-2.17/sys/dev/ath/ath_hal/ah_eeprom_v14.c projects/binutils-2.17/sys/dev/ath/ath_hal/ah_eeprom_v14.h projects/binutils-2.17/sys/dev/ath/ath_hal/ah_internal.h projects/binutils-2.17/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c projects/binutils-2.17/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c projects/binutils-2.17/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/binutils-2.17/sys/dev/ath/ath_hal/ar5212/ar5212_keycache.c projects/binutils-2.17/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c projects/binutils-2.17/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/binutils-2.17/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c projects/binutils-2.17/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c projects/binutils-2.17/sys/dev/ath/ath_hal/ar5416/ar5416phy.h projects/binutils-2.17/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/binutils-2.17/sys/dev/ath/ath_hal/ar9002/ar9280.c projects/binutils-2.17/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/binutils-2.17/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/binutils-2.17/sys/dev/ath/ath_rate/sample/sample.h projects/binutils-2.17/sys/dev/ath/if_ath.c projects/binutils-2.17/sys/dev/ath/if_ath_tx.c projects/binutils-2.17/sys/dev/ath/if_athioctl.h projects/binutils-2.17/sys/dev/ath/if_athvar.h projects/binutils-2.17/sys/dev/bce/if_bce.c projects/binutils-2.17/sys/dev/bce/if_bcereg.h projects/binutils-2.17/sys/dev/md/md.c projects/binutils-2.17/sys/dev/re/if_re.c projects/binutils-2.17/sys/dev/sio/sio.c projects/binutils-2.17/sys/dev/sound/pci/emu10k1.c projects/binutils-2.17/sys/dev/sound/pci/emu10kx.c projects/binutils-2.17/sys/dev/usb/controller/ehci_mv.c projects/binutils-2.17/sys/dev/usb/controller/usb_controller.c projects/binutils-2.17/sys/dev/usb/quirk/usb_quirk.c projects/binutils-2.17/sys/dev/usb/serial/umodem.c projects/binutils-2.17/sys/dev/usb/template/usb_template.c projects/binutils-2.17/sys/dev/usb/usb_transfer.c projects/binutils-2.17/sys/dev/usb/usbdevs projects/binutils-2.17/sys/dev/usb/wlan/if_run.c projects/binutils-2.17/sys/dev/usb/wlan/if_runvar.h projects/binutils-2.17/sys/fs/ext2fs/ext2_alloc.c projects/binutils-2.17/sys/fs/ext2fs/ext2fs.h projects/binutils-2.17/sys/fs/nfsserver/nfs_nfsdport.c projects/binutils-2.17/sys/i386/i386/machdep.c projects/binutils-2.17/sys/i386/linux/imgact_linux.c projects/binutils-2.17/sys/ia64/conf/GENERIC projects/binutils-2.17/sys/kern/kern_context.c projects/binutils-2.17/sys/kern/kern_synch.c projects/binutils-2.17/sys/kern/kern_sysctl.c projects/binutils-2.17/sys/kern/subr_module.c projects/binutils-2.17/sys/kern/subr_turnstile.c projects/binutils-2.17/sys/kern/subr_uio.c projects/binutils-2.17/sys/kern/uipc_syscalls.c projects/binutils-2.17/sys/kern/vfs_bio.c projects/binutils-2.17/sys/kern/vfs_mount.c projects/binutils-2.17/sys/kern/vfs_subr.c projects/binutils-2.17/sys/kern/vfs_vnops.c projects/binutils-2.17/sys/mips/include/_inttypes.h projects/binutils-2.17/sys/mips/include/_limits.h projects/binutils-2.17/sys/mips/include/_stdint.h projects/binutils-2.17/sys/mips/include/_types.h projects/binutils-2.17/sys/mips/include/cpufunc.h projects/binutils-2.17/sys/netinet/ipfw/ip_dn_io.c projects/binutils-2.17/sys/netinet/sctp.h projects/binutils-2.17/sys/netinet/sctp_asconf.c projects/binutils-2.17/sys/netinet/sctp_asconf.h projects/binutils-2.17/sys/netinet/sctp_auth.c projects/binutils-2.17/sys/netinet/sctp_auth.h projects/binutils-2.17/sys/netinet/sctp_bsd_addr.c projects/binutils-2.17/sys/netinet/sctp_bsd_addr.h projects/binutils-2.17/sys/netinet/sctp_cc_functions.c projects/binutils-2.17/sys/netinet/sctp_constants.h projects/binutils-2.17/sys/netinet/sctp_crc32.c projects/binutils-2.17/sys/netinet/sctp_crc32.h projects/binutils-2.17/sys/netinet/sctp_dtrace_declare.h projects/binutils-2.17/sys/netinet/sctp_dtrace_define.h projects/binutils-2.17/sys/netinet/sctp_header.h projects/binutils-2.17/sys/netinet/sctp_indata.c projects/binutils-2.17/sys/netinet/sctp_indata.h projects/binutils-2.17/sys/netinet/sctp_input.c projects/binutils-2.17/sys/netinet/sctp_input.h projects/binutils-2.17/sys/netinet/sctp_lock_bsd.h projects/binutils-2.17/sys/netinet/sctp_os.h projects/binutils-2.17/sys/netinet/sctp_os_bsd.h projects/binutils-2.17/sys/netinet/sctp_output.c projects/binutils-2.17/sys/netinet/sctp_output.h projects/binutils-2.17/sys/netinet/sctp_pcb.c projects/binutils-2.17/sys/netinet/sctp_pcb.h projects/binutils-2.17/sys/netinet/sctp_peeloff.c projects/binutils-2.17/sys/netinet/sctp_peeloff.h projects/binutils-2.17/sys/netinet/sctp_ss_functions.c projects/binutils-2.17/sys/netinet/sctp_structs.h projects/binutils-2.17/sys/netinet/sctp_sysctl.c projects/binutils-2.17/sys/netinet/sctp_sysctl.h projects/binutils-2.17/sys/netinet/sctp_timer.c projects/binutils-2.17/sys/netinet/sctp_timer.h projects/binutils-2.17/sys/netinet/sctp_uio.h projects/binutils-2.17/sys/netinet/sctp_usrreq.c projects/binutils-2.17/sys/netinet/sctp_var.h projects/binutils-2.17/sys/netinet/sctputil.c projects/binutils-2.17/sys/netinet/sctputil.h projects/binutils-2.17/sys/netinet/tcp_usrreq.c projects/binutils-2.17/sys/netinet6/sctp6_usrreq.c projects/binutils-2.17/sys/netinet6/sctp6_var.h projects/binutils-2.17/sys/nfsserver/nfs_serv.c projects/binutils-2.17/sys/pc98/cbus/sio.c projects/binutils-2.17/sys/pc98/pc98/machdep.c projects/binutils-2.17/sys/security/mac/mac_process.c projects/binutils-2.17/sys/sparc64/sparc64/machdep.c projects/binutils-2.17/sys/sparc64/sparc64/pmap.c projects/binutils-2.17/sys/sys/linker.h projects/binutils-2.17/sys/sys/param.h projects/binutils-2.17/sys/sys/proc.h projects/binutils-2.17/sys/sys/taskqueue.h projects/binutils-2.17/sys/sys/uio.h projects/binutils-2.17/sys/ufs/ffs/ffs_snapshot.c projects/binutils-2.17/sys/ufs/ffs/ffs_softdep.c projects/binutils-2.17/sys/ufs/ufs/ufs_acl.c projects/binutils-2.17/sys/ufs/ufs/ufs_vnops.c projects/binutils-2.17/sys/vm/vm_map.c projects/binutils-2.17/sys/vm/vm_object.c projects/binutils-2.17/sys/vm/vm_object.h projects/binutils-2.17/sys/x86/x86/mca.c projects/binutils-2.17/tools/regression/bin/sh/builtins/command6.0 projects/binutils-2.17/tools/regression/bin/sh/builtins/command6.0.stdout projects/binutils-2.17/tools/regression/bin/sh/builtins/command7.0 projects/binutils-2.17/usr.bin/calendar/parsedata.c projects/binutils-2.17/usr.bin/calendar/paskha.c projects/binutils-2.17/usr.bin/gzip/zmore.1 projects/binutils-2.17/usr.bin/killall/killall.c projects/binutils-2.17/usr.bin/rs/rs.c projects/binutils-2.17/usr.bin/truss/main.c projects/binutils-2.17/usr.sbin/diskinfo/diskinfo.c projects/binutils-2.17/usr.sbin/ppp/bundle.c projects/binutils-2.17/usr.sbin/ppp/command.c projects/binutils-2.17/usr.sbin/ppp/iface.c projects/binutils-2.17/usr.sbin/ppp/iface.h projects/binutils-2.17/usr.sbin/ppp/log.c projects/binutils-2.17/usr.sbin/ppp/log.h projects/binutils-2.17/usr.sbin/ppp/main.c projects/binutils-2.17/usr.sbin/ppp/ppp.8.m4 projects/binutils-2.17/usr.sbin/pw/pw_user.c Directory Properties: projects/binutils-2.17/ (props changed) projects/binutils-2.17/cddl/contrib/opensolaris/ (props changed) projects/binutils-2.17/contrib/bind9/ (props changed) projects/binutils-2.17/contrib/binutils/ (props changed) projects/binutils-2.17/contrib/bzip2/ (props changed) projects/binutils-2.17/contrib/dialog/ (props changed) projects/binutils-2.17/contrib/ee/ (props changed) projects/binutils-2.17/contrib/expat/ (props changed) projects/binutils-2.17/contrib/file/ (props changed) projects/binutils-2.17/contrib/gdb/ (props changed) projects/binutils-2.17/contrib/gdtoa/ (props changed) projects/binutils-2.17/contrib/gnu-sort/ (props changed) projects/binutils-2.17/contrib/groff/ (props changed) projects/binutils-2.17/contrib/less/ (props changed) projects/binutils-2.17/contrib/libpcap/ (props changed) projects/binutils-2.17/contrib/llvm/ (props changed) projects/binutils-2.17/contrib/llvm/tools/clang/ (props changed) projects/binutils-2.17/contrib/ncurses/ (props changed) projects/binutils-2.17/contrib/netcat/ (props changed) projects/binutils-2.17/contrib/ntp/ (props changed) projects/binutils-2.17/contrib/one-true-awk/ (props changed) projects/binutils-2.17/contrib/openbsm/ (props changed) projects/binutils-2.17/contrib/openpam/ (props changed) projects/binutils-2.17/contrib/pf/ (props changed) projects/binutils-2.17/contrib/sendmail/ (props changed) projects/binutils-2.17/contrib/tcpdump/ (props changed) projects/binutils-2.17/contrib/tcsh/ (props changed) projects/binutils-2.17/contrib/top/ (props changed) projects/binutils-2.17/contrib/top/install-sh (props changed) projects/binutils-2.17/contrib/tzcode/stdtime/ (props changed) projects/binutils-2.17/contrib/tzcode/zic/ (props changed) projects/binutils-2.17/contrib/tzdata/ (props changed) projects/binutils-2.17/contrib/wpa/ (props changed) projects/binutils-2.17/contrib/xz/ (props changed) projects/binutils-2.17/crypto/openssh/ (props changed) projects/binutils-2.17/crypto/openssl/ (props changed) projects/binutils-2.17/lib/libc/ (props changed) projects/binutils-2.17/lib/libc/stdtime/ (props changed) projects/binutils-2.17/lib/libutil/ (props changed) projects/binutils-2.17/lib/libz/ (props changed) projects/binutils-2.17/sbin/ (props changed) projects/binutils-2.17/sbin/ipfw/ (props changed) projects/binutils-2.17/share/mk/bsd.arch.inc.mk (props changed) projects/binutils-2.17/share/zoneinfo/ (props changed) projects/binutils-2.17/sys/ (props changed) projects/binutils-2.17/sys/amd64/include/xen/ (props changed) projects/binutils-2.17/sys/cddl/contrib/opensolaris/ (props changed) projects/binutils-2.17/sys/contrib/dev/acpica/ (props changed) projects/binutils-2.17/sys/contrib/octeon-sdk/ (props changed) projects/binutils-2.17/sys/contrib/pf/ (props changed) projects/binutils-2.17/sys/contrib/x86emu/ (props changed) projects/binutils-2.17/usr.bin/calendar/ (props changed) projects/binutils-2.17/usr.bin/csup/ (props changed) projects/binutils-2.17/usr.bin/procstat/ (props changed) projects/binutils-2.17/usr.sbin/zic/ (props changed) Modified: projects/binutils-2.17/Makefile ============================================================================== --- projects/binutils-2.17/Makefile Wed Feb 9 19:31:10 2011 (r218495) +++ projects/binutils-2.17/Makefile Wed Feb 9 19:57:00 2011 (r218496) @@ -124,7 +124,7 @@ MAKEPATH= ${MAKEOBJDIRPREFIX}${.CURDIR}/ BINMAKE= \ `if [ -x ${MAKEPATH}/make ]; then echo ${MAKEPATH}/make; else echo ${MAKE}; fi` \ -m ${.CURDIR}/share/mk -_MAKE= PATH=${PATH} ${BINMAKE} -f Makefile.inc1 +_MAKE= PATH=${PATH} ${BINMAKE} -f Makefile.inc1 TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH} # Guess machine architecture from machine type, and vice versa. .if !defined(TARGET_ARCH) && defined(TARGET) @@ -205,7 +205,7 @@ cleanworld: # ${TGTS}: - ${_+_}cd ${.CURDIR}; ${_MAKE} TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH} ${.TARGET} + ${_+_}@cd ${.CURDIR}; ${_MAKE} ${.TARGET} # Set a reasonable default .MAIN: all Modified: projects/binutils-2.17/ObsoleteFiles.inc ============================================================================== --- projects/binutils-2.17/ObsoleteFiles.inc Wed Feb 9 19:31:10 2011 (r218495) +++ projects/binutils-2.17/ObsoleteFiles.inc Wed Feb 9 19:57:00 2011 (r218496) @@ -38,6 +38,10 @@ # xargs -n1 | sort | uniq -d; # done +# 20110119: Remove SYSCTL_*X* sysctl additions. +OLD_FILES+=usr/share/man/man9/SYSCTL_XINT.9.gz \ + usr/share/man/man9/SYSCTL_XLONG.9.gz + # 20110112: Update dialog to new version, rename old libdialog to libodialog, # removing associated man pages and header files. OLD_FILES+=usr/share/man/man3/draw_shadow.3.gz \ @@ -100,6 +104,8 @@ OLD_FILES+=usr/include/machine/mca.h .endif # 20101020: catch up with vm_page_sleep_if_busy rename OLD_FILES+=usr/share/man/man9/vm_page_sleep_busy.9.gz +# 20101018: taskqueue(9) updates +OLD_FILES+=usr/share/man/man9/taskqueue_find.9.gz # 20101011: removed subblock.h from liblzma OLD_FILES+=usr/include/lzma/subblock.h # 20101002: removed manpath.config Modified: projects/binutils-2.17/UPDATING ============================================================================== --- projects/binutils-2.17/UPDATING Wed Feb 9 19:31:10 2011 (r218495) +++ projects/binutils-2.17/UPDATING Wed Feb 9 19:57:00 2011 (r218496) @@ -22,6 +22,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20110207: + Remove the uio_yield prototype and symbol. This function has + been misnamed since it was introduced and should not be + globally exposed with this name. The equivalent functionality + is now available using kern_yield(curthread->td_user_pri). + The function remains undocumented. + 20110112: A SYSCTL_[ADD_]UQUAD was added for unsigned uint64_t pointers, symmetric with the existing SYSCTL_[ADD_]QUAD. Type checking Modified: projects/binutils-2.17/bin/kill/kill.c ============================================================================== --- projects/binutils-2.17/bin/kill/kill.c Wed Feb 9 19:31:10 2011 (r218495) +++ projects/binutils-2.17/bin/kill/kill.c Wed Feb 9 19:57:00 2011 (r218496) @@ -152,7 +152,7 @@ signame_to_signum(const char *sig) { int n; - if (!strncasecmp(sig, "sig", (size_t)3)) + if (!strncasecmp(sig, "SIG", (size_t)3)) sig += 3; for (n = 1; n < sys_nsig; n++) { if (!strcasecmp(sys_signame[n], sig)) Modified: projects/binutils-2.17/bin/pkill/pkill.c ============================================================================== --- projects/binutils-2.17/bin/pkill/pkill.c Wed Feb 9 19:31:10 2011 (r218495) +++ projects/binutils-2.17/bin/pkill/pkill.c Wed Feb 9 19:57:00 2011 (r218496) @@ -156,7 +156,7 @@ main(int argc, char **argv) argv++; argc--; } else { - if (strncasecmp(p, "sig", 3) == 0) + if (strncasecmp(p, "SIG", 3) == 0) p += 3; for (i = 1; i < NSIG; i++) if (strcasecmp(sys_signame[i], p) == 0) Modified: projects/binutils-2.17/bin/sh/Makefile ============================================================================== --- projects/binutils-2.17/bin/sh/Makefile Wed Feb 9 19:31:10 2011 (r218495) +++ projects/binutils-2.17/bin/sh/Makefile Wed Feb 9 19:57:00 2011 (r218496) @@ -3,22 +3,22 @@ PROG= sh INSTALLFLAGS= -S -SHSRCS= alias.c arith.y arith_lex.l cd.c echo.c error.c eval.c exec.c expand.c \ +SHSRCS= alias.c arith_yacc.c arith_yylex.c cd.c echo.c error.c eval.c \ + exec.c expand.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 GENHDRS= builtins.h nodes.h syntax.h token.h -SRCS= ${SHSRCS} ${GENSRCS} ${GENHDRS} y.tab.h +SRCS= ${SHSRCS} ${GENSRCS} ${GENHDRS} # MLINKS for Shell built in commands for which there are no userland # utilities of the same name are handled with the associated manpage, # builtin.1 in share/man/man1/. -DPADD= ${LIBL} ${LIBEDIT} ${LIBTERMCAP} -LDADD= -ll -ledit -ltermcap +DPADD= ${LIBEDIT} ${LIBTERMCAP} +LDADD= -ledit -ltermcap -LFLAGS= -8 # 8-bit lex scanner for arithmetic CFLAGS+=-DSHELL -I. -I${.CURDIR} # for debug: # DEBUG_FLAGS+= -g -DDEBUG=2 -fno-inline Modified: projects/binutils-2.17/bin/sh/TOUR ============================================================================== --- projects/binutils-2.17/bin/sh/TOUR Wed Feb 9 19:31:10 2011 (r218495) +++ projects/binutils-2.17/bin/sh/TOUR Wed Feb 9 19:57:00 2011 (r218496) @@ -44,10 +44,6 @@ C source files for entries looking like: back to the main command loop */ } - SHELLPROC { - x = 3; /* executed when the shell runs a shell procedure */ - } - It pulls this code out into routines which are when particular events occur. The intent is to improve modularity by isolating the information about which modules need to be explicitly @@ -80,12 +76,7 @@ EXCEPTIONS: Code for dealing with excep exceptions.c. The C language doesn't include exception handling, so I implement it using setjmp and longjmp. The global variable exception contains the type of exception. EXERROR is raised by -calling error. EXINT is an interrupt. EXSHELLPROC is an excep- -tion which is raised when a shell procedure is invoked. The pur- -pose of EXSHELLPROC is to perform the cleanup actions associated -with other exceptions. After these cleanup actions, the shell -can interpret a shell procedure itself without exec'ing a new -copy of the shell. +calling error. EXINT is an interrupt. INTERRUPTS: In an interactive shell, an interrupt will cause an EXINT exception to return to the main command loop. (Exception: @@ -270,14 +261,6 @@ When a program is run, the code in eval. variables which precede the command (as in "PATH=xxx command") in the variable table as the simplest way to strip duplicates, and then calls "environment" to get the value of the environment. -There are two consequences of this. First, if an assignment to -PATH precedes the command, the value of PATH before the assign- -ment must be remembered and passed to shellexec. Second, if the -program turns out to be a shell procedure, the strings from the -environment variables which preceded the command must be pulled -out of the table and replaced with strings obtained from malloc, -since the former will automatically be freed when the stack (see -the entry on memalloc.c) is emptied. BUILTIN COMMANDS: The procedures for handling these are scat- tered throughout the code, depending on which location appears Modified: projects/binutils-2.17/bin/sh/alias.c ============================================================================== --- projects/binutils-2.17/bin/sh/alias.c Wed Feb 9 19:31:10 2011 (r218495) +++ projects/binutils-2.17/bin/sh/alias.c Wed Feb 9 19:57:00 2011 (r218496) @@ -145,15 +145,7 @@ unalias(const char *name) return (1); } -#ifdef mkinit -MKINIT void rmaliases(void); - -SHELLPROC { - rmaliases(); -} -#endif - -void +static void rmaliases(void) { struct alias *ap, *tmp; Modified: projects/binutils-2.17/bin/sh/alias.h ============================================================================== --- projects/binutils-2.17/bin/sh/alias.h Wed Feb 9 19:31:10 2011 (r218495) +++ projects/binutils-2.17/bin/sh/alias.h Wed Feb 9 19:57:00 2011 (r218496) @@ -45,4 +45,3 @@ struct alias { struct alias *lookupalias(const char *, int); int aliascmd(int, char **); int unaliascmd(int, char **); -void rmaliases(void); Modified: projects/binutils-2.17/bin/sh/arith.h ============================================================================== --- projects/binutils-2.17/bin/sh/arith.h Wed Feb 9 19:31:10 2011 (r218495) +++ projects/binutils-2.17/bin/sh/arith.h Wed Feb 9 19:57:00 2011 (r218496) @@ -34,8 +34,6 @@ #define DIGITS(var) (3 + (2 + CHAR_BIT * sizeof((var))) / 3) -extern const char *arith_buf, *arith_startbuf; - arith_t arith(const char *); void arith_lex_reset(void); int expcmd(int, char **); Copied: projects/binutils-2.17/bin/sh/arith_yacc.c (from r218495, head/bin/sh/arith_yacc.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/binutils-2.17/bin/sh/arith_yacc.c Wed Feb 9 19:57:00 2011 (r218496, copy of r218495, head/bin/sh/arith_yacc.c) @@ -0,0 +1,376 @@ +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * Copyright (c) 2007 + * Herbert Xu . All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Kenneth Almquist. + * + * 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. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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 +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include "arith.h" +#include "arith_yacc.h" +#include "expand.h" +#include "shell.h" +#include "error.h" +#include "memalloc.h" +#include "output.h" +#include "options.h" +#include "var.h" + +#if ARITH_BOR + 11 != ARITH_BORASS || ARITH_ASS + 11 != ARITH_EQ +#error Arithmetic tokens are out of order. +#endif + +static const char *arith_startbuf; + +const char *arith_buf; +union yystype yylval; + +static int last_token; + +#define ARITH_PRECEDENCE(op, prec) [op - ARITH_BINOP_MIN] = prec + +static const char prec[ARITH_BINOP_MAX - ARITH_BINOP_MIN] = { + ARITH_PRECEDENCE(ARITH_MUL, 0), + ARITH_PRECEDENCE(ARITH_DIV, 0), + ARITH_PRECEDENCE(ARITH_REM, 0), + ARITH_PRECEDENCE(ARITH_ADD, 1), + ARITH_PRECEDENCE(ARITH_SUB, 1), + ARITH_PRECEDENCE(ARITH_LSHIFT, 2), + ARITH_PRECEDENCE(ARITH_RSHIFT, 2), + ARITH_PRECEDENCE(ARITH_LT, 3), + ARITH_PRECEDENCE(ARITH_LE, 3), + ARITH_PRECEDENCE(ARITH_GT, 3), + ARITH_PRECEDENCE(ARITH_GE, 3), + ARITH_PRECEDENCE(ARITH_EQ, 4), + ARITH_PRECEDENCE(ARITH_NE, 4), + ARITH_PRECEDENCE(ARITH_BAND, 5), + ARITH_PRECEDENCE(ARITH_BXOR, 6), + ARITH_PRECEDENCE(ARITH_BOR, 7), +}; + +#define ARITH_MAX_PREC 8 + +static __dead2 void yyerror(const char *s) +{ + error("arithmetic expression: %s: \"%s\"", s, arith_startbuf); + /* NOTREACHED */ +} + +static arith_t arith_lookupvarint(char *varname) +{ + const char *str; + char *p; + arith_t result; + + str = lookupvar(varname); + if (str == NULL || *str == '\0') + str = "0"; + errno = 0; + result = strtoarith_t(str, &p, 0); + if (errno != 0 || *p != '\0') + yyerror("variable conversion error"); + return result; +} + +static inline int arith_prec(int op) +{ + return prec[op - ARITH_BINOP_MIN]; +} + +static inline int higher_prec(int op1, int op2) +{ + return arith_prec(op1) < arith_prec(op2); +} + +static arith_t do_binop(int op, arith_t a, arith_t b) +{ + + switch (op) { + default: + case ARITH_REM: + case ARITH_DIV: + if (!b) + yyerror("division by zero"); + return op == ARITH_REM ? a % b : a / b; + case ARITH_MUL: + return a * b; + case ARITH_ADD: + return a + b; + case ARITH_SUB: + return a - b; + case ARITH_LSHIFT: + return a << b; + case ARITH_RSHIFT: + return a >> b; + case ARITH_LT: + return a < b; + case ARITH_LE: + return a <= b; + case ARITH_GT: + return a > b; + case ARITH_GE: + return a >= b; + case ARITH_EQ: + return a == b; + case ARITH_NE: + return a != b; + case ARITH_BAND: + return a & b; + case ARITH_BXOR: + return a ^ b; + case ARITH_BOR: + return a | b; + } +} + +static arith_t assignment(int var, int noeval); + +static arith_t primary(int token, union yystype *val, int op, int noeval) +{ + arith_t result; + +again: + switch (token) { + case ARITH_LPAREN: + result = assignment(op, noeval); + if (last_token != ARITH_RPAREN) + yyerror("expecting ')'"); + last_token = yylex(); + return result; + case ARITH_NUM: + last_token = op; + return val->val; + case ARITH_VAR: + last_token = op; + return noeval ? val->val : arith_lookupvarint(val->name); + case ARITH_ADD: + token = op; + *val = yylval; + op = yylex(); + goto again; + case ARITH_SUB: + *val = yylval; + return -primary(op, val, yylex(), noeval); + case ARITH_NOT: + *val = yylval; + return !primary(op, val, yylex(), noeval); + case ARITH_BNOT: + *val = yylval; + return ~primary(op, val, yylex(), noeval); + default: + yyerror("expecting primary"); + } +} + +static arith_t binop2(arith_t a, int op, int prec, int noeval) +{ + for (;;) { + union yystype val; + arith_t b; + int op2; + int token; + + token = yylex(); + val = yylval; + + b = primary(token, &val, yylex(), noeval); + + op2 = last_token; + if (op2 >= ARITH_BINOP_MIN && op2 < ARITH_BINOP_MAX && + higher_prec(op2, op)) { + b = binop2(b, op2, arith_prec(op), noeval); + op2 = last_token; + } + + a = noeval ? b : do_binop(op, a, b); + + if (op2 < ARITH_BINOP_MIN || op2 >= ARITH_BINOP_MAX || + arith_prec(op2) >= prec) + return a; + + op = op2; + } +} + +static arith_t binop(int token, union yystype *val, int op, int noeval) +{ + arith_t a = primary(token, val, op, noeval); + + op = last_token; + if (op < ARITH_BINOP_MIN || op >= ARITH_BINOP_MAX) + return a; + + return binop2(a, op, ARITH_MAX_PREC, noeval); +} + +static arith_t and(int token, union yystype *val, int op, int noeval) +{ + arith_t a = binop(token, val, op, noeval); + arith_t b; + + op = last_token; + if (op != ARITH_AND) + return a; + + token = yylex(); + *val = yylval; + + b = and(token, val, yylex(), noeval | !a); + + return a && b; +} + +static arith_t or(int token, union yystype *val, int op, int noeval) +{ + arith_t a = and(token, val, op, noeval); + arith_t b; + + op = last_token; + if (op != ARITH_OR) + return a; + + token = yylex(); + *val = yylval; + + b = or(token, val, yylex(), noeval | !!a); + + return a || b; +} + +static arith_t cond(int token, union yystype *val, int op, int noeval) +{ + arith_t a = or(token, val, op, noeval); + arith_t b; + arith_t c; + + if (last_token != ARITH_QMARK) + return a; + + b = assignment(yylex(), noeval | !a); + + if (last_token != ARITH_COLON) + yyerror("expecting ':'"); + + token = yylex(); + *val = yylval; + + c = cond(token, val, yylex(), noeval | !!a); + + return a ? b : c; +} + +static arith_t assignment(int var, int noeval) +{ + union yystype val = yylval; + int op = yylex(); + arith_t result; + char sresult[DIGITS(result) + 1]; + + if (var != ARITH_VAR) + return cond(var, &val, op, noeval); + + if (op != ARITH_ASS && (op < ARITH_ASS_MIN || op >= ARITH_ASS_MAX)) + return cond(var, &val, op, noeval); + + result = assignment(yylex(), noeval); + if (noeval) + return result; + + if (op != ARITH_ASS) + result = do_binop(op - 11, arith_lookupvarint(val.name), result); + snprintf(sresult, sizeof(sresult), ARITH_FORMAT_STR, result); + setvar(val.name, sresult, 0); + return result; +} + +arith_t arith(const char *s) +{ + struct stackmark smark; + arith_t result; + + setstackmark(&smark); + + arith_buf = arith_startbuf = s; + + result = assignment(yylex(), 0); + + if (last_token) + yyerror("expecting EOF"); + + popstackmark(&smark); + + return result; +} + +/* + * The exp(1) builtin. + */ +int +expcmd(int argc, char **argv) +{ + const char *p; + char *concat; + char **ap; + arith_t i; + + if (argc > 1) { + p = argv[1]; + if (argc > 2) { + /* + * Concatenate arguments. + */ + STARTSTACKSTR(concat); + ap = argv + 2; + for (;;) { + while (*p) + STPUTC(*p++, concat); + if ((p = *ap++) == NULL) + break; + STPUTC(' ', concat); + } + STPUTC('\0', concat); + p = grabstackstr(concat); + } + } else + p = ""; + + i = arith(p); + + out1fmt(ARITH_FORMAT_STR "\n", i); + return !i; +} + Copied: projects/binutils-2.17/bin/sh/arith_yacc.h (from r218495, head/bin/sh/arith_yacc.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/binutils-2.17/bin/sh/arith_yacc.h Wed Feb 9 19:57:00 2011 (r218496, copy of r218495, head/bin/sh/arith_yacc.h) @@ -0,0 +1,91 @@ +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * Copyright (c) 2007 + * Herbert Xu . All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Kenneth Almquist. + * + * 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. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. + * + * $FreeBSD$ + */ + +#define ARITH_ASS 1 + +#define ARITH_OR 2 +#define ARITH_AND 3 +#define ARITH_BAD 4 +#define ARITH_NUM 5 +#define ARITH_VAR 6 +#define ARITH_NOT 7 + +#define ARITH_BINOP_MIN 8 +#define ARITH_LE 8 +#define ARITH_GE 9 +#define ARITH_LT 10 +#define ARITH_GT 11 +#define ARITH_EQ 12 +#define ARITH_REM 13 +#define ARITH_BAND 14 +#define ARITH_LSHIFT 15 +#define ARITH_RSHIFT 16 +#define ARITH_MUL 17 +#define ARITH_ADD 18 +#define ARITH_BOR 19 +#define ARITH_SUB 20 +#define ARITH_BXOR 21 +#define ARITH_DIV 22 +#define ARITH_NE 23 +#define ARITH_BINOP_MAX 24 + +#define ARITH_ASS_MIN 24 +#define ARITH_REMASS 24 +#define ARITH_BANDASS 25 +#define ARITH_LSHIFTASS 26 +#define ARITH_RSHIFTASS 27 +#define ARITH_MULASS 28 +#define ARITH_ADDASS 29 +#define ARITH_BORASS 30 +#define ARITH_SUBASS 31 +#define ARITH_BXORASS 32 +#define ARITH_DIVASS 33 +#define ARITH_ASS_MAX 34 + +#define ARITH_LPAREN 34 +#define ARITH_RPAREN 35 +#define ARITH_BNOT 36 +#define ARITH_QMARK 37 +#define ARITH_COLON 38 + +union yystype { + arith_t val; + char *name; +}; + +extern union yystype yylval; + +int yylex(void); Copied: projects/binutils-2.17/bin/sh/arith_yylex.c (from r218495, head/bin/sh/arith_yylex.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/binutils-2.17/bin/sh/arith_yylex.c Wed Feb 9 19:57:00 2011 (r218496, copy of r218495, head/bin/sh/arith_yylex.c) @@ -0,0 +1,244 @@ +/*- + * Copyright (c) 2002 + * Herbert Xu. + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Kenneth Almquist. + * + * 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. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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 +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include "shell.h" +#include "arith_yacc.h" +#include "expand.h" +#include "error.h" +#include "memalloc.h" +#include "parser.h" +#include "syntax.h" + +#if ARITH_BOR + 11 != ARITH_BORASS || ARITH_ASS + 11 != ARITH_EQ +#error Arithmetic tokens are out of order. +#endif + +extern const char *arith_buf; + +int +yylex() +{ + int value; + const char *buf = arith_buf; + const char *p; + + for (;;) { + value = *buf; + switch (value) { + case ' ': + case '\t': + case '\n': + buf++; + continue; + default: + return ARITH_BAD; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yylval.val = strtoarith_t(buf, (char **)&arith_buf, 0); + return ARITH_NUM; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case '_': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': + p = buf; + while (buf++, is_in_name(*buf)) + ; + yylval.name = stalloc(buf - p + 1); + memcpy(yylval.name, p, buf - p); + yylval.name[buf - p] = '\0'; + value = ARITH_VAR; + goto out; + case '=': + value += ARITH_ASS - '='; +checkeq: + buf++; +checkeqcur: + if (*buf != '=') + goto out; + value += 11; + break; + case '>': + switch (*++buf) { + case '=': + value += ARITH_GE - '>'; + break; + case '>': + value += ARITH_RSHIFT - '>'; + goto checkeq; + default: + value += ARITH_GT - '>'; + goto out; + } + break; + case '<': + switch (*++buf) { + case '=': + value += ARITH_LE - '<'; + break; + case '<': + value += ARITH_LSHIFT - '<'; + goto checkeq; + default: + value += ARITH_LT - '<'; + goto out; + } + break; + case '|': + if (*++buf != '|') { + value += ARITH_BOR - '|'; + goto checkeqcur; + } + value += ARITH_OR - '|'; + break; + case '&': + if (*++buf != '&') { + value += ARITH_BAND - '&'; + goto checkeqcur; + } + value += ARITH_AND - '&'; + break; + case '!': + if (*++buf != '=') { + value += ARITH_NOT - '!'; + goto out; + } + value += ARITH_NE - '!'; + break; + case 0: + goto out; + case '(': + value += ARITH_LPAREN - '('; + break; + case ')': + value += ARITH_RPAREN - ')'; + break; + case '*': + value += ARITH_MUL - '*'; + goto checkeq; + case '/': + value += ARITH_DIV - '/'; + goto checkeq; + case '%': + value += ARITH_REM - '%'; + goto checkeq; + case '+': + value += ARITH_ADD - '+'; + goto checkeq; + case '-': + value += ARITH_SUB - '-'; + goto checkeq; + case '~': + value += ARITH_BNOT - '~'; + break; + case '^': + value += ARITH_BXOR - '^'; + goto checkeq; + case '?': + value += ARITH_QMARK - '?'; + break; + case ':': + value += ARITH_COLON - ':'; + break; + } + break; + } + + buf++; +out: + arith_buf = buf; + return value; +} Modified: projects/binutils-2.17/bin/sh/error.h ============================================================================== --- projects/binutils-2.17/bin/sh/error.h Wed Feb 9 19:31:10 2011 (r218495) +++ projects/binutils-2.17/bin/sh/error.h Wed Feb 9 19:57:00 2011 (r218496) @@ -56,8 +56,7 @@ extern volatile sig_atomic_t exception; /* exceptions */ #define EXINT 0 /* SIGINT received */ #define EXERROR 1 /* a generic error */ -#define EXSHELLPROC 2 /* execute a shell procedure */ -#define EXEXEC 3 /* command execution failed */ +#define EXEXEC 2 /* command execution failed */ /* Modified: projects/binutils-2.17/bin/sh/eval.c ============================================================================== --- projects/binutils-2.17/bin/sh/eval.c Wed Feb 9 19:31:10 2011 (r218495) +++ projects/binutils-2.17/bin/sh/eval.c Wed Feb 9 19:57:00 2011 (r218496) @@ -111,10 +111,6 @@ RESET { loopnest = 0; funcnest = 0; } - -SHELLPROC { - exitstatus = 0; -} #endif @@ -732,7 +728,9 @@ evalcommand(union node *cmd, int flags, argc = 0; for (sp = arglist.list ; sp ; sp = sp->next) argc++; - argv = stalloc(sizeof (char *) * (argc + 1)); + /* Add one slot at the beginning for tryexec(). */ + argv = stalloc(sizeof (char *) * (argc + 2)); + argv++; for (sp = arglist.list ; sp ; sp = sp->next) { TRACE(("evalcommand arg: %s\n", sp->text)); @@ -814,7 +812,7 @@ evalcommand(union node *cmd, int flags, * bookinging effort, since most such runs add * directories in front of the new PATH. */ - clearcmdentry(0); + clearcmdentry(); do_clearcmdentry = 1; } @@ -856,7 +854,7 @@ evalcommand(union node *cmd, int flags, argc -= 2; } path = _PATH_STDPATH; - clearcmdentry(0); + clearcmdentry(); do_clearcmdentry = 1; } else if (!strcmp(argv[1], "--")) { if (argc == 2) @@ -927,14 +925,10 @@ evalcommand(union node *cmd, int flags, reffunc(cmdentry.u.func); savehandler = handler; if (setjmp(jmploc.loc)) { - if (exception == EXSHELLPROC) - freeparam(&saveparam); - else { - freeparam(&shellparam); - shellparam = saveparam; - if (exception == EXERROR || exception == EXEXEC) - popredir(); - } + freeparam(&shellparam); + shellparam = saveparam; + if (exception == EXERROR || exception == EXEXEC) + popredir(); unreffunc(cmdentry.u.func); poplocalvars(); localvars = savelocalvars; @@ -1016,11 +1010,9 @@ cmddone: out2 = &errout; freestdout(); handler = savehandler; - if (e != EXSHELLPROC) { - commandname = savecmdname; - if (jp) - exitshell(exitstatus); - } + commandname = savecmdname; + if (jp) + exitshell(exitstatus); if (flags == EV_BACKCMD) { backcmd->buf = memout.buf; backcmd->nleft = memout.nextc - memout.buf; @@ -1069,7 +1061,7 @@ out: if (lastarg) setvar("_", lastarg, 0); *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***