From owner-svn-src-projects@freebsd.org Fri Dec 9 20:57:48 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 68F08C6EBA9 for ; Fri, 9 Dec 2016 20:57:48 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::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 D50921D54; Fri, 9 Dec 2016 20:57:47 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id uB9KvlgJ061723; Fri, 9 Dec 2016 20:57:47 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id uB9KviK2061693; Fri, 9 Dec 2016 20:57:44 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201612092057.uB9KviK2061693@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 9 Dec 2016 20:57:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r309768 - in projects/clang391-import: . bin/dd bin/ps cddl/compat/opensolaris/include cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid cddl/contrib/opensolaris/cmd/dtrace/test/t... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Dec 2016 20:57:48 -0000 Author: dim Date: Fri Dec 9 20:57:43 2016 New Revision: 309768 URL: https://svnweb.freebsd.org/changeset/base/309768 Log: Merge ^/head r309519 through r309757. Added: projects/clang391-import/contrib/libarchive/libarchive/test/test_compat_plexus_archiver_tar.c - copied unchanged from r309757, head/contrib/libarchive/libarchive/test/test_compat_plexus_archiver_tar.c projects/clang391-import/contrib/libarchive/libarchive/test/test_compat_plexus_archiver_tar.tar.uu - copied unchanged from r309757, head/contrib/libarchive/libarchive/test/test_compat_plexus_archiver_tar.tar.uu projects/clang391-import/lib/libproc/crc32.c - copied unchanged from r309757, head/lib/libproc/crc32.c projects/clang391-import/lib/libproc/crc32.h - copied unchanged from r309757, head/lib/libproc/crc32.h projects/clang391-import/sbin/rcorder/rcorder-visualize.sh - copied unchanged from r309757, head/sbin/rcorder/rcorder-visualize.sh projects/clang391-import/sys/arm/arm/gic_common.h - copied unchanged from r309757, head/sys/arm/arm/gic_common.h projects/clang391-import/sys/dev/cxgbe/firmware/t4fw-1.16.22.0.bin.uu - copied unchanged from r309757, head/sys/dev/cxgbe/firmware/t4fw-1.16.22.0.bin.uu projects/clang391-import/sys/dev/cxgbe/firmware/t5fw-1.16.22.0.bin.uu - copied unchanged from r309757, head/sys/dev/cxgbe/firmware/t5fw-1.16.22.0.bin.uu projects/clang391-import/sys/dev/cxgbe/firmware/t6fw-1.16.22.0.bin.uu - copied unchanged from r309757, head/sys/dev/cxgbe/firmware/t6fw-1.16.22.0.bin.uu projects/clang391-import/sys/mips/ingenic/jz4780_aic.h - copied unchanged from r309757, head/sys/mips/ingenic/jz4780_aic.h projects/clang391-import/sys/mips/ingenic/jz4780_codec.c - copied unchanged from r309757, head/sys/mips/ingenic/jz4780_codec.c projects/clang391-import/sys/mips/ingenic/jz4780_codec.h - copied unchanged from r309757, head/sys/mips/ingenic/jz4780_codec.h projects/clang391-import/sys/mips/ingenic/jz4780_common.h - copied unchanged from r309757, head/sys/mips/ingenic/jz4780_common.h projects/clang391-import/tools/regression/sockets/unix_cmsg/t_cmsg_len.c - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/t_cmsg_len.c projects/clang391-import/tools/regression/sockets/unix_cmsg/t_cmsg_len.h - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/t_cmsg_len.h projects/clang391-import/tools/regression/sockets/unix_cmsg/t_cmsgcred.c - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/t_cmsgcred.c projects/clang391-import/tools/regression/sockets/unix_cmsg/t_cmsgcred.h - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/t_cmsgcred.h projects/clang391-import/tools/regression/sockets/unix_cmsg/t_cmsgcred_sockcred.c - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/t_cmsgcred_sockcred.c projects/clang391-import/tools/regression/sockets/unix_cmsg/t_cmsgcred_sockcred.h - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/t_cmsgcred_sockcred.h projects/clang391-import/tools/regression/sockets/unix_cmsg/t_generic.c - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/t_generic.c projects/clang391-import/tools/regression/sockets/unix_cmsg/t_generic.h - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/t_generic.h projects/clang391-import/tools/regression/sockets/unix_cmsg/t_peercred.c - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/t_peercred.c projects/clang391-import/tools/regression/sockets/unix_cmsg/t_peercred.h - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/t_peercred.h projects/clang391-import/tools/regression/sockets/unix_cmsg/t_sockcred.c - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/t_sockcred.c projects/clang391-import/tools/regression/sockets/unix_cmsg/t_sockcred.h - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/t_sockcred.h projects/clang391-import/tools/regression/sockets/unix_cmsg/t_xxxtime.c.in - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/t_xxxtime.c.in projects/clang391-import/tools/regression/sockets/unix_cmsg/t_xxxtime.h.in - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/t_xxxtime.h.in projects/clang391-import/tools/regression/sockets/unix_cmsg/uc_common.c - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/uc_common.c projects/clang391-import/tools/regression/sockets/unix_cmsg/uc_common.h - copied unchanged from r309757, head/tools/regression/sockets/unix_cmsg/uc_common.h Deleted: projects/clang391-import/sys/arm64/arm64/gic.h projects/clang391-import/sys/dev/cxgbe/firmware/t4fw-1.16.12.0.bin.uu projects/clang391-import/sys/dev/cxgbe/firmware/t5fw-1.16.12.0.bin.uu projects/clang391-import/sys/dev/cxgbe/firmware/t6fw-1.16.12.0.bin.uu Modified: projects/clang391-import/ObsoleteFiles.inc projects/clang391-import/bin/dd/dd.c projects/clang391-import/bin/ps/print.c projects/clang391-import/cddl/compat/opensolaris/include/libproc.h projects/clang391-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex3.ksh projects/clang391-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.func.ksh projects/clang391-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.mod.ksh projects/clang391-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.sym.ksh projects/clang391-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.c projects/clang391-import/cddl/lib/libdtrace/libproc_compat.h projects/clang391-import/cddl/usr.sbin/dtrace/tests/tools/dtest.sh projects/clang391-import/cddl/usr.sbin/dtrace/tests/tools/exclude.sh projects/clang391-import/contrib/elftoolchain/readelf/readelf.c projects/clang391-import/contrib/jemalloc/ChangeLog projects/clang391-import/contrib/jemalloc/FREEBSD-diffs projects/clang391-import/contrib/jemalloc/VERSION projects/clang391-import/contrib/jemalloc/doc/jemalloc.3 projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/arena.h projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/chunk.h projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/extent.h projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal.h projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/pages.h projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/private_namespace.h projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/stats.h projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/util.h projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/valgrind.h projects/clang391-import/contrib/jemalloc/include/jemalloc/jemalloc.h projects/clang391-import/contrib/jemalloc/src/arena.c projects/clang391-import/contrib/jemalloc/src/base.c projects/clang391-import/contrib/jemalloc/src/chunk.c projects/clang391-import/contrib/jemalloc/src/chunk_dss.c projects/clang391-import/contrib/jemalloc/src/extent.c projects/clang391-import/contrib/jemalloc/src/huge.c projects/clang391-import/contrib/jemalloc/src/jemalloc.c projects/clang391-import/contrib/jemalloc/src/pages.c projects/clang391-import/contrib/jemalloc/src/stats.c projects/clang391-import/contrib/jemalloc/src/tcache.c projects/clang391-import/contrib/jemalloc/src/util.c projects/clang391-import/contrib/libarchive/cat/test/main.c projects/clang391-import/contrib/libarchive/cpio/test/main.c projects/clang391-import/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c projects/clang391-import/contrib/libarchive/libarchive/archive_read_support_filter_uu.c projects/clang391-import/contrib/libarchive/libarchive/archive_read_support_format_ar.c projects/clang391-import/contrib/libarchive/libarchive/archive_read_support_format_cab.c projects/clang391-import/contrib/libarchive/libarchive/archive_read_support_format_tar.c projects/clang391-import/contrib/libarchive/libarchive/archive_string.c projects/clang391-import/contrib/libarchive/libarchive/archive_string.h projects/clang391-import/contrib/libarchive/libarchive/archive_write_set_format_7zip.c projects/clang391-import/contrib/libarchive/libarchive/archive_write_set_format_cpio.c projects/clang391-import/contrib/libarchive/libarchive/archive_write_set_format_cpio_newc.c projects/clang391-import/contrib/libarchive/libarchive/archive_write_set_format_gnutar.c projects/clang391-import/contrib/libarchive/libarchive/archive_write_set_format_mtree.c projects/clang391-import/contrib/libarchive/libarchive/archive_write_set_format_pax.c projects/clang391-import/contrib/libarchive/libarchive/archive_write_set_format_ustar.c projects/clang391-import/contrib/libarchive/libarchive/archive_write_set_format_v7tar.c projects/clang391-import/contrib/libarchive/libarchive/archive_write_set_format_zip.c projects/clang391-import/contrib/libarchive/libarchive/test/main.c projects/clang391-import/contrib/libarchive/libarchive/test/test_archive_cmdline.c projects/clang391-import/contrib/libc-vis/vis.c projects/clang391-import/contrib/llvm/lib/Analysis/LazyValueInfo.cpp projects/clang391-import/contrib/netbsd-tests/lib/libc/locale/t_mbtowc.c projects/clang391-import/contrib/tcpdump/tcpdump.c projects/clang391-import/contrib/telnet/telnetd/sys_term.c projects/clang391-import/contrib/tzdata/CONTRIBUTING projects/clang391-import/contrib/tzdata/Makefile projects/clang391-import/contrib/tzdata/NEWS projects/clang391-import/contrib/tzdata/README projects/clang391-import/contrib/tzdata/Theory projects/clang391-import/contrib/tzdata/africa projects/clang391-import/contrib/tzdata/asia projects/clang391-import/contrib/tzdata/europe projects/clang391-import/contrib/tzdata/version projects/clang391-import/contrib/tzdata/zone.tab projects/clang391-import/contrib/tzdata/zone1970.tab projects/clang391-import/etc/pccard_ether projects/clang391-import/lib/clang/libllvmminimal/Makefile projects/clang391-import/lib/libarchive/tests/Makefile projects/clang391-import/lib/libc/gen/jrand48.c projects/clang391-import/lib/libc/gen/mrand48.c projects/clang391-import/lib/libc/net/linkaddr.c projects/clang391-import/lib/libc/net/sctp_sys_calls.c projects/clang391-import/lib/libc/tests/nss/getgr_test.c projects/clang391-import/lib/libfetch/common.c projects/clang391-import/lib/libkvm/kvm_proc.c projects/clang391-import/lib/libproc/Makefile projects/clang391-import/lib/libproc/_libproc.h projects/clang391-import/lib/libproc/libproc.h projects/clang391-import/lib/libproc/proc_bkpt.c projects/clang391-import/lib/libproc/proc_create.c projects/clang391-import/lib/libproc/proc_regs.c projects/clang391-import/lib/libproc/proc_rtld.c projects/clang391-import/lib/libproc/proc_sym.c projects/clang391-import/lib/libproc/proc_util.c projects/clang391-import/lib/libproc/tests/proc_test.c projects/clang391-import/lib/librtld_db/rtld_db.c projects/clang391-import/lib/librtld_db/rtld_db.h projects/clang391-import/lib/libthr/thread/thr_cond.c projects/clang391-import/lib/libvmmapi/vmmapi.c projects/clang391-import/sbin/nvmecontrol/logpage.c projects/clang391-import/share/man/man4/Makefile projects/clang391-import/share/man/man4/cxgbe.4 projects/clang391-import/share/man/man4/cxgbev.4 projects/clang391-import/share/man/man4/rsu.4 projects/clang391-import/share/man/man5/src.conf.5 projects/clang391-import/share/man/man9/counter.9 projects/clang391-import/sys/amd64/amd64/elf_machdep.c projects/clang391-import/sys/amd64/amd64/pmap.c projects/clang391-import/sys/amd64/conf/GENERIC projects/clang391-import/sys/amd64/conf/MINIMAL projects/clang391-import/sys/arm/arm/gic.c projects/clang391-import/sys/arm/arm/gic.h projects/clang391-import/sys/arm/arm/gic_fdt.c projects/clang391-import/sys/arm/conf/std.arm projects/clang391-import/sys/arm/conf/std.armv6 projects/clang391-import/sys/arm/include/pmap-v6.h projects/clang391-import/sys/arm/include/pmap.h projects/clang391-import/sys/arm/nvidia/tegra124/tegra124_car.c projects/clang391-import/sys/arm/nvidia/tegra124/tegra124_clk_per.c projects/clang391-import/sys/arm/nvidia/tegra124/tegra124_clk_pll.c projects/clang391-import/sys/arm64/arm64/gic_v3.c projects/clang391-import/sys/arm64/arm64/gic_v3_fdt.c projects/clang391-import/sys/arm64/arm64/gic_v3_reg.h projects/clang391-import/sys/arm64/arm64/gic_v3_var.h projects/clang391-import/sys/arm64/arm64/gicv3_its.c projects/clang391-import/sys/arm64/arm64/mp_machdep.c projects/clang391-import/sys/arm64/arm64/pmap.c projects/clang391-import/sys/arm64/include/setjmp.h projects/clang391-import/sys/cddl/compat/opensolaris/sys/atomic.h projects/clang391-import/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/clang391-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/clang391-import/sys/compat/freebsd32/freebsd32.h projects/clang391-import/sys/compat/linuxkpi/common/include/linux/device.h projects/clang391-import/sys/compat/linuxkpi/common/include/linux/gfp.h projects/clang391-import/sys/compat/linuxkpi/common/include/linux/interrupt.h projects/clang391-import/sys/compat/linuxkpi/common/include/linux/pci.h projects/clang391-import/sys/compat/linuxkpi/common/include/linux/slab.h projects/clang391-import/sys/compat/linuxkpi/common/src/linux_pci.c projects/clang391-import/sys/conf/NOTES projects/clang391-import/sys/conf/files projects/clang391-import/sys/conf/files.arm64 projects/clang391-import/sys/conf/options projects/clang391-import/sys/dev/acpica/acpi_pcib_acpi.c projects/clang391-import/sys/dev/ath/if_ath_keycache.c projects/clang391-import/sys/dev/cxgbe/common/common.h projects/clang391-import/sys/dev/cxgbe/common/t4_hw.c projects/clang391-import/sys/dev/cxgbe/firmware/t4fw_interface.h projects/clang391-import/sys/dev/cxgbe/firmware/t6fw_cfg.txt projects/clang391-import/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt projects/clang391-import/sys/dev/cxgbe/t4_main.c projects/clang391-import/sys/dev/cxgbe/t4_netmap.c projects/clang391-import/sys/dev/drm2/i915/i915_gem.c projects/clang391-import/sys/dev/extres/clk/clk.c projects/clang391-import/sys/dev/hyperv/include/hyperv.h projects/clang391-import/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c projects/clang391-import/sys/dev/hyperv/utilities/hv_timesync.c projects/clang391-import/sys/dev/hyperv/utilities/vmbus_icreg.h projects/clang391-import/sys/dev/hyperv/vmbus/hyperv_reg.h projects/clang391-import/sys/dev/hyperv/vmbus/hyperv_var.h projects/clang391-import/sys/dev/hyperv/vmbus/vmbus_chan.c projects/clang391-import/sys/dev/hyperv/vmbus/vmbus_et.c projects/clang391-import/sys/dev/ioat/ioat.c projects/clang391-import/sys/dev/mwl/if_mwl.c projects/clang391-import/sys/dev/psci/psci.c projects/clang391-import/sys/dev/rtwn/if_rtwn_cam.c projects/clang391-import/sys/dev/sound/pci/hda/hdaa_patches.c projects/clang391-import/sys/dev/sound/pci/hda/hdac.h projects/clang391-import/sys/dev/sound/pci/hda/hdacc.c projects/clang391-import/sys/dev/sound/pci/hdspe-pcm.c projects/clang391-import/sys/dev/sound/pci/hdspe.c projects/clang391-import/sys/dev/usb/wlan/if_rsu.c projects/clang391-import/sys/dev/usb/wlan/if_rsureg.h projects/clang391-import/sys/dev/usb/wlan/if_rum.c projects/clang391-import/sys/dev/usb/wlan/if_run.c projects/clang391-import/sys/fs/nfsserver/nfs_nfsdstate.c projects/clang391-import/sys/i386/conf/GENERIC projects/clang391-import/sys/i386/i386/pmap.c projects/clang391-import/sys/kern/init_sysent.c projects/clang391-import/sys/kern/kern_exit.c projects/clang391-import/sys/kern/kern_proc.c projects/clang391-import/sys/kern/subr_counter.c projects/clang391-import/sys/kern/syscalls.c projects/clang391-import/sys/kern/syscalls.master projects/clang391-import/sys/mips/conf/ERL projects/clang391-import/sys/mips/conf/JZ4780 projects/clang391-import/sys/mips/conf/X1000 projects/clang391-import/sys/mips/ingenic/jz4780_pdma.h projects/clang391-import/sys/modules/cxgbe/t4_firmware/Makefile projects/clang391-import/sys/modules/cxgbe/t5_firmware/Makefile projects/clang391-import/sys/modules/cxgbe/t6_firmware/Makefile projects/clang391-import/sys/modules/ioat/Makefile projects/clang391-import/sys/net/route.c projects/clang391-import/sys/net80211/ieee80211_crypto.c projects/clang391-import/sys/net80211/ieee80211_crypto.h projects/clang391-import/sys/net80211/ieee80211_freebsd.h projects/clang391-import/sys/net80211/ieee80211_superg.c projects/clang391-import/sys/netinet/icmp_var.h projects/clang391-import/sys/netinet/ip_icmp.c projects/clang391-import/sys/netinet/sctp_asconf.c projects/clang391-import/sys/netinet/sctp_asconf.h projects/clang391-import/sys/netinet/sctp_bsd_addr.h projects/clang391-import/sys/netinet/sctp_cc_functions.c projects/clang391-import/sys/netinet/sctp_constants.h projects/clang391-import/sys/netinet/sctp_crc32.c projects/clang391-import/sys/netinet/sctp_crc32.h projects/clang391-import/sys/netinet/sctp_header.h projects/clang391-import/sys/netinet/sctp_indata.c projects/clang391-import/sys/netinet/sctp_indata.h projects/clang391-import/sys/netinet/sctp_input.c projects/clang391-import/sys/netinet/sctp_os_bsd.h projects/clang391-import/sys/netinet/sctp_output.c projects/clang391-import/sys/netinet/sctp_pcb.c projects/clang391-import/sys/netinet/sctp_pcb.h projects/clang391-import/sys/netinet/sctp_peeloff.h projects/clang391-import/sys/netinet/sctp_ss_functions.c projects/clang391-import/sys/netinet/sctp_structs.h projects/clang391-import/sys/netinet/sctp_sysctl.c projects/clang391-import/sys/netinet/sctp_timer.c projects/clang391-import/sys/netinet/sctp_uio.h projects/clang391-import/sys/netinet/sctp_usrreq.c projects/clang391-import/sys/netinet/sctp_var.h projects/clang391-import/sys/netinet/sctputil.c projects/clang391-import/sys/netinet/sctputil.h projects/clang391-import/sys/netinet6/sctp6_usrreq.c projects/clang391-import/sys/netinet6/sctp6_var.h projects/clang391-import/sys/netpfil/ipfw/ip_fw_dynamic.c projects/clang391-import/sys/netpfil/pf/if_pflog.c projects/clang391-import/sys/pc98/conf/GENERIC projects/clang391-import/sys/powerpc/booke/pmap.c projects/clang391-import/sys/powerpc/conf/GENERIC projects/clang391-import/sys/powerpc/conf/GENERIC64 projects/clang391-import/sys/powerpc/conf/MPC85XX projects/clang391-import/sys/powerpc/conf/MPC85XXSPE projects/clang391-import/sys/sparc64/conf/GENERIC projects/clang391-import/sys/sys/counter.h projects/clang391-import/sys/sys/param.h projects/clang391-import/sys/sys/syscall.h projects/clang391-import/sys/sys/syscall.mk projects/clang391-import/sys/sys/sysproto.h projects/clang391-import/sys/sys/user.h projects/clang391-import/sys/vm/device_pager.c projects/clang391-import/sys/vm/phys_pager.c projects/clang391-import/sys/vm/vm_fault.c projects/clang391-import/sys/vm/vm_meter.c projects/clang391-import/sys/vm/vm_object.h projects/clang391-import/sys/vm/vm_page.c projects/clang391-import/sys/vm/vm_pager.h projects/clang391-import/sys/vm/vm_radix.c projects/clang391-import/sys/vm/vm_radix.h projects/clang391-import/sys/x86/iommu/intel_drv.c projects/clang391-import/sys/x86/iommu/intel_fault.c projects/clang391-import/sys/x86/iommu/intel_qi.c projects/clang391-import/sys/x86/x86/stack_machdep.c projects/clang391-import/tests/sys/kern/coredump_phnum_test.sh projects/clang391-import/tools/build/mk/OptionalObsoleteFiles.inc projects/clang391-import/tools/regression/sockets/unix_cmsg/Makefile projects/clang391-import/tools/regression/sockets/unix_cmsg/unix_cmsg.c projects/clang391-import/usr.bin/indent/indent.1 projects/clang391-import/usr.bin/locale/locale.c projects/clang391-import/usr.bin/procstat/procstat.c projects/clang391-import/usr.bin/procstat/procstat.h projects/clang391-import/usr.bin/procstat/procstat_cs.c projects/clang391-import/usr.bin/procstat/procstat_kstack.c projects/clang391-import/usr.bin/procstat/procstat_threads.c projects/clang391-import/usr.bin/systat/systat.1 projects/clang391-import/usr.bin/top/machine.c projects/clang391-import/usr.bin/truss/aarch64-cloudabi64.c projects/clang391-import/usr.bin/truss/aarch64-freebsd.c projects/clang391-import/usr.bin/truss/amd64-cloudabi64.c projects/clang391-import/usr.bin/truss/amd64-freebsd.c projects/clang391-import/usr.bin/truss/amd64-freebsd32.c projects/clang391-import/usr.bin/truss/amd64-linux.c projects/clang391-import/usr.bin/truss/amd64-linux32.c projects/clang391-import/usr.bin/truss/arm-freebsd.c projects/clang391-import/usr.bin/truss/i386-freebsd.c projects/clang391-import/usr.bin/truss/i386-linux.c projects/clang391-import/usr.bin/truss/mips-freebsd.c projects/clang391-import/usr.bin/truss/powerpc-freebsd.c projects/clang391-import/usr.bin/truss/powerpc64-freebsd.c projects/clang391-import/usr.bin/truss/powerpc64-freebsd32.c projects/clang391-import/usr.bin/truss/setup.c projects/clang391-import/usr.bin/truss/sparc64-freebsd.c projects/clang391-import/usr.bin/truss/syscall.h projects/clang391-import/usr.bin/truss/syscalls.c projects/clang391-import/usr.bin/truss/truss.h projects/clang391-import/usr.sbin/bsdinstall/scripts/wlanconfig projects/clang391-import/usr.sbin/nfsd/nfsd.c Directory Properties: projects/clang391-import/ (props changed) projects/clang391-import/cddl/ (props changed) projects/clang391-import/cddl/contrib/opensolaris/ (props changed) projects/clang391-import/contrib/elftoolchain/ (props changed) projects/clang391-import/contrib/libarchive/ (props changed) projects/clang391-import/contrib/libc-vis/ (props changed) projects/clang391-import/contrib/llvm/ (props changed) projects/clang391-import/contrib/netbsd-tests/ (props changed) projects/clang391-import/contrib/tcpdump/ (props changed) projects/clang391-import/contrib/tzdata/ (props changed) projects/clang391-import/sys/cddl/contrib/opensolaris/ (props changed) Modified: projects/clang391-import/ObsoleteFiles.inc ============================================================================== --- projects/clang391-import/ObsoleteFiles.inc Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/ObsoleteFiles.inc Fri Dec 9 20:57:43 2016 (r309768) @@ -147,6 +147,9 @@ OLD_FILES+=usr/lib/clang/3.9.0/lib/freeb OLD_DIRS+=usr/lib/clang/3.9.0/lib/freebsd OLD_DIRS+=usr/lib/clang/3.9.0/lib OLD_DIRS+=usr/lib/clang/3.9.0 +# 20161205: libproc version bump +OLD_LIBS+=usr/lib/libproc.so.3 +OLD_LIBS+=usr/lib32/libproc.so.3 # 20161127: Remove vm_page_cache(9) OLD_FILES+=usr/share/man/man9/vm_page_cache.9.gz # 20161124: new clang import which bumps version from 3.8.0 to 3.9.0. Modified: projects/clang391-import/bin/dd/dd.c ============================================================================== --- projects/clang391-import/bin/dd/dd.c Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/bin/dd/dd.c Fri Dec 9 20:57:43 2016 (r309768) @@ -47,11 +47,14 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include +#include #include +#include #include #include #include @@ -92,6 +95,10 @@ main(int argc __unused, char *argv[]) jcl(argv); setup(); + caph_cache_catpages(); + if (cap_enter() == -1 && errno != ENOSYS) + err(1, "unable to enter capability mode"); + (void)signal(SIGINFO, siginfo_handler); (void)signal(SIGINT, terminate); @@ -125,6 +132,8 @@ static void setup(void) { u_int cnt; + cap_rights_t rights; + unsigned long cmds[] = { FIODTYPE, MTIOCTOP }; if (in.name == NULL) { in.name = "stdin"; @@ -133,13 +142,20 @@ setup(void) in.fd = open(in.name, O_RDONLY, 0); if (in.fd == -1) err(1, "%s", in.name); + if (caph_limit_stdin() == -1) + err(1, "unable to limit capability rights"); } getfdtype(&in); + cap_rights_init(&rights, CAP_READ, CAP_SEEK); + if (cap_rights_limit(in.fd, &rights) == -1 && errno != ENOSYS) + err(1, "unable to limit capability rights"); + if (files_cnt > 1 && !(in.flags & ISTAPE)) errx(1, "files is not supported for non-tape devices"); + cap_rights_set(&rights, CAP_FTRUNCATE, CAP_IOCTL, CAP_WRITE); if (out.name == NULL) { /* No way to check for read access here. */ out.fd = STDOUT_FILENO; @@ -156,13 +172,27 @@ setup(void) if (out.fd == -1) { out.fd = open(out.name, O_WRONLY | OFLAGS, DEFFILEMODE); out.flags |= NOREAD; + cap_rights_clear(&rights, CAP_READ); } if (out.fd == -1) err(1, "%s", out.name); + if (caph_limit_stdout() == -1) + err(1, "unable to limit capability rights"); } getfdtype(&out); + if (cap_rights_limit(out.fd, &rights) == -1 && errno != ENOSYS) + err(1, "unable to limit capability rights"); + if (cap_ioctls_limit(out.fd, cmds, nitems(cmds)) == -1 && + errno != ENOSYS) + err(1, "unable to limit capability rights"); + + if (in.fd != STDERR_FILENO && out.fd != STDERR_FILENO) { + if (caph_limit_stderr() == -1) + err(1, "unable to limit capability rights"); + } + /* * Allocate space for the input and output buffers. If not doing * record oriented I/O, only need a single buffer. Modified: projects/clang391-import/bin/ps/print.c ============================================================================== --- projects/clang391-import/bin/ps/print.c Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/bin/ps/print.c Fri Dec 9 20:57:43 2016 (r309768) @@ -120,11 +120,12 @@ command(KINFO *k, VARENT *ve) if (cflag) { /* If it is the last field, then don't pad */ if (STAILQ_NEXT(ve, next_ve) == NULL) { - asprintf(&str, "%s%s%s%s", + asprintf(&str, "%s%s%s%s%s", k->ki_d.prefix ? k->ki_d.prefix : "", k->ki_p->ki_comm, (showthreads && k->ki_p->ki_numthreads > 1) ? "/" : "", - (showthreads && k->ki_p->ki_numthreads > 1) ? k->ki_p->ki_tdname : ""); + (showthreads && k->ki_p->ki_numthreads > 1) ? k->ki_p->ki_tdname : "", + (showthreads && k->ki_p->ki_numthreads > 1) ? k->ki_p->ki_moretdname : ""); } else str = strdup(k->ki_p->ki_comm); @@ -172,14 +173,16 @@ ucomm(KINFO *k, VARENT *ve) char *str; if (STAILQ_NEXT(ve, next_ve) == NULL) { /* last field, don't pad */ - asprintf(&str, "%s%s%s%s", + asprintf(&str, "%s%s%s%s%s", k->ki_d.prefix ? k->ki_d.prefix : "", k->ki_p->ki_comm, (showthreads && k->ki_p->ki_numthreads > 1) ? "/" : "", - (showthreads && k->ki_p->ki_numthreads > 1) ? k->ki_p->ki_tdname : ""); + (showthreads && k->ki_p->ki_numthreads > 1) ? k->ki_p->ki_tdname : "", + (showthreads && k->ki_p->ki_numthreads > 1) ? k->ki_p->ki_moretdname : ""); } else { if (showthreads && k->ki_p->ki_numthreads > 1) - asprintf(&str, "%s/%s", k->ki_p->ki_comm, k->ki_p->ki_tdname); + asprintf(&str, "%s/%s%s", k->ki_p->ki_comm, + k->ki_p->ki_tdname, k->ki_p->ki_moretdname); else str = strdup(k->ki_p->ki_comm); } @@ -192,7 +195,8 @@ tdnam(KINFO *k, VARENT *ve __unused) char *str; if (showthreads && k->ki_p->ki_numthreads > 1) - str = strdup(k->ki_p->ki_tdname); + asprintf(&str, "%s%s", k->ki_p->ki_tdname, + k->ki_p->ki_moretdname); else str = strdup(" "); Modified: projects/clang391-import/cddl/compat/opensolaris/include/libproc.h ============================================================================== --- projects/clang391-import/cddl/compat/opensolaris/include/libproc.h Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/cddl/compat/opensolaris/include/libproc.h Fri Dec 9 20:57:43 2016 (r309768) @@ -38,9 +38,6 @@ #define PR_RLC 0x0001 #define PR_KLC 0x0002 -#define PGRAB_RDONLY O_RDONLY -#define PGRAB_FORCE 0 - #include_next #endif Modified: projects/clang391-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex3.ksh ============================================================================== --- projects/clang391-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex3.ksh Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex3.ksh Fri Dec 9 20:57:43 2016 (r309768) @@ -56,7 +56,7 @@ prov.h: prov.d $dtrace -h -s prov.d prov.o: prov.d main.o - $dtrace -G -32 -s prov.d main.o + $dtrace -G -s prov.d main.o EOF cat > prov.d < /dev/null + /bin/date > /dev/null done } Modified: projects/clang391-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.mod.ksh ============================================================================== --- projects/clang391-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.mod.ksh Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.mod.ksh Fri Dec 9 20:57:43 2016 (r309768) @@ -45,7 +45,7 @@ EOF spinny() { while true; do - /usr/bin/date > /dev/null + /bin/date > /dev/null done } Modified: projects/clang391-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.sym.ksh ============================================================================== --- projects/clang391-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.sym.ksh Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.sym.ksh Fri Dec 9 20:57:43 2016 (r309768) @@ -45,7 +45,7 @@ EOF spinny() { while true; do - /usr/bin/date > /dev/null + /bin/date > /dev/null done } Modified: projects/clang391-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.c ============================================================================== --- projects/clang391-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.c Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.c Fri Dec 9 20:57:43 2016 (r309768) @@ -729,8 +729,13 @@ dt_pid_create_probes(dtrace_probedesc_t (void) snprintf(provname, sizeof (provname), "pid%d", (int)pid); if (gmatch(provname, pdp->dtpd_provider) != 0) { +#ifdef __FreeBSD__ + if ((P = dt_proc_grab(dtp, pid, 0, 1)) == NULL) +#else if ((P = dt_proc_grab(dtp, pid, PGRAB_RDONLY | PGRAB_FORCE, - 0)) == NULL) { + 0)) == NULL) +#endif + { (void) dt_pid_error(dtp, pcb, NULL, NULL, D_PROC_GRAB, "failed to grab process %d", (int)pid); return (-1); Modified: projects/clang391-import/cddl/lib/libdtrace/libproc_compat.h ============================================================================== --- projects/clang391-import/cddl/lib/libdtrace/libproc_compat.h Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/cddl/lib/libdtrace/libproc_compat.h Fri Dec 9 20:57:43 2016 (r309768) @@ -34,6 +34,9 @@ * Functions sorted alphabetically. */ #define PR_LMID_EVERY 0 +#define PGRAB_RDONLY PATTACH_RDONLY +#define PGRAB_FORCE PATTACH_FORCE + #define Psetrun(p, a1, a2) proc_continue((p)) #define Pxlookup_by_addr(p, a, n, s, sym, i) \ proc_addr2sym(p, a, n, s, sym) @@ -44,7 +47,7 @@ #define Pdelbkpt proc_bkptdel #define Pgrab_error strerror #define Plmid(p, a, l) (-1) -#define Plmid_to_map(p, l, o) proc_obj2map((p), (o)) +#define Plmid_to_map(p, l, o) proc_name2map(p, o) #define Plookup_by_addr proc_addr2sym #define Pname_to_ctf(p, obj) (ctf_file_t *)proc_name2ctf(p, obj) #define Pname_to_map proc_name2map Modified: projects/clang391-import/cddl/usr.sbin/dtrace/tests/tools/dtest.sh ============================================================================== --- projects/clang391-import/cddl/usr.sbin/dtrace/tests/tools/dtest.sh Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/cddl/usr.sbin/dtrace/tests/tools/dtest.sh Fri Dec 9 20:57:43 2016 (r309768) @@ -70,7 +70,7 @@ runtest() err.*.ksh|tst.*.ksh) expr "$TFILE" : 'err.*' >/dev/null && exstatus=1 - ksh "$TFILE" /usr/sbin/dtrace >$STDOUT 2>$STDERR + tst=$TFILE ksh "$TFILE" /usr/sbin/dtrace >$STDOUT 2>$STDERR status=$? if [ $status -ne $exstatus ]; then Modified: projects/clang391-import/cddl/usr.sbin/dtrace/tests/tools/exclude.sh ============================================================================== --- projects/clang391-import/cddl/usr.sbin/dtrace/tests/tools/exclude.sh Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/cddl/usr.sbin/dtrace/tests/tools/exclude.sh Fri Dec 9 20:57:43 2016 (r309768) @@ -128,9 +128,6 @@ exclude EXFAIL common/ip/tst.ipv4remotei exclude EXFAIL common/ip/tst.localtcpstate.ksh exclude EXFAIL common/ip/tst.remotetcpstate.ksh -# Depends on the number of probes in /bin/sh and the current DOF limit. -exclude EXFAIL common/pid/err.D_PROC_CREATEFAIL.many.d - # Tries to enable pid$target:libc::entry, though there's no "libc" module. # Currently unsure as to whether this might be a libproc bug. exclude EXFAIL common/pid/tst.probemod.ksh Modified: projects/clang391-import/contrib/elftoolchain/readelf/readelf.c ============================================================================== --- projects/clang391-import/contrib/elftoolchain/readelf/readelf.c Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/elftoolchain/readelf/readelf.c Fri Dec 9 20:57:43 2016 (r309768) @@ -2112,7 +2112,7 @@ dwarf_reg(unsigned int mach, unsigned in static void dump_ehdr(struct readelf *re) { - size_t shnum, shstrndx; + size_t phnum, shnum, shstrndx; int i; printf("ELF Header:\n"); @@ -2174,7 +2174,13 @@ dump_ehdr(struct readelf *re) re->ehdr.e_phentsize); /* e_phnum. */ - printf("%-37s%u\n", " Number of program headers:", re->ehdr.e_phnum); + printf("%-37s%u", " Number of program headers:", re->ehdr.e_phnum); + if (re->ehdr.e_phnum == PN_XNUM) { + /* Extended program header numbering is in use. */ + if (elf_getphnum(re->elf, &phnum)) + printf(" (%zu)", phnum); + } + putchar('\n'); /* e_shentsize. */ printf("%-37s%u (bytes)\n", " Size of section headers:", @@ -6551,13 +6557,14 @@ load_sections(struct readelf *re) } if ((name = elf_strptr(re->elf, shstrndx, sh.sh_name)) == NULL) { (void) elf_errno(); - name = "ERROR"; + name = ""; } if ((ndx = elf_ndxscn(scn)) == SHN_UNDEF) { - if ((elferr = elf_errno()) != 0) + if ((elferr = elf_errno()) != 0) { warnx("elf_ndxscn failed: %s", elf_errmsg(elferr)); - continue; + continue; + } } if (ndx >= re->shnum) { warnx("section index of '%s' out of range", name); Modified: projects/clang391-import/contrib/jemalloc/ChangeLog ============================================================================== --- projects/clang391-import/contrib/jemalloc/ChangeLog Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/ChangeLog Fri Dec 9 20:57:43 2016 (r309768) @@ -4,6 +4,33 @@ brevity. Much more detail can be found https://github.com/jemalloc/jemalloc +* 4.4.0 (December 3, 2016) + + New features: + - Add configure support for *-*-linux-android. (@cferris1000, @jasone) + - Add the --disable-syscall configure option, for use on systems that place + security-motivated limitations on syscall(2). (@jasone) + - Add support for Debian GNU/kFreeBSD. (@thesam) + + Optimizations: + - Add extent serial numbers and use them where appropriate as a sort key that + is higher priority than address, so that the allocation policy prefers older + extents. This tends to improve locality (decrease fragmentation) when + memory grows downward. (@jasone) + - Refactor madvise(2) configuration so that MADV_FREE is detected and utilized + on Linux 4.5 and newer. (@jasone) + - Mark partially purged arena chunks as non-huge-page. This improves + interaction with Linux's transparent huge page functionality. (@jasone) + + Bug fixes: + - Fix size class computations for edge conditions involving extremely large + allocations. This regression was first released in 4.0.0. (@jasone, + @ingvarha) + - Remove overly restrictive assertions related to the cactive statistic. This + regression was first released in 4.1.0. (@jasone) + - Implement a more reliable detection scheme for os_unfair_lock on macOS. + (@jszakmeister) + * 4.3.1 (November 7, 2016) Bug fixes: Modified: projects/clang391-import/contrib/jemalloc/FREEBSD-diffs ============================================================================== --- projects/clang391-import/contrib/jemalloc/FREEBSD-diffs Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/FREEBSD-diffs Fri Dec 9 20:57:43 2016 (r309768) @@ -1,5 +1,5 @@ diff --git a/doc/jemalloc.xml.in b/doc/jemalloc.xml.in -index 3d2e721..b361db2 100644 +index d9c8345..9898c3c 100644 --- a/doc/jemalloc.xml.in +++ b/doc/jemalloc.xml.in @@ -53,11 +53,23 @@ @@ -47,10 +47,10 @@ index 3d2e721..b361db2 100644 + diff --git a/include/jemalloc/internal/arena.h b/include/jemalloc/internal/arena.h -index f39ce54..a3ba55d 100644 +index ce4e602..35360b6 100644 --- a/include/jemalloc/internal/arena.h +++ b/include/jemalloc/internal/arena.h -@@ -719,8 +719,13 @@ arena_miscelm_get_mutable(arena_chunk_t *chunk, size_t pageind) +@@ -730,8 +730,13 @@ arena_miscelm_get_mutable(arena_chunk_t *chunk, size_t pageind) JEMALLOC_ALWAYS_INLINE const arena_chunk_map_misc_t * arena_miscelm_get_const(const arena_chunk_t *chunk, size_t pageind) { @@ -64,7 +64,7 @@ index f39ce54..a3ba55d 100644 } JEMALLOC_ALWAYS_INLINE size_t -@@ -779,8 +784,13 @@ arena_mapbitsp_get_mutable(arena_chunk_t *chunk, size_t pageind) +@@ -790,8 +795,13 @@ arena_mapbitsp_get_mutable(arena_chunk_t *chunk, size_t pageind) JEMALLOC_ALWAYS_INLINE const size_t * arena_mapbitsp_get_const(const arena_chunk_t *chunk, size_t pageind) { @@ -79,7 +79,7 @@ index f39ce54..a3ba55d 100644 JEMALLOC_ALWAYS_INLINE size_t diff --git a/include/jemalloc/internal/jemalloc_internal.h.in b/include/jemalloc/internal/jemalloc_internal.h.in -index fdc8fef..56a35a4 100644 +index e7ace7d..d86c61d 100644 --- a/include/jemalloc/internal/jemalloc_internal.h.in +++ b/include/jemalloc/internal/jemalloc_internal.h.in @@ -8,6 +8,9 @@ @@ -144,10 +144,10 @@ index b442d2d..76518db 100644 #endif /* JEMALLOC_H_EXTERNS */ diff --git a/include/jemalloc/internal/private_symbols.txt b/include/jemalloc/internal/private_symbols.txt -index 87c8c9b..df576f6 100644 +index c1c6c40..c6395fd 100644 --- a/include/jemalloc/internal/private_symbols.txt +++ b/include/jemalloc/internal/private_symbols.txt -@@ -307,7 +307,6 @@ iralloct_realign +@@ -310,7 +310,6 @@ iralloct_realign isalloc isdalloct isqalloc @@ -335,7 +335,7 @@ index f943891..47d032c 100755 +#include "jemalloc_FreeBSD.h" EOF diff --git a/src/jemalloc.c b/src/jemalloc.c -index 38650ff..f659b55 100644 +index baead66..8a49f26 100644 --- a/src/jemalloc.c +++ b/src/jemalloc.c @@ -4,6 +4,10 @@ @@ -349,7 +349,7 @@ index 38650ff..f659b55 100644 /* Runtime configuration options. */ const char *je_malloc_conf #ifndef _WIN32 -@@ -2756,6 +2760,107 @@ je_malloc_usable_size(JEMALLOC_USABLE_SIZE_CONST void *ptr) +@@ -2775,6 +2779,107 @@ je_malloc_usable_size(JEMALLOC_USABLE_SIZE_CONST void *ptr) */ /******************************************************************************/ /* @@ -457,7 +457,7 @@ index 38650ff..f659b55 100644 * The following functions are used by threading libraries for protection of * malloc during fork(). */ -@@ -2894,4 +2999,11 @@ jemalloc_postfork_child(void) +@@ -2913,4 +3018,11 @@ jemalloc_postfork_child(void) ctl_postfork_child(tsd_tsdn(tsd)); } @@ -516,7 +516,7 @@ index 6333e73..13f8d79 100644 +#endif +} diff --git a/src/util.c b/src/util.c -index 7905267..bee1c77 100644 +index dd8c236..a4ff287 100755 --- a/src/util.c +++ b/src/util.c @@ -67,6 +67,22 @@ wrtmessage(void *cbopaque, const char *s) Modified: projects/clang391-import/contrib/jemalloc/VERSION ============================================================================== --- projects/clang391-import/contrib/jemalloc/VERSION Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/VERSION Fri Dec 9 20:57:43 2016 (r309768) @@ -1 +1 @@ -4.3.1-0-g0110fa8451af905affd77c3bea0d545fee2251b2 +4.4.0-0-gf1f76357313e7dcad7262f17a48ff0a2e005fcdc Modified: projects/clang391-import/contrib/jemalloc/doc/jemalloc.3 ============================================================================== --- projects/clang391-import/contrib/jemalloc/doc/jemalloc.3 Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/doc/jemalloc.3 Fri Dec 9 20:57:43 2016 (r309768) @@ -2,12 +2,12 @@ .\" Title: JEMALLOC .\" Author: Jason Evans .\" Generator: DocBook XSL Stylesheets v1.76.1 -.\" Date: 11/08/2016 +.\" Date: 12/04/2016 .\" Manual: User Manual -.\" Source: jemalloc 4.3.1-0-g0110fa8451af905affd77c3bea0d545fee2251b2 +.\" Source: jemalloc 4.4.0-0-gf1f76357313e7dcad7262f17a48ff0a2e005fcdc .\" Language: English .\" -.TH "JEMALLOC" "3" "11/08/2016" "jemalloc 4.3.1-0-g0110fa8451af" "User Manual" +.TH "JEMALLOC" "3" "12/04/2016" "jemalloc 4.4.0-0-gf1f76357313e" "User Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ jemalloc \- general purpose memory allocation functions .SH "LIBRARY" .PP -This manual describes jemalloc 4\&.3\&.1\-0\-g0110fa8451af905affd77c3bea0d545fee2251b2\&. More information can be found at the +This manual describes jemalloc 4\&.4\&.0\-0\-gf1f76357313e7dcad7262f17a48ff0a2e005fcdc\&. More information can be found at the \m[blue]\fBjemalloc website\fR\m[]\&\s-2\u[1]\d\s+2\&. .PP The following configuration options are enabled in libc\*(Aqs built\-in jemalloc: @@ -365,7 +365,7 @@ for (i = 0; i < nbins; i++) { mib[2] = i; len = sizeof(bin_size); - mallctlbymib(mib, miblen, &bin_size, &len, NULL, 0); + mallctlbymib(mib, miblen, (void *)&bin_size, &len, NULL, 0); /* Do something with bin_size\&.\&.\&. */ } .fi Modified: projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/arena.h ============================================================================== --- projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/arena.h Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/arena.h Fri Dec 9 20:57:43 2016 (r309768) @@ -191,6 +191,14 @@ struct arena_chunk_s { extent_node_t node; /* + * True if memory could be backed by transparent huge pages. This is + * only directly relevant to Linux, since it is the only supported + * platform on which jemalloc interacts with explicit transparent huge + * page controls. + */ + bool hugepage; + + /* * Map of pages within chunk that keeps track of free/large/small. The * first map_bias entries are omitted, since the chunk header does not * need to be tracked in the map. This omission saves a header page @@ -374,10 +382,12 @@ struct arena_s { dss_prec_t dss_prec; - /* Extant arena chunks. */ ql_head(extent_node_t) achunks; + /* Extent serial number generator state. */ + size_t extent_sn_next; + /* * In order to avoid rapid chunk allocation/deallocation when an arena * oscillates right on the cusp of needing a new chunk, cache the most @@ -453,9 +463,9 @@ struct arena_s { * orderings are needed, which is why there are two trees with the same * contents. */ - extent_tree_t chunks_szad_cached; + extent_tree_t chunks_szsnad_cached; extent_tree_t chunks_ad_cached; - extent_tree_t chunks_szad_retained; + extent_tree_t chunks_szsnad_retained; extent_tree_t chunks_ad_retained; malloc_mutex_t chunks_mtx; @@ -522,13 +532,13 @@ void arena_chunk_cache_maybe_remove(aren extent_node_t *arena_node_alloc(tsdn_t *tsdn, arena_t *arena); void arena_node_dalloc(tsdn_t *tsdn, arena_t *arena, extent_node_t *node); void *arena_chunk_alloc_huge(tsdn_t *tsdn, arena_t *arena, size_t usize, - size_t alignment, bool *zero); + size_t alignment, size_t *sn, bool *zero); void arena_chunk_dalloc_huge(tsdn_t *tsdn, arena_t *arena, void *chunk, - size_t usize); + size_t usize, size_t sn); void arena_chunk_ralloc_huge_similar(tsdn_t *tsdn, arena_t *arena, void *chunk, size_t oldsize, size_t usize); void arena_chunk_ralloc_huge_shrink(tsdn_t *tsdn, arena_t *arena, - void *chunk, size_t oldsize, size_t usize); + void *chunk, size_t oldsize, size_t usize, size_t sn); bool arena_chunk_ralloc_huge_expand(tsdn_t *tsdn, arena_t *arena, void *chunk, size_t oldsize, size_t usize, bool *zero); ssize_t arena_lg_dirty_mult_get(tsdn_t *tsdn, arena_t *arena); @@ -601,6 +611,7 @@ void arena_stats_merge(tsdn_t *tsdn, are unsigned arena_nthreads_get(arena_t *arena, bool internal); void arena_nthreads_inc(arena_t *arena, bool internal); void arena_nthreads_dec(arena_t *arena, bool internal); +size_t arena_extent_sn_next(arena_t *arena); arena_t *arena_new(tsdn_t *tsdn, unsigned ind); void arena_boot(void); void arena_prefork0(tsdn_t *tsdn, arena_t *arena); Modified: projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/chunk.h ============================================================================== --- projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/chunk.h Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/chunk.h Fri Dec 9 20:57:43 2016 (r309768) @@ -58,15 +58,16 @@ void chunk_deregister(const void *chunk, void *chunk_alloc_base(size_t size); void *chunk_alloc_cache(tsdn_t *tsdn, arena_t *arena, chunk_hooks_t *chunk_hooks, void *new_addr, size_t size, size_t alignment, - bool *zero, bool *commit, bool dalloc_node); + size_t *sn, bool *zero, bool *commit, bool dalloc_node); void *chunk_alloc_wrapper(tsdn_t *tsdn, arena_t *arena, chunk_hooks_t *chunk_hooks, void *new_addr, size_t size, size_t alignment, - bool *zero, bool *commit); + size_t *sn, bool *zero, bool *commit); void chunk_dalloc_cache(tsdn_t *tsdn, arena_t *arena, - chunk_hooks_t *chunk_hooks, void *chunk, size_t size, bool committed); -void chunk_dalloc_wrapper(tsdn_t *tsdn, arena_t *arena, - chunk_hooks_t *chunk_hooks, void *chunk, size_t size, bool zeroed, + chunk_hooks_t *chunk_hooks, void *chunk, size_t size, size_t sn, bool committed); +void chunk_dalloc_wrapper(tsdn_t *tsdn, arena_t *arena, + chunk_hooks_t *chunk_hooks, void *chunk, size_t size, size_t sn, + bool zeroed, bool committed); bool chunk_purge_wrapper(tsdn_t *tsdn, arena_t *arena, chunk_hooks_t *chunk_hooks, void *chunk, size_t size, size_t offset, size_t length); Modified: projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/extent.h ============================================================================== --- projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/extent.h Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/extent.h Fri Dec 9 20:57:43 2016 (r309768) @@ -19,6 +19,20 @@ struct extent_node_s { size_t en_size; /* + * Serial number (potentially non-unique). + * + * In principle serial numbers can wrap around on 32-bit systems if + * JEMALLOC_MUNMAP is defined, but as long as comparison functions fall + * back on address comparison for equal serial numbers, stable (if + * imperfect) ordering is maintained. + * + * Serial numbers may not be unique even in the absence of wrap-around, + * e.g. when splitting an extent and assigning the same serial number to + * both resulting adjacent extents. + */ + size_t en_sn; + + /* * The zeroed flag is used by chunk recycling code to track whether * memory is zero-filled. */ @@ -45,8 +59,8 @@ struct extent_node_s { qr(extent_node_t) cc_link; union { - /* Linkage for the size/address-ordered tree. */ - rb_node(extent_node_t) szad_link; + /* Linkage for the size/sn/address-ordered tree. */ + rb_node(extent_node_t) szsnad_link; /* Linkage for arena's achunks, huge, and node_cache lists. */ ql_elm(extent_node_t) ql_link; @@ -61,7 +75,7 @@ typedef rb_tree(extent_node_t) extent_tr /******************************************************************************/ #ifdef JEMALLOC_H_EXTERNS -rb_proto(, extent_tree_szad_, extent_tree_t, extent_node_t) +rb_proto(, extent_tree_szsnad_, extent_tree_t, extent_node_t) rb_proto(, extent_tree_ad_, extent_tree_t, extent_node_t) @@ -73,6 +87,7 @@ rb_proto(, extent_tree_ad_, extent_tree_ arena_t *extent_node_arena_get(const extent_node_t *node); void *extent_node_addr_get(const extent_node_t *node); size_t extent_node_size_get(const extent_node_t *node); +size_t extent_node_sn_get(const extent_node_t *node); bool extent_node_zeroed_get(const extent_node_t *node); bool extent_node_committed_get(const extent_node_t *node); bool extent_node_achunk_get(const extent_node_t *node); @@ -80,12 +95,13 @@ prof_tctx_t *extent_node_prof_tctx_get(c void extent_node_arena_set(extent_node_t *node, arena_t *arena); void extent_node_addr_set(extent_node_t *node, void *addr); void extent_node_size_set(extent_node_t *node, size_t size); +void extent_node_sn_set(extent_node_t *node, size_t sn); void extent_node_zeroed_set(extent_node_t *node, bool zeroed); void extent_node_committed_set(extent_node_t *node, bool committed); void extent_node_achunk_set(extent_node_t *node, bool achunk); void extent_node_prof_tctx_set(extent_node_t *node, prof_tctx_t *tctx); void extent_node_init(extent_node_t *node, arena_t *arena, void *addr, - size_t size, bool zeroed, bool committed); + size_t size, size_t sn, bool zeroed, bool committed); void extent_node_dirty_linkage_init(extent_node_t *node); void extent_node_dirty_insert(extent_node_t *node, arena_runs_dirty_link_t *runs_dirty, extent_node_t *chunks_dirty); @@ -114,6 +130,13 @@ extent_node_size_get(const extent_node_t return (node->en_size); } +JEMALLOC_INLINE size_t +extent_node_sn_get(const extent_node_t *node) +{ + + return (node->en_sn); +} + JEMALLOC_INLINE bool extent_node_zeroed_get(const extent_node_t *node) { @@ -165,6 +188,13 @@ extent_node_size_set(extent_node_t *node } JEMALLOC_INLINE void +extent_node_sn_set(extent_node_t *node, size_t sn) +{ + + node->en_sn = sn; +} + +JEMALLOC_INLINE void extent_node_zeroed_set(extent_node_t *node, bool zeroed) { @@ -194,12 +224,13 @@ extent_node_prof_tctx_set(extent_node_t JEMALLOC_INLINE void extent_node_init(extent_node_t *node, arena_t *arena, void *addr, size_t size, - bool zeroed, bool committed) + size_t sn, bool zeroed, bool committed) { extent_node_arena_set(node, arena); extent_node_addr_set(node, addr); extent_node_size_set(node, size); + extent_node_sn_set(node, sn); extent_node_zeroed_set(node, zeroed); extent_node_committed_set(node, committed); extent_node_achunk_set(node, false); Modified: projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal.h ============================================================================== --- projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal.h Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal.h Fri Dec 9 20:57:43 2016 (r309768) @@ -334,7 +334,7 @@ typedef unsigned szind_t; /* Return the nearest aligned address at or below a. */ #define ALIGNMENT_ADDR2BASE(a, alignment) \ - ((void *)((uintptr_t)(a) & (-(alignment)))) + ((void *)((uintptr_t)(a) & ((~(alignment)) + 1))) /* Return the offset between a and the nearest aligned address at or below a. */ #define ALIGNMENT_ADDR2OFFSET(a, alignment) \ @@ -342,7 +342,7 @@ typedef unsigned szind_t; /* Return the smallest alignment multiple that is >= s. */ #define ALIGNMENT_CEILING(s, alignment) \ - (((s) + (alignment - 1)) & (-(alignment))) + (((s) + (alignment - 1)) & ((~(alignment)) + 1)) /* Declare a variable-length array. */ #if __STDC_VERSION__ < 199901L Modified: projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h ============================================================================== --- projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h Fri Dec 9 20:57:43 2016 (r309768) @@ -57,11 +57,6 @@ #define JEMALLOC_HAVE_BUILTIN_CLZ /* - * Defined if madvise(2) is available. - */ -#define JEMALLOC_HAVE_MADVISE - -/* * Defined if os_unfair_lock_*() functions are available, as provided by Darwin. */ /* #undef JEMALLOC_OS_UNFAIR_LOCK */ @@ -72,8 +67,8 @@ */ /* #undef JEMALLOC_OSSPIN */ -/* Defined if syscall(2) is available. */ -#define JEMALLOC_HAVE_SYSCALL +/* Defined if syscall(2) is usable. */ +#define JEMALLOC_USE_SYSCALL /* * Defined if secure_getenv(3) is available. @@ -85,6 +80,9 @@ */ #define JEMALLOC_HAVE_ISSETUGID +/* Defined if pthread_atfork(3) is available. */ +#define JEMALLOC_HAVE_PTHREAD_ATFORK + /* * Defined if clock_gettime(CLOCK_MONOTONIC_COARSE, ...) is available. */ @@ -253,18 +251,26 @@ #define JEMALLOC_SYSCTL_VM_OVERCOMMIT /* #undef JEMALLOC_PROC_SYS_VM_OVERCOMMIT_MEMORY */ +/* Defined if madvise(2) is available. */ +#define JEMALLOC_HAVE_MADVISE + /* * Methods for purging unused pages differ between operating systems. * - * madvise(..., MADV_DONTNEED) : On Linux, this immediately discards pages, - * such that new pages will be demand-zeroed if - * the address region is later touched. - * madvise(..., MADV_FREE) : On FreeBSD and Darwin, this marks pages as being - * unused, such that they will be discarded rather - * than swapped out. + * madvise(..., MADV_FREE) : This marks pages as being unused, such that they + * will be discarded rather than swapped out. + * madvise(..., MADV_DONTNEED) : This immediately discards pages, such that + * new pages will be demand-zeroed if the + * address region is later touched. */ -/* #undef JEMALLOC_PURGE_MADVISE_DONTNEED */ #define JEMALLOC_PURGE_MADVISE_FREE +#define JEMALLOC_PURGE_MADVISE_DONTNEED + +/* + * Defined if transparent huge pages are supported via the MADV_[NO]HUGEPAGE + * arguments to madvise(2). + */ +/* #undef JEMALLOC_THP */ /* Define if operating system has alloca.h header. */ /* #undef JEMALLOC_HAS_ALLOCA_H */ Modified: projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/pages.h ============================================================================== --- projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/pages.h Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/pages.h Fri Dec 9 20:57:43 2016 (r309768) @@ -16,6 +16,8 @@ void *pages_trim(void *addr, size_t allo bool pages_commit(void *addr, size_t size); bool pages_decommit(void *addr, size_t size); bool pages_purge(void *addr, size_t size); +bool pages_huge(void *addr, size_t size); +bool pages_nohuge(void *addr, size_t size); void pages_boot(void); #endif /* JEMALLOC_H_EXTERNS */ Modified: projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/private_namespace.h ============================================================================== --- projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/private_namespace.h Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/private_namespace.h Fri Dec 9 20:57:43 2016 (r309768) @@ -36,6 +36,7 @@ #define arena_decay_time_set JEMALLOC_N(arena_decay_time_set) #define arena_dss_prec_get JEMALLOC_N(arena_dss_prec_get) #define arena_dss_prec_set JEMALLOC_N(arena_dss_prec_set) +#define arena_extent_sn_next JEMALLOC_N(arena_extent_sn_next) #define arena_get JEMALLOC_N(arena_get) #define arena_ichoose JEMALLOC_N(arena_ichoose) #define arena_init JEMALLOC_N(arena_init) @@ -218,6 +219,8 @@ #define extent_node_prof_tctx_set JEMALLOC_N(extent_node_prof_tctx_set) #define extent_node_size_get JEMALLOC_N(extent_node_size_get) #define extent_node_size_set JEMALLOC_N(extent_node_size_set) +#define extent_node_sn_get JEMALLOC_N(extent_node_sn_get) +#define extent_node_sn_set JEMALLOC_N(extent_node_sn_set) #define extent_node_zeroed_get JEMALLOC_N(extent_node_zeroed_get) #define extent_node_zeroed_set JEMALLOC_N(extent_node_zeroed_set) #define extent_tree_ad_destroy JEMALLOC_N(extent_tree_ad_destroy) @@ -239,25 +242,25 @@ #define extent_tree_ad_reverse_iter_recurse JEMALLOC_N(extent_tree_ad_reverse_iter_recurse) #define extent_tree_ad_reverse_iter_start JEMALLOC_N(extent_tree_ad_reverse_iter_start) #define extent_tree_ad_search JEMALLOC_N(extent_tree_ad_search) -#define extent_tree_szad_destroy JEMALLOC_N(extent_tree_szad_destroy) -#define extent_tree_szad_destroy_recurse JEMALLOC_N(extent_tree_szad_destroy_recurse) -#define extent_tree_szad_empty JEMALLOC_N(extent_tree_szad_empty) -#define extent_tree_szad_first JEMALLOC_N(extent_tree_szad_first) -#define extent_tree_szad_insert JEMALLOC_N(extent_tree_szad_insert) -#define extent_tree_szad_iter JEMALLOC_N(extent_tree_szad_iter) -#define extent_tree_szad_iter_recurse JEMALLOC_N(extent_tree_szad_iter_recurse) -#define extent_tree_szad_iter_start JEMALLOC_N(extent_tree_szad_iter_start) -#define extent_tree_szad_last JEMALLOC_N(extent_tree_szad_last) -#define extent_tree_szad_new JEMALLOC_N(extent_tree_szad_new) -#define extent_tree_szad_next JEMALLOC_N(extent_tree_szad_next) -#define extent_tree_szad_nsearch JEMALLOC_N(extent_tree_szad_nsearch) -#define extent_tree_szad_prev JEMALLOC_N(extent_tree_szad_prev) -#define extent_tree_szad_psearch JEMALLOC_N(extent_tree_szad_psearch) -#define extent_tree_szad_remove JEMALLOC_N(extent_tree_szad_remove) -#define extent_tree_szad_reverse_iter JEMALLOC_N(extent_tree_szad_reverse_iter) -#define extent_tree_szad_reverse_iter_recurse JEMALLOC_N(extent_tree_szad_reverse_iter_recurse) -#define extent_tree_szad_reverse_iter_start JEMALLOC_N(extent_tree_szad_reverse_iter_start) -#define extent_tree_szad_search JEMALLOC_N(extent_tree_szad_search) +#define extent_tree_szsnad_destroy JEMALLOC_N(extent_tree_szsnad_destroy) +#define extent_tree_szsnad_destroy_recurse JEMALLOC_N(extent_tree_szsnad_destroy_recurse) +#define extent_tree_szsnad_empty JEMALLOC_N(extent_tree_szsnad_empty) +#define extent_tree_szsnad_first JEMALLOC_N(extent_tree_szsnad_first) +#define extent_tree_szsnad_insert JEMALLOC_N(extent_tree_szsnad_insert) +#define extent_tree_szsnad_iter JEMALLOC_N(extent_tree_szsnad_iter) +#define extent_tree_szsnad_iter_recurse JEMALLOC_N(extent_tree_szsnad_iter_recurse) +#define extent_tree_szsnad_iter_start JEMALLOC_N(extent_tree_szsnad_iter_start) +#define extent_tree_szsnad_last JEMALLOC_N(extent_tree_szsnad_last) +#define extent_tree_szsnad_new JEMALLOC_N(extent_tree_szsnad_new) +#define extent_tree_szsnad_next JEMALLOC_N(extent_tree_szsnad_next) +#define extent_tree_szsnad_nsearch JEMALLOC_N(extent_tree_szsnad_nsearch) +#define extent_tree_szsnad_prev JEMALLOC_N(extent_tree_szsnad_prev) +#define extent_tree_szsnad_psearch JEMALLOC_N(extent_tree_szsnad_psearch) +#define extent_tree_szsnad_remove JEMALLOC_N(extent_tree_szsnad_remove) +#define extent_tree_szsnad_reverse_iter JEMALLOC_N(extent_tree_szsnad_reverse_iter) +#define extent_tree_szsnad_reverse_iter_recurse JEMALLOC_N(extent_tree_szsnad_reverse_iter_recurse) +#define extent_tree_szsnad_reverse_iter_start JEMALLOC_N(extent_tree_szsnad_reverse_iter_start) +#define extent_tree_szsnad_search JEMALLOC_N(extent_tree_szsnad_search) #define ffs_llu JEMALLOC_N(ffs_llu) #define ffs_lu JEMALLOC_N(ffs_lu) #define ffs_u JEMALLOC_N(ffs_u) @@ -393,7 +396,9 @@ #define pages_boot JEMALLOC_N(pages_boot) #define pages_commit JEMALLOC_N(pages_commit) #define pages_decommit JEMALLOC_N(pages_decommit) +#define pages_huge JEMALLOC_N(pages_huge) #define pages_map JEMALLOC_N(pages_map) +#define pages_nohuge JEMALLOC_N(pages_nohuge) #define pages_purge JEMALLOC_N(pages_purge) #define pages_trim JEMALLOC_N(pages_trim) #define pages_unmap JEMALLOC_N(pages_unmap) Modified: projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/stats.h ============================================================================== --- projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/stats.h Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/stats.h Fri Dec 9 20:57:43 2016 (r309768) @@ -175,25 +175,21 @@ stats_cactive_get(void) JEMALLOC_INLINE void stats_cactive_add(size_t size) { - UNUSED size_t cactive; assert(size > 0); assert((size & chunksize_mask) == 0); - cactive = atomic_add_z(&stats_cactive, size); - assert(cactive - size < cactive); + atomic_add_z(&stats_cactive, size); } JEMALLOC_INLINE void stats_cactive_sub(size_t size) { - UNUSED size_t cactive; assert(size > 0); assert((size & chunksize_mask) == 0); - cactive = atomic_sub_z(&stats_cactive, size); - assert(cactive + size > cactive); + atomic_sub_z(&stats_cactive, size); } #endif Modified: projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/util.h ============================================================================== --- projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/util.h Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/util.h Fri Dec 9 20:57:43 2016 (r309768) @@ -41,8 +41,12 @@ #define MALLOC_PRINTF_BUFSIZE 4096 /* Junk fill patterns. */ -#define JEMALLOC_ALLOC_JUNK ((uint8_t)0xa5) -#define JEMALLOC_FREE_JUNK ((uint8_t)0x5a) +#ifndef JEMALLOC_ALLOC_JUNK +# define JEMALLOC_ALLOC_JUNK ((uint8_t)0xa5) +#endif +#ifndef JEMALLOC_FREE_JUNK +# define JEMALLOC_FREE_JUNK ((uint8_t)0x5a) +#endif /* * Wrap a cpp argument that contains commas such that it isn't broken up into Modified: projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/valgrind.h ============================================================================== --- projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/valgrind.h Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/include/jemalloc/internal/valgrind.h Fri Dec 9 20:57:43 2016 (r309768) @@ -36,13 +36,25 @@ zero); \ } \ } while (0) -#define JEMALLOC_VALGRIND_REALLOC(maybe_moved, tsdn, ptr, usize, \ - ptr_maybe_null, old_ptr, old_usize, old_rzsize, old_ptr_maybe_null, \ - zero) do { \ +#define JEMALLOC_VALGRIND_REALLOC_MOVED_no(ptr, old_ptr) \ + (false) +#define JEMALLOC_VALGRIND_REALLOC_MOVED_maybe(ptr, old_ptr) \ + ((ptr) != (old_ptr)) +#define JEMALLOC_VALGRIND_REALLOC_PTR_NULL_no(ptr) \ + (false) +#define JEMALLOC_VALGRIND_REALLOC_PTR_NULL_maybe(ptr) \ + (ptr == NULL) +#define JEMALLOC_VALGRIND_REALLOC_OLD_PTR_NULL_no(old_ptr) \ + (false) +#define JEMALLOC_VALGRIND_REALLOC_OLD_PTR_NULL_maybe(old_ptr) \ + (old_ptr == NULL) +#define JEMALLOC_VALGRIND_REALLOC(moved, tsdn, ptr, usize, ptr_null, \ + old_ptr, old_usize, old_rzsize, old_ptr_null, zero) do { \ if (unlikely(in_valgrind)) { \ size_t rzsize = p2rz(tsdn, ptr); \ \ - if (!maybe_moved || ptr == old_ptr) { \ + if (!JEMALLOC_VALGRIND_REALLOC_MOVED_##moved(ptr, \ + old_ptr)) { \ VALGRIND_RESIZEINPLACE_BLOCK(ptr, old_usize, \ usize, rzsize); \ if (zero && old_usize < usize) { \ @@ -51,11 +63,13 @@ old_usize), usize - old_usize); \ } \ } else { \ - if (!old_ptr_maybe_null || old_ptr != NULL) { \ + if (!JEMALLOC_VALGRIND_REALLOC_OLD_PTR_NULL_## \ + old_ptr_null(old_ptr)) { \ valgrind_freelike_block(old_ptr, \ old_rzsize); \ } \ - if (!ptr_maybe_null || ptr != NULL) { \ + if (!JEMALLOC_VALGRIND_REALLOC_PTR_NULL_## \ + ptr_null(ptr)) { \ size_t copy_size = (old_usize < usize) \ ? old_usize : usize; \ size_t tail_size = usize - copy_size; \ Modified: projects/clang391-import/contrib/jemalloc/include/jemalloc/jemalloc.h ============================================================================== --- projects/clang391-import/contrib/jemalloc/include/jemalloc/jemalloc.h Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/include/jemalloc/jemalloc.h Fri Dec 9 20:57:43 2016 (r309768) @@ -87,12 +87,12 @@ extern "C" { #include #include -#define JEMALLOC_VERSION "4.3.1-0-g0110fa8451af905affd77c3bea0d545fee2251b2" +#define JEMALLOC_VERSION "4.4.0-0-gf1f76357313e7dcad7262f17a48ff0a2e005fcdc" #define JEMALLOC_VERSION_MAJOR 4 -#define JEMALLOC_VERSION_MINOR 3 -#define JEMALLOC_VERSION_BUGFIX 1 +#define JEMALLOC_VERSION_MINOR 4 +#define JEMALLOC_VERSION_BUGFIX 0 #define JEMALLOC_VERSION_NREV 0 -#define JEMALLOC_VERSION_GID "0110fa8451af905affd77c3bea0d545fee2251b2" +#define JEMALLOC_VERSION_GID "f1f76357313e7dcad7262f17a48ff0a2e005fcdc" # define MALLOCX_LG_ALIGN(la) ((int)(la)) # if LG_SIZEOF_PTR == 2 Modified: projects/clang391-import/contrib/jemalloc/src/arena.c ============================================================================== --- projects/clang391-import/contrib/jemalloc/src/arena.c Fri Dec 9 20:52:48 2016 (r309767) +++ projects/clang391-import/contrib/jemalloc/src/arena.c Fri Dec 9 20:57:43 2016 (r309768) @@ -38,8 +38,8 @@ static void arena_run_dalloc(tsdn_t *tsd bool dirty, bool cleaned, bool decommitted); static void arena_dalloc_bin_run(tsdn_t *tsdn, arena_t *arena, arena_chunk_t *chunk, arena_run_t *run, arena_bin_t *bin); -static void arena_bin_lower_run(arena_t *arena, arena_chunk_t *chunk, - arena_run_t *run, arena_bin_t *bin); +static void arena_bin_lower_run(arena_t *arena, arena_run_t *run, + arena_bin_t *bin); /******************************************************************************/ @@ -55,8 +55,31 @@ arena_miscelm_size_get(const arena_chunk return (arena_mapbits_size_decode(mapbits)); } +JEMALLOC_INLINE_C const extent_node_t * +arena_miscelm_extent_get(const arena_chunk_map_misc_t *miscelm) +{ + arena_chunk_t *chunk; + + chunk = (arena_chunk_t *)CHUNK_ADDR2BASE(miscelm); + return (&chunk->node); +} + +JEMALLOC_INLINE_C int +arena_sn_comp(const arena_chunk_map_misc_t *a, const arena_chunk_map_misc_t *b) +{ + size_t a_sn, b_sn; + + assert(a != NULL); + assert(b != NULL); + + a_sn = extent_node_sn_get(arena_miscelm_extent_get(a)); + b_sn = extent_node_sn_get(arena_miscelm_extent_get(b)); + + return ((a_sn > b_sn) - (a_sn < b_sn)); +} *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***