svn commit: r277967 - in user/dchagin/lemul: . bin/cp bin/expr bin/mv cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/inline cddl/contrib/op...

Dmitry Chagin dchagin at FreeBSD.org
Sat Jan 31 11:24:41 UTC 2015


Author: dchagin
Date: Sat Jan 31 11:24:26 2015
New Revision: 277967
URL: https://svnweb.freebsd.org/changeset/base/277967

Log:
  Merge from HEAD.

Added:
  user/dchagin/lemul/contrib/llvm/patches/patch-29-llvm-r226664-aarch64-x18.diff
     - copied unchanged from r277966, head/contrib/llvm/patches/patch-29-llvm-r226664-aarch64-x18.diff
  user/dchagin/lemul/contrib/llvm/patches/patch-30-clang-r227062-fixes-x18.diff
     - copied unchanged from r277966, head/contrib/llvm/patches/patch-30-clang-r227062-fixes-x18.diff
  user/dchagin/lemul/etc/tests/rc.d/
     - copied from r277966, head/etc/tests/rc.d/
  user/dchagin/lemul/sys/arm/arm/pmu.c
     - copied unchanged from r277966, head/sys/arm/arm/pmu.c
  user/dchagin/lemul/sys/arm/freescale/imx/imx6_audmux.c
     - copied unchanged from r277966, head/sys/arm/freescale/imx/imx6_audmux.c
  user/dchagin/lemul/sys/arm/freescale/imx/imx6_sdma.c
     - copied unchanged from r277966, head/sys/arm/freescale/imx/imx6_sdma.c
  user/dchagin/lemul/sys/arm/freescale/imx/imx6_sdma.h
     - copied unchanged from r277966, head/sys/arm/freescale/imx/imx6_sdma.h
  user/dchagin/lemul/sys/arm/freescale/imx/imx6_ssi.c
     - copied unchanged from r277966, head/sys/arm/freescale/imx/imx6_ssi.c
  user/dchagin/lemul/sys/dev/hwpmc/hwpmc_armv7.c
     - copied unchanged from r277966, head/sys/dev/hwpmc/hwpmc_armv7.c
  user/dchagin/lemul/sys/dev/hwpmc/hwpmc_armv7.h
     - copied unchanged from r277966, head/sys/dev/hwpmc/hwpmc_armv7.h
  user/dchagin/lemul/sys/dev/iscsi/icl_conn_if.m
     - copied unchanged from r277966, head/sys/dev/iscsi/icl_conn_if.m
  user/dchagin/lemul/sys/dev/iscsi/icl_soft.c
     - copied unchanged from r277966, head/sys/dev/iscsi/icl_soft.c
  user/dchagin/lemul/sys/dev/iscsi/icl_wrappers.h
     - copied unchanged from r277966, head/sys/dev/iscsi/icl_wrappers.h
  user/dchagin/lemul/tools/build/options/WITHOUT_AUTOFS
     - copied unchanged from r277966, head/tools/build/options/WITHOUT_AUTOFS
  user/dchagin/lemul/tools/build/options/WITHOUT_BHYVE
     - copied unchanged from r277966, head/tools/build/options/WITHOUT_BHYVE
  user/dchagin/lemul/tools/build/options/WITHOUT_BSDINSTALL
     - copied unchanged from r277966, head/tools/build/options/WITHOUT_BSDINSTALL
  user/dchagin/lemul/tools/build/options/WITHOUT_CCD
     - copied unchanged from r277966, head/tools/build/options/WITHOUT_CCD
  user/dchagin/lemul/tools/build/options/WITHOUT_EE
     - copied unchanged from r277966, head/tools/build/options/WITHOUT_EE
  user/dchagin/lemul/tools/build/options/WITHOUT_HAST
     - copied unchanged from r277966, head/tools/build/options/WITHOUT_HAST
  user/dchagin/lemul/tools/build/options/WITHOUT_ISCSI
     - copied unchanged from r277966, head/tools/build/options/WITHOUT_ISCSI
  user/dchagin/lemul/tools/build/options/WITHOUT_TALK
     - copied unchanged from r277966, head/tools/build/options/WITHOUT_TALK
Replaced:
  user/dchagin/lemul/sys/dev/iscsi/icl.c
     - copied unchanged from r277966, head/sys/dev/iscsi/icl.c
Deleted:
  user/dchagin/lemul/share/man/man9/spl.9
Modified:
  user/dchagin/lemul/Makefile.inc1
  user/dchagin/lemul/ObsoleteFiles.inc
  user/dchagin/lemul/bin/cp/utils.c
  user/dchagin/lemul/bin/expr/expr.y
  user/dchagin/lemul/bin/mv/mv.c
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/inline/err.D_OP_INCOMPAT.baddef1.d
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/inline/err.D_OP_INCOMPAT.badxlate.d
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/tst.usdt.c
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/lexer/err.D_CHR_NL.char.d
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/lexer/err.D_CHR_NULL.char.d
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/lexer/err.D_STR_NL.string.d
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.roch.d
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/nfs/tst.call3.c
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/offsetof/err.D_UNKNOWN.badmemb.d
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.args1.c
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.fork.d
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.gcc.c
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret1.c
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret2.c
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.vfork.d
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak1.c
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak2.c
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/err.D_PRINT_VOID.bad.d
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.xlate.d
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.xlate.d.out
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/probes/tst.probestar.d
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.discard.ksh
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.signal.ksh
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.func.ksh
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.mod.ksh
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.sym.ksh
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/tst.selfarray2.d
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.c
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose1.ksh
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.forker.c
  user/dchagin/lemul/contrib/amd/amd/amfs_generic.c
  user/dchagin/lemul/contrib/amd/amd/amfs_program.c
  user/dchagin/lemul/contrib/amd/amd/readdir.c
  user/dchagin/lemul/contrib/amd/hlfsd/homedir.c
  user/dchagin/lemul/contrib/amd/hlfsd/stubs.c
  user/dchagin/lemul/contrib/elftoolchain/elfcopy/main.c
  user/dchagin/lemul/contrib/gdb/gdb/corelow.c
  user/dchagin/lemul/contrib/gdb/gdb/dwarf2expr.c
  user/dchagin/lemul/contrib/libcxxrt/stdexcept.cc
  user/dchagin/lemul/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
  user/dchagin/lemul/contrib/llvm/tools/clang/include/clang/Driver/Options.td
  user/dchagin/lemul/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
  user/dchagin/lemul/contrib/netbsd-tests/bin/expr/t_expr.sh
  user/dchagin/lemul/contrib/netbsd-tests/lib/libc/c063/t_utimensat.c
  user/dchagin/lemul/contrib/sendmail/cf/m4/cfhead.m4
  user/dchagin/lemul/contrib/tcpdump/print-ip.c
  user/dchagin/lemul/contrib/tcpdump/print-sl.c
  user/dchagin/lemul/contrib/tcpdump/tcpdump.c
  user/dchagin/lemul/etc/Makefile
  user/dchagin/lemul/etc/defaults/Makefile
  user/dchagin/lemul/etc/devd/Makefile
  user/dchagin/lemul/etc/mtree/BSD.tests.dist
  user/dchagin/lemul/etc/pam.d/Makefile
  user/dchagin/lemul/etc/rc.d/Makefile
  user/dchagin/lemul/etc/rc.d/ipfilter
  user/dchagin/lemul/etc/rc.d/local_unbound
  user/dchagin/lemul/etc/sendmail/Makefile
  user/dchagin/lemul/etc/tests/Makefile
  user/dchagin/lemul/games/fortune/fortune/fortune.6
  user/dchagin/lemul/include/Makefile
  user/dchagin/lemul/lib/Makefile
  user/dchagin/lemul/lib/libc/gen/sem_new.c
  user/dchagin/lemul/lib/libc/gen/sem_post.3
  user/dchagin/lemul/lib/libc/mips/gen/sigsetjmp.S
  user/dchagin/lemul/lib/libc/tests/c063/Makefile
  user/dchagin/lemul/lib/libnv/Makefile
  user/dchagin/lemul/lib/libnv/nv.3
  user/dchagin/lemul/lib/libnv/nv.h
  user/dchagin/lemul/lib/libnv/nvlist.c
  user/dchagin/lemul/lib/libnv/nvpair.c
  user/dchagin/lemul/lib/libpmc/libpmc.c
  user/dchagin/lemul/lib/libproc/proc_sym.c
  user/dchagin/lemul/lib/libproc/tests/proc_test.c
  user/dchagin/lemul/lib/libthread_db/arch/i386/libpthread_md.c
  user/dchagin/lemul/lib/libutil/gr_util.c
  user/dchagin/lemul/lib/msun/src/s_scalbln.c
  user/dchagin/lemul/libexec/Makefile
  user/dchagin/lemul/libexec/rtld-elf/rtld.c
  user/dchagin/lemul/release/Makefile
  user/dchagin/lemul/release/picobsd/build/picobsd
  user/dchagin/lemul/release/scripts/make-manifest.sh
  user/dchagin/lemul/rescue/rescue/Makefile
  user/dchagin/lemul/sbin/Makefile
  user/dchagin/lemul/sbin/geom/class/mountver/gmountver.8
  user/dchagin/lemul/sbin/ipfw/nat.c
  user/dchagin/lemul/sbin/rcorder/Makefile
  user/dchagin/lemul/sbin/rcorder/rcorder.c
  user/dchagin/lemul/share/Makefile
  user/dchagin/lemul/share/examples/Makefile
  user/dchagin/lemul/share/man/man3/tree.3
  user/dchagin/lemul/share/man/man4/Makefile
  user/dchagin/lemul/share/man/man4/sfxge.4
  user/dchagin/lemul/share/man/man5/Makefile
  user/dchagin/lemul/share/man/man5/src.conf.5
  user/dchagin/lemul/share/man/man7/release.7
  user/dchagin/lemul/share/man/man9/Makefile
  user/dchagin/lemul/share/man/man9/SYSCALL_MODULE.9
  user/dchagin/lemul/share/man/man9/contigmalloc.9
  user/dchagin/lemul/share/man/man9/pmap_enter.9
  user/dchagin/lemul/share/misc/committers-src.dot
  user/dchagin/lemul/share/mk/src.opts.mk
  user/dchagin/lemul/sys/amd64/amd64/machdep.c
  user/dchagin/lemul/sys/amd64/conf/GENERIC
  user/dchagin/lemul/sys/amd64/vmm/amd/svm.c
  user/dchagin/lemul/sys/arm/arm/intr.c
  user/dchagin/lemul/sys/arm/arm/mem.c
  user/dchagin/lemul/sys/arm/broadcom/bcm2835/bcm2835_gpio.c
  user/dchagin/lemul/sys/arm/freescale/imx/files.imx6
  user/dchagin/lemul/sys/arm/freescale/imx/imx6_anatop.c
  user/dchagin/lemul/sys/arm/freescale/imx/imx6_anatopreg.h
  user/dchagin/lemul/sys/arm/freescale/imx/imx6_anatopvar.h
  user/dchagin/lemul/sys/arm/freescale/imx/imx6_ccm.c
  user/dchagin/lemul/sys/arm/freescale/imx/imx6_ccmreg.h
  user/dchagin/lemul/sys/arm/freescale/imx/imx_ccmvar.h
  user/dchagin/lemul/sys/arm/include/pmc_mdep.h
  user/dchagin/lemul/sys/arm/ti/am335x/am335x_lcd.c
  user/dchagin/lemul/sys/arm/ti/am335x/am335x_prcm.c
  user/dchagin/lemul/sys/arm/ti/am335x/files.am335x
  user/dchagin/lemul/sys/arm/ti/files.ti
  user/dchagin/lemul/sys/arm/ti/ti_i2c.c
  user/dchagin/lemul/sys/arm/ti/ti_pruss.c
  user/dchagin/lemul/sys/arm/xilinx/zy7_gpio.c
  user/dchagin/lemul/sys/arm/xscale/ixp425/avila_gpio.c
  user/dchagin/lemul/sys/arm/xscale/ixp425/cambria_gpio.c
  user/dchagin/lemul/sys/boot/common/load_elf.c
  user/dchagin/lemul/sys/boot/efi/libefi/efinet.c
  user/dchagin/lemul/sys/boot/fdt/dts/arm/am335x.dtsi
  user/dchagin/lemul/sys/boot/fdt/dts/arm/apalis-imx6.dts
  user/dchagin/lemul/sys/boot/fdt/dts/arm/imx6.dtsi
  user/dchagin/lemul/sys/boot/forth/beastie.4th
  user/dchagin/lemul/sys/boot/forth/brand.4th
  user/dchagin/lemul/sys/boot/i386/libfirewire/firewire.c
  user/dchagin/lemul/sys/boot/i386/libi386/libi386.h
  user/dchagin/lemul/sys/boot/i386/libi386/smbios.c
  user/dchagin/lemul/sys/cam/ctl/ctl.c
  user/dchagin/lemul/sys/cam/ctl/ctl_frontend_iscsi.c
  user/dchagin/lemul/sys/cam/ctl/ctl_tpc.c
  user/dchagin/lemul/sys/cam/scsi/scsi_all.h
  user/dchagin/lemul/sys/cam/scsi/scsi_da.c
  user/dchagin/lemul/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c
  user/dchagin/lemul/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  user/dchagin/lemul/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
  user/dchagin/lemul/sys/conf/files
  user/dchagin/lemul/sys/conf/files.amd64
  user/dchagin/lemul/sys/conf/files.arm
  user/dchagin/lemul/sys/conf/kern.mk
  user/dchagin/lemul/sys/conf/kern.opts.mk
  user/dchagin/lemul/sys/dev/acpica/acpi.c
  user/dchagin/lemul/sys/dev/alc/if_alc.c
  user/dchagin/lemul/sys/dev/ath/ath_hal/ah_internal.h
  user/dchagin/lemul/sys/dev/ath/ath_rate/sample/sample.c
  user/dchagin/lemul/sys/dev/ath/ath_rate/sample/sample.h
  user/dchagin/lemul/sys/dev/cxgbe/t4_main.c
  user/dchagin/lemul/sys/dev/cxgbe/tom/t4_ddp.c
  user/dchagin/lemul/sys/dev/drm2/i915/intel_display.c
  user/dchagin/lemul/sys/dev/fb/fbd.c
  user/dchagin/lemul/sys/dev/fdt/fdt_clock.c
  user/dchagin/lemul/sys/dev/hwpmc/hwpmc_arm.c
  user/dchagin/lemul/sys/dev/hwpmc/pmc_events.h
  user/dchagin/lemul/sys/dev/iscsi/icl.h
  user/dchagin/lemul/sys/dev/iscsi/iscsi.c
  user/dchagin/lemul/sys/dev/mem/memdev.c
  user/dchagin/lemul/sys/dev/mps/mps.c
  user/dchagin/lemul/sys/dev/mps/mps_user.c
  user/dchagin/lemul/sys/dev/netmap/netmap.c
  user/dchagin/lemul/sys/dev/ofw/openfirm.c
  user/dchagin/lemul/sys/dev/pci/pci_pci.c
  user/dchagin/lemul/sys/dev/sfxge/common/efsys.h
  user/dchagin/lemul/sys/dev/sfxge/common/efx_ev.c
  user/dchagin/lemul/sys/dev/sfxge/common/efx_tx.c
  user/dchagin/lemul/sys/dev/sfxge/sfxge.c
  user/dchagin/lemul/sys/dev/sfxge/sfxge.h
  user/dchagin/lemul/sys/dev/sfxge/sfxge_dma.c
  user/dchagin/lemul/sys/dev/sfxge/sfxge_ev.c
  user/dchagin/lemul/sys/dev/sfxge/sfxge_intr.c
  user/dchagin/lemul/sys/dev/sfxge/sfxge_port.c
  user/dchagin/lemul/sys/dev/sfxge/sfxge_tx.c
  user/dchagin/lemul/sys/dev/sfxge/sfxge_tx.h
  user/dchagin/lemul/sys/dev/syscons/syscons.c
  user/dchagin/lemul/sys/dev/virtio/block/virtio_blk.c
  user/dchagin/lemul/sys/dev/vt/hw/fb/vt_fb.c
  user/dchagin/lemul/sys/dev/vt/hw/fb/vt_fb.h
  user/dchagin/lemul/sys/dev/vt/vt.h
  user/dchagin/lemul/sys/dev/vt/vt_core.c
  user/dchagin/lemul/sys/fs/cd9660/cd9660_util.c
  user/dchagin/lemul/sys/fs/fdescfs/fdesc_vfsops.c
  user/dchagin/lemul/sys/fs/msdosfs/msdosfs_conv.c
  user/dchagin/lemul/sys/fs/smbfs/smbfs_subr.c
  user/dchagin/lemul/sys/fs/tmpfs/tmpfs.h
  user/dchagin/lemul/sys/fs/tmpfs/tmpfs_subr.c
  user/dchagin/lemul/sys/fs/tmpfs/tmpfs_vfsops.c
  user/dchagin/lemul/sys/fs/tmpfs/tmpfs_vnops.c
  user/dchagin/lemul/sys/fs/udf/udf_vnops.c
  user/dchagin/lemul/sys/i386/i386/mem.c
  user/dchagin/lemul/sys/kern/kern_jail.c
  user/dchagin/lemul/sys/kern/kern_timeout.c
  user/dchagin/lemul/sys/kern/subr_sglist.c
  user/dchagin/lemul/sys/kern/vfs_subr.c
  user/dchagin/lemul/sys/libkern/strtol.c
  user/dchagin/lemul/sys/libkern/strtoq.c
  user/dchagin/lemul/sys/libkern/strtoul.c
  user/dchagin/lemul/sys/libkern/strtouq.c
  user/dchagin/lemul/sys/mips/mips/mem.c
  user/dchagin/lemul/sys/modules/Makefile
  user/dchagin/lemul/sys/modules/aesni/Makefile
  user/dchagin/lemul/sys/modules/ctl/Makefile
  user/dchagin/lemul/sys/modules/cxgbe/if_cxgbe/Makefile
  user/dchagin/lemul/sys/modules/geom/Makefile
  user/dchagin/lemul/sys/modules/iscsi/Makefile
  user/dchagin/lemul/sys/netgraph/ng_parse.c
  user/dchagin/lemul/sys/netinet/sctp_input.c
  user/dchagin/lemul/sys/netinet/sctp_usrreq.c
  user/dchagin/lemul/sys/netinet/tcp_hostcache.c
  user/dchagin/lemul/sys/netinet/tcp_syncache.c
  user/dchagin/lemul/sys/netipsec/key.c
  user/dchagin/lemul/sys/powerpc/aim/machdep.c
  user/dchagin/lemul/sys/powerpc/pseries/plpar_iommu.c
  user/dchagin/lemul/sys/sparc64/sparc64/mem.c
  user/dchagin/lemul/sys/sys/cdefs.h
  user/dchagin/lemul/sys/sys/conf.h
  user/dchagin/lemul/sys/sys/eventhandler.h
  user/dchagin/lemul/sys/sys/jail.h
  user/dchagin/lemul/sys/sys/param.h
  user/dchagin/lemul/sys/sys/pmc.h
  user/dchagin/lemul/sys/sys/proc.h
  user/dchagin/lemul/sys/sys/tree.h
  user/dchagin/lemul/sys/ufs/ffs/ffs_softdep.c
  user/dchagin/lemul/sys/ufs/ffs/softdep.h
  user/dchagin/lemul/sys/ufs/ufs/ufs_quota.c
  user/dchagin/lemul/sys/ufs/ufs/ufs_vfsops.c
  user/dchagin/lemul/sys/vm/vm_fault.c
  user/dchagin/lemul/sys/vm/vm_map.c
  user/dchagin/lemul/sys/vm/vm_object.c
  user/dchagin/lemul/sys/vm/vm_object.h
  user/dchagin/lemul/sys/vm/vm_pageout.c
  user/dchagin/lemul/sys/x86/x86/tsc.c
  user/dchagin/lemul/tools/build/mk/OptionalObsoleteFiles.inc
  user/dchagin/lemul/tools/tools/nanobsd/rescue/build.sh
  user/dchagin/lemul/tools/tools/nanobsd/rescue/common
  user/dchagin/lemul/usr.bin/Makefile
  user/dchagin/lemul/usr.bin/grep/Makefile
  user/dchagin/lemul/usr.bin/kdump/kdump.c
  user/dchagin/lemul/usr.bin/sed/main.c
  user/dchagin/lemul/usr.bin/sed/process.c
  user/dchagin/lemul/usr.bin/touch/touch.c
  user/dchagin/lemul/usr.sbin/Makefile
  user/dchagin/lemul/usr.sbin/Makefile.amd64
  user/dchagin/lemul/usr.sbin/autofs/autounmountd.c
  user/dchagin/lemul/usr.sbin/binmiscctl/binmiscctl.c
  user/dchagin/lemul/usr.sbin/bsdinstall/partedit/partedit_x86.c
  user/dchagin/lemul/usr.sbin/config/config.8
  user/dchagin/lemul/usr.sbin/config/configvers.h
  user/dchagin/lemul/usr.sbin/config/main.c
  user/dchagin/lemul/usr.sbin/jail/jail.8
  user/dchagin/lemul/usr.sbin/pciconf/pciconf.c
  user/dchagin/lemul/usr.sbin/pmcstudy/pmcstudy.c
  user/dchagin/lemul/usr.sbin/ppp/command.c
  user/dchagin/lemul/usr.sbin/ppp/ipcp.c
  user/dchagin/lemul/usr.sbin/ppp/ipv6cp.c
  user/dchagin/lemul/usr.sbin/ppp/radius.c
  user/dchagin/lemul/usr.sbin/ppp/server.c
  user/dchagin/lemul/usr.sbin/sa/db.c
Directory Properties:
  user/dchagin/lemul/   (props changed)
  user/dchagin/lemul/cddl/   (props changed)
  user/dchagin/lemul/cddl/contrib/opensolaris/   (props changed)
  user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/   (props changed)
  user/dchagin/lemul/contrib/amd/   (props changed)
  user/dchagin/lemul/contrib/elftoolchain/   (props changed)
  user/dchagin/lemul/contrib/gdb/   (props changed)
  user/dchagin/lemul/contrib/libcxxrt/   (props changed)
  user/dchagin/lemul/contrib/llvm/   (props changed)
  user/dchagin/lemul/contrib/llvm/tools/clang/   (props changed)
  user/dchagin/lemul/contrib/sendmail/   (props changed)
  user/dchagin/lemul/contrib/tcpdump/   (props changed)
  user/dchagin/lemul/etc/   (props changed)
  user/dchagin/lemul/include/   (props changed)
  user/dchagin/lemul/lib/libc/   (props changed)
  user/dchagin/lemul/lib/libutil/   (props changed)
  user/dchagin/lemul/sbin/   (props changed)
  user/dchagin/lemul/sbin/ipfw/   (props changed)
  user/dchagin/lemul/share/   (props changed)
  user/dchagin/lemul/share/man/man4/   (props changed)
  user/dchagin/lemul/sys/   (props changed)
  user/dchagin/lemul/sys/amd64/vmm/   (props changed)
  user/dchagin/lemul/sys/boot/   (props changed)
  user/dchagin/lemul/sys/cddl/contrib/opensolaris/   (props changed)
  user/dchagin/lemul/sys/conf/   (props changed)
  user/dchagin/lemul/usr.sbin/jail/   (props changed)

Modified: user/dchagin/lemul/Makefile.inc1
==============================================================================
--- user/dchagin/lemul/Makefile.inc1	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/Makefile.inc1	Sat Jan 31 11:24:26 2015	(r277967)
@@ -1437,6 +1437,9 @@ _elftctools=	lib/libelftc \
 		usr.bin/nm \
 		usr.bin/size \
 		usr.bin/strings
+# These are not required by the build, but can be useful for developers who
+# cross-build on a FreeBSD 10 host:
+_elftctools+=	usr.bin/addr2line
 .endif
 .endif
 

Modified: user/dchagin/lemul/ObsoleteFiles.inc
==============================================================================
--- user/dchagin/lemul/ObsoleteFiles.inc	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/ObsoleteFiles.inc	Sat Jan 31 11:24:26 2015	(r277967)
@@ -38,6 +38,20 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20150124: spl.9 and friends
+OLD_FILES+=usr/share/man/man9/spl.9
+OLD_FILES+=usr/share/man/man9/spl0.9
+OLD_FILES+=usr/share/man/man9/splbio.9
+OLD_FILES+=usr/share/man/man9/splclock.9
+OLD_FILES+=usr/share/man/man9/splhigh.9
+OLD_FILES+=usr/share/man/man9/splimp.9
+OLD_FILES+=usr/share/man/man9/splnet.9
+OLD_FILES+=usr/share/man/man9/splsoftclock.9
+OLD_FILES+=usr/share/man/man9/splsofttty.9
+OLD_FILES+=usr/share/man/man9/splstatclock.9
+OLD_FILES+=usr/share/man/man9/spltty.9
+OLD_FILES+=usr/share/man/man9/splvm.9
+OLD_FILES+=usr/share/man/man9/splx.9
 # 20150118: new clang import which bumps version from 3.5.0 to 3.5.1.
 OLD_FILES+=usr/include/clang/3.5.0/__wmmintrin_aes.h
 OLD_FILES+=usr/include/clang/3.5.0/__wmmintrin_pclmul.h

Modified: user/dchagin/lemul/bin/cp/utils.c
==============================================================================
--- user/dchagin/lemul/bin/cp/utils.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/bin/cp/utils.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -330,7 +330,7 @@ copy_special(struct stat *from_stat, int
 int
 setfile(struct stat *fs, int fd)
 {
-	static struct timeval tv[2];
+	static struct timespec tspec[2];
 	struct stat ts;
 	int rval, gotstat, islink, fdval;
 
@@ -340,10 +340,11 @@ setfile(struct stat *fs, int fd)
 	fs->st_mode &= S_ISUID | S_ISGID | S_ISVTX |
 		       S_IRWXU | S_IRWXG | S_IRWXO;
 
-	TIMESPEC_TO_TIMEVAL(&tv[0], &fs->st_atim);
-	TIMESPEC_TO_TIMEVAL(&tv[1], &fs->st_mtim);
-	if (islink ? lutimes(to.p_path, tv) : utimes(to.p_path, tv)) {
-		warn("%sutimes: %s", islink ? "l" : "", to.p_path);
+	tspec[0] = fs->st_atim;
+	tspec[1] = fs->st_mtim;
+	if (utimensat(AT_FDCWD, to.p_path, tspec,
+	    islink ? AT_SYMLINK_NOFOLLOW : 0)) {
+		warn("utimensat: %s", to.p_path);
 		rval = 1;
 	}
 	if (fdval ? fstat(fd, &ts) :

Modified: user/dchagin/lemul/bin/expr/expr.y
==============================================================================
--- user/dchagin/lemul/bin/expr/expr.y	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/bin/expr/expr.y	Sat Jan 31 11:24:26 2015	(r277967)
@@ -444,14 +444,26 @@ op_minus(struct val *a, struct val *b)
 	return (r);
 }
 
+/*
+ * We depend on undefined behaviour giving a result (in r).
+ * To test this result, pass it as volatile.  This prevents
+ * optimizing away of the test based on the undefined behaviour.
+ */
 void
-assert_times(intmax_t a, intmax_t b, intmax_t r)
+assert_times(intmax_t a, intmax_t b, volatile intmax_t r)
 {
 	/*
-	 * if first operand is 0, no overflow is possible,
-	 * else result of division test must match second operand
+	 * If the first operand is 0, no overflow is possible, 
+	 * else the result of the division test must match the
+	 * second operand.
+	 *
+	 * Be careful to avoid overflow in the overflow test, as
+	 * in assert_div().  Overflow in division would kill us
+	 * with a SIGFPE before getting the test wrong.  In old
+	 * buggy versions, optimization used to give a null test
+	 * instead of a SIGFPE.
 	 */
-	if (a != 0 && r / a != b)
+	if ((a == -1 && b == INTMAX_MIN) || (a != 0 && r / a != b))
 		errx(ERR_EXIT, "overflow");
 }
 

Modified: user/dchagin/lemul/bin/mv/mv.c
==============================================================================
--- user/dchagin/lemul/bin/mv/mv.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/bin/mv/mv.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -273,7 +273,7 @@ do_move(const char *from, const char *to
 static int
 fastcopy(const char *from, const char *to, struct stat *sbp)
 {
-	struct timeval tval[2];
+	struct timespec ts[2];
 	static u_int blen = MAXPHYS;
 	static char *bp = NULL;
 	mode_t oldmode;
@@ -350,10 +350,9 @@ err:		if (unlink(to))
 	} else
 		warn("%s: cannot stat", to);
 
-	tval[0].tv_sec = sbp->st_atime;
-	tval[1].tv_sec = sbp->st_mtime;
-	tval[0].tv_usec = tval[1].tv_usec = 0;
-	if (utimes(to, tval))
+	ts[0] = sbp->st_atim;
+	ts[1] = sbp->st_mtim;
+	if (utimensat(AT_FDCWD, to, ts, 0))
 		warn("%s: set times", to);
 
 	if (close(to_fd)) {

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl	Sat Jan 31 11:24:26 2015	(r277967)
@@ -273,7 +273,7 @@ sub run_tests {
 		}
 
 		$fullname = "$dir/$name";
-		$exe = "./$base.exe";
+		$exe = "$dir/$base.exe";
 		$exe_pid = -1;
 
 		if ($opt_a && ($status != 0 || $tag != 0 || $droptag != 0 ||

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/inline/err.D_OP_INCOMPAT.baddef1.d
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/inline/err.D_OP_INCOMPAT.baddef1.d	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/inline/err.D_OP_INCOMPAT.baddef1.d	Sat Jan 31 11:24:26 2015	(r277967)
@@ -38,4 +38,4 @@
  *
  */
 
-inline cyc_func_t i = "i am a cyclic function";
+inline dtrace_trap_func_t i = "i am a dtrace trap function";

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/inline/err.D_OP_INCOMPAT.badxlate.d
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/inline/err.D_OP_INCOMPAT.badxlate.d	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/inline/err.D_OP_INCOMPAT.badxlate.d	Sat Jan 31 11:24:26 2015	(r277967)
@@ -38,4 +38,4 @@
  *
  */
 
-inline vfs_t *invalid = xlate<psinfo_t>(curthread->t_procp);
+inline struct vnode *invalid = xlate<psinfo_t>(curthread->td_proc);

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/tst.usdt.c
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/tst.usdt.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/tst.usdt.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -14,6 +14,8 @@
  */
 
 #include <sys/sdt.h>
+#include <stdio.h>
+#include <stdlib.h>
 #include "usdt.h"
 
 #define	FMT	"{" \

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/lexer/err.D_CHR_NL.char.d
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/lexer/err.D_CHR_NL.char.d	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/lexer/err.D_CHR_NL.char.d	Sat Jan 31 11:24:26 2015	(r277967)
@@ -36,8 +36,10 @@
 
 BEGIN
 {
-
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Winvalid-pp-token"
 	h = '
 		';
+#pragma clang diagnostic pop
 	exit(0);
 }

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/lexer/err.D_CHR_NULL.char.d
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/lexer/err.D_CHR_NULL.char.d	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/lexer/err.D_CHR_NULL.char.d	Sat Jan 31 11:24:26 2015	(r277967)
@@ -36,7 +36,9 @@
 
 BEGIN
 {
-
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Winvalid-pp-token"
 	h = '';
 	exit(0);
+#pragma clang diagnostic pop
 }

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/lexer/err.D_STR_NL.string.d
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/lexer/err.D_STR_NL.string.d	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/lexer/err.D_STR_NL.string.d	Sat Jan 31 11:24:26 2015	(r277967)
@@ -36,9 +36,11 @@
 
 BEGIN
 {
-
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Winvalid-pp-token"
 	h = "hello
 
 		there";
 	exit(0);
+#pragma clang diagnostic pop
 }

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.roch.d
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.roch.d	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.roch.d	Sat Jan 31 11:24:26 2015	(r277967)
@@ -74,13 +74,13 @@ fbt:::return
 	    (long long)curthread, pid, tid, (int)arg1, (int)arg0);
 }
 
-mutex_enter:adaptive-acquire
+mtx_lock:adaptive-acquire
 {
 	printf(" %u 0x%llX %d %d lock:0x%llX", timestamp,
 	    (long long)curthread, pid, tid, arg0);
 }
 
-mutex_exit:adaptive-release
+mtx_unlock:adaptive-release
 {
 	printf(" %u 0x%llX %d %d lock:0x%llX", timestamp,
 	    (long long) curthread, pid, tid, arg0);

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/nfs/tst.call3.c
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/nfs/tst.call3.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/nfs/tst.call3.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -28,6 +28,7 @@
 
 #include <strings.h>
 #include <rpc/rpc.h>
+#include <stdio.h>
 #include <stdlib.h>
 #include <sys/param.h>
 #include <rpcsvc/mount.h>

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/offsetof/err.D_UNKNOWN.badmemb.d
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/offsetof/err.D_UNKNOWN.badmemb.d	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/offsetof/err.D_UNKNOWN.badmemb.d	Sat Jan 31 11:24:26 2015	(r277967)
@@ -40,5 +40,5 @@
 
 BEGIN
 {
-	trace(offsetof(vnode_t, v_no_such_member));
+	trace(offsetof(struct vnode, v_no_such_member));
 }

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.args1.c
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.args1.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.args1.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -27,6 +27,7 @@
 #pragma ident	"%Z%%M%	%I%	%E% SMI"
 
 #include <signal.h>
+#include <stdlib.h>
 #include <unistd.h>
 
 int

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.fork.d
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.fork.d	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.fork.d	Sat Jan 31 11:24:26 2015	(r277967)
@@ -44,7 +44,7 @@ pid$1:a.out:waiting:entry
 proc:::create
 /pid == $1/
 {
-	child = args[0]->pr_pid;
+	child = args[0]->p_pid;
 	trace(pid);
 }
 

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.gcc.c
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.gcc.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.gcc.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -26,6 +26,8 @@
 
 #pragma ident	"%Z%%M%	%I%	%E% SMI"
 
+#include <sys/types.h>
+#include <sys/wait.h>
 #include <spawn.h>
 #include <signal.h>
 #include <stdio.h>

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret1.c
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret1.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret1.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -27,6 +27,7 @@
 #pragma ident	"%Z%%M%	%I%	%E% SMI"
 
 #include <signal.h>
+#include <stdlib.h>
 #include <unistd.h>
 
 /*

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret2.c
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret2.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret2.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -27,6 +27,7 @@
 #pragma ident	"%Z%%M%	%I%	%E% SMI"
 
 #include <signal.h>
+#include <stdlib.h>
 #include <unistd.h>
 
 /*

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.vfork.d
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.vfork.d	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.vfork.d	Sat Jan 31 11:24:26 2015	(r277967)
@@ -44,7 +44,7 @@ pid$1:a.out:waiting:entry
 proc:::create
 /pid == $1/
 {
-	child = args[0]->pr_pid;
+	child = args[0]->p_pid;
 }
 
 pid$1:a.out:go:

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak1.c
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak1.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak1.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -27,6 +27,7 @@
 #pragma ident	"%Z%%M%	%I%	%E% SMI"
 
 #include <signal.h>
+#include <stdlib.h>
 #include <unistd.h>
 
 /*

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak2.c
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak2.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak2.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -27,6 +27,7 @@
 #pragma ident	"%Z%%M%	%I%	%E% SMI"
 
 #include <signal.h>
+#include <stdlib.h>
 #include <unistd.h>
 
 /*

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/err.D_PRINT_VOID.bad.d
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/err.D_PRINT_VOID.bad.d	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/err.D_PRINT_VOID.bad.d	Sat Jan 31 11:24:26 2015	(r277967)
@@ -25,7 +25,7 @@
 
 BEGIN
 {
-	print((void)`p0);
+	print((void)`proc0);
 }
 
 BEGIN

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.xlate.d
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.xlate.d	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.xlate.d	Sat Jan 31 11:24:26 2015	(r277967)
@@ -22,13 +22,13 @@
 typedef struct pancakes {
 	int i;
 	string s;
-	timespec_t t;
+	struct timespec t;
 } pancakes_t;
 
 translator pancakes_t < void *V > {
 	i = 2 * 10;
 	s = strjoin("I like ", "pancakes");
-	t = *(timespec_t *)`dtrace_zero;
+	t = *(struct timespec *)`dtrace_zero;
 };
 
 BEGIN

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.xlate.d.out
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.xlate.d.out	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.xlate.d.out	Sat Jan 31 11:24:26 2015	(r277967)
@@ -1,7 +1,7 @@
 pancakes_t {
     int i = 0x14
     string s = [ "I like pancakes" ]
-    timespec_t t = {
+    struct timespec t = {
         time_t tv_sec = 0
         long tv_nsec = 0
     }

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/probes/tst.probestar.d
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/probes/tst.probestar.d	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/probes/tst.probestar.d	Sat Jan 31 11:24:26 2015	(r277967)
@@ -44,7 +44,7 @@ BEGIN
 	i = 0;
 }
 
-syscall::*lwp*:entry
+syscall::*wait*:entry
 {
 	exit(0);
 }

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.discard.ksh
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.discard.ksh	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.discard.ksh	Sat Jan 31 11:24:26 2015	(r277967)
@@ -36,7 +36,7 @@ script()
 {
 	$dtrace -s /dev/stdin <<EOF
 	proc:::signal-discard
-	/args[1]->pr_pid == $child &&
+	/args[1]->p_pid == $child &&
 	    args[1]->pr_psargs == "$longsleep" && args[2] == SIGHUP/
 	{
 		exit(0);

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.signal.ksh
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.signal.ksh	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.signal.ksh	Sat Jan 31 11:24:26 2015	(r277967)
@@ -42,7 +42,7 @@ script()
 		/*
 		 * This is guaranteed to not race with signal-handle.
 		 */
-		target = args[1]->pr_pid;
+		target = args[1]->p_pid;
 	}
 
 	proc:::signal-handle

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.func.ksh
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.func.ksh	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.func.ksh	Sat Jan 31 11:24:26 2015	(r277967)
@@ -60,14 +60,14 @@ spinny &
 child=$!
 
 #
-# This is gutsy -- we're assuming that mutex_enter(9F) will show up in the
+# This is gutsy -- we're assuming that mtx_lock(9) will show up in the
 # output.  This is most likely _not_ to show up in the output if the 
 # platform does not support arbitrary resolution interval timers -- but
 # the above script was stress-tested down to 100 hertz and still ran
 # successfully on all platforms, so one is hopeful that this test will pass
 # even in that case.
 #
-script | tee /dev/fd/2 | grep mutex_enter > /dev/null
+script | tee /dev/fd/2 | grep mtx_lock > /dev/null
 status=$?
 
 kill $child

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.mod.ksh
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.mod.ksh	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.mod.ksh	Sat Jan 31 11:24:26 2015	(r277967)
@@ -63,7 +63,7 @@ child=$!
 # The only thing we can be sure of is that some module named "unix" (or
 # "genunix") did some work -- so that's all we'll check.
 #
-script | tee /dev/fd/2 | grep unix > /dev/null
+script | tee /dev/fd/2 | grep kernel > /dev/null
 status=$? 
 
 kill $child

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.sym.ksh
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.sym.ksh	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.sym.ksh	Sat Jan 31 11:24:26 2015	(r277967)
@@ -63,7 +63,7 @@ child=$!
 # This is the same gutsy test as that found in the func() test; see that
 # test for the rationale.
 #
-script | tee /dev/fd/2 | grep mutex_enter > /dev/null
+script | tee /dev/fd/2 | grep mtx_lock > /dev/null
 status=$?
 
 kill $child

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/tst.selfarray2.d
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/tst.selfarray2.d	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/tst.selfarray2.d	Sat Jan 31 11:24:26 2015	(r277967)
@@ -31,8 +31,8 @@
 #pragma D option dynvarsize=1m
 
 struct bar {
-	int pid;
-	kthread_t *curthread;
+	pid_t pid;
+	struct thread *curthread;
 };
 
 self struct bar foo[int];

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.c
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -28,6 +28,7 @@
 
 #include <stdio.h>
 #include <sys/syscall.h>
+#include <unistd.h>
 
 /*ARGSUSED*/
 int

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose1.ksh
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose1.ksh	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose1.ksh	Sat Jan 31 11:24:26 2015	(r277967)
@@ -106,11 +106,13 @@ cat > main.c <<EOF
 #include <dlfcn.h>
 #include <unistd.h>
 #include <stdio.h>
+#include <signal.h>
 
 int
 main(int argc, char **argv)
 {
 	void *live;
+	sigset_t mask;
 
 	if ((live = dlopen("./livelib.so", RTLD_LAZY | RTLD_LOCAL)) == NULL) {
 		printf("dlopen of livelib.so failed: %s\n", dlerror());
@@ -119,7 +121,8 @@ main(int argc, char **argv)
 
 	(void) dlclose(live);
 
-	pause();
+	(void) sigemptyset(&mask);
+	(void) sigsuspend(&mask);
 
 	return (0);
 }
@@ -133,7 +136,7 @@ fi
 
 script() {
 	$dtrace -w -x bufsize=1k -c ./main -qs /dev/stdin <<EOF
-	syscall::pause:entry
+	syscall::sigsuspend:entry
 	/pid == \$target/
 	{
 		system("$dtrace -l -P test_prov*");

Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.forker.c
==============================================================================
--- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.forker.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.forker.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -26,6 +26,10 @@
 
 #pragma ident	"%Z%%M%	%I%	%E% SMI"
 
+#include <sys/types.h>
+#include <sys/wait.h>
+
+#include <stdlib.h>
 #include <unistd.h>
 
 #include "forker.h"

Modified: user/dchagin/lemul/contrib/amd/amd/amfs_generic.c
==============================================================================
--- user/dchagin/lemul/contrib/amd/amd/amfs_generic.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/contrib/amd/amd/amfs_generic.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -1113,7 +1113,7 @@ amfs_generic_mount_child(am_node *new_mp
     new_mp->am_transp = (SVCXPRT *) xmalloc(sizeof(SVCXPRT));
     *(new_mp->am_transp) = *current_transp;
   }
-  if (error && (new_mp->am_mnt->mf_ops == &amfs_error_ops))
+  if (error && new_mp->am_mnt && (new_mp->am_mnt->mf_ops == &amfs_error_ops))
     new_mp->am_error = error;
 
   if (new_mp->am_error > 0)

Modified: user/dchagin/lemul/contrib/amd/amd/amfs_program.c
==============================================================================
--- user/dchagin/lemul/contrib/amd/amd/amfs_program.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/contrib/amd/amd/amfs_program.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -147,10 +147,12 @@ amfs_program_exec(char *info)
   (void) fclose(stdout);
   if (!logfp)
     logfp = stderr;		/* initialize before possible first use */
-  (void) dup(fileno(logfp));
+    if (dup(fileno(logfp)) == -1)
+      return errno;
   if (fileno(logfp) != fileno(stderr)) {
     (void) fclose(stderr);
-    (void) dup(fileno(logfp));
+    if (dup(fileno(logfp)) == -1)
+      return errno;
   }
 
   /*

Modified: user/dchagin/lemul/contrib/amd/amd/readdir.c
==============================================================================
--- user/dchagin/lemul/contrib/amd/amd/readdir.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/contrib/amd/amd/readdir.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -63,6 +63,7 @@ static int key_already_in_chain(char *ke
 static nfsentry *make_entry_chain(am_node *mp, const nfsentry *current_chain, int fully_browsable);
 static int amfs_readdir_browsable(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsentry *ep, u_int count, int fully_browsable);
 
+static const u_int dotdotcookie = DOT_DOT_COOKIE;
 
 /****************************************************************************
  *** FUNCTIONS                                                             ***
@@ -178,8 +179,9 @@ make_entry_chain(am_node *mp, const nfse
 
       /* we have space.  put entry in next cell */
       ++last_cookie;
-      chain[num_entries].ne_fileid = (u_int) last_cookie;
-      *(u_int *) chain[num_entries].ne_cookie = (u_int) last_cookie;
+      chain[num_entries].ne_fileid = last_cookie;
+      (void)memcpy(chain[num_entries].ne_cookie, &last_cookie,
+	sizeof(last_cookie));
       chain[num_entries].ne_name = key;
       if (num_entries < max_entries - 1) {	/* link to next one */
 	chain[num_entries].ne_nextentry = &chain[num_entries + 1];
@@ -253,7 +255,7 @@ amfs_readdir_browsable(am_node *mp, nfsc
     ep[0].ne_fileid = mp->am_gen;
     ep[0].ne_name = ".";
     ep[0].ne_nextentry = &ep[1];
-    *(u_int *) ep[0].ne_cookie = 0;
+    (void)memset(ep[0].ne_cookie, 0, sizeof(u_int));
 
     /* construct ".." */
     if (mp->am_parent)
@@ -300,9 +302,12 @@ amfs_readdir_browsable(am_node *mp, nfsc
       nfsentry *ne;
       for (j = 0, ne = te; ne; ne = ne->ne_nextentry)
 	plog(XLOG_DEBUG, "gen2 key %4d \"%s\"", j++, ne->ne_name);
-      for (j = 0, ne = ep; ne; ne = ne->ne_nextentry)
+      for (j = 0, ne = ep; ne; ne = ne->ne_nextentry) {
+	u_int cookie;
+	(void)memcpy(&cookie, ne->ne_cookie, sizeof(cookie));
 	plog(XLOG_DEBUG, "gen2+ key %4d \"%s\" fi=%d ck=%d",
-	     j++, ne->ne_name, ne->ne_fileid, *(u_int *)ne->ne_cookie);
+	     j++, ne->ne_name, ne->ne_fileid, cookie);
+      }
       plog(XLOG_DEBUG, "EOF is %d", dp->dl_eof);
     }
     return 0;
@@ -412,7 +417,7 @@ amfs_generic_readdir(am_node *mp, nfscoo
     ep[0].ne_fileid = mp->am_gen;
     ep[0].ne_name = ".";
     ep[0].ne_nextentry = &ep[1];
-    *(u_int *) ep[0].ne_cookie = 0;
+    (void)memset(ep[0].ne_cookie, 0, sizeof(u_int));
 
     /* construct ".." */
     if (mp->am_parent)
@@ -429,9 +434,12 @@ amfs_generic_readdir(am_node *mp, nfscoo
     if (amuDebug(D_READDIR)) {
       nfsentry *ne;
       int j;
-      for (j = 0, ne = ep; ne; ne = ne->ne_nextentry)
+      for (j = 0, ne = ep; ne; ne = ne->ne_nextentry) {
+	u_int cookie;
+	(void)memcpy(&cookie, ne->ne_cookie, sizeof(cookie));
 	plog(XLOG_DEBUG, "gen1 key %4d \"%s\" fi=%d ck=%d",
-	     j++, ne->ne_name, ne->ne_fileid, *(u_int *)ne->ne_cookie);
+	     j++, ne->ne_name, ne->ne_fileid, cookie);
+      }
     }
     return 0;
   }
@@ -460,9 +468,9 @@ amfs_generic_readdir(am_node *mp, nfscoo
       am_node *xp_next = next_nonerror_node(xp->am_osib);
 
       if (xp_next) {
-	*(u_int *) ep->ne_cookie = xp_next->am_gen;
+	(void)memcpy(ep->ne_cookie, &xp_next->am_gen, sizeof(xp_next->am_gen));
       } else {
-	*(u_int *) ep->ne_cookie = DOT_DOT_COOKIE;
+	(void)memcpy(ep->ne_cookie, &dotdotcookie, sizeof(dotdotcookie));
 	dp->dl_eof = TRUE;
       }
 
@@ -488,9 +496,12 @@ amfs_generic_readdir(am_node *mp, nfscoo
     if (amuDebug(D_READDIR)) {
       nfsentry *ne;
       int j;
-      for (j=0,ne=ep; ne; ne=ne->ne_nextentry)
+      for (j=0,ne=ep; ne; ne=ne->ne_nextentry) {
+	u_int cookie;
+	(void)memcpy(&cookie, ne->ne_cookie, sizeof(cookie));
 	plog(XLOG_DEBUG, "gen2 key %4d \"%s\" fi=%d ck=%d",
-	     j++, ne->ne_name, ne->ne_fileid, *(u_int *)ne->ne_cookie);
+	     j++, ne->ne_name, ne->ne_fileid, cookie);
+      }
     }
     return 0;
   }

Modified: user/dchagin/lemul/contrib/amd/hlfsd/homedir.c
==============================================================================
--- user/dchagin/lemul/contrib/amd/hlfsd/homedir.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/contrib/amd/hlfsd/homedir.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -492,9 +492,10 @@ readent:
 
   /* read records */
   buf[0] = '\0';
-  fgets(buf, 256, passwd_fp);
+  if (fgets(buf, 256, passwd_fp) == NULL)
+    return NULL;
   passwd_line++;
-  if (!buf || buf[0] == '\0')
+  if (buf[0] == '\0')
     goto readent;
 
   /* read user name */

Modified: user/dchagin/lemul/contrib/amd/hlfsd/stubs.c
==============================================================================
--- user/dchagin/lemul/contrib/amd/hlfsd/stubs.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/contrib/amd/hlfsd/stubs.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -164,8 +164,7 @@ nfsproc_getattr_2_svc(am_nfs_fh *argp, s
     if (gid != hlfs_gid) {
       res.ns_status = NFSERR_STALE;
     } else {
-      memset((char *) &uid, 0, sizeof(int));
-      uid = *(u_int *) argp->fh_data;
+      (void)memcpy(&uid, argp->fh_data, sizeof(uid));
       if (plt_search(uid) != (uid2home_t *) NULL) {
 	res.ns_status = NFS_OK;
 	un_fattr.na_fileid = uid;
@@ -282,8 +281,8 @@ nfsproc_lookup_2_svc(nfsdiropargs *argp,
     } else {			/* entry found and gid is permitted */
       un_fattr.na_fileid = untab[idx].uid;
       res.dr_u.dr_drok_u.drok_attributes = un_fattr;
-      memset((char *) &un_fhandle, 0, sizeof(am_nfs_fh));
-      *(u_int *) un_fhandle.fh_data = (u_int) untab[idx].uid;
+      memset(&un_fhandle, 0, sizeof(un_fhandle));
+      memcpy(un_fhandle.fh_data, &untab[idx].uid, sizeof(untab[idx].uid));
       xstrlcpy((char *) &un_fhandle.fh_data[sizeof(int)],
 	       untab[idx].username,
 	       sizeof(am_nfs_fh) - sizeof(int));
@@ -338,8 +337,7 @@ nfsproc_readlink_2_svc(am_nfs_fh *argp, 
     }
 
     if (groupid == hlfs_gid) {
-      memset((char *) &userid, 0, sizeof(int));
-      userid = *(u_int *) argp->fh_data;
+      memcpy(&userid, argp->fh_data, sizeof(userid));
       username = (char *) &argp->fh_data[sizeof(int)];
       if (!(res.rlr_u.rlr_data_u = mailbox(userid, username)))
 	return (nfsreadlinkres *) NULL;

Modified: user/dchagin/lemul/contrib/elftoolchain/elfcopy/main.c
==============================================================================
--- user/dchagin/lemul/contrib/elftoolchain/elfcopy/main.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/contrib/elftoolchain/elfcopy/main.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -210,7 +210,7 @@ static struct {
 };
 
 static int	copy_from_tempfile(const char *src, const char *dst,
-    int infd, int *outfd);
+    int infd, int *outfd, int in_place);
 static void	create_file(struct elfcopy *ecp, const char *src,
     const char *dst);
 static void	elfcopy_main(struct elfcopy *ecp, int argc, char **argv);
@@ -523,33 +523,39 @@ create_tempfile(char **fn, int *fd)
 #undef _TEMPFILEPATH
 }
 
+/*
+ * Copy temporary file with path src and file descriptor infd to path dst.
+ * If in_place is set act as if editing the file in place, avoiding rename()
+ * to preserve hard and symbolic links. Output file remains open, with file
+ * descriptor returned in outfd.
+ */
 static int
-copy_from_tempfile(const char *src, const char *dst, int infd, int *outfd)
+copy_from_tempfile(const char *src, const char *dst, int infd, int *outfd,
+    int in_place)
 {
 	int tmpfd;
 
 	/*
 	 * First, check if we can use rename().
 	 */
-	if (rename(src, dst) >= 0) {
-		*outfd = infd;
-		return (0);
-	} else if (errno != EXDEV)
-		return (-1);
-
-	/*
-	 * If the rename() failed due to 'src' and 'dst' residing in
-	 * two different file systems, invoke a helper function in
-	 * libelftc to do the copy.
-	 */
-
-	if (unlink(dst) < 0)
-		return (-1);
+	if (in_place == 0) {
+		if (rename(src, dst) >= 0) {
+			*outfd = infd;
+			return (0);
+		} else if (errno != EXDEV)
+			return (-1);
+	
+		/*
+		 * If the rename() failed due to 'src' and 'dst' residing in
+		 * two different file systems, invoke a helper function in
+		 * libelftc to do the copy.
+		 */
 
-	if ((tmpfd = open(dst, O_CREAT | O_WRONLY, 0755)) < 0)
-		return (-1);
+		if (unlink(dst) < 0)
+			return (-1);
+	}
 
-	if (lseek(infd, 0, SEEK_SET) < 0)
+	if ((tmpfd = open(dst, O_CREAT | O_TRUNC | O_WRONLY, 0755)) < 0)
 		return (-1);
 
 	if (elftc_copyfile(infd, tmpfd) < 0)
@@ -578,6 +584,7 @@ create_file(struct elfcopy *ecp, const c
 	struct stat	 sb;
 	char		*tempfile, *elftemp;
 	int		 efd, ifd, ofd, ofd0, tfd;
+	int		 in_place;
 
 	tempfile = NULL;
 
@@ -718,10 +725,15 @@ copy_done:
 #endif
 
 	if (tempfile != NULL) {
-		if (dst == NULL)
+		in_place = 0;
+		if (dst == NULL) {
 			dst = src;
+			if (lstat(dst, &sb) != -1 &&
+			    (sb.st_nlink > 1 || S_ISLNK(sb.st_mode)))
+				in_place = 1;
+		}
 
-		if (copy_from_tempfile(tempfile, dst, ofd, &tfd) < 0)
+		if (copy_from_tempfile(tempfile, dst, ofd, &tfd, in_place) < 0)
 			err(EXIT_FAILURE, "creation of %s failed", dst);
 
 		free(tempfile);

Modified: user/dchagin/lemul/contrib/gdb/gdb/corelow.c
==============================================================================
--- user/dchagin/lemul/contrib/gdb/gdb/corelow.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/contrib/gdb/gdb/corelow.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -432,15 +432,16 @@ get_core_register_section (char *name,
 			   char *human_name,
 			   int required)
 {
-  char section_name[100];
+  static char *section_name = NULL;
   struct bfd_section *section;
   bfd_size_type size;
   char *contents;
 
+  xfree (section_name);
   if (PIDGET (inferior_ptid))
-    sprintf (section_name, "%s/%d", name, PIDGET (inferior_ptid));
+    section_name = xstrprintf ("%s/%d", name, PIDGET (inferior_ptid));
   else
-    strcpy (section_name, name);
+    section_name = xstrdup (name);
 
   section = bfd_get_section_by_name (core_bfd, section_name);
   if (! section)

Modified: user/dchagin/lemul/contrib/gdb/gdb/dwarf2expr.c
==============================================================================
--- user/dchagin/lemul/contrib/gdb/gdb/dwarf2expr.c	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/contrib/gdb/gdb/dwarf2expr.c	Sat Jan 31 11:24:26 2015	(r277967)
@@ -575,6 +575,7 @@ execute_stack_op (struct dwarf_expr_cont
 		break;
 	      case DW_OP_div:
 		binop = BINOP_DIV;
+                break;
 	      case DW_OP_minus:
 		binop = BINOP_SUB;
 		break;
@@ -595,6 +596,7 @@ execute_stack_op (struct dwarf_expr_cont
 		break;
 	      case DW_OP_shr:
 		binop = BINOP_RSH;
+                break;
 	      case DW_OP_shra:
 		binop = BINOP_RSH;
 		val1 = value_from_longest (signed_address_type (), first);

Modified: user/dchagin/lemul/contrib/libcxxrt/stdexcept.cc
==============================================================================
--- user/dchagin/lemul/contrib/libcxxrt/stdexcept.cc	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/contrib/libcxxrt/stdexcept.cc	Sat Jan 31 11:24:26 2015	(r277967)
@@ -82,19 +82,14 @@ const char* bad_typeid::what() const thr
 	return "std::bad_typeid";
 }
 
-__attribute__((weak))
 bad_array_new_length::bad_array_new_length() throw() {}
-__attribute__((weak))
 bad_array_new_length::~bad_array_new_length() {}
-__attribute__((weak))
 bad_array_new_length::bad_array_new_length(const bad_array_new_length&) throw() {}
-__attribute__((weak))
 bad_array_new_length& bad_array_new_length::operator=(const bad_array_new_length&) throw()
 {
 	return *this;
 }
 
-__attribute__((weak))
 const char* bad_array_new_length::what() const throw()
 {
 	return "std::bad_array_new_length";

Modified: user/dchagin/lemul/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
==============================================================================
--- user/dchagin/lemul/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp	Sat Jan 31 11:04:41 2015	(r277966)
+++ user/dchagin/lemul/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp	Sat Jan 31 11:24:26 2015	(r277967)
@@ -33,6 +33,10 @@ using namespace llvm;
 #define GET_REGINFO_TARGET_DESC
 #include "AArch64GenRegisterInfo.inc"
 
+static cl::opt<bool>
+ReserveX18("aarch64-reserve-x18", cl::Hidden,
+          cl::desc("Reserve X18, making it unavailable as GPR"));
+
 AArch64RegisterInfo::AArch64RegisterInfo(const AArch64InstrInfo *tii,
                                          const AArch64Subtarget *sti)
     : AArch64GenRegisterInfo(AArch64::LR), TII(tii), STI(sti) {}
@@ -90,7 +94,7 @@ AArch64RegisterInfo::getReservedRegs(con
     Reserved.set(AArch64::W29);
   }
 
-  if (STI->isTargetDarwin()) {
+  if (STI->isTargetDarwin() || ReserveX18) {
     Reserved.set(AArch64::X18); // Platform register
     Reserved.set(AArch64::W18);
   }
@@ -117,7 +121,7 @@ bool AArch64RegisterInfo::isReservedReg(
     return true;
   case AArch64::X18:
   case AArch64::W18:
-    return STI->isTargetDarwin();
+    return STI->isTargetDarwin() || ReserveX18;
   case AArch64::FP:
   case AArch64::W29:
     return TFI->hasFP(MF) || STI->isTargetDarwin();
@@ -379,7 +383,7 @@ unsigned AArch64RegisterInfo::getRegPres
   case AArch64::GPR64commonRegClassID:
     return 32 - 1                                      // XZR/SP
            - (TFI->hasFP(MF) || STI->isTargetDarwin()) // FP
-           - STI->isTargetDarwin() // X18 reserved as platform register
+           - (STI->isTargetDarwin() || ReserveX18) // X18 reserved as platform register
            - hasBasePointer(MF);   // X19
   case AArch64::FPR8RegClassID:
   case AArch64::FPR16RegClassID:

Copied: user/dchagin/lemul/contrib/llvm/patches/patch-29-llvm-r226664-aarch64-x18.diff (from r277966, head/contrib/llvm/patches/patch-29-llvm-r226664-aarch64-x18.diff)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/dchagin/lemul/contrib/llvm/patches/patch-29-llvm-r226664-aarch64-x18.diff	Sat Jan 31 11:24:26 2015	(r277967, copy of r277966, head/contrib/llvm/patches/patch-29-llvm-r226664-aarch64-x18.diff)
@@ -0,0 +1,83 @@
+Pull in r226664 from upstream llvm trunk (by Tim Northover):
+
+  AArch64: add backend option to reserve x18 (platform register)
+
+  AAPCS64 says that it's up to the platform to specify whether x18 is
+  reserved, and a first step on that way is to add a flag controlling
+  it.
+
+  From: Andrew Turner <andrew at fubar.geek.nz>
+
+Introduced here: http://svnweb.freebsd.org/changeset/base/277774
+
+Index: lib/Target/AArch64/AArch64RegisterInfo.cpp
+===================================================================
+--- lib/Target/AArch64/AArch64RegisterInfo.cpp
++++ lib/Target/AArch64/AArch64RegisterInfo.cpp
+@@ -33,6 +33,10 @@ using namespace llvm;
+ #define GET_REGINFO_TARGET_DESC
+ #include "AArch64GenRegisterInfo.inc"
+ 
++static cl::opt<bool>
++ReserveX18("aarch64-reserve-x18", cl::Hidden,
++          cl::desc("Reserve X18, making it unavailable as GPR"));
++
+ AArch64RegisterInfo::AArch64RegisterInfo(const AArch64InstrInfo *tii,
+                                          const AArch64Subtarget *sti)
+     : AArch64GenRegisterInfo(AArch64::LR), TII(tii), STI(sti) {}
+@@ -90,7 +94,7 @@ AArch64RegisterInfo::getReservedRegs(const Machine
+     Reserved.set(AArch64::W29);
+   }
+ 
+-  if (STI->isTargetDarwin()) {
++  if (STI->isTargetDarwin() || ReserveX18) {
+     Reserved.set(AArch64::X18); // Platform register
+     Reserved.set(AArch64::W18);
+   }
+@@ -117,7 +121,7 @@ bool AArch64RegisterInfo::isReservedReg(const Mach
+     return true;
+   case AArch64::X18:
+   case AArch64::W18:
+-    return STI->isTargetDarwin();
++    return STI->isTargetDarwin() || ReserveX18;
+   case AArch64::FP:
+   case AArch64::W29:
+     return TFI->hasFP(MF) || STI->isTargetDarwin();
+@@ -379,7 +383,7 @@ unsigned AArch64RegisterInfo::getRegPressureLimit(
+   case AArch64::GPR64commonRegClassID:
+     return 32 - 1                                      // XZR/SP
+            - (TFI->hasFP(MF) || STI->isTargetDarwin()) // FP
+-           - STI->isTargetDarwin() // X18 reserved as platform register
++           - (STI->isTargetDarwin() || ReserveX18) // X18 reserved as platform register
+            - hasBasePointer(MF);   // X19
+   case AArch64::FPR8RegClassID:
+   case AArch64::FPR16RegClassID:
+Index: test/CodeGen/AArch64/arm64-platform-reg.ll
+===================================================================
+--- test/CodeGen/AArch64/arm64-platform-reg.ll
++++ test/CodeGen/AArch64/arm64-platform-reg.ll
+@@ -1,4 +1,5 @@
+-; RUN: llc -mtriple=arm64-apple-ios -o - %s | FileCheck %s --check-prefix=CHECK-DARWIN
++; RUN: llc -mtriple=arm64-apple-ios -o - %s | FileCheck %s --check-prefix=CHECK-RESERVE-X18
++; RUN: llc -mtriple=arm64-freebsd-gnu -aarch64-reserve-x18 -o - %s | FileCheck %s --check-prefix=CHECK-RESERVE-X18
+ ; RUN: llc -mtriple=arm64-linux-gnu -o - %s | FileCheck %s
+ 
+ ; x18 is reserved as a platform register on Darwin but not on other
+@@ -16,11 +17,11 @@ define void @keep_live() {
+ ; CHECK: ldr x18
+ ; CHECK: str x18
+ 
+-; CHECK-DARWIN-NOT: ldr fp
+-; CHECK-DARWIN-NOT: ldr x18
+-; CHECK-DARWIN: Spill
+-; CHECK-DARWIN-NOT: ldr fp
+-; CHECK-DARWIN-NOT: ldr x18
+-; CHECK-DARWIN: ret
++; CHECK-RESERVE-X18-NOT: ldr fp
++; CHECK-RESERVE-X18-NOT: ldr x18
++; CHECK-RESERVE-X18: Spill
++; CHECK-RESERVE-X18-NOT: ldr fp
++; CHECK-RESERVE-X18-NOT: ldr x18
++; CHECK-RESERVE-X18: ret
+   ret void
+ }

Copied: user/dchagin/lemul/contrib/llvm/patches/patch-30-clang-r227062-fixes-x18.diff (from r277966, head/contrib/llvm/patches/patch-30-clang-r227062-fixes-x18.diff)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/dchagin/lemul/contrib/llvm/patches/patch-30-clang-r227062-fixes-x18.diff	Sat Jan 31 11:24:26 2015	(r277967, copy of r277966, head/contrib/llvm/patches/patch-30-clang-r227062-fixes-x18.diff)
@@ -0,0 +1,54 @@
+Pull in r227062 from upstream clang trunk (by Renato Golin):
+
+  Allows Clang to use LLVM's fixes-x18 option
+
+  This patch allows clang to have llvm reserve the x18
+  platform register on AArch64. FreeBSD will use this in the kernel for
+  per-cpu data but has no need to reserve this register in userland so
+  will need this flag to reserve it.
+
+  This uses llvm r226664 to allow this register to be reserved.
+
+  Patch by Andrew Turner.
+
+Introduced here: http://svnweb.freebsd.org/changeset/base/277775
+
+Index: tools/clang/include/clang/Driver/Options.td
+===================================================================
+--- tools/clang/include/clang/Driver/Options.td
++++ tools/clang/include/clang/Driver/Options.td
+@@ -1141,6 +1141,9 @@ def mno_long_calls : Flag<["-"], "mno-long-calls">
+ def mgeneral_regs_only : Flag<["-"], "mgeneral-regs-only">, Group<m_aarch64_Features_Group>,
+   HelpText<"Generate code which only uses the general purpose registers (AArch64 only)">;
+ 
++def ffixed_x18 : Flag<["-"], "ffixed-x18">, Group<m_aarch64_Features_Group>,
++  HelpText<"Reserve the x18 register (AArch64 only)">;
++
+ def mvsx : Flag<["-"], "mvsx">, Group<m_ppc_Features_Group>;
+ def mno_vsx : Flag<["-"], "mno-vsx">, Group<m_ppc_Features_Group>;
+ def mfprnd : Flag<["-"], "mfprnd">, Group<m_ppc_Features_Group>;
+Index: tools/clang/lib/Driver/Tools.cpp
+===================================================================
+--- tools/clang/lib/Driver/Tools.cpp
++++ tools/clang/lib/Driver/Tools.cpp
+@@ -887,6 +887,11 @@ void Clang::AddAArch64TargetArgs(const ArgList &Ar
+     if (A->getOption().matches(options::OPT_mno_global_merge))
+       CmdArgs.push_back("-mno-global-merge");

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


More information about the svn-src-user mailing list