From owner-svn-src-user@FreeBSD.ORG Wed Feb 18 19:54:03 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EB751336; Wed, 18 Feb 2015 19:54:03 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D195DE7D; Wed, 18 Feb 2015 19:54:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1IJs3vP070378; Wed, 18 Feb 2015 19:54:03 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1IJrvZ6070336; Wed, 18 Feb 2015 19:53:57 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502181953.t1IJrvZ6070336@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Wed, 18 Feb 2015 19:53:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r278969 - in user/dchagin/lemul: . bin/ln bin/pkill/tests bin/sh bin/sh/tests/expansion cddl/contrib/opensolaris/lib/libdtrace/common contrib/elftoolchain/addr2line contrib/elftoolchain... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Feb 2015 19:54:04 -0000 Author: dchagin Date: Wed Feb 18 19:53:56 2015 New Revision: 278969 URL: https://svnweb.freebsd.org/changeset/base/278969 Log: Merge from head. Added: user/dchagin/lemul/bin/sh/tests/expansion/ifs5.0 - copied unchanged from r278968, head/bin/sh/tests/expansion/ifs5.0 user/dchagin/lemul/bin/sh/tests/expansion/pathname5.0 - copied unchanged from r278968, head/bin/sh/tests/expansion/pathname5.0 user/dchagin/lemul/lib/libc/sparc64/sys/sigaction1.S - copied unchanged from r278968, head/lib/libc/sparc64/sys/sigaction1.S user/dchagin/lemul/share/man/man4/udl.4 - copied unchanged from r278968, head/share/man/man4/udl.4 user/dchagin/lemul/sys/arm/arm/unwind.c - copied unchanged from r278968, head/sys/arm/arm/unwind.c user/dchagin/lemul/sys/conf/config.mk - copied unchanged from r278968, head/sys/conf/config.mk user/dchagin/lemul/sys/dev/usb/video/ - copied from r278968, head/sys/dev/usb/video/ user/dchagin/lemul/sys/dev/videomode/ - copied from r278968, head/sys/dev/videomode/ user/dchagin/lemul/sys/modules/usb/udl/ - copied from r278968, head/sys/modules/usb/udl/ user/dchagin/lemul/sys/modules/videomode/ - copied from r278968, head/sys/modules/videomode/ user/dchagin/lemul/sys/ofed/drivers/infiniband/core/peer_mem.c - copied unchanged from r278968, head/sys/ofed/drivers/infiniband/core/peer_mem.c user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mlx4/mlx4_exp.c - copied unchanged from r278968, head/sys/ofed/drivers/infiniband/hw/mlx4/mlx4_exp.c user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mlx4/mlx4_exp.h - copied unchanged from r278968, head/sys/ofed/drivers/infiniband/hw/mlx4/mlx4_exp.h user/dchagin/lemul/sys/ofed/include/linux/printk.h - copied unchanged from r278968, head/sys/ofed/include/linux/printk.h user/dchagin/lemul/sys/ofed/include/rdma/ib_peer_mem.h - copied unchanged from r278968, head/sys/ofed/include/rdma/ib_peer_mem.h user/dchagin/lemul/sys/ofed/include/rdma/ib_user_verbs_exp.h - copied unchanged from r278968, head/sys/ofed/include/rdma/ib_user_verbs_exp.h user/dchagin/lemul/sys/ofed/include/rdma/ib_verbs_exp.h - copied unchanged from r278968, head/sys/ofed/include/rdma/ib_verbs_exp.h user/dchagin/lemul/sys/ofed/include/rdma/peer_mem.h - copied unchanged from r278968, head/sys/ofed/include/rdma/peer_mem.h Deleted: user/dchagin/lemul/lib/libc/sparc64/sys/sigaction.S user/dchagin/lemul/sys/dev/ic/hd64570.h user/dchagin/lemul/sys/ofed/drivers/infiniband/core/Makefile user/dchagin/lemul/sys/ofed/drivers/infiniband/core/local_sa.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/notice.c user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mlx4/Makefile user/dchagin/lemul/sys/ofed/drivers/infiniband/ulp/ipoib/Makefile Modified: user/dchagin/lemul/Makefile.inc1 user/dchagin/lemul/ObsoleteFiles.inc user/dchagin/lemul/UPDATING user/dchagin/lemul/bin/ln/symlink.7 user/dchagin/lemul/bin/pkill/tests/pkill-j_test.sh user/dchagin/lemul/bin/sh/cd.c user/dchagin/lemul/bin/sh/eval.c user/dchagin/lemul/bin/sh/expand.c user/dchagin/lemul/bin/sh/mail.c user/dchagin/lemul/bin/sh/memalloc.c user/dchagin/lemul/bin/sh/memalloc.h user/dchagin/lemul/bin/sh/miscbltin.c user/dchagin/lemul/bin/sh/nodetypes user/dchagin/lemul/bin/sh/parser.c user/dchagin/lemul/bin/sh/tests/expansion/Makefile user/dchagin/lemul/bin/sh/var.c user/dchagin/lemul/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c user/dchagin/lemul/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h user/dchagin/lemul/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c user/dchagin/lemul/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c user/dchagin/lemul/cddl/contrib/opensolaris/lib/libdtrace/common/dt_options.c user/dchagin/lemul/contrib/elftoolchain/addr2line/addr2line.c user/dchagin/lemul/contrib/elftoolchain/common/_elftc.h user/dchagin/lemul/contrib/elftoolchain/common/elfdefinitions.h user/dchagin/lemul/contrib/elftoolchain/elfcopy/main.c user/dchagin/lemul/contrib/elftoolchain/elfcopy/sections.c user/dchagin/lemul/contrib/elftoolchain/libdwarf/_libdwarf.h user/dchagin/lemul/contrib/elftoolchain/libdwarf/dwarf_attrval.c user/dchagin/lemul/contrib/elftoolchain/libdwarf/dwarf_get_AT_name.3 user/dchagin/lemul/contrib/elftoolchain/libdwarf/dwarf_get_arange_info.3 user/dchagin/lemul/contrib/elftoolchain/libdwarf/dwarf_get_section_max_offsets.3 user/dchagin/lemul/contrib/elftoolchain/libdwarf/dwarf_hasattr.3 user/dchagin/lemul/contrib/elftoolchain/libdwarf/dwarf_reloc.c user/dchagin/lemul/contrib/elftoolchain/libdwarf/dwarf_set_reloc_application.3 user/dchagin/lemul/contrib/elftoolchain/libdwarf/dwarf_whatattr.3 user/dchagin/lemul/contrib/elftoolchain/libdwarf/libdwarf.c user/dchagin/lemul/contrib/elftoolchain/libdwarf/libdwarf.h user/dchagin/lemul/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c user/dchagin/lemul/contrib/elftoolchain/libdwarf/libdwarf_reloc.c user/dchagin/lemul/contrib/elftoolchain/libelf/_libelf_config.h user/dchagin/lemul/contrib/elftoolchain/libelf/elf.3 user/dchagin/lemul/contrib/elftoolchain/libelf/elf_scn.c user/dchagin/lemul/contrib/elftoolchain/libelf/libelf_ar_util.c user/dchagin/lemul/contrib/elftoolchain/libelf/libelf_convert.m4 user/dchagin/lemul/contrib/elftoolchain/nm/nm.1 user/dchagin/lemul/contrib/elftoolchain/nm/nm.c user/dchagin/lemul/contrib/elftoolchain/readelf/readelf.c user/dchagin/lemul/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp user/dchagin/lemul/etc/network.subr user/dchagin/lemul/lib/libc/gen/_spinlock_stub.c user/dchagin/lemul/lib/libc/gen/dlopen.3 user/dchagin/lemul/lib/libc/gen/fstab.c user/dchagin/lemul/lib/libc/gen/getgrent.c user/dchagin/lemul/lib/libc/gen/getpwent.c user/dchagin/lemul/lib/libc/gen/ulimit.c user/dchagin/lemul/lib/libc/include/libc_private.h user/dchagin/lemul/lib/libc/rpc/clnt_dg.c user/dchagin/lemul/lib/libc/rpc/rpc_soc.c user/dchagin/lemul/lib/libc/sparc64/sys/Makefile.inc user/dchagin/lemul/lib/libc/stdio/xprintf_float.c user/dchagin/lemul/lib/libc/sys/Makefile.inc user/dchagin/lemul/lib/libc/sys/interposing_table.c user/dchagin/lemul/lib/libcompat/4.3/rexec.c user/dchagin/lemul/lib/libelftc/elftc_version.c user/dchagin/lemul/lib/liblzma/config.h user/dchagin/lemul/lib/libthr/thread/thr_private.h user/dchagin/lemul/lib/libthr/thread/thr_spinlock.c user/dchagin/lemul/lib/libthr/thread/thr_syscalls.c user/dchagin/lemul/release/Makefile user/dchagin/lemul/release/Makefile.vm user/dchagin/lemul/sbin/camcontrol/camcontrol.c user/dchagin/lemul/share/man/man4/Makefile user/dchagin/lemul/share/man/man4/wlan.4 user/dchagin/lemul/share/mk/bsd.dep.mk user/dchagin/lemul/share/mk/bsd.libnames.mk user/dchagin/lemul/share/mk/bsd.own.mk user/dchagin/lemul/sys/amd64/amd64/mp_machdep.c user/dchagin/lemul/sys/arm/arm/cpuinfo.c user/dchagin/lemul/sys/arm/arm/db_trace.c user/dchagin/lemul/sys/arm/broadcom/bcm2835/bcm2835_bsc.c user/dchagin/lemul/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h user/dchagin/lemul/sys/arm/broadcom/bcm2835/bcm2835_gpio.c user/dchagin/lemul/sys/arm/broadcom/bcm2835/bcm2835_mbox_prop.h user/dchagin/lemul/sys/arm/include/stack.h user/dchagin/lemul/sys/boot/fdt/dts/arm/bcm2835.dtsi user/dchagin/lemul/sys/cam/cam_ccb.h user/dchagin/lemul/sys/cam/scsi/scsi_da.c user/dchagin/lemul/sys/cam/scsi/scsi_enc_ses.c user/dchagin/lemul/sys/conf/files user/dchagin/lemul/sys/conf/files.arm user/dchagin/lemul/sys/conf/kern.mk user/dchagin/lemul/sys/conf/kern.pre.mk user/dchagin/lemul/sys/conf/kmod.mk user/dchagin/lemul/sys/conf/options user/dchagin/lemul/sys/contrib/dev/ath/ath_hal/ar9300/ar9300.h user/dchagin/lemul/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_beacon.c user/dchagin/lemul/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.c user/dchagin/lemul/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_gpio.c user/dchagin/lemul/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_misc.c user/dchagin/lemul/sys/contrib/rdma/krping/krping.c user/dchagin/lemul/sys/dev/acpica/acpi_pcib.c user/dchagin/lemul/sys/dev/ath/if_ath_pci.c user/dchagin/lemul/sys/dev/atkbdc/atkbd.c user/dchagin/lemul/sys/dev/atkbdc/atkbdc.c user/dchagin/lemul/sys/dev/atkbdc/atkbdcreg.h user/dchagin/lemul/sys/dev/atkbdc/psm.c user/dchagin/lemul/sys/dev/cardbus/cardbus.c user/dchagin/lemul/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c user/dchagin/lemul/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c user/dchagin/lemul/sys/dev/cxgbe/iw_cxgbe/cq.c user/dchagin/lemul/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h user/dchagin/lemul/sys/dev/cxgbe/iw_cxgbe/mem.c user/dchagin/lemul/sys/dev/fb/fbd.c user/dchagin/lemul/sys/dev/iicbus/lm75.c user/dchagin/lemul/sys/dev/lmc/if_lmc.h user/dchagin/lemul/sys/dev/mpr/mpr_sas.c user/dchagin/lemul/sys/dev/mps/mps_sas.c user/dchagin/lemul/sys/dev/netmap/netmap.c user/dchagin/lemul/sys/dev/pccbb/pccbb.c user/dchagin/lemul/sys/dev/pci/pci.c user/dchagin/lemul/sys/dev/random/dummy_rng.c user/dchagin/lemul/sys/dev/random/fortuna.c user/dchagin/lemul/sys/dev/random/random_adaptors.c user/dchagin/lemul/sys/dev/random/randomdev.c user/dchagin/lemul/sys/dev/random/randomdev.h user/dchagin/lemul/sys/dev/random/yarrow.c user/dchagin/lemul/sys/dev/sfxge/common/efx_ev.c user/dchagin/lemul/sys/dev/sfxge/common/efx_mac.c user/dchagin/lemul/sys/dev/sfxge/common/efx_mcdi.c user/dchagin/lemul/sys/dev/sfxge/common/efx_mcdi.h user/dchagin/lemul/sys/dev/sfxge/common/efx_nic.c user/dchagin/lemul/sys/dev/sfxge/common/efx_regs_mcdi.h user/dchagin/lemul/sys/dev/sfxge/common/efx_rx.c user/dchagin/lemul/sys/dev/sfxge/common/efx_tx.c user/dchagin/lemul/sys/dev/sfxge/common/siena_mon.c user/dchagin/lemul/sys/dev/sfxge/common/siena_nic.c user/dchagin/lemul/sys/dev/sfxge/common/siena_nvram.c user/dchagin/lemul/sys/dev/sfxge/common/siena_phy.c user/dchagin/lemul/sys/dev/sfxge/common/siena_vpd.c user/dchagin/lemul/sys/dev/sfxge/sfxge.h user/dchagin/lemul/sys/dev/sfxge/sfxge_ev.c user/dchagin/lemul/sys/dev/sfxge/sfxge_port.c user/dchagin/lemul/sys/dev/sfxge/sfxge_rx.c user/dchagin/lemul/sys/dev/sfxge/sfxge_tx.c user/dchagin/lemul/sys/dev/sfxge/sfxge_tx.h user/dchagin/lemul/sys/dev/spibus/spi.h user/dchagin/lemul/sys/dev/spibus/spibus.c user/dchagin/lemul/sys/dev/spibus/spibusvar.h user/dchagin/lemul/sys/dev/usb/controller/musb_otg.c user/dchagin/lemul/sys/dev/usb/controller/uhci.c user/dchagin/lemul/sys/dev/usb/usbdevs user/dchagin/lemul/sys/dev/vt/vt_core.c user/dchagin/lemul/sys/dev/wpi/if_wpi.c user/dchagin/lemul/sys/dev/wpi/if_wpireg.h user/dchagin/lemul/sys/dev/xen/xenstore/xenstore_dev.c user/dchagin/lemul/sys/fs/ext2fs/ext2_htree.c user/dchagin/lemul/sys/fs/ext2fs/ext2_vfsops.c user/dchagin/lemul/sys/i386/i386/mp_machdep.c user/dchagin/lemul/sys/kern/imgact_elf.c user/dchagin/lemul/sys/kern/kern_descrip.c user/dchagin/lemul/sys/kern/kern_procctl.c user/dchagin/lemul/sys/kern/subr_taskqueue.c user/dchagin/lemul/sys/kern/sys_generic.c user/dchagin/lemul/sys/kern/sysv_shm.c user/dchagin/lemul/sys/kern/tty.c user/dchagin/lemul/sys/kern/uipc_mbuf.c user/dchagin/lemul/sys/kern/uipc_socket.c user/dchagin/lemul/sys/kern/uipc_syscalls.c user/dchagin/lemul/sys/kern/vfs_subr.c user/dchagin/lemul/sys/kern/vfs_syscalls.c user/dchagin/lemul/sys/mips/conf/AR71XX_BASE user/dchagin/lemul/sys/modules/Makefile user/dchagin/lemul/sys/modules/cxgbe/if_cxgbe/Makefile user/dchagin/lemul/sys/modules/dpt/Makefile user/dchagin/lemul/sys/modules/drm2/radeonkms/Makefile user/dchagin/lemul/sys/modules/ed/Makefile user/dchagin/lemul/sys/modules/ep/Makefile user/dchagin/lemul/sys/modules/ibcore/Makefile user/dchagin/lemul/sys/modules/if_gif/Makefile user/dchagin/lemul/sys/modules/if_gre/Makefile user/dchagin/lemul/sys/modules/ipoib/Makefile user/dchagin/lemul/sys/modules/mlx4/Makefile user/dchagin/lemul/sys/modules/mlx4ib/Makefile user/dchagin/lemul/sys/modules/mlxen/Makefile user/dchagin/lemul/sys/modules/mthca/Makefile user/dchagin/lemul/sys/modules/si/Makefile user/dchagin/lemul/sys/modules/vx/Makefile user/dchagin/lemul/sys/net/if_bridge.c user/dchagin/lemul/sys/net/pfvar.h user/dchagin/lemul/sys/netinet6/frag6.c user/dchagin/lemul/sys/netinet6/ip6_output.c user/dchagin/lemul/sys/netinet6/ip6_var.h user/dchagin/lemul/sys/netpfil/pf/pf.c user/dchagin/lemul/sys/netpfil/pf/pf.h user/dchagin/lemul/sys/netpfil/pf/pf_mtag.h user/dchagin/lemul/sys/netpfil/pf/pf_norm.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/addr.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/cache.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/cm.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/cm_msgs.h user/dchagin/lemul/sys/ofed/drivers/infiniband/core/cma.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/core_priv.h user/dchagin/lemul/sys/ofed/drivers/infiniband/core/device.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/fmr_pool.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/iwcm.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/mad.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/mad_priv.h user/dchagin/lemul/sys/ofed/drivers/infiniband/core/mad_rmpp.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/multicast.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/packer.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/sa.h user/dchagin/lemul/sys/ofed/drivers/infiniband/core/sa_query.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/smi.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/sysfs.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/ucm.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/ucma.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/ud_header.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/umem.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/user_mad.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/uverbs.h user/dchagin/lemul/sys/ofed/drivers/infiniband/core/uverbs_cmd.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/uverbs_main.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/uverbs_marshall.c user/dchagin/lemul/sys/ofed/drivers/infiniband/core/verbs.c user/dchagin/lemul/sys/ofed/drivers/infiniband/debug/memtrack.c user/dchagin/lemul/sys/ofed/drivers/infiniband/debug/memtrack.h user/dchagin/lemul/sys/ofed/drivers/infiniband/debug/mtrack.h user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mlx4/ah.c user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mlx4/cm.c user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mlx4/cq.c user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mlx4/doorbell.c user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mlx4/mad.c user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mlx4/main.c user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mlx4/mcg.c user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mlx4/mlx4_ib.h user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mlx4/mr.c user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mlx4/qp.c user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mlx4/sysfs.c user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mthca/mthca_provider.c user/dchagin/lemul/sys/ofed/drivers/infiniband/hw/mthca/mthca_qp.c user/dchagin/lemul/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib.h user/dchagin/lemul/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c user/dchagin/lemul/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c user/dchagin/lemul/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c user/dchagin/lemul/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c user/dchagin/lemul/sys/ofed/drivers/infiniband/ulp/sdp/sdp_rx.c user/dchagin/lemul/sys/ofed/drivers/infiniband/ulp/sdp/sdp_tx.c user/dchagin/lemul/sys/ofed/drivers/net/mlx4/Makefile user/dchagin/lemul/sys/ofed/drivers/net/mlx4/en_rx.c user/dchagin/lemul/sys/ofed/include/linux/device.h user/dchagin/lemul/sys/ofed/include/linux/file.h user/dchagin/lemul/sys/ofed/include/linux/linux_compat.c user/dchagin/lemul/sys/ofed/include/net/ip.h user/dchagin/lemul/sys/ofed/include/rdma/ib_addr.h user/dchagin/lemul/sys/ofed/include/rdma/ib_cache.h user/dchagin/lemul/sys/ofed/include/rdma/ib_cm.h user/dchagin/lemul/sys/ofed/include/rdma/ib_mad.h user/dchagin/lemul/sys/ofed/include/rdma/ib_pack.h user/dchagin/lemul/sys/ofed/include/rdma/ib_sa.h user/dchagin/lemul/sys/ofed/include/rdma/ib_umem.h user/dchagin/lemul/sys/ofed/include/rdma/ib_user_verbs.h user/dchagin/lemul/sys/ofed/include/rdma/ib_verbs.h user/dchagin/lemul/sys/ofed/include/rdma/iw_cm.h user/dchagin/lemul/sys/ofed/include/rdma/rdma_cm.h user/dchagin/lemul/sys/ofed/include/rdma/rdma_user_cm.h user/dchagin/lemul/sys/powerpc/powermac/atibl.c user/dchagin/lemul/sys/powerpc/powermac/nvbl.c user/dchagin/lemul/sys/powerpc/powerpc/db_trace.c user/dchagin/lemul/sys/sparc64/include/asm.h user/dchagin/lemul/sys/sys/fbio.h user/dchagin/lemul/sys/sys/file.h user/dchagin/lemul/sys/sys/filedesc.h user/dchagin/lemul/sys/sys/mbuf.h user/dchagin/lemul/sys/sys/param.h user/dchagin/lemul/sys/sys/taskqueue.h user/dchagin/lemul/sys/vm/memguard.c user/dchagin/lemul/sys/x86/acpica/acpi_wakeup.c user/dchagin/lemul/sys/x86/acpica/madt.c user/dchagin/lemul/sys/x86/include/vmware.h user/dchagin/lemul/sys/x86/x86/local_apic.c user/dchagin/lemul/sys/x86/xen/pvcpu_enum.c user/dchagin/lemul/sys/x86/xen/xen_intr.c user/dchagin/lemul/usr.bin/compress/compress.c user/dchagin/lemul/usr.bin/du/du.c user/dchagin/lemul/usr.bin/gcore/elfcore.c user/dchagin/lemul/usr.bin/gzip/gzip.c user/dchagin/lemul/usr.bin/kdump/kdump.c user/dchagin/lemul/usr.bin/ministat/ministat.c user/dchagin/lemul/usr.bin/timeout/timeout.c user/dchagin/lemul/usr.bin/touch/touch.c user/dchagin/lemul/usr.sbin/binmiscctl/binmiscctl.8 user/dchagin/lemul/usr.sbin/binmiscctl/binmiscctl.c user/dchagin/lemul/usr.sbin/devctl/Makefile user/dchagin/lemul/usr.sbin/pw/tests/pw_useradd.sh user/dchagin/lemul/usr.sbin/pw/tests/pw_usernext.sh Directory Properties: user/dchagin/lemul/ (props changed) user/dchagin/lemul/cddl/ (props changed) user/dchagin/lemul/cddl/contrib/opensolaris/ (props changed) user/dchagin/lemul/contrib/elftoolchain/ (props changed) user/dchagin/lemul/contrib/llvm/ (props changed) user/dchagin/lemul/contrib/llvm/tools/lldb/ (props changed) user/dchagin/lemul/etc/ (props changed) user/dchagin/lemul/lib/libc/ (props changed) user/dchagin/lemul/sbin/ (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/boot/ (props changed) user/dchagin/lemul/sys/conf/ (props changed) Modified: user/dchagin/lemul/Makefile.inc1 ============================================================================== --- user/dchagin/lemul/Makefile.inc1 Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/Makefile.inc1 Wed Feb 18 19:53:56 2015 (r278969) @@ -343,16 +343,15 @@ WMAKEENV+= CC="${XCC} ${XCFLAGS}" CXX="$ SIZE="${XSIZE}" .if ${XCC:M/*} -XFLAGS= --sysroot=${WORLDTMP} .if defined(CROSS_BINUTILS_PREFIX) # In the case of xdev-build tools, CROSS_BINUTILS_PREFIX won't be a # directory, but the compiler will look in the right place for it's # tools so we don't need to tell it where to look. .if exists(${CROSS_BINUTILS_PREFIX}) -XFLAGS+= -B${CROSS_BINUTILS_PREFIX} +BFLAGS+= -B${CROSS_BINUTILS_PREFIX} .endif .else -XFLAGS+= -B${WORLDTMP}/usr/bin +BFLAGS+= -B${WORLDTMP}/usr/bin .endif .if ${TARGET} == "arm" .if ${TARGET_ARCH:M*hf*} != "" @@ -369,6 +368,8 @@ DEPFLAGS+= -I${WORLDTMP}/usr/include/c++ TARGET_ABI?= unknown TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0 XCFLAGS+= -target ${TARGET_TRIPLE} +XCFLAGS+= --sysroot=${WORLDTMP} ${BFLAGS} +XCXXFLAGS+= --sysroot=${WORLDTMP} ${BFLAGS} .endif .endif @@ -912,25 +913,25 @@ packageworld: .for dist in base ${EXTRA_DISTRIBUTIONS} .if defined(NO_ROOT) ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ - tar cvJf ${DESTDIR}/${DISTDIR}/${dist}.txz \ - --exclude usr/lib/debug \ - @${DESTDIR}/${DISTDIR}/${dist}.meta + tar cvf - --exclude usr/lib/debug \ + @${DESTDIR}/${DISTDIR}/${dist}.meta | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}.txz .else ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ - tar cvJf ${DESTDIR}/${DISTDIR}/${dist}.txz \ - --exclude usr/lib/debug . + tar cvf - --exclude usr/lib/debug . | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}.txz .endif .endfor .for dist in ${DEBUG_DISTRIBUTIONS} . if defined(NO_ROOT) ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ - tar cvJf ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz \ - @${DESTDIR}/${DISTDIR}/${dist}.debug.meta + tar cvf - @${DESTDIR}/${DISTDIR}/${dist}.debug.meta | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz . else ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ - tar cvJfL ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz \ - usr/lib/debug + tar cvLf - usr/lib/debug | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz . endif .endfor @@ -1138,19 +1139,21 @@ distributekernel distributekernel.debug: packagekernel: .if defined(NO_ROOT) cd ${DESTDIR}/${DISTDIR}/kernel; \ - tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz \ - @${DESTDIR}/${DISTDIR}/kernel.meta + tar cvf - @${DESTDIR}/${DISTDIR}/kernel.meta | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.txz .for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//} cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ - tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz \ - @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta + tar cvf - @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz .endfor .else cd ${DESTDIR}/${DISTDIR}/kernel; \ - tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz . + tar cvf - . | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.txz .for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//} cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ - tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz . + tar cvf - . | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz .endfor .endif Modified: user/dchagin/lemul/ObsoleteFiles.inc ============================================================================== --- user/dchagin/lemul/ObsoleteFiles.inc Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/ObsoleteFiles.inc Wed Feb 18 19:53:56 2015 (r278969) @@ -38,6 +38,8 @@ # xargs -n1 | sort | uniq -d; # done +# 20150217: Removed remnants of ar(4) driver +OLD_FILES+=usr/include/sys/dev/ic/hd64570.h # 20150212: /usr/games moving into /usr/bin OLD_FILES+=usr/games/bcd OLD_FILES+=usr/games/caesar Modified: user/dchagin/lemul/UPDATING ============================================================================== --- user/dchagin/lemul/UPDATING Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/UPDATING Wed Feb 18 19:53:56 2015 (r278969) @@ -31,6 +31,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20150217: + If you are running a -CURRENT kernel since r273872 (Oct 30th, 2014), + but before r278950, the RNG was not seeded properly. Immediately + upgrade the kernel to r278950 or later and regenerate any keys (e.g. + ssh keys or openssl keys) that were generated w/ a kernel from that + range. This does not effect programs that directly used /dev/random + or /dev/urandom. All userland uses of arc4random(3) are effected. + 20150210: The autofs(4) ABI was changed in order to restore binary compatibility with 10.1-RELEASE. The automountd(8) daemon needs to be rebuilt to work Modified: user/dchagin/lemul/bin/ln/symlink.7 ============================================================================== --- user/dchagin/lemul/bin/ln/symlink.7 Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/bin/ln/symlink.7 Wed Feb 18 19:53:56 2015 (r278969) @@ -29,7 +29,7 @@ .\" @(#)symlink.7 8.3 (Berkeley) 3/31/94 .\" $FreeBSD$ .\" -.Dd January 23, 2015 +.Dd February 16, 2015 .Dt SYMLINK 7 .Os .Sh NAME @@ -146,6 +146,7 @@ The following system calls follow symbol unless given the .Dv AT_SYMLINK_NOFOLLOW flag: +.Xr chflagsat 2 , .Xr fchmodat 2 , .Xr fchownat 2 , .Xr fstatat 2 Modified: user/dchagin/lemul/bin/pkill/tests/pkill-j_test.sh ============================================================================== --- user/dchagin/lemul/bin/pkill/tests/pkill-j_test.sh Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/bin/pkill/tests/pkill-j_test.sh Wed Feb 18 19:53:56 2015 (r278969) @@ -4,99 +4,90 @@ jail_name_to_jid() { local check_name="$1" - ( - line="$(jls -n 2> /dev/null | grep name=$check_name )" - for nv in $line; do - local name="${nv%=*}" - if [ "${name}" = "jid" ]; then - eval $nv - echo $jid - break - fi - done - ) + jls -j "$check_name" -s 2>/dev/null | tr ' ' '\n' | grep jid= | sed -e 's/.*=//g' } base=pkill_j_test +if [ `id -u` -ne 0 ]; then + echo "1..0 # skip Test needs uid 0." + exit 0 +fi + echo "1..3" +sleep=$(pwd)/sleep.txt +ln -sf /bin/sleep $sleep + name="pkill -j " -if [ `id -u` -eq 0 ]; then - sleep=$(pwd)/sleep.txt - ln -sf /bin/sleep $sleep - jail -c path=/ name=${base}_1_1 ip4.addr=127.0.0.1 \ - command=daemon -p ${PWD}/${base}_1_1.pid $sleep 5 & +sleep_amount=5 +jail -c path=/ name=${base}_1_1 ip4.addr=127.0.0.1 \ + command=daemon -p ${PWD}/${base}_1_1.pid $sleep $sleep_amount & + +jail -c path=/ name=${base}_1_2 ip4.addr=127.0.0.1 \ + command=daemon -p ${PWD}/${base}_1_2.pid $sleep $sleep_amount & - jail -c path=/ name=${base}_1_2 ip4.addr=127.0.0.1 \ - command=daemon -p ${PWD}/${base}_1_2.pid $sleep 5 & +$sleep $sleep_amount & - $sleep 5 & - sleep 0.5 +for i in `seq 1 10`; do jid1=$(jail_name_to_jid ${base}_1_1) jid2=$(jail_name_to_jid ${base}_1_2) jid="${jid1},${jid2}" - if pkill -f -j "$jid" $sleep && sleep 0.5 && - ! -f ${PWD}/${base}_1_1.pid && - ! -f ${PWD}/${base}_1_2.pid ; then - echo "ok 1 - $name" - else - echo "not ok 1 - $name" - fi 2>/dev/null - rm -f $sleep - [ -f ${PWD}/${base}_1_1.pid ] && kill $(cat ${PWD}/${base}_1_1.pid) - [ -f ${PWD}/${base}_1_2.pid ] && kill $(cat ${PWD}/${base}_1_2.pid) - wait + case "$jid" in + [0-9]+,[0-9]+) + break + ;; + esac + sleep 0.1 +done + +if pkill -f -j "$jid" $sleep && sleep 0.5 && + ! -f ${PWD}/${base}_1_1.pid && + ! -f ${PWD}/${base}_1_2.pid ; then + echo "ok 1 - $name" else - echo "ok 1 - $name # skip Test needs uid 0." -fi + echo "not ok 1 - $name" +fi 2>/dev/null +[ -f ${PWD}/${base}_1_1.pid ] && kill $(cat ${PWD}/${base}_1_1.pid) +[ -f ${PWD}/${base}_1_2.pid ] && kill $(cat ${PWD}/${base}_1_2.pid) +wait name="pkill -j any" -if [ `id -u` -eq 0 ]; then - sleep=$(pwd)/sleep.txt - ln -sf /bin/sleep $sleep - jail -c path=/ name=${base}_2_1 ip4.addr=127.0.0.1 \ - command=daemon -p ${PWD}/${base}_2_1.pid $sleep 5 & - - jail -c path=/ name=${base}_2_2 ip4.addr=127.0.0.1 \ - command=daemon -p ${PWD}/${base}_2_2.pid $sleep 5 & - - $sleep 5 & - sleep 0.5 - chpid3=$! - if pkill -f -j any $sleep && sleep 0.5 && - [ ! -f ${PWD}/${base}_2_1.pid -a - ! -f ${PWD}/${base}_2_2.pid ] && kill $chpid3; then - echo "ok 2 - $name" - else - echo "not ok 2 - $name" - fi 2>/dev/null - rm -f $sleep - [ -f ${PWD}/${base}_2_1.pid ] && kill $(cat ${PWD}/${base}_2_1.pid) - [ -f ${PWD}/${base}_2_2.pid ] && kill $(cat ${PWD}/${base}_2_2.pid) - wait +sleep_amount=6 +jail -c path=/ name=${base}_2_1 ip4.addr=127.0.0.1 \ + command=daemon -p ${PWD}/${base}_2_1.pid $sleep $sleep_amount & + +jail -c path=/ name=${base}_2_2 ip4.addr=127.0.0.1 \ + command=daemon -p ${PWD}/${base}_2_2.pid $sleep $sleep_amount & + +$sleep $sleep_amount & +chpid3=$! +sleep 0.5 +if pkill -f -j any $sleep && sleep 0.5 && + [ ! -f ${PWD}/${base}_2_1.pid -a + ! -f ${PWD}/${base}_2_2.pid ] && kill $chpid3; then + echo "ok 2 - $name" else - echo "ok 2 - $name # skip Test needs uid 0." -fi + echo "not ok 2 - $name" +fi 2>/dev/null +[ -f ${PWD}/${base}_2_1.pid ] && kill $(cat ${PWD}/${base}_2_1.pid) +[ -f ${PWD}/${base}_2_2.pid ] && kill $(cat ${PWD}/${base}_2_2.pid) +wait name="pkill -j none" -if [ `id -u` -eq 0 ]; then - sleep=$(pwd)/sleep.txt - ln -sf /bin/sleep $sleep - daemon -p ${PWD}/${base}_3_1.pid $sleep 5 - jail -c path=/ name=${base}_3_2 ip4.addr=127.0.0.1 \ - command=daemon -p ${PWD}/${base}_3_2.pid $sleep 5 & - sleep 1 - if pkill -f -j none "$sleep 5" && sleep 1 && - [ ! -f ${PWD}/${base}_3_1.pid -a -f ${PWD}/${base}_3_2.pid ] ; then - echo "ok 3 - $name" - else - ls ${PWD}/*.pid - echo "not ok 3 - $name" - fi 2>/dev/null - rm -f $sleep - [ -f ${PWD}/${base}_3_1.pid ] && kill $(cat ${base}_3_1.pid) - [ -f ${PWD}/${base}_3_2.pid ] && kill $(cat ${base}_3_2.pid) +sleep_amount=7 +daemon -p ${PWD}/${base}_3_1.pid $sleep $sleep_amount +jail -c path=/ name=${base}_3_2 ip4.addr=127.0.0.1 \ + command=daemon -p ${PWD}/${base}_3_2.pid $sleep $sleep_amount & +sleep 1 +if pkill -f -j none "$sleep $sleep_amount" && sleep 1 && + [ ! -f ${PWD}/${base}_3_1.pid -a -f ${PWD}/${base}_3_2.pid ] ; then + echo "ok 3 - $name" else - echo "ok 3 - $name # skip Test needs uid 0." -fi + ls ${PWD}/*.pid + echo "not ok 3 - $name" +fi 2>/dev/null +[ -f ${PWD}/${base}_3_1.pid ] && kill $(cat ${base}_3_1.pid) +[ -f ${PWD}/${base}_3_2.pid ] && kill $(cat ${base}_3_2.pid) + +rm -f $sleep Modified: user/dchagin/lemul/bin/sh/cd.c ============================================================================== --- user/dchagin/lemul/bin/sh/cd.c Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/bin/sh/cd.c Wed Feb 18 19:53:56 2015 (r278969) @@ -122,7 +122,7 @@ cdcmd(int argc __unused, char **argv __u (dest[0] == '.' && (dest[1] == '/' || dest[1] == '\0')) || (dest[0] == '.' && dest[1] == '.' && (dest[2] == '/' || dest[2] == '\0')) || (path = bltinlookup("CDPATH", 1)) == NULL) - path = nullstr; + path = ""; while ((p = padvance(&path, dest)) != NULL) { if (stat(p, &statb) < 0) { if (errno != ENOENT) @@ -182,7 +182,6 @@ cdlogical(char *dest) struct stat statb; int first; int badstat; - size_t len; /* * Check each component of the path. If we find a symlink or @@ -190,9 +189,7 @@ cdlogical(char *dest) * next time we get the value of the current directory. */ badstat = 0; - len = strlen(dest); - cdcomppath = stalloc(len + 1); - memcpy(cdcomppath, dest, len + 1); + cdcomppath = stsavestr(dest); STARTSTACKSTR(p); if (*dest == '/') { STPUTC('/', p); @@ -277,7 +274,6 @@ findcwd(char *dir) { char *new; char *p; - size_t len; /* * If our argument is NULL, we don't know the current directory @@ -286,9 +282,7 @@ findcwd(char *dir) */ if (dir == NULL || curdir == NULL) return getpwd2(); - len = strlen(dir); - cdcomppath = stalloc(len + 1); - memcpy(cdcomppath, dir, len + 1); + cdcomppath = stsavestr(dir); STARTSTACKSTR(new); if (*dir != '/') { STPUTS(curdir, new); Modified: user/dchagin/lemul/bin/sh/eval.c ============================================================================== --- user/dchagin/lemul/bin/sh/eval.c Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/bin/sh/eval.c Wed Feb 18 19:53:56 2015 (r278969) @@ -498,7 +498,7 @@ exphere(union node *redir, struct arglis struct localvar *savelocalvars; int need_longjmp = 0; - redir->nhere.expdoc = nullstr; + redir->nhere.expdoc = ""; savelocalvars = localvars; localvars = NULL; forcelocal++; Modified: user/dchagin/lemul/bin/sh/expand.c ============================================================================== --- user/dchagin/lemul/bin/sh/expand.c Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/bin/sh/expand.c Wed Feb 18 19:53:56 2015 (r278969) @@ -105,11 +105,12 @@ static void expbackq(union node *, int, static int subevalvar(char *, char *, int, int, int, int, int); static char *evalvar(char *, int); static int varisset(const char *, int); +static void strtodest(const char *, int, int, int); static void varvalue(const char *, int, int, int); static void recordregion(int, int, int); static void removerecordregions(int); static void ifsbreakup(char *, struct arglist *); -static void expandmeta(struct strlist *, int); +static void expandmeta(struct strlist *); static void expmeta(char *, char *); static void addfname(char *); static struct strlist *expsort(struct strlist *); @@ -175,7 +176,7 @@ expandarg(union node *arg, struct arglis ifsbreakup(p, &exparg); *exparg.lastp = NULL; exparg.lastp = &exparg.list; - expandmeta(exparg.list, flag); + expandmeta(exparg.list); } else { sp = (struct strlist *)stalloc(sizeof (struct strlist)); sp->text = p; @@ -298,9 +299,9 @@ exptilde(char *p, int flag) char c, *startp = p; struct passwd *pw; char *home; - int quotes = flag & (EXP_FULL | EXP_CASE); - while ((c = *p) != '\0') { + for (;;) { + c = *p; switch(c) { case CTLESC: /* This means CTL* are always considered quoted. */ case CTLVAR: @@ -311,31 +312,27 @@ exptilde(char *p, int flag) case CTLQUOTEMARK: return (startp); case ':': - if (flag & EXP_VARTILDE) - goto done; - break; + if ((flag & EXP_VARTILDE) == 0) + break; + /* FALLTHROUGH */ + case '\0': case '/': case CTLENDVAR: - goto done; + *p = '\0'; + if (*(startp+1) == '\0') { + home = lookupvar("HOME"); + } else { + pw = getpwnam(startp+1); + home = pw != NULL ? pw->pw_dir : NULL; + } + *p = c; + if (home == NULL || *home == '\0') + return (startp); + strtodest(home, flag, VSNORMAL, 1); + return (p); } p++; } -done: - *p = '\0'; - if (*(startp+1) == '\0') { - home = lookupvar("HOME"); - } else { - pw = getpwnam(startp+1); - home = pw != NULL ? pw->pw_dir : NULL; - } - *p = c; - if (home == NULL || *home == '\0') - return (startp); - if (quotes) - STPUTS_QUOTES(home, DQSYNTAX, expdest); - else - STPUTS(home, expdest); - return (p); } @@ -496,6 +493,17 @@ expbackq(union node *cmd, int quoted, in +static void +recordleft(const char *str, const char *loc, char *startp) +{ + int amount; + + amount = ((str - 1) - (loc - startp)) - expdest; + STADJUST(amount, expdest); + while (loc != str - 1) + *startp++ = *loc++; +} + static int subevalvar(char *p, char *str, int strloc, int subtype, int startloc, int varflags, int quotes) @@ -530,8 +538,7 @@ subevalvar(char *p, char *str, int strlo error((char *)NULL); } error("%.*s: parameter %snot set", (int)(p - str - 1), - str, (varflags & VSNUL) ? "null or " - : nullstr); + str, (varflags & VSNUL) ? "null or " : ""); return 0; case VSTRIMLEFT: @@ -540,7 +547,8 @@ subevalvar(char *p, char *str, int strlo *loc = '\0'; if (patmatch(str, startp, quotes)) { *loc = c; - goto recordleft; + recordleft(str, loc, startp); + return 1; } *loc = c; if (quotes && *loc == CTLESC) @@ -554,7 +562,8 @@ subevalvar(char *p, char *str, int strlo *loc = '\0'; if (patmatch(str, startp, quotes)) { *loc = c; - goto recordleft; + recordleft(str, loc, startp); + return 1; } *loc = c; loc--; @@ -602,13 +611,6 @@ subevalvar(char *p, char *str, int strlo default: abort(); } - -recordleft: - amount = ((str - 1) - (loc - startp)) - expdest; - STADJUST(amount, expdest); - while (loc != str - 1) - *startp++ = *loc++; - return 1; } @@ -633,6 +635,7 @@ evalvar(char *p, int flag) int varlenb; int easy; int quotes = flag & (EXP_FULL | EXP_CASE); + int record; varflags = (unsigned char)*p++; subtype = varflags & VSTYPE; @@ -690,22 +693,15 @@ again: /* jump here after setting a vari STADJUST(-varlenb, expdest); } } else { - char const *syntax = (varflags & VSQUOTE) ? DQSYNTAX - : BASESYNTAX; - if (subtype == VSLENGTH) { for (;*val; val++) if (!localeisutf8 || (*val & 0xC0) != 0x80) varlen++; } - else { - if (quotes) - STPUTS_QUOTES(val, syntax, expdest); - else - STPUTS(val, expdest); - - } + else + strtodest(val, flag, subtype, + varflags & VSQUOTE); } } @@ -719,15 +715,11 @@ again: /* jump here after setting a vari switch (subtype) { case VSLENGTH: expdest = cvtnum(varlen, expdest); - goto record; + record = 1; + break; case VSNORMAL: - if (!easy) - break; -record: - recordregion(startloc, expdest - stackblock(), - varflags & VSQUOTE || (ifsset() && ifsval()[0] == '\0' && - (*var == '@' || *var == '*'))); + record = easy; break; case VSPLUS: @@ -737,8 +729,7 @@ record: (varflags & VSQUOTE ? EXP_LIT_QUOTED : 0)); break; } - if (easy) - goto record; + record = easy; break; case VSTRIMLEFT: @@ -760,7 +751,8 @@ record: } /* Remove any recorded regions beyond start of variable */ removerecordregions(startloc); - goto record; + record = 1; + break; case VSASSIGN: case VSQUESTION: @@ -777,8 +769,7 @@ record: } break; } - if (easy) - goto record; + record = easy; break; case VSERROR: @@ -790,6 +781,11 @@ record: abort(); } + if (record) + recordregion(startloc, expdest - stackblock(), + varflags & VSQUOTE || (ifsset() && ifsval()[0] == '\0' && + (*var == '@' || *var == '*'))); + if (subtype != VSNORMAL) { /* skip to end of alternative */ int nesting = 1; for (;;) { @@ -1093,7 +1089,7 @@ static char expdir[PATH_MAX]; * The results are stored in the list exparg. */ static void -expandmeta(struct strlist *str, int flag __unused) +expandmeta(struct strlist *str) { char *p; struct strlist **savelastp; @@ -1284,11 +1280,8 @@ addfname(char *name) { char *p; struct strlist *sp; - size_t len; - len = strlen(name); - p = stalloc(len + 1); - memcpy(p, name, len + 1); + p = stsavestr(name); sp = (struct strlist *)stalloc(sizeof *sp); sp->text = p; *exparg.lastp = sp; @@ -1478,16 +1471,14 @@ patmatch(const char *pattern, const char endp = p; if (*endp == '!' || *endp == '^') endp++; - for (;;) { + do { while (*endp == CTLQUOTEMARK) endp++; if (*endp == 0) goto dft; /* no matching ] */ if (*endp == CTLESC) endp++; - if (*++endp == ']') - break; - } + } while (*++endp != ']'); invert = 0; if (*p == '!' || *p == '^') { invert++; Modified: user/dchagin/lemul/bin/sh/mail.c ============================================================================== --- user/dchagin/lemul/bin/sh/mail.c Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/bin/sh/mail.c Wed Feb 18 19:53:56 2015 (r278969) @@ -85,7 +85,7 @@ chkmail(int silent) setstackmark(&smark); mpath = mpathset()? mpathval() : mailval(); for (i = 0 ; i < nmboxes ; i++) { - p = padvance(&mpath, nullstr); + p = padvance(&mpath, ""); if (p == NULL) break; if (*p == '\0') Modified: user/dchagin/lemul/bin/sh/memalloc.c ============================================================================== --- user/dchagin/lemul/bin/sh/memalloc.c Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/bin/sh/memalloc.c Wed Feb 18 19:53:56 2015 (r278969) @@ -180,6 +180,18 @@ stunalloc(pointer p) } +char * +stsavestr(const char *s) +{ + char *p; + size_t len; + + len = strlen(s); + p = stalloc(len + 1); + memcpy(p, s, len + 1); + return p; +} + void setstackmark(struct stackmark *mark) Modified: user/dchagin/lemul/bin/sh/memalloc.h ============================================================================== --- user/dchagin/lemul/bin/sh/memalloc.h Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/bin/sh/memalloc.h Wed Feb 18 19:53:56 2015 (r278969) @@ -52,6 +52,7 @@ void ckfree(pointer); char *savestr(const char *); pointer stalloc(int); void stunalloc(pointer); +char *stsavestr(const char *); void setstackmark(struct stackmark *); void popstackmark(struct stackmark *); char *growstackstr(void); Modified: user/dchagin/lemul/bin/sh/miscbltin.c ============================================================================== --- user/dchagin/lemul/bin/sh/miscbltin.c Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/bin/sh/miscbltin.c Wed Feb 18 19:53:56 2015 (r278969) @@ -265,7 +265,7 @@ readcmd(int argc __unused, char **argv _ /* Set any remaining args to "" */ while (*++ap != NULL) - setvar(*ap, nullstr, 0); + setvar(*ap, "", 0); return status; } Modified: user/dchagin/lemul/bin/sh/nodetypes ============================================================================== --- user/dchagin/lemul/bin/sh/nodetypes Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/bin/sh/nodetypes Wed Feb 18 19:53:56 2015 (r278969) @@ -138,7 +138,7 @@ NXHERE nhere # fd<flags & VREADONLY) return (1); if (vp->text[vp->name_len + 1] != '\0') - setvar(s, nullstr, 0); + setvar(s, "", 0); if ((vp->flags & VEXPORT) && localevar(vp->text)) { change_env(s, 0); setlocale(LC_ALL, ""); Modified: user/dchagin/lemul/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c ============================================================================== --- user/dchagin/lemul/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c Wed Feb 18 19:53:56 2015 (r278969) @@ -36,7 +36,6 @@ #include #include #include -#include /* * In Solaris 10 GA, the only mechanism for communicating helper information @@ -62,9 +61,7 @@ static const char *olddevname = "/device static const char *modname; /* Name of this load object */ static int gen; /* DOF helper generation */ -#ifdef illumos extern dof_hdr_t __SUNW_dof; /* DOF defined in the .SUNW_dof section */ -#endif static boolean_t dof_init_debug = B_FALSE; /* From DTRACE_DOF_INIT_DEBUG */ static void @@ -99,11 +96,7 @@ static void dtrace_dof_init(void) __attr static void dtrace_dof_init(void) { -#ifdef illumos dof_hdr_t *dof = &__SUNW_dof; -#else - dof_hdr_t *dof = NULL; -#endif #ifdef _LP64 Elf64_Ehdr *elf; #else @@ -118,17 +111,6 @@ dtrace_dof_init(void) #endif int fd; const char *p; -#ifndef illumos - Elf *e; - Elf_Scn *scn = NULL; - Elf_Data *dofdata = NULL; - dof_hdr_t *dof_next = NULL; - GElf_Shdr shdr; - int efd; - char *s; - size_t shstridx; - uint64_t aligned_filesz; -#endif if (getenv("DTRACE_DOF_INIT_DISABLE") != NULL) return; @@ -152,42 +134,6 @@ dtrace_dof_init(void) modname = lmp->l_name; else modname++; -#ifndef illumos - elf_version(EV_CURRENT); - if ((efd = open(lmp->l_name, O_RDONLY, 0)) < 0) { - dprintf(1, "couldn't open file for reading\n"); - return; - } - if ((e = elf_begin(efd, ELF_C_READ, NULL)) == NULL) { - dprintf(1, "elf_begin failed\n"); - close(efd); - return; - } - elf_getshdrstrndx(e, &shstridx); - dof = NULL; - while ((scn = elf_nextscn(e, scn)) != NULL) { - gelf_getshdr(scn, &shdr); - if (shdr.sh_type == SHT_SUNW_dof) { - s = elf_strptr(e, shstridx, shdr.sh_name); - if (s != NULL && strcmp(s, ".SUNW_dof") == 0) { - dofdata = elf_getdata(scn, NULL); - dof = dofdata->d_buf; - break; - } - } - } - if (dof == NULL) { - dprintf(1, "SUNW_dof section not found\n"); - elf_end(e); - close(efd); - return; - } - - while ((char *) dof < (char *) dofdata->d_buf + dofdata->d_size) { - aligned_filesz = (shdr.sh_addralign == 0 ? dof->dofh_filesz : - roundup2(dof->dofh_filesz, shdr.sh_addralign)); - dof_next = (void *) ((char *) dof + aligned_filesz); -#endif if (dof->dofh_ident[DOF_ID_MAG0] != DOF_MAG_MAG0 || dof->dofh_ident[DOF_ID_MAG1] != DOF_MAG_MAG1 || @@ -237,21 +183,12 @@ dtrace_dof_init(void) dprintf(1, "DTrace ioctl failed for DOF at %p", dof); else { dprintf(1, "DTrace ioctl succeeded for DOF at %p\n", dof); -#ifndef illumos +#ifdef __FreeBSD__ gen = dh.gen; #endif } (void) close(fd); - -#ifndef illumos - /* End of while loop */ - dof = dof_next; - } - - elf_end(e); - (void) close(efd); -#endif } #ifdef illumos Modified: user/dchagin/lemul/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h ============================================================================== --- user/dchagin/lemul/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h Wed Feb 18 19:53:56 2015 (r278969) @@ -275,6 +275,9 @@ struct dtrace_hdl { int dt_cpp_argc; /* count of initialized cpp(1) arguments */ int dt_cpp_args; /* size of dt_cpp_argv[] array */ char *dt_ld_path; /* pathname of ld(1) to invoke if needed */ +#ifdef __FreeBSD__ + char *dt_objcopy_path; /* pathname of objcopy(1) to invoke if needed */ +#endif dt_list_t dt_lib_path; /* linked-list forming library search path */ uint_t dt_lazyload; /* boolean: set via -xlazyload */ uint_t dt_droptags; /* boolean: set via -xdroptags */ Modified: user/dchagin/lemul/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- user/dchagin/lemul/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Wed Feb 18 19:42:37 2015 (r278968) +++ user/dchagin/lemul/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Wed Feb 18 19:53:56 2015 (r278969) @@ -281,7 +281,11 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ sym->st_value = 0; sym->st_size = dof->dofh_filesz; sym->st_info = ELF32_ST_INFO(STB_GLOBAL, STT_OBJECT); +#ifdef illumos sym->st_other = 0; +#else + sym->st_other = ELF32_ST_VISIBILITY(STV_HIDDEN); +#endif sym->st_shndx = ESHDR_DOF; sym++; @@ -471,7 +475,11 @@ prepare_elf64(dtrace_hdl_t *dtp, const d sym->st_value = 0; sym->st_size = dof->dofh_filesz; sym->st_info = GELF_ST_INFO(STB_GLOBAL, STT_OBJECT); +#ifdef illumos sym->st_other = 0; +#else + sym->st_other = ELF64_ST_VISIBILITY(STV_HIDDEN); +#endif sym->st_shndx = ESHDR_DOF; sym++; @@ -711,11 +719,7 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_ shp = &elf_file.shdr[ESHDR_DOF]; shp->sh_name = 11; /* DTRACE_SHSTRTAB64[11] = ".SUNW_dof" */ -#ifdef illumos shp->sh_flags = SHF_ALLOC; -#else - shp->sh_flags = SHF_WRITE | SHF_ALLOC; -#endif shp->sh_type = SHT_SUNW_dof; shp->sh_offset = off; shp->sh_size = dof->dofh_filesz; @@ -1874,7 +1878,7 @@ dtrace_program_link(dtrace_hdl_t *dtp, d #endif (void) snprintf(drti, sizeof (drti), "/usr/lib%s/dtrace/drti.o", - use_32 ? "32":""); + use_32 ? "32" : ""); len = snprintf(&tmp, 1, fmt, dtp->dt_ld_path, file, tfile, drti) + 1; @@ -1885,26 +1889,61 @@ dtrace_program_link(dtrace_hdl_t *dtp, d drti); #endif if ((status = system(cmd)) == -1) { - ret = dt_link_error(dtp, NULL, -1, NULL, + ret = dt_link_error(dtp, NULL, fd, NULL, "failed to run %s: %s", dtp->dt_ld_path, strerror(errno)); goto done; } if (WIFSIGNALED(status)) { - ret = dt_link_error(dtp, NULL, -1, NULL, + ret = dt_link_error(dtp, NULL, fd, NULL, "failed to link %s: %s failed due to signal %d", file, dtp->dt_ld_path, WTERMSIG(status)); goto done; } if (WEXITSTATUS(status) != 0) { - ret = dt_link_error(dtp, NULL, -1, NULL, + ret = dt_link_error(dtp, NULL, fd, NULL, "failed to link %s: %s exited with status %d\n", file, dtp->dt_ld_path, WEXITSTATUS(status)); goto done; } (void) close(fd); /* release temporary file */ + +#ifdef __FreeBSD__ + /* + * Now that we've linked drti.o, reduce the global __SUNW_dof + * symbol to a local symbol. This is needed to so that multiple + * generated object files (for different providers, for + * instance) can be linked together. This is accomplished using + * the -Blocal flag with Sun's linker, but GNU ld doesn't appear + * to have an equivalent option. + */ + asprintf(&cmd, "%s --localize-hidden %s", dtp->dt_objcopy_path, + file); + if ((status = system(cmd)) == -1) { + ret = dt_link_error(dtp, NULL, -1, NULL, + "failed to run %s: %s", dtp->dt_objcopy_path, + strerror(errno)); + free(cmd); + goto done; + } + free(cmd); + + if (WIFSIGNALED(status)) { + ret = dt_link_error(dtp, NULL, -1, NULL, + "failed to link %s: %s failed due to signal %d", + file, dtp->dt_objcopy_path, WTERMSIG(status)); + goto done; + } + *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***