Date: Wed, 23 Mar 2011 18:08:55 +0000 (UTC) From: Attilio Rao <attilio@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: 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/... Message-ID: <201103231808.p2NI8tkZ002999@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201103231808.p2NI8tkZ002999>