svn commit: r219926 - in projects/sv: . bin/ln bin/ps bin/rm bin/sh bin/test contrib/binutils/bfd contrib/gcc contrib/gcc/config/i386 contrib/gcc/config/sparc contrib/gcc/doc contrib/gdtoa contrib/...

Attilio Rao attilio at FreeBSD.org
Wed Mar 23 18:08:56 UTC 2011


Author: attilio
Date: Wed Mar 23 18:08:54 2011
New Revision: 219926
URL: http://svn.freebsd.org/changeset/base/219926

Log:
  MFC

Added:
  projects/sv/contrib/gcc/config/i386/tmmintrin.h
     - copied unchanged from r219925, head/contrib/gcc/config/i386/tmmintrin.h
  projects/sv/contrib/gdtoa/changes
     - copied unchanged from r219925, head/contrib/gdtoa/changes
  projects/sv/contrib/gdtoa/printf.c
     - copied unchanged from r219925, head/contrib/gdtoa/printf.c
  projects/sv/contrib/gdtoa/printf.c0
     - copied unchanged from r219925, head/contrib/gdtoa/printf.c0
  projects/sv/contrib/gdtoa/stdio1.h
     - copied unchanged from r219925, head/contrib/gdtoa/stdio1.h
  projects/sv/contrib/ofed/
     - copied from r219925, head/contrib/ofed/
  projects/sv/contrib/openresolv/
     - copied from r219925, head/contrib/openresolv/
  projects/sv/etc/rc.d/opensm
     - copied unchanged from r219925, head/etc/rc.d/opensm
  projects/sv/gnu/usr.bin/binutils/ld/elf64_ia64_fbsd.sh
     - copied unchanged from r219925, head/gnu/usr.bin/binutils/ld/elf64_ia64_fbsd.sh
  projects/sv/lib/msun/src/s_cbrtl.c
     - copied unchanged from r219925, head/lib/msun/src/s_cbrtl.c
  projects/sv/release/Makefile.sysinstall
     - copied unchanged from r219925, head/release/Makefile.sysinstall
  projects/sv/release/amd64/make-memstick.sh
     - copied unchanged from r219925, head/release/amd64/make-memstick.sh
  projects/sv/release/generate-release.sh
     - copied unchanged from r219925, head/release/generate-release.sh
  projects/sv/release/i386/make-memstick.sh
     - copied unchanged from r219925, head/release/i386/make-memstick.sh
  projects/sv/release/powerpc/make-memstick.sh
     - copied unchanged from r219925, head/release/powerpc/make-memstick.sh
  projects/sv/release/scripts/make-manifest.sh
     - copied unchanged from r219925, head/release/scripts/make-manifest.sh
  projects/sv/sbin/resolvconf/
     - copied from r219925, head/sbin/resolvconf/
  projects/sv/sys/amd64/linux32/linux32_syscalls.c
     - copied unchanged from r219925, head/sys/amd64/linux32/linux32_syscalls.c
  projects/sv/sys/amd64/linux32/linux32_systrace_args.c
     - copied unchanged from r219925, head/sys/amd64/linux32/linux32_systrace_args.c
  projects/sv/sys/compat/freebsd32/freebsd32_systrace_args.c
     - copied unchanged from r219925, head/sys/compat/freebsd32/freebsd32_systrace_args.c
  projects/sv/sys/dev/bxe/
     - copied from r219925, head/sys/dev/bxe/
  projects/sv/sys/i386/linux/linux_syscalls.c
     - copied unchanged from r219925, head/sys/i386/linux/linux_syscalls.c
  projects/sv/sys/i386/linux/linux_systrace_args.c
     - copied unchanged from r219925, head/sys/i386/linux/linux_systrace_args.c
  projects/sv/sys/ia64/ia64/physical.S
     - copied unchanged from r219925, head/sys/ia64/ia64/physical.S
  projects/sv/sys/modules/bxe/
     - copied from r219925, head/sys/modules/bxe/
  projects/sv/sys/modules/dtrace/systrace_freebsd32/
     - copied from r219925, head/sys/modules/dtrace/systrace_freebsd32/
  projects/sv/sys/modules/dtrace/systrace_linux32/
     - copied from r219925, head/sys/modules/dtrace/systrace_linux32/
  projects/sv/sys/modules/mlx4/
     - copied from r219925, head/sys/modules/mlx4/
  projects/sv/sys/modules/mlx4ib/
     - copied from r219925, head/sys/modules/mlx4ib/
  projects/sv/sys/modules/mlxen/
     - copied from r219925, head/sys/modules/mlxen/
  projects/sv/sys/modules/mthca/
     - copied from r219925, head/sys/modules/mthca/
  projects/sv/sys/ofed/
     - copied from r219925, head/sys/ofed/
  projects/sv/tools/regression/acltools/04.t
     - copied unchanged from r219925, head/tools/regression/acltools/04.t
  projects/sv/tools/regression/acltools/tools-nfs4-trivial.test
     - copied unchanged from r219925, head/tools/regression/acltools/tools-nfs4-trivial.test
  projects/sv/tools/regression/bin/sh/expansion/length1.0
     - copied unchanged from r219925, head/tools/regression/bin/sh/expansion/length1.0
  projects/sv/tools/regression/bin/sh/expansion/length2.0
     - copied unchanged from r219925, head/tools/regression/bin/sh/expansion/length2.0
  projects/sv/tools/regression/bin/sh/expansion/length3.0
     - copied unchanged from r219925, head/tools/regression/bin/sh/expansion/length3.0
  projects/sv/tools/regression/bin/sh/expansion/plus-minus8.0
     - copied unchanged from r219925, head/tools/regression/bin/sh/expansion/plus-minus8.0
  projects/sv/tools/regression/bin/sh/expansion/trim7.0
     - copied unchanged from r219925, head/tools/regression/bin/sh/expansion/trim7.0
  projects/sv/tools/tools/nanobsd/rescue/Files/root/GPT4ZFS_Create.sh
     - copied unchanged from r219925, head/tools/tools/nanobsd/rescue/Files/root/GPT4ZFS_Create.sh
  projects/sv/tools/tools/nanobsd/rescue/Files/root/ZFS_Create.txt
     - copied unchanged from r219925, head/tools/tools/nanobsd/rescue/Files/root/ZFS_Create.txt
  projects/sv/tools/tools/nanobsd/rescue/merge.sh
     - copied unchanged from r219925, head/tools/tools/nanobsd/rescue/merge.sh
  projects/sv/tools/tools/nanobsd/rescue/rescue_amd64.conf
     - copied unchanged from r219925, head/tools/tools/nanobsd/rescue/rescue_amd64.conf
  projects/sv/tools/tools/nanobsd/rescue/rescue_i386.conf
     - copied unchanged from r219925, head/tools/tools/nanobsd/rescue/rescue_i386.conf
  projects/sv/usr.sbin/bsdinstall/scripts/checksum
     - copied unchanged from r219925, head/usr.sbin/bsdinstall/scripts/checksum
Deleted:
  projects/sv/release/Makefile.bsdinstall
  projects/sv/release/scripts/make-memstick.sh
  projects/sv/tools/tools/nanobsd/rescue/isoamd64.conf
  projects/sv/tools/tools/nanobsd/rescue/isoi386.conf
Modified:
  projects/sv/MAINTAINERS
  projects/sv/Makefile.inc1
  projects/sv/bin/ln/ln.c
  projects/sv/bin/ps/extern.h
  projects/sv/bin/ps/keyword.c
  projects/sv/bin/ps/print.c
  projects/sv/bin/ps/ps.1
  projects/sv/bin/rm/rm.c
  projects/sv/bin/sh/parser.c
  projects/sv/bin/sh/sh.1
  projects/sv/bin/test/test.c
  projects/sv/contrib/binutils/bfd/elfxx-sparc.c
  projects/sv/contrib/gcc/config.gcc
  projects/sv/contrib/gcc/config/i386/driver-i386.c
  projects/sv/contrib/gcc/config/i386/i386.c
  projects/sv/contrib/gcc/config/i386/i386.h
  projects/sv/contrib/gcc/config/i386/i386.md
  projects/sv/contrib/gcc/config/i386/i386.opt
  projects/sv/contrib/gcc/config/i386/sse.md
  projects/sv/contrib/gcc/config/i386/xmmintrin.h
  projects/sv/contrib/gcc/config/sparc/freebsd.h
  projects/sv/contrib/gcc/doc/extend.texi
  projects/sv/contrib/gcc/doc/gcc.1
  projects/sv/contrib/gcc/doc/invoke.texi
  projects/sv/contrib/gdtoa/README
  projects/sv/contrib/gdtoa/dtoa.c
  projects/sv/contrib/gdtoa/g__fmt.c
  projects/sv/contrib/gdtoa/g_ddfmt.c
  projects/sv/contrib/gdtoa/g_dfmt.c
  projects/sv/contrib/gdtoa/gdtoa.c
  projects/sv/contrib/gdtoa/gdtoa.h
  projects/sv/contrib/gdtoa/gdtoaimp.h
  projects/sv/contrib/gdtoa/gethex.c
  projects/sv/contrib/gdtoa/hexnan.c
  projects/sv/contrib/gdtoa/makefile
  projects/sv/contrib/gdtoa/misc.c
  projects/sv/contrib/gdtoa/smisc.c
  projects/sv/contrib/gdtoa/strtoIg.c
  projects/sv/contrib/gdtoa/strtod.c
  projects/sv/contrib/gdtoa/strtodI.c
  projects/sv/contrib/gdtoa/strtodg.c
  projects/sv/contrib/gdtoa/strtof.c
  projects/sv/contrib/gdtoa/strtopdd.c
  projects/sv/contrib/gdtoa/strtopf.c
  projects/sv/contrib/gdtoa/strtopx.c
  projects/sv/contrib/gdtoa/strtopxL.c
  projects/sv/contrib/gdtoa/strtordd.c
  projects/sv/contrib/gdtoa/strtorf.c
  projects/sv/contrib/gdtoa/strtorx.c
  projects/sv/contrib/gdtoa/strtorxL.c
  projects/sv/contrib/gdtoa/ulp.c
  projects/sv/contrib/tzdata/australasia
  projects/sv/contrib/tzdata/etcetera
  projects/sv/contrib/tzdata/europe
  projects/sv/contrib/tzdata/northamerica
  projects/sv/etc/defaults/rc.conf
  projects/sv/etc/motd
  projects/sv/etc/mtree/BSD.include.dist
  projects/sv/etc/mtree/BSD.root.dist
  projects/sv/etc/mtree/BSD.var.dist
  projects/sv/etc/pam.d/su
  projects/sv/etc/rc.d/Makefile   (contents, props changed)
  projects/sv/gnu/lib/libgomp/config.h
  projects/sv/gnu/lib/libstdc++/config.h
  projects/sv/gnu/usr.bin/binutils/ld/Makefile
  projects/sv/gnu/usr.bin/binutils/ld/Makefile.amd64
  projects/sv/gnu/usr.bin/binutils/ld/Makefile.arm
  projects/sv/gnu/usr.bin/binutils/ld/Makefile.i386
  projects/sv/gnu/usr.bin/binutils/ld/Makefile.ia64
  projects/sv/gnu/usr.bin/binutils/ld/Makefile.mips
  projects/sv/gnu/usr.bin/binutils/ld/Makefile.powerpc
  projects/sv/gnu/usr.bin/binutils/ld/Makefile.powerpc64
  projects/sv/gnu/usr.bin/binutils/ld/Makefile.sparc64
  projects/sv/gnu/usr.bin/cc/cc_tools/auto-host.h
  projects/sv/lib/libc/gen/fts-compat.c
  projects/sv/lib/libc/gen/fts.c
  projects/sv/lib/libc/posix1e/acl_strip.c
  projects/sv/lib/libc/stdlib/Makefile.inc
  projects/sv/lib/libc/stdlib/malloc.c
  projects/sv/lib/libc/string/index.3
  projects/sv/lib/libc/sys/Makefile.inc
  projects/sv/lib/libc/sys/Symbol.map
  projects/sv/lib/libc/sys/rfork.2
  projects/sv/lib/libpam/modules/pam_group/pam_group.8
  projects/sv/lib/libpam/modules/pam_group/pam_group.c
  projects/sv/lib/libutil/humanize_number.3
  projects/sv/lib/msun/Makefile
  projects/sv/lib/msun/Symbol.map
  projects/sv/lib/msun/man/math.3
  projects/sv/lib/msun/man/sqrt.3
  projects/sv/lib/msun/src/math.h
  projects/sv/lib/msun/src/s_cbrt.c
  projects/sv/libexec/rtld-elf/sparc64/reloc.c
  projects/sv/release/Makefile
  projects/sv/release/amd64/mkisoimages.sh
  projects/sv/release/i386/mkisoimages.sh
  projects/sv/release/ia64/mkisoimages.sh
  projects/sv/release/powerpc/mkisoimages.sh
  projects/sv/release/sparc64/mkisoimages.sh
  projects/sv/sbin/Makefile
  projects/sv/sbin/dhclient/dhclient-script
  projects/sv/sbin/dumpfs/dumpfs.c
  projects/sv/sbin/geom/class/part/gpart.8
  projects/sv/sbin/hastctl/Makefile
  projects/sv/sbin/hastctl/hastctl.8
  projects/sv/sbin/hastctl/hastctl.c
  projects/sv/sbin/hastd/Makefile
  projects/sv/sbin/hastd/activemap.c
  projects/sv/sbin/hastd/control.c
  projects/sv/sbin/hastd/hast.conf.5
  projects/sv/sbin/hastd/hast.h
  projects/sv/sbin/hastd/hastd.8
  projects/sv/sbin/hastd/hastd.c
  projects/sv/sbin/hastd/hooks.c
  projects/sv/sbin/hastd/parse.y
  projects/sv/sbin/hastd/primary.c
  projects/sv/sbin/hastd/proto.c
  projects/sv/sbin/hastd/proto.h
  projects/sv/sbin/hastd/proto_common.c
  projects/sv/sbin/hastd/proto_impl.h
  projects/sv/sbin/hastd/proto_socketpair.c
  projects/sv/sbin/hastd/proto_tcp4.c
  projects/sv/sbin/hastd/proto_uds.c
  projects/sv/sbin/hastd/secondary.c
  projects/sv/sbin/hastd/subr.c
  projects/sv/sbin/hastd/subr.h
  projects/sv/sbin/hastd/token.l
  projects/sv/sbin/ifconfig/ifconfig.8
  projects/sv/sbin/mount_unionfs/mount_unionfs.8
  projects/sv/share/examples/cvsup/cvs-supfile
  projects/sv/share/examples/cvsup/doc-supfile
  projects/sv/share/examples/cvsup/gnats-supfile
  projects/sv/share/examples/cvsup/ports-supfile
  projects/sv/share/examples/cvsup/stable-supfile
  projects/sv/share/examples/cvsup/standard-supfile
  projects/sv/share/examples/cvsup/www-supfile
  projects/sv/share/man/man4/ip6.4
  projects/sv/share/man/man7/build.7
  projects/sv/share/man/man7/release.7
  projects/sv/share/man/man9/get_cyclecount.9
  projects/sv/share/misc/committers-ports.dot
  projects/sv/share/mk/bsd.cpu.mk
  projects/sv/share/mk/bsd.own.mk
  projects/sv/sys/amd64/amd64/machdep.c
  projects/sv/sys/amd64/conf/GENERIC
  projects/sv/sys/amd64/conf/NOTES
  projects/sv/sys/amd64/include/cpu.h
  projects/sv/sys/amd64/include/endian.h
  projects/sv/sys/amd64/linux32/Makefile
  projects/sv/sys/amd64/linux32/linux.h
  projects/sv/sys/amd64/linux32/linux32_proto.h
  projects/sv/sys/amd64/linux32/linux32_syscall.h
  projects/sv/sys/amd64/linux32/linux32_sysent.c
  projects/sv/sys/amd64/linux32/linux32_sysvec.c
  projects/sv/sys/amd64/linux32/syscalls.conf
  projects/sv/sys/amd64/linux32/syscalls.master
  projects/sv/sys/arm/include/cpu.h
  projects/sv/sys/arm/mv/gpio.c
  projects/sv/sys/boot/common/Makefile.inc
  projects/sv/sys/boot/efi/libefi/efipart.c
  projects/sv/sys/boot/efi/libefi/libefi.c
  projects/sv/sys/boot/forth/loader.conf
  projects/sv/sys/boot/i386/common/cons.c
  projects/sv/sys/boot/i386/zfsboot/Makefile
  projects/sv/sys/boot/i386/zfsboot/zfsldr.S
  projects/sv/sys/boot/ia64/common/bootinfo.c
  projects/sv/sys/boot/ia64/common/copy.c
  projects/sv/sys/boot/ia64/common/exec.c
  projects/sv/sys/boot/ia64/common/libia64.h
  projects/sv/sys/boot/ia64/efi/conf.c
  projects/sv/sys/boot/ia64/efi/efimd.c
  projects/sv/sys/boot/ia64/efi/version
  projects/sv/sys/boot/ia64/ski/conf.c
  projects/sv/sys/boot/ia64/ski/libski.h
  projects/sv/sys/boot/ia64/ski/skimd.c
  projects/sv/sys/boot/ia64/ski/version
  projects/sv/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
  projects/sv/sys/cddl/dev/systrace/systrace.c
  projects/sv/sys/compat/freebsd32/Makefile
  projects/sv/sys/compat/freebsd32/syscalls.conf
  projects/sv/sys/compat/linux/linux_ipc.c
  projects/sv/sys/compat/linux/linux_mib.c
  projects/sv/sys/compat/linux/linux_mib.h
  projects/sv/sys/conf/NOTES
  projects/sv/sys/conf/files
  projects/sv/sys/conf/files.ia64
  projects/sv/sys/conf/kern.pre.mk
  projects/sv/sys/conf/ldscript.ia64
  projects/sv/sys/conf/options
  projects/sv/sys/contrib/altq/altq/altq_subr.c
  projects/sv/sys/contrib/dev/acpica/changes.txt
  projects/sv/sys/contrib/dev/acpica/common/dmtable.c
  projects/sv/sys/contrib/dev/acpica/common/dmtbdump.c
  projects/sv/sys/contrib/dev/acpica/common/dmtbinfo.c
  projects/sv/sys/contrib/dev/acpica/compiler/aslcompiler.y
  projects/sv/sys/contrib/dev/acpica/compiler/dtcompiler.h
  projects/sv/sys/contrib/dev/acpica/compiler/dtio.c
  projects/sv/sys/contrib/dev/acpica/compiler/dttable.c
  projects/sv/sys/contrib/dev/acpica/compiler/dttemplate.h
  projects/sv/sys/contrib/dev/acpica/compiler/dtutils.c
  projects/sv/sys/contrib/dev/acpica/events/evmisc.c
  projects/sv/sys/contrib/dev/acpica/events/evxfgpe.c
  projects/sv/sys/contrib/dev/acpica/include/acdisasm.h
  projects/sv/sys/contrib/dev/acpica/include/acglobal.h
  projects/sv/sys/contrib/dev/acpica/include/acpixf.h
  projects/sv/sys/contrib/dev/acpica/include/actbl2.h
  projects/sv/sys/contrib/octeon-sdk/cvmx-fpa.h
  projects/sv/sys/dev/ae/if_ae.c
  projects/sv/sys/dev/age/if_age.c
  projects/sv/sys/dev/agp/agp.c
  projects/sv/sys/dev/aic7xxx/aic79xx.c
  projects/sv/sys/dev/aic7xxx/aic79xx_pci.c
  projects/sv/sys/dev/aic7xxx/aic7xxx.c
  projects/sv/sys/dev/alc/if_alc.c
  projects/sv/sys/dev/ale/if_ale.c
  projects/sv/sys/dev/ath/ath_hal/ah.c
  projects/sv/sys/dev/ath/ath_hal/ah.h
  projects/sv/sys/dev/ath/ath_hal/ah_diagcodes.h
  projects/sv/sys/dev/ath/ath_hal/ah_internal.h
  projects/sv/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c
  projects/sv/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c
  projects/sv/sys/dev/ath/ath_hal/ar5416/ar2133.c
  projects/sv/sys/dev/ath/ath_hal/ar5416/ar5416.h
  projects/sv/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c
  projects/sv/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
  projects/sv/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c
  projects/sv/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
  projects/sv/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c
  projects/sv/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c
  projects/sv/sys/dev/ath/ath_hal/ar9002/ar9280.c
  projects/sv/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c
  projects/sv/sys/dev/ath/ath_hal/ar9002/ar9280_olc.c
  projects/sv/sys/dev/ath/ath_hal/ar9002/ar9285.c
  projects/sv/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c
  projects/sv/sys/dev/ath/ath_hal/ar9002/ar9285_reset.c
  projects/sv/sys/dev/ath/ath_rate/sample/sample.c
  projects/sv/sys/dev/ath/if_ath.c
  projects/sv/sys/dev/ath/if_ath_tx_ht.c
  projects/sv/sys/dev/bce/if_bce.c
  projects/sv/sys/dev/bge/if_bge.c
  projects/sv/sys/dev/bwn/if_bwn.c
  projects/sv/sys/dev/cxgb/cxgb_main.c
  projects/sv/sys/dev/cxgbe/t4_sge.c
  projects/sv/sys/dev/dc/if_dc.c
  projects/sv/sys/dev/drm/drm_agpsupport.c
  projects/sv/sys/dev/e1000/e1000_82575.c
  projects/sv/sys/dev/e1000/e1000_82575.h
  projects/sv/sys/dev/e1000/e1000_defines.h
  projects/sv/sys/dev/e1000/e1000_osdep.c
  projects/sv/sys/dev/e1000/e1000_phy.c
  projects/sv/sys/dev/e1000/if_em.c
  projects/sv/sys/dev/e1000/if_em.h
  projects/sv/sys/dev/e1000/if_igb.c
  projects/sv/sys/dev/e1000/if_igb.h
  projects/sv/sys/dev/e1000/if_lem.c
  projects/sv/sys/dev/e1000/if_lem.h
  projects/sv/sys/dev/et/if_et.c
  projects/sv/sys/dev/firewire/fwohci.c
  projects/sv/sys/dev/firewire/sbp.c
  projects/sv/sys/dev/fxp/if_fxp.c
  projects/sv/sys/dev/hptmv/hptproc.c
  projects/sv/sys/dev/iwn/if_iwn.c
  projects/sv/sys/dev/jme/if_jme.c
  projects/sv/sys/dev/malo/if_malo_pci.c
  projects/sv/sys/dev/msk/if_msk.c
  projects/sv/sys/dev/mxge/if_mxge.c
  projects/sv/sys/dev/nfe/if_nfe.c
  projects/sv/sys/dev/nge/if_nge.c
  projects/sv/sys/dev/pci/hostb_pci.c
  projects/sv/sys/dev/pci/pci.c
  projects/sv/sys/dev/pci/pcivar.h
  projects/sv/sys/dev/re/if_re.c
  projects/sv/sys/dev/siba/siba_core.c
  projects/sv/sys/dev/sis/if_sis.c
  projects/sv/sys/dev/sk/if_sk.c
  projects/sv/sys/dev/sound/pcm/buffer.c
  projects/sv/sys/dev/ste/if_ste.c
  projects/sv/sys/dev/stge/if_stge.c
  projects/sv/sys/dev/ti/if_ti.c
  projects/sv/sys/dev/ti/if_tireg.h
  projects/sv/sys/dev/txp/if_txp.c
  projects/sv/sys/dev/usb/controller/ehci.c
  projects/sv/sys/dev/usb/input/ums.c
  projects/sv/sys/dev/vge/if_vge.c
  projects/sv/sys/dev/vr/if_vr.c
  projects/sv/sys/dev/vte/if_vte.c
  projects/sv/sys/dev/vte/if_vtereg.h
  projects/sv/sys/dev/xl/if_xl.c
  projects/sv/sys/i386/conf/GENERIC
  projects/sv/sys/i386/i386/machdep.c
  projects/sv/sys/i386/include/cpu.h
  projects/sv/sys/i386/include/endian.h
  projects/sv/sys/i386/include/vmparam.h
  projects/sv/sys/i386/linux/Makefile
  projects/sv/sys/i386/linux/linux.h
  projects/sv/sys/i386/linux/linux_proto.h
  projects/sv/sys/i386/linux/linux_syscall.h
  projects/sv/sys/i386/linux/linux_sysent.c
  projects/sv/sys/i386/linux/linux_sysvec.c
  projects/sv/sys/i386/linux/syscalls.conf
  projects/sv/sys/i386/linux/syscalls.master
  projects/sv/sys/ia64/conf/GENERIC
  projects/sv/sys/ia64/ia64/autoconf.c
  projects/sv/sys/ia64/ia64/db_machdep.c
  projects/sv/sys/ia64/ia64/efi.c
  projects/sv/sys/ia64/ia64/exception.S
  projects/sv/sys/ia64/ia64/gdb_machdep.c
  projects/sv/sys/ia64/ia64/genassym.c
  projects/sv/sys/ia64/ia64/locore.S
  projects/sv/sys/ia64/ia64/machdep.c
  projects/sv/sys/ia64/ia64/pal.S
  projects/sv/sys/ia64/ia64/pmap.c
  projects/sv/sys/ia64/ia64/support.S
  projects/sv/sys/ia64/ia64/trap.c
  projects/sv/sys/ia64/ia64/unaligned.c
  projects/sv/sys/ia64/include/bootinfo.h
  projects/sv/sys/ia64/include/efi.h
  projects/sv/sys/ia64/include/pal.h
  projects/sv/sys/ia64/include/pmap.h
  projects/sv/sys/ia64/include/vmparam.h
  projects/sv/sys/kern/kern_intr.c
  projects/sv/sys/kern/kern_jail.c
  projects/sv/sys/kern/kern_malloc.c
  projects/sv/sys/kern/kern_sig.c
  projects/sv/sys/kern/kern_sx.c
  projects/sv/sys/kern/kern_sysctl.c
  projects/sv/sys/kern/makesyscalls.sh
  projects/sv/sys/kern/subr_acl_nfs4.c
  projects/sv/sys/kern/subr_bus.c
  projects/sv/sys/kern/subr_param.c
  projects/sv/sys/kern/sys_pipe.c
  projects/sv/sys/kern/vfs_cluster.c
  projects/sv/sys/kern/vfs_mount.c
  projects/sv/sys/mips/atheros/if_arge.c
  projects/sv/sys/mips/atheros/if_argevar.h
  projects/sv/sys/mips/cavium/octe/ethernet-common.c
  projects/sv/sys/mips/cavium/octe/ethernet-common.h
  projects/sv/sys/mips/cavium/octe/ethernet.c
  projects/sv/sys/mips/cavium/octe/octebus.c
  projects/sv/sys/mips/cavium/octe/octebusvar.h
  projects/sv/sys/mips/cavium/octe/wrapper-cvmx-includes.h
  projects/sv/sys/mips/conf/OCTEON1
  projects/sv/sys/mips/include/cpuregs.h
  projects/sv/sys/mips/mips/cpu.c
  projects/sv/sys/modules/Makefile
  projects/sv/sys/modules/dtrace/Makefile
  projects/sv/sys/modules/dtrace/dtraceall/Makefile
  projects/sv/sys/modules/dtrace/dtraceall/dtraceall.c
  projects/sv/sys/modules/ufs/Makefile
  projects/sv/sys/net/if.c
  projects/sv/sys/net/if_arp.h
  projects/sv/sys/net/if_llatbl.h
  projects/sv/sys/net/if_types.h
  projects/sv/sys/net/if_var.h
  projects/sv/sys/net/if_vlan.c
  projects/sv/sys/net/if_vlan_var.h
  projects/sv/sys/net/route.c
  projects/sv/sys/net/route.h
  projects/sv/sys/net80211/_ieee80211.h
  projects/sv/sys/net80211/ieee80211.c
  projects/sv/sys/net80211/ieee80211_ht.c
  projects/sv/sys/net80211/ieee80211_node.c
  projects/sv/sys/net80211/ieee80211_output.c
  projects/sv/sys/net80211/ieee80211_scan_sta.c
  projects/sv/sys/net80211/ieee80211_sta.c
  projects/sv/sys/net80211/ieee80211_var.h
  projects/sv/sys/netgraph/ng_base.c
  projects/sv/sys/netgraph/ng_iface.c
  projects/sv/sys/netinet/if_ether.c
  projects/sv/sys/netinet/in.c
  projects/sv/sys/netinet/in_pcb.c
  projects/sv/sys/netinet/in_pcb.h
  projects/sv/sys/netinet6/in6.c
  projects/sv/sys/netinet6/in6_pcb.c
  projects/sv/sys/netinet6/in6_src.c
  projects/sv/sys/netinet6/nd6.c
  projects/sv/sys/netinet6/nd6_nbr.c
  projects/sv/sys/netinet6/udp6_usrreq.c
  projects/sv/sys/pc98/pc98/machdep.c
  projects/sv/sys/pci/if_rl.c
  projects/sv/sys/powerpc/aim/machdep.c
  projects/sv/sys/powerpc/include/frame.h
  projects/sv/sys/powerpc/powermac/smu.c
  projects/sv/sys/sparc64/ebus/ebus.c
  projects/sv/sys/sparc64/ebus/ebusreg.h
  projects/sv/sys/sparc64/include/_inttypes.h
  projects/sv/sys/sparc64/include/_stdint.h
  projects/sv/sys/sparc64/include/bus.h
  projects/sv/sys/sparc64/include/bus_dma.h
  projects/sv/sys/sparc64/include/iommuvar.h
  projects/sv/sys/sparc64/include/ofw_nexus.h
  projects/sv/sys/sparc64/include/varargs.h
  projects/sv/sys/sparc64/include/vmparam.h
  projects/sv/sys/sparc64/isa/ofw_isa.c
  projects/sv/sys/sparc64/isa/ofw_isa.h
  projects/sv/sys/sparc64/pci/fire.c
  projects/sv/sys/sparc64/pci/ofw_pci.h
  projects/sv/sys/sparc64/pci/ofw_pcibus.c
  projects/sv/sys/sparc64/pci/psychoreg.h
  projects/sv/sys/sparc64/pci/psychovar.h
  projects/sv/sys/sparc64/sbus/dma_sbus.c
  projects/sv/sys/sparc64/sbus/lsi64854.c
  projects/sv/sys/sparc64/sbus/lsi64854reg.h
  projects/sv/sys/sparc64/sbus/lsi64854var.h
  projects/sv/sys/sparc64/sbus/ofw_sbus.h
  projects/sv/sys/sparc64/sbus/sbus.c
  projects/sv/sys/sparc64/sbus/sbusvar.h
  projects/sv/sys/sparc64/sparc64/bus_machdep.c
  projects/sv/sys/sparc64/sparc64/elf_machdep.c
  projects/sv/sys/sparc64/sparc64/iommu.c
  projects/sv/sys/sparc64/sparc64/machdep.c
  projects/sv/sys/sparc64/sparc64/pmap.c
  projects/sv/sys/sparc64/sparc64/tick.c
  projects/sv/sys/sparc64/sparc64/trap.c
  projects/sv/sys/sparc64/sparc64/vm_machdep.c
  projects/sv/sys/sun4v/include/_inttypes.h
  projects/sv/sys/sun4v/include/_stdint.h
  projects/sv/sys/sun4v/include/bus.h
  projects/sv/sys/sun4v/include/bus_dma.h
  projects/sv/sys/sun4v/include/ofw_nexus.h
  projects/sv/sys/sun4v/include/varargs.h
  projects/sv/sys/sun4v/include/vmparam.h
  projects/sv/sys/sun4v/sun4v/bus_machdep.c
  projects/sv/sys/sun4v/sun4v/hviommu.c
  projects/sv/sys/sun4v/sun4v/machdep.c
  projects/sv/sys/sun4v/sun4v/trap.c
  projects/sv/sys/sun4v/sun4v/vm_machdep.c
  projects/sv/sys/sys/acl.h
  projects/sv/sys/sys/bus.h
  projects/sv/sys/sys/file.h
  projects/sv/sys/sys/interrupt.h
  projects/sv/sys/sys/jail.h
  projects/sv/sys/sys/kernel.h
  projects/sv/sys/sys/proc.h
  projects/sv/sys/sys/sx.h
  projects/sv/sys/sys/sysctl.h
  projects/sv/sys/sys/systm.h
  projects/sv/sys/ufs/ffs/ffs_alloc.c
  projects/sv/sys/ufs/ffs/ffs_extern.h
  projects/sv/sys/ufs/ffs/ffs_softdep.c
  projects/sv/sys/ufs/ffs/ffs_vfsops.c
  projects/sv/sys/ufs/ufs/ufs_lookup.c
  projects/sv/sys/ufs/ufs/ufsmount.h
  projects/sv/sys/vm/uma_core.c
  projects/sv/sys/vm/vm_map.c
  projects/sv/sys/vm/vm_map.h
  projects/sv/sys/vm/vm_pageout.c
  projects/sv/sys/x86/isa/clock.c
  projects/sv/sys/x86/x86/tsc.c
  projects/sv/tools/regression/doat/Makefile
  projects/sv/tools/regression/doat/doat.c
  projects/sv/tools/regression/pjdfstest/pjdfstest.c
  projects/sv/tools/regression/pjdfstest/tests/open/16.t
  projects/sv/tools/test/malloc/Makefile
  projects/sv/tools/test/malloc/main.c
  projects/sv/tools/tools/aac/Makefile
  projects/sv/tools/tools/aac/aac_checkq.c
  projects/sv/tools/tools/ath/ath_ee_v14_print/ath_ee_v14_print.c
  projects/sv/tools/tools/cfi/Makefile
  projects/sv/tools/tools/cfi/cfi.c
  projects/sv/tools/tools/ether_reflect/Makefile
  projects/sv/tools/tools/iwi/Makefile
  projects/sv/tools/tools/iwi/iwistats.c
  projects/sv/tools/tools/nanobsd/rescue/common
  projects/sv/tools/tools/ncpus/biosmptable.c
  projects/sv/usr.bin/calendar/calendars/calendar.freebsd
  projects/sv/usr.bin/netstat/Makefile
  projects/sv/usr.bin/netstat/inet.c
  projects/sv/usr.bin/netstat/main.c
  projects/sv/usr.bin/netstat/sctp.c
  projects/sv/usr.bin/vmstat/vmstat.c
  projects/sv/usr.sbin/bsdinstall/distextract/distextract.c
  projects/sv/usr.sbin/bsdinstall/partedit/gpart_ops.c
  projects/sv/usr.sbin/bsdinstall/partedit/partedit.h
  projects/sv/usr.sbin/bsdinstall/scripts/Makefile
  projects/sv/usr.sbin/bsdinstall/scripts/auto
  projects/sv/usr.sbin/config/config.h
  projects/sv/usr.sbin/config/mkmakefile.c
  projects/sv/usr.sbin/mfiutil/mfi_show.c
  projects/sv/usr.sbin/moused/moused.8
  projects/sv/usr.sbin/ndp/ndp.c
  projects/sv/usr.sbin/sysinstall/devices.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/dialog/   (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/ofed/libibcm/   (props changed)
  projects/sv/contrib/ofed/libibcm/config/   (props changed)
  projects/sv/contrib/ofed/libibcm/include/   (props changed)
  projects/sv/contrib/ofed/libibcm/include/infiniband/   (props changed)
  projects/sv/contrib/ofed/libibcm/src/   (props changed)
  projects/sv/contrib/ofed/libibverbs/   (props changed)
  projects/sv/contrib/ofed/libibverbs/config/   (props changed)
  projects/sv/contrib/ofed/libibverbs/debian/   (props changed)
  projects/sv/contrib/ofed/libibverbs/examples/   (props changed)
  projects/sv/contrib/ofed/libibverbs/fixes/   (props changed)
  projects/sv/contrib/ofed/libibverbs/include/   (props changed)
  projects/sv/contrib/ofed/libibverbs/include/infiniband/   (props changed)
  projects/sv/contrib/ofed/libibverbs/man/   (props changed)
  projects/sv/contrib/ofed/libibverbs/src/   (props changed)
  projects/sv/contrib/ofed/libmlx4/   (props changed)
  projects/sv/contrib/ofed/libmlx4/config/   (props changed)
  projects/sv/contrib/ofed/libmlx4/debian/   (props changed)
  projects/sv/contrib/ofed/libmlx4/fixes/   (props changed)
  projects/sv/contrib/ofed/libmlx4/src/   (props changed)
  projects/sv/contrib/ofed/libmthca/   (props changed)
  projects/sv/contrib/ofed/libmthca/config/   (props changed)
  projects/sv/contrib/ofed/libmthca/debian/   (props changed)
  projects/sv/contrib/ofed/libmthca/src/   (props changed)
  projects/sv/contrib/ofed/librdmacm/   (props changed)
  projects/sv/contrib/ofed/librdmacm/config/   (props changed)
  projects/sv/contrib/ofed/librdmacm/examples/   (props changed)
  projects/sv/contrib/ofed/librdmacm/include/   (props changed)
  projects/sv/contrib/ofed/librdmacm/include/rdma/   (props changed)
  projects/sv/contrib/ofed/librdmacm/man/   (props changed)
  projects/sv/contrib/ofed/librdmacm/src/   (props changed)
  projects/sv/contrib/ofed/libsdp/   (props changed)
  projects/sv/contrib/ofed/libsdp/config/   (props changed)
  projects/sv/contrib/ofed/libsdp/src/   (props changed)
  projects/sv/contrib/ofed/libsdp/src/linux/   (props changed)
  projects/sv/contrib/ofed/management/   (props changed)
  projects/sv/contrib/ofed/management/doc/   (props changed)
  projects/sv/contrib/ofed/management/infiniband-diags/   (props changed)
  projects/sv/contrib/ofed/management/infiniband-diags/include/   (props changed)
  projects/sv/contrib/ofed/management/infiniband-diags/man/   (props changed)
  projects/sv/contrib/ofed/management/infiniband-diags/scripts/   (props changed)
  projects/sv/contrib/ofed/management/infiniband-diags/src/   (props changed)
  projects/sv/contrib/ofed/management/libibcommon/   (props changed)
  projects/sv/contrib/ofed/management/libibcommon/include/   (props changed)
  projects/sv/contrib/ofed/management/libibcommon/include/infiniband/   (props changed)
  projects/sv/contrib/ofed/management/libibcommon/src/   (props changed)
  projects/sv/contrib/ofed/management/libibmad/   (props changed)
  projects/sv/contrib/ofed/management/libibmad/include/   (props changed)
  projects/sv/contrib/ofed/management/libibmad/include/infiniband/   (props changed)
  projects/sv/contrib/ofed/management/libibmad/src/   (props changed)
  projects/sv/contrib/ofed/management/libibumad/   (props changed)
  projects/sv/contrib/ofed/management/libibumad/include/   (props changed)
  projects/sv/contrib/ofed/management/libibumad/include/infiniband/   (props changed)
  projects/sv/contrib/ofed/management/libibumad/man/   (props changed)
  projects/sv/contrib/ofed/management/libibumad/src/   (props changed)
  projects/sv/contrib/ofed/management/opensm/   (props changed)
  projects/sv/contrib/ofed/management/opensm/complib/   (props changed)
  projects/sv/contrib/ofed/management/opensm/config/   (props changed)
  projects/sv/contrib/ofed/management/opensm/doc/   (props changed)
  projects/sv/contrib/ofed/management/opensm/include/   (props changed)
  projects/sv/contrib/ofed/management/opensm/include/complib/   (props changed)
  projects/sv/contrib/ofed/management/opensm/include/iba/   (props changed)
  projects/sv/contrib/ofed/management/opensm/include/opensm/   (props changed)
  projects/sv/contrib/ofed/management/opensm/include/vendor/   (props changed)
  projects/sv/contrib/ofed/management/opensm/libvendor/   (props changed)
  projects/sv/contrib/ofed/management/opensm/man/   (props changed)
  projects/sv/contrib/ofed/management/opensm/opensm/   (props changed)
  projects/sv/contrib/ofed/management/opensm/osmeventplugin/   (props changed)
  projects/sv/contrib/ofed/management/opensm/osmeventplugin/src/   (props changed)
  projects/sv/contrib/ofed/management/opensm/osmtest/   (props changed)
  projects/sv/contrib/ofed/management/opensm/osmtest/include/   (props changed)
  projects/sv/contrib/ofed/management/opensm/scripts/   (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/etc/rc.d/hastd   (props changed)
  projects/sv/gnu/lib/   (props changed)
  projects/sv/gnu/usr.bin/binutils/   (props changed)
  projects/sv/gnu/usr.bin/cc/cc_tools/   (props changed)
  projects/sv/gnu/usr.bin/gdb/   (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/boot/   (props changed)
  projects/sv/sys/boot/i386/efi/   (props changed)
  projects/sv/sys/boot/ia64/efi/   (props changed)
  projects/sv/sys/boot/ia64/ski/   (props changed)
  projects/sv/sys/boot/powerpc/boot1.chrp/   (props changed)
  projects/sv/sys/boot/powerpc/ofw/   (props changed)
  projects/sv/sys/cddl/contrib/opensolaris/   (props changed)
  projects/sv/sys/conf/   (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/sys/ofed/drivers/   (props changed)
  projects/sv/sys/ofed/drivers/infiniband/   (props changed)
  projects/sv/sys/ofed/drivers/infiniband/core/   (props changed)
  projects/sv/sys/ofed/drivers/infiniband/debug/   (props changed)
  projects/sv/sys/ofed/drivers/infiniband/hw/   (props changed)
  projects/sv/sys/ofed/drivers/infiniband/hw/mlx4/   (props changed)
  projects/sv/sys/ofed/drivers/infiniband/hw/mthca/   (props changed)
  projects/sv/sys/ofed/drivers/infiniband/ulp/   (props changed)
  projects/sv/sys/ofed/drivers/infiniband/ulp/ipoib/   (props changed)
  projects/sv/sys/ofed/drivers/infiniband/ulp/sdp/   (props changed)
  projects/sv/sys/ofed/drivers/infiniband/util/   (props changed)
  projects/sv/sys/ofed/drivers/net/   (props changed)
  projects/sv/sys/ofed/drivers/net/mlx4/   (props changed)
  projects/sv/sys/ofed/include/   (props changed)
  projects/sv/sys/ofed/include/asm/   (props changed)
  projects/sv/sys/ofed/include/linux/   (props changed)
  projects/sv/sys/ofed/include/linux/mlx4/   (props changed)
  projects/sv/sys/ofed/include/net/   (props changed)
  projects/sv/sys/ofed/include/rdma/   (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/ndiscvt/   (props changed)
  projects/sv/usr.sbin/zic/   (props changed)

Modified: projects/sv/MAINTAINERS
==============================================================================
--- projects/sv/MAINTAINERS	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/MAINTAINERS	Wed Mar 23 18:08:54 2011	(r219926)
@@ -47,6 +47,7 @@ cd(4)		ken	Pre-commit review requested.
 pass(4)		ken	Pre-commit review requested.
 ch(4)		ken	Pre-commit review requested.
 em(4)		jfv	Pre-commit review requested.
+bxe(4)		davidch	Pre-commit review requested.
 tdfx(4)		cokane  Just keep me informed of changes, try not to break it.
 sendmail	gshapiro	Pre-commit review requested.
 etc/mail	gshapiro	Pre-commit review requested.

Modified: projects/sv/Makefile.inc1
==============================================================================
--- projects/sv/Makefile.inc1	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/Makefile.inc1	Wed Mar 23 18:08:54 2011	(r219926)
@@ -76,6 +76,9 @@ SUBDIR+=secure
 SUBDIR+=share
 .endif
 SUBDIR+=sys usr.bin usr.sbin
+.if ${MK_OFED} != "no"
+SUBDIR+=contrib/ofed
+.endif
 #
 # We must do etc/ last for install/distribute to work.
 #
@@ -1210,7 +1213,11 @@ _prebuild_libs=	${_kerberos5_lib_libasn1
 _lib_libthr=	lib/libthr
 .endif
 
-_generic_libs=	${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib
+.if ${MK_OFED} != "no"
+_ofed_lib=	contrib/ofed/usr.lib/
+.endif
+
+_generic_libs=	${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib ${_ofed_lib}
 
 lib/libopie__L lib/libtacplus__L: lib/libmd__L
 

Modified: projects/sv/bin/ln/ln.c
==============================================================================
--- projects/sv/bin/ln/ln.c	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/bin/ln/ln.c	Wed Mar 23 18:08:54 2011	(r219926)
@@ -80,7 +80,7 @@ main(int argc, char *argv[])
 	 * "link", for which the functionality provided is greatly
 	 * simplified.
 	 */
-	if ((p = rindex(argv[0], '/')) == NULL)
+	if ((p = strrchr(argv[0], '/')) == NULL)
 		p = argv[0];
 	else
 		++p;

Modified: projects/sv/bin/ps/extern.h
==============================================================================
--- projects/sv/bin/ps/extern.h	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/bin/ps/extern.h	Wed Mar 23 18:08:54 2011	(r219926)
@@ -81,12 +81,14 @@ int	 s_uname(KINFO *);
 void	 showkey(void);
 void	 started(KINFO *, VARENT *);
 void	 state(KINFO *, VARENT *);
+void	 systime(KINFO *, VARENT *);
 void	 tdev(KINFO *, VARENT *);
 void	 tdnam(KINFO *, VARENT *);
 void	 tname(KINFO *, VARENT *);
 void	 ucomm(KINFO *, VARENT *);
 void	 uname(KINFO *, VARENT *);
 void	 upr(KINFO *, VARENT *);
+void	 usertime(KINFO *, VARENT *);
 void	 vsize(KINFO *, VARENT *);
 void	 wchan(KINFO *, VARENT *);
 __END_DECLS

Modified: projects/sv/bin/ps/keyword.c
==============================================================================
--- projects/sv/bin/ps/keyword.c	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/bin/ps/keyword.c	Wed Mar 23 18:08:54 2011	(r219926)
@@ -189,6 +189,7 @@ static VAR var[] = {
 		UINT, UIDFMT, 0},
 	{"svuid", "SVUID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_svuid),
 		UINT, UIDFMT, 0},
+	{"systime", "SYSTIME", NULL, USER, systime, NULL, 9, 0, CHAR, NULL, 0},
 	{"tdaddr", "TDADDR", NULL, 0, kvar, NULL, sizeof(void *) * 2,
 		KOFF(ki_tdaddr), KPTR, "lx", 0},
 	{"tdev", "TDEV", NULL, 0, tdev, NULL, 5, 0, CHAR, NULL, 0},
@@ -210,6 +211,8 @@ static VAR var[] = {
 		KOFF(ki_paddr), KPTR, "lx", 0},
 	{"user", "USER", NULL, LJUST|DSIZ, uname, s_uname, USERLEN, 0, CHAR,
 		NULL, 0},
+	{"usertime", "USERTIME", NULL, USER, usertime, NULL, 9, 0, CHAR, NULL,
+		0},
 	{"usrpri", "", "upr", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
 	{"vsize", "", "vsz", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
 	{"vsz", "VSZ", NULL, 0, vsize, NULL, 6, 0, CHAR, NULL, 0},

Modified: projects/sv/bin/ps/print.c
==============================================================================
--- projects/sv/bin/ps/print.c	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/bin/ps/print.c	Wed Mar 23 18:08:54 2011	(r219926)
@@ -550,12 +550,11 @@ vsize(KINFO *k, VARENT *ve)
 	(void)printf("%*lu", v->width, (u_long)(k->ki_p->ki_size / 1024));
 }
 
-void
-cputime(KINFO *k, VARENT *ve)
+static void
+printtime(KINFO *k, VARENT *ve, long secs, long psecs)
+/* psecs is "parts" of a second. first micro, then centi */
 {
 	VAR *v;
-	long secs;
-	long psecs;	/* "parts" of a second. first micro, then centi */
 	char obuff[128];
 	static char decimal_point;
 
@@ -566,20 +565,7 @@ cputime(KINFO *k, VARENT *ve)
 		secs = 0;
 		psecs = 0;
 	} else {
-		/*
-		 * This counts time spent handling interrupts.  We could
-		 * fix this, but it is not 100% trivial (and interrupt
-		 * time fractions only work on the sparc anyway).	XXX
-		 */
-		secs = k->ki_p->ki_runtime / 1000000;
-		psecs = k->ki_p->ki_runtime % 1000000;
-		if (sumrusage) {
-			secs += k->ki_p->ki_childtime.tv_sec;
-			psecs += k->ki_p->ki_childtime.tv_usec;
-		}
-		/*
-		 * round and scale to 100's
-		 */
+		/* round and scale to 100's */
 		psecs = (psecs + 5000) / 10000;
 		secs += psecs / 100;
 		psecs = psecs % 100;
@@ -590,6 +576,53 @@ cputime(KINFO *k, VARENT *ve)
 }
 
 void
+cputime(KINFO *k, VARENT *ve)
+{
+	long secs, psecs;
+
+	/*
+	 * This counts time spent handling interrupts.  We could
+	 * fix this, but it is not 100% trivial (and interrupt
+	 * time fractions only work on the sparc anyway).	XXX
+	 */
+	secs = k->ki_p->ki_runtime / 1000000;
+	psecs = k->ki_p->ki_runtime % 1000000;
+	if (sumrusage) {
+		secs += k->ki_p->ki_childtime.tv_sec;
+		psecs += k->ki_p->ki_childtime.tv_usec;
+	}
+	printtime(k, ve, secs, psecs);
+}
+
+void
+systime(KINFO *k, VARENT *ve)
+{
+	long secs, psecs;
+
+	secs = k->ki_p->ki_rusage.ru_stime.tv_sec;
+	psecs = k->ki_p->ki_rusage.ru_stime.tv_usec;
+	if (sumrusage) {
+		secs += k->ki_p->ki_childstime.tv_sec;
+		psecs += k->ki_p->ki_childstime.tv_usec;
+	}
+	printtime(k, ve, secs, psecs);
+}
+
+void
+usertime(KINFO *k, VARENT *ve)
+{
+	long secs, psecs;
+
+	secs = k->ki_p->ki_rusage.ru_utime.tv_sec;
+	psecs = k->ki_p->ki_rusage.ru_utime.tv_usec;
+	if (sumrusage) {
+		secs += k->ki_p->ki_childutime.tv_sec;
+		psecs += k->ki_p->ki_childutime.tv_usec;
+	}
+	printtime(k, ve, secs, psecs);
+}
+
+void
 elapsed(KINFO *k, VARENT *ve)
 {
 	VAR *v;

Modified: projects/sv/bin/ps/ps.1
==============================================================================
--- projects/sv/bin/ps/ps.1	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/bin/ps/ps.1	Wed Mar 23 18:08:54 2011	(r219926)
@@ -29,7 +29,7 @@
 .\"     @(#)ps.1	8.3 (Berkeley) 4/18/94
 .\" $FreeBSD$
 .\"
-.Dd March 5, 2011
+.Dd March 16, 2011
 .Dt PS 1
 .Os
 .Sh NAME
@@ -205,8 +205,8 @@ Display information about processes whic
 Sort by current CPU usage, instead of the combination of controlling
 terminal and process ID.
 .It Fl S
-Change the way the process time is calculated by summing all exited
-children to their parent process.
+Change the way the process times, namely cputime, systime, and usertime,
+are calculated by summing all exited children to their parent process.
 .It Fl T
 Display information about processes attached to the device associated
 with the standard input.
@@ -596,6 +596,8 @@ symbolic process state (alias
 saved gid from a setgid executable
 .It Cm svuid
 saved UID from a setuid executable
+.It Cm systime
+accumulated system CPU time
 .It Cm tdaddr
 thread address
 .It Cm tdev
@@ -626,6 +628,8 @@ scheduling priority on return from syste
 .Cm usrpri )
 .It Cm user
 user name (from UID)
+.It Cm usertime
+accumulated user CPU time
 .It Cm vsz
 virtual size in Kbytes (alias
 .Cm vsize )

Modified: projects/sv/bin/rm/rm.c
==============================================================================
--- projects/sv/bin/rm/rm.c	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/bin/rm/rm.c	Wed Mar 23 18:08:54 2011	(r219926)
@@ -90,7 +90,7 @@ main(int argc, char *argv[])
 	 * "unlink", for which the functionality provided is greatly
 	 * simplified.
 	 */
-	if ((p = rindex(argv[0], '/')) == NULL)
+	if ((p = strrchr(argv[0], '/')) == NULL)
 		p = argv[0];
 	else
 		++p;

Modified: projects/sv/bin/sh/parser.c
==============================================================================
--- projects/sv/bin/sh/parser.c	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/bin/sh/parser.c	Wed Mar 23 18:08:54 2011	(r219926)
@@ -1447,6 +1447,7 @@ parsesub: {
 	int bracketed_name = 0; /* used to handle ${[0-9]*} variables */
 	int linno;
 	int length;
+	int c1;
 
 	c = pgetc();
 	if (c != '(' && c != '{' && (is_eof(c) || !is_name(c)) &&
@@ -1473,15 +1474,9 @@ parsesub: {
 		if (c == '{') {
 			bracketed_name = 1;
 			c = pgetc();
-			if (c == '#') {
-				if ((c = pgetc()) == '}')
-					c = '#';
-				else
-					subtype = VSLENGTH;
-			}
-			else
-				subtype = 0;
+			subtype = 0;
 		}
+varname:
 		if (!is_eof(c) && is_name(c)) {
 			length = 0;
 			do {
@@ -1511,19 +1506,35 @@ parsesub: {
 				STPUTC(c, out);
 				c = pgetc();
 			}
-		} else {
-			if (! is_special(c)) {
-				subtype = VSERROR;
-				if (c == '}')
-					pungetc();
-				else if (c == '\n' || c == PEOF)
-					synerror("Unexpected end of line in substitution");
-				else
-					USTPUTC(c, out);
-			} else {
-				USTPUTC(c, out);
+		} else if (is_special(c)) {
+			c1 = c;
+			c = pgetc();
+			if (subtype == 0 && c1 == '#') {
+				subtype = VSLENGTH;
+				if (strchr(types, c) == NULL && c != ':' &&
+				    c != '#' && c != '%')
+					goto varname;
+				c1 = c;
 				c = pgetc();
+				if (c1 != '}' && c == '}') {
+					pungetc();
+					c = c1;
+					goto varname;
+				}
+				pungetc();
+				c = c1;
+				c1 = '#';
+				subtype = 0;
 			}
+			USTPUTC(c1, out);
+		} else {
+			subtype = VSERROR;
+			if (c == '}')
+				pungetc();
+			else if (c == '\n' || c == PEOF)
+				synerror("Unexpected end of line in substitution");
+			else
+				USTPUTC(c, out);
 		}
 		if (subtype == 0) {
 			switch (c) {

Modified: projects/sv/bin/sh/sh.1
==============================================================================
--- projects/sv/bin/sh/sh.1	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/bin/sh/sh.1	Wed Mar 23 18:08:54 2011	(r219926)
@@ -32,7 +32,7 @@
 .\"	from: @(#)sh.1	8.6 (Berkeley) 5/4/95
 .\" $FreeBSD$
 .\"
-.Dd February 8, 2011
+.Dd March 20, 2011
 .Dt SH 1
 .Os
 .Sh NAME
@@ -934,9 +934,9 @@ or
 .Pp
 .D1 Li { Ar list Ns Li \&; }
 .Pp
-The first form executes the commands in a subshell.
+The first form executes the commands in a subshell environment.
 Note that built-in commands thus executed do not affect the current shell.
-The second form does not fork another shell,
+The second form never forks another shell,
 so it is slightly more efficient.
 Grouping commands together this way allows the user to
 redirect their output as though they were one program:
@@ -1450,8 +1450,8 @@ or the backquoted version:
 .Pp
 .D1 Li ` Ns Ar command Ns Li `
 .Pp
-The shell expands the command substitution by executing command in a
-subshell environment and replacing the command substitution
+The shell expands the command substitution by executing command
+and replacing the command substitution
 with the standard output of the command,
 removing sequences of one or more newlines at the end of the substitution.
 Embedded newlines before the end of the output are not removed;
@@ -1459,6 +1459,18 @@ however, during field splitting, they ma
 depending on the value of
 .Va IFS
 and the quoting that is in effect.
+The command is executed in a subshell environment,
+except that the built-in commands
+.Ic jobid ,
+.Ic jobs ,
+.Ic times
+and
+.Ic trap
+return information about the main shell environment
+if they are the only command in a command substitution
+and the substitutions in the command cannot cause side effects
+(such as from assigning values to variables or referencing
+.Li $! ).
 .Ss Arithmetic Expansion
 Arithmetic expansion provides a mechanism for evaluating an arithmetic
 expression and substituting its value.
@@ -2265,8 +2277,8 @@ Omitting the
 .Ar action
 is another way to request the default action, for compatibility reasons this
 usage is not recommended though.
-When the shell forks off a subshell,
-it resets trapped (but not ignored) signals to the default action.
+In a subshell environment,
+the shell resets trapped (but not ignored) signals to the default action.
 The
 .Ic trap
 command has no effect on signals that were ignored on entry to the shell.

Modified: projects/sv/bin/test/test.c
==============================================================================
--- projects/sv/bin/test/test.c	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/bin/test/test.c	Wed Mar 23 18:08:54 2011	(r219926)
@@ -194,7 +194,7 @@ main(int argc, char **argv)
 	int	res;
 	char	*p;
 
-	if ((p = rindex(argv[0], '/')) == NULL)
+	if ((p = strrchr(argv[0], '/')) == NULL)
 		p = argv[0];
 	else
 		p++;

Modified: projects/sv/contrib/binutils/bfd/elfxx-sparc.c
==============================================================================
--- projects/sv/contrib/binutils/bfd/elfxx-sparc.c	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/contrib/binutils/bfd/elfxx-sparc.c	Wed Mar 23 18:08:54 2011	(r219926)
@@ -2474,11 +2474,13 @@ _bfd_sparc_elf_relocate_section (bfd *ou
   Elf_Internal_Rela *rel;
   Elf_Internal_Rela *relend;
   int num_relocs;
+  const struct elf_backend_data *bed;
 
   htab = _bfd_sparc_elf_hash_table (info);
   symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
   sym_hashes = elf_sym_hashes (input_bfd);
   local_got_offsets = elf_local_got_offsets (input_bfd);
+  bed = get_elf_backend_data (output_bfd);
 
   if (elf_hash_table (info)->hgot == NULL)
     got_base = 0;
@@ -2876,11 +2878,6 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 			{
 			  asection *osec;
 
-			  /* We are turning this relocation into one
-			     against a section symbol.  It would be
-			     proper to subtract the symbol's value,
-			     osec->vma, from the emitted reloc addend,
-			     but ld.so expects buggy relocs.  */
 			  osec = sec->output_section;
 			  indx = elf_section_data (osec)->dynindx;
 
@@ -2901,6 +2898,15 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 			      bfd_set_error (bfd_error_bad_value);
 			      return FALSE;
 			    }
+
+			  /* We are turning this relocation into one
+			     against a section symbol, so subtract out
+			     the output section's address but not the
+			     offset of the input section in the output
+			     section on OSes where ld.so doesn't expect
+			     buggy relocs.  */
+			  if (bed->elf_osabi == ELFOSABI_FREEBSD)
+			    outrel.r_addend -= osec->vma;
 			}
 
 		      outrel.r_info = SPARC_ELF_R_INFO (htab, rel, indx,

Modified: projects/sv/contrib/gcc/config.gcc
==============================================================================
--- projects/sv/contrib/gcc/config.gcc	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/contrib/gcc/config.gcc	Wed Mar 23 18:08:54 2011	(r219926)
@@ -268,11 +268,13 @@ xscale-*-*)
 	;;
 i[34567]86-*-*)
 	cpu_type=i386
-	extra_headers="mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h pmmintrin.h"
+	extra_headers="mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
+		       pmmintrin.h tmmintrin.h"
 	;;
 x86_64-*-*)
 	cpu_type=i386
-	extra_headers="mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h pmmintrin.h"
+	extra_headers="mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
+		       pmmintrin.h tmmintrin.h"
 	need_64bit_hwint=yes
 	;;
 ia64-*-*)

Modified: projects/sv/contrib/gcc/config/i386/driver-i386.c
==============================================================================
--- projects/sv/contrib/gcc/config/i386/driver-i386.c	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/contrib/gcc/config/i386/driver-i386.c	Wed Mar 23 18:08:54 2011	(r219926)
@@ -39,6 +39,7 @@ const char *host_detect_local_cpu (int a
 #define bit_SSE2 (1 << 26)
 
 #define bit_SSE3 (1 << 0)
+#define bit_SSSE3 (1 << 9)
 #define bit_CMPXCHG16B (1 << 13)
 
 #define bit_3DNOW (1 << 31)
@@ -66,7 +67,7 @@ const char *host_detect_local_cpu (int a
   unsigned int vendor;
   unsigned int ext_level;
   unsigned char has_mmx = 0, has_3dnow = 0, has_3dnowp = 0, has_sse = 0;
-  unsigned char has_sse2 = 0, has_sse3 = 0, has_cmov = 0;
+  unsigned char has_sse2 = 0, has_sse3 = 0, has_ssse3 = 0, has_cmov = 0;
   unsigned char has_longmode = 0, has_cmpxchg8b = 0;
   unsigned char is_amd = 0;
   unsigned int family = 0;
@@ -107,6 +108,7 @@ const char *host_detect_local_cpu (int a
   has_sse = !!(edx & bit_SSE);
   has_sse2 = !!(edx & bit_SSE2);
   has_sse3 = !!(ecx & bit_SSE3);
+  has_ssse3 = !!(ecx & bit_SSSE3);
   /* We don't care for extended family.  */
   family = (eax >> 8) & ~(1 << 4);
 
@@ -148,7 +150,9 @@ const char *host_detect_local_cpu (int a
 	  /* We have no idea.  Use something reasonable.  */
 	  if (arch)
 	    {
-	      if (has_sse3)
+	      if (has_ssse3)
+		cpu = "core2";
+	      else if (has_sse3)
 		{
 		  if (has_longmode)
 		    cpu = "nocona";
@@ -230,6 +234,9 @@ const char *host_detect_local_cpu (int a
 	  cpu = "generic";
 	}
       break;
+    case PROCESSOR_GEODE:
+      cpu = "geode";
+      break;
     case PROCESSOR_K6:
       if (has_3dnow)
         cpu = "k6-3";

Modified: projects/sv/contrib/gcc/config/i386/i386.c
==============================================================================
--- projects/sv/contrib/gcc/config/i386/i386.c	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/contrib/gcc/config/i386/i386.c	Wed Mar 23 18:08:54 2011	(r219926)
@@ -926,7 +926,7 @@ const int x86_use_incdec = ~(m_PENT4 | m
    integer data in xmm registers.  Which results in pretty abysmal code.  */
 const int x86_inter_unit_moves = 0 /* ~(m_ATHLON_K8) */;
 
-const int x86_ext_80387_constants = m_K6_GEODE | m_ATHLON | m_PENT4 | m_NOCONA | m_PPRO | m_GENERIC32;
+const int x86_ext_80387_constants = m_K6_GEODE | m_ATHLON | m_PENT4 | m_NOCONA | m_CORE2 | m_PPRO | m_GENERIC32;
 /* Some CPU cores are not able to predict more than 4 branch instructions in
    the 16 byte window.  */
 const int x86_four_jump_limit = m_PPRO | m_ATHLON_K8 | m_PENT4 | m_NOCONA | m_CORE2 | m_GENERIC;
@@ -937,7 +937,7 @@ const int x86_cmpxchg = ~m_386;
 /* Compare and exchange 8 bytes was added for pentium.  */
 const int x86_cmpxchg8b = ~(m_386 | m_486);
 /* Compare and exchange 16 bytes was added for nocona.  */
-const int x86_cmpxchg16b = m_NOCONA;
+const int x86_cmpxchg16b = m_NOCONA | m_CORE2;
 /* Exchange and add was added for 80486.  */
 const int x86_xadd = ~m_386;
 const int x86_pad_returns = m_ATHLON_K8 | m_CORE2 | m_GENERIC;
@@ -1511,16 +1511,24 @@ ix86_handle_option (size_t code, const c
     case OPT_msse:
       if (!value)
 	{
-	  target_flags &= ~(MASK_SSE2 | MASK_SSE3);
-	  target_flags_explicit |= MASK_SSE2 | MASK_SSE3;
+	  target_flags &= ~(MASK_SSE2 | MASK_SSE3 | MASK_SSSE3);
+	  target_flags_explicit |= MASK_SSE2 | MASK_SSE3 | MASK_SSSE3;
 	}
       return true;
 
     case OPT_msse2:
       if (!value)
 	{
-	  target_flags &= ~MASK_SSE3;
-	  target_flags_explicit |= MASK_SSE3;
+	  target_flags &= ~(MASK_SSE3 | MASK_SSSE3);
+	  target_flags_explicit |= MASK_SSE3 | MASK_SSSE3;
+	}
+      return true;
+
+    case OPT_msse3:
+      if (!value)
+	{
+	  target_flags &= ~MASK_SSSE3;
+	  target_flags_explicit |= MASK_SSSE3;
 	}
       return true;
 
@@ -1589,7 +1597,8 @@ override_options (void)
 	  PTA_PREFETCH_SSE = 16,
 	  PTA_3DNOW = 32,
 	  PTA_3DNOW_A = 64,
-	  PTA_64BIT = 128
+	  PTA_64BIT = 128,
+	  PTA_SSSE3 = 256
 	} flags;
     }
   const processor_alias_table[] =
@@ -1617,7 +1626,7 @@ override_options (void)
 				        | PTA_MMX | PTA_PREFETCH_SSE},
       {"nocona", PROCESSOR_NOCONA, PTA_SSE | PTA_SSE2 | PTA_SSE3 | PTA_64BIT
 				        | PTA_MMX | PTA_PREFETCH_SSE},
-      {"core2", PROCESSOR_CORE2, PTA_SSE | PTA_SSE2 | PTA_SSE3
+      {"core2", PROCESSOR_CORE2, PTA_SSE | PTA_SSE2 | PTA_SSE3 | PTA_SSSE3
                                         | PTA_64BIT | PTA_MMX
                                         | PTA_PREFETCH_SSE},
       {"geode", PROCESSOR_GEODE, PTA_MMX | PTA_PREFETCH_SSE | PTA_3DNOW
@@ -1811,6 +1820,9 @@ override_options (void)
 	if (processor_alias_table[i].flags & PTA_SSE3
 	    && !(target_flags_explicit & MASK_SSE3))
 	  target_flags |= MASK_SSE3;
+	if (processor_alias_table[i].flags & PTA_SSSE3
+	    && !(target_flags_explicit & MASK_SSSE3))
+	  target_flags |= MASK_SSSE3;
 	if (processor_alias_table[i].flags & PTA_PREFETCH_SSE)
 	  x86_prefetch_sse = true;
 	if (TARGET_64BIT && !(processor_alias_table[i].flags & PTA_64BIT))
@@ -1987,6 +1999,10 @@ override_options (void)
   if (!TARGET_80387)
     target_flags |= MASK_NO_FANCY_MATH_387;
 
+  /* Turn on SSE3 builtins for -mssse3.  */
+  if (TARGET_SSSE3)
+    target_flags |= MASK_SSE3;
+
   /* Turn on SSE2 builtins for -msse3.  */
   if (TARGET_SSE3)
     target_flags |= MASK_SSE2;
@@ -14693,6 +14709,41 @@ enum ix86_builtins
   IX86_BUILTIN_MONITOR,
   IX86_BUILTIN_MWAIT,
 
+  /* SSSE3.  */
+  IX86_BUILTIN_PHADDW,
+  IX86_BUILTIN_PHADDD,
+  IX86_BUILTIN_PHADDSW,
+  IX86_BUILTIN_PHSUBW,
+  IX86_BUILTIN_PHSUBD,
+  IX86_BUILTIN_PHSUBSW,
+  IX86_BUILTIN_PMADDUBSW,
+  IX86_BUILTIN_PMULHRSW,
+  IX86_BUILTIN_PSHUFB,
+  IX86_BUILTIN_PSIGNB,
+  IX86_BUILTIN_PSIGNW,
+  IX86_BUILTIN_PSIGND,
+  IX86_BUILTIN_PALIGNR,
+  IX86_BUILTIN_PABSB,
+  IX86_BUILTIN_PABSW,
+  IX86_BUILTIN_PABSD,
+
+  IX86_BUILTIN_PHADDW128,
+  IX86_BUILTIN_PHADDD128,
+  IX86_BUILTIN_PHADDSW128,
+  IX86_BUILTIN_PHSUBW128,
+  IX86_BUILTIN_PHSUBD128,
+  IX86_BUILTIN_PHSUBSW128,
+  IX86_BUILTIN_PMADDUBSW128,
+  IX86_BUILTIN_PMULHRSW128,
+  IX86_BUILTIN_PSHUFB128,
+  IX86_BUILTIN_PSIGNB128,
+  IX86_BUILTIN_PSIGNW128,
+  IX86_BUILTIN_PSIGND128,
+  IX86_BUILTIN_PALIGNR128,
+  IX86_BUILTIN_PABSB128,
+  IX86_BUILTIN_PABSW128,
+  IX86_BUILTIN_PABSD128,
+
   IX86_BUILTIN_VEC_INIT_V2SI,
   IX86_BUILTIN_VEC_INIT_V4HI,
   IX86_BUILTIN_VEC_INIT_V8QI,
@@ -15034,7 +15085,33 @@ static const struct builtin_description 
   { MASK_SSE3, CODE_FOR_sse3_haddv4sf3, "__builtin_ia32_haddps", IX86_BUILTIN_HADDPS, 0, 0 },
   { MASK_SSE3, CODE_FOR_sse3_haddv2df3, "__builtin_ia32_haddpd", IX86_BUILTIN_HADDPD, 0, 0 },
   { MASK_SSE3, CODE_FOR_sse3_hsubv4sf3, "__builtin_ia32_hsubps", IX86_BUILTIN_HSUBPS, 0, 0 },
-  { MASK_SSE3, CODE_FOR_sse3_hsubv2df3, "__builtin_ia32_hsubpd", IX86_BUILTIN_HSUBPD, 0, 0 }
+  { MASK_SSE3, CODE_FOR_sse3_hsubv2df3, "__builtin_ia32_hsubpd", IX86_BUILTIN_HSUBPD, 0, 0 },
+
+  /* SSSE3 */
+  { MASK_SSSE3, CODE_FOR_ssse3_phaddwv8hi3, "__builtin_ia32_phaddw128", IX86_BUILTIN_PHADDW128, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_phaddwv4hi3, "__builtin_ia32_phaddw", IX86_BUILTIN_PHADDW, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_phadddv4si3, "__builtin_ia32_phaddd128", IX86_BUILTIN_PHADDD128, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_phadddv2si3, "__builtin_ia32_phaddd", IX86_BUILTIN_PHADDD, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_phaddswv8hi3, "__builtin_ia32_phaddsw128", IX86_BUILTIN_PHADDSW128, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_phaddswv4hi3, "__builtin_ia32_phaddsw", IX86_BUILTIN_PHADDSW, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_phsubwv8hi3, "__builtin_ia32_phsubw128", IX86_BUILTIN_PHSUBW128, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_phsubwv4hi3, "__builtin_ia32_phsubw", IX86_BUILTIN_PHSUBW, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_phsubdv4si3, "__builtin_ia32_phsubd128", IX86_BUILTIN_PHSUBD128, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_phsubdv2si3, "__builtin_ia32_phsubd", IX86_BUILTIN_PHSUBD, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_phsubswv8hi3, "__builtin_ia32_phsubsw128", IX86_BUILTIN_PHSUBSW128, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_phsubswv4hi3, "__builtin_ia32_phsubsw", IX86_BUILTIN_PHSUBSW, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_pmaddubswv8hi3, "__builtin_ia32_pmaddubsw128", IX86_BUILTIN_PMADDUBSW128, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_pmaddubswv4hi3, "__builtin_ia32_pmaddubsw", IX86_BUILTIN_PMADDUBSW, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_pmulhrswv8hi3, "__builtin_ia32_pmulhrsw128", IX86_BUILTIN_PMULHRSW128, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_pmulhrswv4hi3, "__builtin_ia32_pmulhrsw", IX86_BUILTIN_PMULHRSW, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_pshufbv16qi3, "__builtin_ia32_pshufb128", IX86_BUILTIN_PSHUFB128, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_pshufbv8qi3, "__builtin_ia32_pshufb", IX86_BUILTIN_PSHUFB, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_psignv16qi3, "__builtin_ia32_psignb128", IX86_BUILTIN_PSIGNB128, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_psignv8qi3, "__builtin_ia32_psignb", IX86_BUILTIN_PSIGNB, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_psignv8hi3, "__builtin_ia32_psignw128", IX86_BUILTIN_PSIGNW128, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_psignv4hi3, "__builtin_ia32_psignw", IX86_BUILTIN_PSIGNW, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_psignv4si3, "__builtin_ia32_psignd128", IX86_BUILTIN_PSIGND128, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_ssse3_psignv2si3, "__builtin_ia32_psignd", IX86_BUILTIN_PSIGND, 0, 0 }
 };
 
 static const struct builtin_description bdesc_1arg[] =
@@ -15081,6 +15158,14 @@ static const struct builtin_description 
   /* SSE3 */
   { MASK_SSE3, CODE_FOR_sse3_movshdup, 0, IX86_BUILTIN_MOVSHDUP, 0, 0 },
   { MASK_SSE3, CODE_FOR_sse3_movsldup, 0, IX86_BUILTIN_MOVSLDUP, 0, 0 },
+
+  /* SSSE3 */
+  { MASK_SSSE3, CODE_FOR_absv16qi2, "__builtin_ia32_pabsb128", IX86_BUILTIN_PABSB128, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_absv8qi2, "__builtin_ia32_pabsb", IX86_BUILTIN_PABSB, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_absv8hi2, "__builtin_ia32_pabsw128", IX86_BUILTIN_PABSW128, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_absv4hi2, "__builtin_ia32_pabsw", IX86_BUILTIN_PABSW, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_absv4si2, "__builtin_ia32_pabsd128", IX86_BUILTIN_PABSD128, 0, 0 },
+  { MASK_SSSE3, CODE_FOR_absv2si2, "__builtin_ia32_pabsd", IX86_BUILTIN_PABSD, 0, 0 },
 };
 
 static void
@@ -15215,6 +15300,16 @@ ix86_init_mmx_sse_builtins (void)
   /* Normal vector unops.  */
   tree v4sf_ftype_v4sf
     = build_function_type_list (V4SF_type_node, V4SF_type_node, NULL_TREE);
+  tree v16qi_ftype_v16qi
+    = build_function_type_list (V16QI_type_node, V16QI_type_node, NULL_TREE);
+  tree v8hi_ftype_v8hi
+    = build_function_type_list (V8HI_type_node, V8HI_type_node, NULL_TREE);
+  tree v4si_ftype_v4si
+    = build_function_type_list (V4SI_type_node, V4SI_type_node, NULL_TREE);
+  tree v8qi_ftype_v8qi
+    = build_function_type_list (V8QI_type_node, V8QI_type_node, NULL_TREE);
+  tree v4hi_ftype_v4hi
+    = build_function_type_list (V4HI_type_node, V4HI_type_node, NULL_TREE);
 
   /* Normal vector binops.  */
   tree v4sf_ftype_v4sf_v4sf
@@ -15234,6 +15329,12 @@ ix86_init_mmx_sse_builtins (void)
 				long_long_unsigned_type_node,
 				long_long_unsigned_type_node, NULL_TREE);
 
+  tree di_ftype_di_di_int
+    = build_function_type_list (long_long_unsigned_type_node,
+				long_long_unsigned_type_node,
+				long_long_unsigned_type_node,
+				integer_type_node, NULL_TREE);
+
   tree v2si_ftype_v2sf
     = build_function_type_list (V2SI_type_node, V2SF_type_node, NULL_TREE);
   tree v2sf_ftype_v2si
@@ -15335,6 +15436,9 @@ ix86_init_mmx_sse_builtins (void)
   tree v2di_ftype_v2di_int
     = build_function_type_list (V2DI_type_node,
 				V2DI_type_node, integer_type_node, NULL_TREE);
+  tree v2di_ftype_v2di_v2di_int
+    = build_function_type_list (V2DI_type_node, V2DI_type_node,
+				V2DI_type_node, integer_type_node, NULL_TREE);
   tree v4si_ftype_v4si_int
     = build_function_type_list (V4SI_type_node,
 				V4SI_type_node, integer_type_node, NULL_TREE);
@@ -15451,6 +15555,50 @@ ix86_init_mmx_sse_builtins (void)
       def_builtin (d->mask, d->name, type, d->code);
     }
 
+  /* Add all builtins that are more or less simple operations on 1 operand.  */
+  for (i = 0, d = bdesc_1arg; i < ARRAY_SIZE (bdesc_1arg); i++, d++)
+    {
+      enum machine_mode mode;
+      tree type;
+
+      if (d->name == 0)
+	continue;
+      mode = insn_data[d->icode].operand[1].mode;
+
+      switch (mode)
+	{
+	case V16QImode:
+	  type = v16qi_ftype_v16qi;
+	  break;
+	case V8HImode:
+	  type = v8hi_ftype_v8hi;
+	  break;
+	case V4SImode:
+	  type = v4si_ftype_v4si;
+	  break;
+	case V2DFmode:
+	  type = v2df_ftype_v2df;
+	  break;
+	case V4SFmode:
+	  type = v4sf_ftype_v4sf;
+	  break;
+	case V8QImode:
+	  type = v8qi_ftype_v8qi;
+	  break;
+	case V4HImode:
+	  type = v4hi_ftype_v4hi;
+	  break;
+	case V2SImode:
+	  type = v2si_ftype_v2si;
+	  break;
+
+	default:
+	  abort ();
+	}
+
+      def_builtin (d->mask, d->name, type, d->code);
+    }
+
   /* Add the remaining MMX insns with somewhat more complicated types.  */
   def_builtin (MASK_MMX, "__builtin_ia32_emms", void_ftype_void, IX86_BUILTIN_EMMS);
   def_builtin (MASK_MMX, "__builtin_ia32_psllw", v4hi_ftype_v4hi_di, IX86_BUILTIN_PSLLW);
@@ -15650,6 +15798,12 @@ ix86_init_mmx_sse_builtins (void)
   def_builtin (MASK_SSE3, "__builtin_ia32_lddqu",
 	       v16qi_ftype_pcchar, IX86_BUILTIN_LDDQU);
 
+  /* SSSE3.  */
+  def_builtin (MASK_SSSE3, "__builtin_ia32_palignr128",
+	       v2di_ftype_v2di_v2di_int, IX86_BUILTIN_PALIGNR128);
+  def_builtin (MASK_SSSE3, "__builtin_ia32_palignr", di_ftype_di_di_int,
+	       IX86_BUILTIN_PALIGNR);
+
   /* Access to the vec_init patterns.  */
   ftype = build_function_type_list (V2SI_type_node, integer_type_node,
 				    integer_type_node, NULL_TREE);
@@ -16148,7 +16302,7 @@ ix86_expand_builtin (tree exp, rtx targe
   tree arglist = TREE_OPERAND (exp, 1);
   tree arg0, arg1, arg2;
   rtx op0, op1, op2, pat;
-  enum machine_mode tmode, mode0, mode1, mode2;
+  enum machine_mode tmode, mode0, mode1, mode2, mode3;
   unsigned int fcode = DECL_FUNCTION_CODE (fndecl);
 
   switch (fcode)
@@ -16618,6 +16772,52 @@ ix86_expand_builtin (tree exp, rtx targe
       return ix86_expand_unop_builtin (CODE_FOR_sse3_lddqu, arglist,
 				       target, 1);
 
+    case IX86_BUILTIN_PALIGNR:
+    case IX86_BUILTIN_PALIGNR128:
+      if (fcode == IX86_BUILTIN_PALIGNR)
+	{
+	  icode = CODE_FOR_ssse3_palignrdi;
+	  mode = DImode;
+	}
+      else
+	{
+	  icode = CODE_FOR_ssse3_palignrti;
+	  mode = V2DImode;
+	}
+      arg0 = TREE_VALUE (arglist);
+      arg1 = TREE_VALUE (TREE_CHAIN (arglist));
+      arg2 = TREE_VALUE (TREE_CHAIN (TREE_CHAIN (arglist)));
+      op0 = expand_expr (arg0, NULL_RTX, VOIDmode, 0);
+      op1 = expand_expr (arg1, NULL_RTX, VOIDmode, 0);
+      op2 = expand_expr (arg2, NULL_RTX, VOIDmode, 0);
+      tmode = insn_data[icode].operand[0].mode;
+      mode1 = insn_data[icode].operand[1].mode;
+      mode2 = insn_data[icode].operand[2].mode;
+      mode3 = insn_data[icode].operand[3].mode;
+
+      if (! (*insn_data[icode].operand[1].predicate) (op0, mode1))
+	{
+	  op0 = copy_to_reg (op0);
+	  op0 = simplify_gen_subreg (mode1, op0, GET_MODE (op0), 0);
+	}
+      if (! (*insn_data[icode].operand[2].predicate) (op1, mode2))
+	{
+	  op1 = copy_to_reg (op1);
+	  op1 = simplify_gen_subreg (mode2, op1, GET_MODE (op1), 0);
+	}
+      if (! (*insn_data[icode].operand[3].predicate) (op2, mode3))
+	{
+	  error ("shift must be an immediate");
+	  return const0_rtx;
+	}
+      target = gen_reg_rtx (mode);
+      pat = GEN_FCN (icode) (simplify_gen_subreg (tmode, target, mode, 0),
+			     op0, op1, op2);
+      if (! pat)
+	return 0;
+      emit_insn (pat);
+      return target;
+
     case IX86_BUILTIN_VEC_INIT_V2SI:
     case IX86_BUILTIN_VEC_INIT_V4HI:
     case IX86_BUILTIN_VEC_INIT_V8QI:

Modified: projects/sv/contrib/gcc/config/i386/i386.h
==============================================================================
--- projects/sv/contrib/gcc/config/i386/i386.h	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/contrib/gcc/config/i386/i386.h	Wed Mar 23 18:08:54 2011	(r219926)
@@ -418,6 +418,8 @@ extern const char *host_detect_local_cpu
 	builtin_define ("__SSE2__");				\
       if (TARGET_SSE3)						\
 	builtin_define ("__SSE3__");				\
+      if (TARGET_SSSE3)						\
+	builtin_define ("__SSSE3__");				\
       if (TARGET_SSE_MATH && TARGET_SSE)			\
 	builtin_define ("__SSE_MATH__");			\
       if (TARGET_SSE_MATH && TARGET_SSE2)			\

Modified: projects/sv/contrib/gcc/config/i386/i386.md
==============================================================================
--- projects/sv/contrib/gcc/config/i386/i386.md	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/contrib/gcc/config/i386/i386.md	Wed Mar 23 18:08:54 2011	(r219926)
@@ -148,6 +148,11 @@
    (UNSPEC_SP_TEST		101)
    (UNSPEC_SP_TLS_SET		102)
    (UNSPEC_SP_TLS_TEST		103)
+
+   ; SSSE3
+   (UNSPEC_PSHUFB		120)
+   (UNSPEC_PSIGN		121)
+   (UNSPEC_PALIGNR		122)
   ])
 
 (define_constants
@@ -20948,6 +20953,6 @@
   }
   [(set_attr "type" "multi")])
 
-(include "sse.md")
 (include "mmx.md")
+(include "sse.md")
 (include "sync.md")

Modified: projects/sv/contrib/gcc/config/i386/i386.opt
==============================================================================
--- projects/sv/contrib/gcc/config/i386/i386.opt	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/contrib/gcc/config/i386/i386.opt	Wed Mar 23 18:08:54 2011	(r219926)
@@ -197,6 +197,10 @@ msse3
 Target Report Mask(SSE3)
 Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation
 
+mssse3
+Target Report Mask(SSSE3)
+Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generation
+
 msseregparm
 Target RejectNegative Mask(SSEREGPARM)
 Use SSE register passing conventions for SF and DF mode

Modified: projects/sv/contrib/gcc/config/i386/sse.md
==============================================================================
--- projects/sv/contrib/gcc/config/i386/sse.md	Wed Mar 23 17:56:38 2011	(r219925)
+++ projects/sv/contrib/gcc/config/i386/sse.md	Wed Mar 23 18:08:54 2011	(r219926)
@@ -3949,3 +3949,578 @@
 ;; zero extended to 64bit, we only need to set up 32bit registers.
   "monitor"
   [(set_attr "length" "3")])
+
+;; SSSE3
+(define_insn "ssse3_phaddwv8hi3"
+  [(set (match_operand:V8HI 0 "register_operand" "=x")
+	(vec_concat:V8HI
+	  (vec_concat:V4HI
+	    (vec_concat:V2HI
+	      (plus:HI
+		(vec_select:HI
+		  (match_operand:V8HI 1 "register_operand" "0")
+		  (parallel [(const_int 0)]))
+		(vec_select:HI (match_dup 1) (parallel [(const_int 1)])))
+	      (plus:HI
+		(vec_select:HI (match_dup 1) (parallel [(const_int 2)]))
+		(vec_select:HI (match_dup 1) (parallel [(const_int 3)]))))
+	    (vec_concat:V2HI
+	      (plus:HI
+		(vec_select:HI (match_dup 1) (parallel [(const_int 4)]))
+		(vec_select:HI (match_dup 1) (parallel [(const_int 5)])))
+	      (plus:HI
+		(vec_select:HI (match_dup 1) (parallel [(const_int 6)]))
+		(vec_select:HI (match_dup 1) (parallel [(const_int 7)])))))
+	  (vec_concat:V4HI
+	    (vec_concat:V2HI
+	      (plus:HI
+		(vec_select:HI
+		  (match_operand:V8HI 2 "nonimmediate_operand" "xm")
+		  (parallel [(const_int 0)]))
+		(vec_select:HI (match_dup 2) (parallel [(const_int 1)])))
+	      (plus:HI
+		(vec_select:HI (match_dup 2) (parallel [(const_int 2)]))
+		(vec_select:HI (match_dup 2) (parallel [(const_int 3)]))))
+	    (vec_concat:V2HI
+	      (plus:HI
+		(vec_select:HI (match_dup 2) (parallel [(const_int 4)]))
+		(vec_select:HI (match_dup 2) (parallel [(const_int 5)])))
+	      (plus:HI
+		(vec_select:HI (match_dup 2) (parallel [(const_int 6)]))
+		(vec_select:HI (match_dup 2) (parallel [(const_int 7)])))))))]
+  "TARGET_SSSE3"
+  "phaddw\t{%2, %0|%0, %2}"
+  [(set_attr "type" "sseiadd")
+   (set_attr "mode" "TI")])
+
+(define_insn "ssse3_phaddwv4hi3"
+  [(set (match_operand:V4HI 0 "register_operand" "=y")
+	(vec_concat:V4HI
+	  (vec_concat:V2HI
+	    (plus:HI
+	      (vec_select:HI
+		(match_operand:V4HI 1 "register_operand" "0")
+		(parallel [(const_int 0)]))
+	      (vec_select:HI (match_dup 1) (parallel [(const_int 1)])))
+	    (plus:HI
+	      (vec_select:HI (match_dup 1) (parallel [(const_int 2)]))
+	      (vec_select:HI (match_dup 1) (parallel [(const_int 3)]))))
+	  (vec_concat:V2HI
+	    (plus:HI
+	      (vec_select:HI
+		(match_operand:V4HI 2 "nonimmediate_operand" "ym")
+		(parallel [(const_int 0)]))
+	      (vec_select:HI (match_dup 2) (parallel [(const_int 1)])))
+	    (plus:HI
+	      (vec_select:HI (match_dup 2) (parallel [(const_int 2)]))
+	      (vec_select:HI (match_dup 2) (parallel [(const_int 3)]))))))]
+  "TARGET_SSSE3"
+  "phaddw\t{%2, %0|%0, %2}"
+  [(set_attr "type" "sseiadd")
+   (set_attr "mode" "DI")])
+
+(define_insn "ssse3_phadddv4si3"
+  [(set (match_operand:V4SI 0 "register_operand" "=x")
+	(vec_concat:V4SI
+	  (vec_concat:V2SI
+	    (plus:SI
+	      (vec_select:SI
+		(match_operand:V4SI 1 "register_operand" "0")
+		(parallel [(const_int 0)]))
+	      (vec_select:SI (match_dup 1) (parallel [(const_int 1)])))
+	    (plus:SI
+	      (vec_select:SI (match_dup 1) (parallel [(const_int 2)]))
+	      (vec_select:SI (match_dup 1) (parallel [(const_int 3)]))))
+	  (vec_concat:V2SI
+	    (plus:SI
+	      (vec_select:SI
+		(match_operand:V4SI 2 "nonimmediate_operand" "xm")
+		(parallel [(const_int 0)]))
+	      (vec_select:SI (match_dup 2) (parallel [(const_int 1)])))
+	    (plus:SI
+	      (vec_select:SI (match_dup 2) (parallel [(const_int 2)]))
+	      (vec_select:SI (match_dup 2) (parallel [(const_int 3)]))))))]
+  "TARGET_SSSE3"
+  "phaddd\t{%2, %0|%0, %2}"
+  [(set_attr "type" "sseiadd")
+   (set_attr "mode" "TI")])
+
+(define_insn "ssse3_phadddv2si3"
+  [(set (match_operand:V2SI 0 "register_operand" "=y")
+	(vec_concat:V2SI
+	  (plus:SI
+	    (vec_select:SI
+	      (match_operand:V2SI 1 "register_operand" "0")
+	      (parallel [(const_int 0)]))
+	    (vec_select:SI (match_dup 1) (parallel [(const_int 1)])))
+	  (plus:SI
+	    (vec_select:SI
+	      (match_operand:V2SI 2 "nonimmediate_operand" "ym")
+	      (parallel [(const_int 0)]))
+	    (vec_select:SI (match_dup 2) (parallel [(const_int 1)])))))]
+  "TARGET_SSSE3"
+  "phaddd\t{%2, %0|%0, %2}"
+  [(set_attr "type" "sseiadd")
+   (set_attr "mode" "DI")])
+

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-projects mailing list