From owner-svn-src-projects@FreeBSD.ORG Tue Jun 23 18:55:17 2015 Return-Path: Delivered-To: svn-src-projects@nevdull.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7FE30CD1 for ; Tue, 23 Jun 2015 18:55:17 +0000 (UTC) (envelope-from dim@FreeBSD.org) 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 6ACF22FB; Tue, 23 Jun 2015 18:55:17 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t5NItHXV096547; Tue, 23 Jun 2015 18:55:17 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t5NIt8WP096507; Tue, 23 Jun 2015 18:55:08 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201506231855.t5NIt8WP096507@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Tue, 23 Jun 2015 18:55:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r284737 - in projects/clang-trunk: . contrib/elftoolchain/libdwarf contrib/sendmail/src etc etc/etc.arm lib/csu/aarch64 lib/libc/gen lib/libcxxrt lib/libvmmapi lib/ncurses/ncurses libex... 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.20 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: Tue, 23 Jun 2015 18:55:17 -0000 Author: dim Date: Tue Jun 23 18:55:08 2015 New Revision: 284737 URL: https://svnweb.freebsd.org/changeset/base/284737 Log: Merge ^/head r284644 through r284736. Added: projects/clang-trunk/tools/build/options/WITH_AUTO_OBJ - copied unchanged from r284736, head/tools/build/options/WITH_AUTO_OBJ projects/clang-trunk/tools/build/options/WITH_DIRDEPS_CACHE - copied unchanged from r284736, head/tools/build/options/WITH_DIRDEPS_CACHE projects/clang-trunk/tools/build/options/WITH_META_FILES - copied unchanged from r284736, head/tools/build/options/WITH_META_FILES projects/clang-trunk/tools/build/options/WITH_META_MODE - copied unchanged from r284736, head/tools/build/options/WITH_META_MODE projects/clang-trunk/tools/build/options/WITH_STAGING - copied unchanged from r284736, head/tools/build/options/WITH_STAGING projects/clang-trunk/tools/build/options/WITH_STAGING_MAN - copied unchanged from r284736, head/tools/build/options/WITH_STAGING_MAN projects/clang-trunk/tools/build/options/WITH_STAGING_PROG - copied unchanged from r284736, head/tools/build/options/WITH_STAGING_PROG projects/clang-trunk/tools/build/options/WITH_STALE_STAGED - copied unchanged from r284736, head/tools/build/options/WITH_STALE_STAGED projects/clang-trunk/tools/build/options/WITH_SYSROOT - copied unchanged from r284736, head/tools/build/options/WITH_SYSROOT Modified: projects/clang-trunk/Makefile projects/clang-trunk/Makefile.inc1 projects/clang-trunk/ObsoleteFiles.inc projects/clang-trunk/contrib/elftoolchain/libdwarf/dwarf_sections.c projects/clang-trunk/contrib/sendmail/src/sendmail.h projects/clang-trunk/etc/etc.arm/ttys projects/clang-trunk/etc/rc.firewall projects/clang-trunk/lib/csu/aarch64/crt1.c projects/clang-trunk/lib/libc/gen/fts.c projects/clang-trunk/lib/libcxxrt/Version.map projects/clang-trunk/lib/libvmmapi/vmmapi.c projects/clang-trunk/lib/ncurses/ncurses/Makefile projects/clang-trunk/libexec/atrun/atrun.man projects/clang-trunk/libexec/rtld-elf/aarch64/rtld_start.S projects/clang-trunk/release/Makefile.azure projects/clang-trunk/release/Makefile.ec2 projects/clang-trunk/release/tools/azure.conf projects/clang-trunk/share/man/man4/ctl.4 projects/clang-trunk/share/man/man4/iscsi.4 projects/clang-trunk/share/man/man5/src.conf.5 projects/clang-trunk/share/man/man9/atomic.9 projects/clang-trunk/share/mk/bsd.incs.mk projects/clang-trunk/share/mk/bsd.man.mk projects/clang-trunk/share/mk/bsd.mkopt.mk projects/clang-trunk/share/mk/local.meta.sys.mk projects/clang-trunk/sys/amd64/vmm/amd/svm.c projects/clang-trunk/sys/amd64/vmm/amd/svm.h projects/clang-trunk/sys/amd64/vmm/amd/svm_genassym.c projects/clang-trunk/sys/amd64/vmm/amd/svm_support.S projects/clang-trunk/sys/boot/forth/Makefile projects/clang-trunk/sys/dev/bxe/bxe.c projects/clang-trunk/sys/dev/cxgbe/t4_sge.c projects/clang-trunk/sys/dev/hpt27xx/README projects/clang-trunk/sys/dev/hpt27xx/amd64-elf.hpt27xx_lib.o.uu (contents, props changed) projects/clang-trunk/sys/dev/hpt27xx/array.h projects/clang-trunk/sys/dev/hpt27xx/him.h projects/clang-trunk/sys/dev/hpt27xx/himfuncs.h projects/clang-trunk/sys/dev/hpt27xx/hpt27xx_config.c projects/clang-trunk/sys/dev/hpt27xx/hpt27xx_config.h projects/clang-trunk/sys/dev/hpt27xx/hpt27xx_os_bsd.c projects/clang-trunk/sys/dev/hpt27xx/hpt27xx_osm_bsd.c projects/clang-trunk/sys/dev/hpt27xx/hptintf.h projects/clang-trunk/sys/dev/hpt27xx/i386-elf.hpt27xx_lib.o.uu projects/clang-trunk/sys/dev/hpt27xx/ldm.h projects/clang-trunk/sys/dev/hpt27xx/list.h projects/clang-trunk/sys/dev/hpt27xx/os_bsd.h projects/clang-trunk/sys/dev/hpt27xx/osm.h projects/clang-trunk/sys/dev/isp/isp.c projects/clang-trunk/sys/dev/isp/isp_freebsd.c projects/clang-trunk/sys/dev/isp/isp_library.c projects/clang-trunk/sys/dev/isp/isp_pci.c projects/clang-trunk/sys/dev/proto/proto_bus_pci.c projects/clang-trunk/sys/dev/ti/if_ti.c projects/clang-trunk/sys/dev/uart/uart_bus_pci.c projects/clang-trunk/sys/dev/xen/blkfront/blkfront.c projects/clang-trunk/sys/dev/xen/blkfront/block.h projects/clang-trunk/sys/kern/imgact_binmisc.c projects/clang-trunk/sys/kern/vfs_bio.c projects/clang-trunk/sys/kern/vfs_subr.c projects/clang-trunk/sys/net/if.c projects/clang-trunk/sys/vm/vm_pageout.c projects/clang-trunk/sys/xen/interface/io/blkif.h projects/clang-trunk/tools/build/options/makeman projects/clang-trunk/usr.bin/mkimg/Makefile projects/clang-trunk/usr.bin/mkimg/format.c projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-4096-apm.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-4096-apm.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-4096-bsd.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-4096-bsd.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-4096-ebr.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-4096-ebr.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-4096-mbr.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-4096-mbr.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-4096-pc98.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-4096-pc98.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-512-apm.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-512-apm.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-512-bsd.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-512-bsd.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-512-ebr.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-512-ebr.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-512-gpt.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-512-gpt.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-512-mbr.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-512-mbr.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-512-pc98.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-512-pc98.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-512-vtoc8.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-1x1-512-vtoc8.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-4096-apm.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-4096-apm.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-4096-bsd.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-4096-bsd.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-4096-ebr.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-4096-ebr.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-4096-mbr.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-4096-mbr.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-4096-pc98.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-4096-pc98.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-512-apm.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-512-apm.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-512-bsd.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-512-bsd.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-512-ebr.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-512-ebr.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-512-gpt.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-512-gpt.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-512-mbr.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-512-mbr.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-512-pc98.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-512-pc98.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-512-vtoc8.vhd.gz.uu projects/clang-trunk/usr.bin/mkimg/tests/img-63x255-512-vtoc8.vhdf.gz.uu projects/clang-trunk/usr.bin/mkimg/vhd.c projects/clang-trunk/usr.sbin/fstyp/Makefile projects/clang-trunk/usr.sbin/fstyp/fstyp.c projects/clang-trunk/usr.sbin/fstyp/fstyp.h Directory Properties: projects/clang-trunk/ (props changed) projects/clang-trunk/contrib/elftoolchain/ (props changed) projects/clang-trunk/contrib/sendmail/ (props changed) projects/clang-trunk/etc/ (props changed) projects/clang-trunk/lib/libc/ (props changed) projects/clang-trunk/lib/libvmmapi/ (props changed) projects/clang-trunk/share/ (props changed) projects/clang-trunk/share/man/man4/ (props changed) projects/clang-trunk/sys/ (props changed) projects/clang-trunk/sys/amd64/vmm/ (props changed) projects/clang-trunk/sys/boot/ (props changed) projects/clang-trunk/usr.bin/mkimg/ (props changed) Modified: projects/clang-trunk/Makefile ============================================================================== --- projects/clang-trunk/Makefile Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/Makefile Tue Jun 23 18:55:08 2015 (r284737) @@ -408,7 +408,7 @@ UNIVERSE_TARGET?= buildworld .endif KERNSRCDIR?= ${.CURDIR}/sys -targets: +targets: .PHONY @echo "Supported TARGET/TARGET_ARCH pairs for world and kernel targets" .for target in ${TARGETS} .for target_arch in ${TARGET_ARCHES_${target}} Modified: projects/clang-trunk/Makefile.inc1 ============================================================================== --- projects/clang-trunk/Makefile.inc1 Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/Makefile.inc1 Tue Jun 23 18:55:08 2015 (r284737) @@ -1258,7 +1258,7 @@ _bt= _bootstrap-tools _strfile= games/fortune/strfile .endif -.if ${MK_CXX} != "no" +.if ${MK_GCC} != "no" && ${MK_CXX} != "no" _gperf= gnu/usr.bin/gperf .endif Modified: projects/clang-trunk/ObsoleteFiles.inc ============================================================================== --- projects/clang-trunk/ObsoleteFiles.inc Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/ObsoleteFiles.inc Tue Jun 23 18:55:08 2015 (r284737) @@ -293,8 +293,8 @@ OLD_FILES+=usr/share/man/man3/nvlist_tak OLD_FILES+=usr/share/man/man3/nvlist_takev_number.3.gz OLD_FILES+=usr/share/man/man3/nvlist_takev_nvlist.3.gz OLD_FILES+=usr/share/man/man3/nvlist_takev_string.3.gz -# 20150429: -OLD_FILES+=usr/share/docs/papers/hwpmc.ascii.gz +# 20150429: remove never written documentation +OLD_FILES+=usr/share/doc/papers/hwpmc.ascii.gz # 20150427: test/sys/kern/mmap_test moved to test/sys/vm/mmap_test OLD_FILES+=usr/tests/sys/kern/mmap_test # 20150422: zlib.c moved from net to libkern @@ -318,6 +318,42 @@ OLD_FILES+=usr/include/altq/altq_rmclass OLD_FILES+=usr/include/altq/altq_cbq.h OLD_FILES+=usr/include/altq/altq_rio.h OLD_DIRS+=usr/include/altq +# 20150330: ntp 4.2.8p1 +OLD_FILES+=usr/share/doc/ntp/driver1.html +OLD_FILES+=usr/share/doc/ntp/driver10.html +OLD_FILES+=usr/share/doc/ntp/driver11.html +OLD_FILES+=usr/share/doc/ntp/driver12.html +OLD_FILES+=usr/share/doc/ntp/driver16.html +OLD_FILES+=usr/share/doc/ntp/driver18.html +OLD_FILES+=usr/share/doc/ntp/driver19.html +OLD_FILES+=usr/share/doc/ntp/driver2.html +OLD_FILES+=usr/share/doc/ntp/driver20.html +OLD_FILES+=usr/share/doc/ntp/driver22.html +OLD_FILES+=usr/share/doc/ntp/driver26.html +OLD_FILES+=usr/share/doc/ntp/driver27.html +OLD_FILES+=usr/share/doc/ntp/driver28.html +OLD_FILES+=usr/share/doc/ntp/driver29.html +OLD_FILES+=usr/share/doc/ntp/driver3.html +OLD_FILES+=usr/share/doc/ntp/driver30.html +OLD_FILES+=usr/share/doc/ntp/driver32.html +OLD_FILES+=usr/share/doc/ntp/driver33.html +OLD_FILES+=usr/share/doc/ntp/driver34.html +OLD_FILES+=usr/share/doc/ntp/driver35.html +OLD_FILES+=usr/share/doc/ntp/driver36.html +OLD_FILES+=usr/share/doc/ntp/driver37.html +OLD_FILES+=usr/share/doc/ntp/driver4.html +OLD_FILES+=usr/share/doc/ntp/driver5.html +OLD_FILES+=usr/share/doc/ntp/driver6.html +OLD_FILES+=usr/share/doc/ntp/driver7.html +OLD_FILES+=usr/share/doc/ntp/driver8.html +OLD_FILES+=usr/share/doc/ntp/driver9.html +OLD_FILES+=usr/share/doc/ntp/ldisc.html +OLD_FILES+=usr/share/doc/ntp/measure.html +OLD_FILES+=usr/share/doc/ntp/mx4200data.html +OLD_FILES+=usr/share/doc/ntp/notes.html +OLD_FILES+=usr/share/doc/ntp/patches.html +OLD_FILES+=usr/share/doc/ntp/porting.html +OLD_FILES+=usr/share/man/man1/sntp.1.gz # 20150329 .if ${TARGET_ARCH} == "arm" OLD_FILES+=usr/include/bootconfig.h @@ -422,6 +458,8 @@ OLD_FILES+=usr/share/man/man9/splstatclo OLD_FILES+=usr/share/man/man9/spltty.9.gz OLD_FILES+=usr/share/man/man9/splvm.9.gz OLD_FILES+=usr/share/man/man9/splx.9.gz +# 20150122: callout changes reverted +OLD_FILES+=usr/share/man/man9/callout_drain_async.9.gz # 20150118: toeplitz.c moved from netinet to net OLD_FILES+=usr/include/netinet/toeplitz.h # 20150118: new clang import which bumps version from 3.5.0 to 3.5.1. @@ -589,6 +627,9 @@ OLD_LIBS+=usr/lib/libxo.so.0 OLD_FILES+=usr/include/net/if_stf.h OLD_FILES+=usr/include/netinet/in_gif.h OLD_FILES+=usr/include/netinet6/in6_gif.h +# 20141209: pw tests broken into a file per command +OLD_FILES+=usr/tests/usr.sbin/pw/pw_delete +OLD_FILES+=usr/tests/usr.sbin/pw/pw_modify # 20141202: update to mandoc CVS 20141201 OLD_FILES+=usr.bin/preconv OLD_FILES+=share/man/man1/preconv.1.gz @@ -705,6 +746,8 @@ OLD_FILES+=usr/lib/private/libucl.so OLD_FILES+=usr/lib/private/libucl_p.a # 20140803: Remove an obsolete man page OLD_FILES+=usr/share/man/man9/pmap_change_wiring.9.gz +# 20140731 +OLD_FILES+=usr/share/man/man9/SYSCTL_ADD_OID.9.gz # 20140728: libsbuf restored to old version. OLD_LIBS+=lib/libsbuf.so.7 OLD_LIBS+=usr/lib32/libsbuf.so.7 @@ -817,6 +860,12 @@ OLD_FILES+=usr/share/mk/src.opts.mk OLD_FILES+=usr/tests/sbin/ifconfig/fibs_test # 20140502: Removal of lindev(4) OLD_FILES+=usr/share/man/man4/lindev.4.gz +# 20140425 +OLD_FILES+=usr/lib/libssp_p.a +OLD_FILES+=usr/lib/libstand_p.a +OLD_FILES+=usr/lib32/libc_pic.a +OLD_FILES+=usr/lib32/libssp_p.a +OLD_FILES+=usr/lib32/libstand_p.a # 20140314: AppleTalk OLD_DIRS+=usr/include/netatalk OLD_FILES+=usr/include/netatalk/aarp.h Modified: projects/clang-trunk/contrib/elftoolchain/libdwarf/dwarf_sections.c ============================================================================== --- projects/clang-trunk/contrib/elftoolchain/libdwarf/dwarf_sections.c Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/contrib/elftoolchain/libdwarf/dwarf_sections.c Tue Jun 23 18:55:08 2015 (r284737) @@ -104,8 +104,8 @@ dwarf_get_section_max_offsets(Dwarf_Debu Dwarf_Unsigned *debug_ranges, Dwarf_Unsigned *debug_pubtypes) { - return (dwarf_get_section_max_offsets(dbg, debug_info, debug_abbrev, + return (dwarf_get_section_max_offsets_b(dbg, debug_info, debug_abbrev, debug_line, debug_loc, debug_aranges, debug_macinfo, debug_pubnames, debug_str, debug_frame, debug_ranges, - debug_pubtypes)); + debug_pubtypes, NULL)); } Modified: projects/clang-trunk/contrib/sendmail/src/sendmail.h ============================================================================== --- projects/clang-trunk/contrib/sendmail/src/sendmail.h Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/contrib/sendmail/src/sendmail.h Tue Jun 23 18:55:08 2015 (r284737) @@ -1935,7 +1935,7 @@ struct termescape /* server requirements */ #define TLS_I_SRV (TLS_I_SRV_CERT | TLS_I_RSA_TMP | TLS_I_VRFY_PATH | \ - TLS_I_VRFY_LOC | TLS_I_TRY_DH | TLS_I_DH512 | \ + TLS_I_VRFY_LOC | TLS_I_TRY_DH | TLS_I_DH1024 | \ TLS_I_CACHE) /* client requirements */ Modified: projects/clang-trunk/etc/etc.arm/ttys ============================================================================== --- projects/clang-trunk/etc/etc.arm/ttys Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/etc/etc.arm/ttys Tue Jun 23 18:55:08 2015 (r284737) @@ -42,8 +42,8 @@ ttyv7 "/usr/libexec/getty Pc" xterm off # Serial terminals # The 'dialup' keyword identifies dialin lines to login, fingerd etc. ttyu0 "/usr/libexec/getty 3wire" vt100 onifconsole secure -ttyu1 "/usr/libexec/getty std.9600" dialup off secure -ttyu2 "/usr/libexec/getty std.9600" dialup off secure -ttyu3 "/usr/libexec/getty std.9600" dialup off secure +ttyu1 "/usr/libexec/getty 3wire" vt100 onifconsole secure +ttyu2 "/usr/libexec/getty 3wire" vt100 onifconsole secure +ttyu3 "/usr/libexec/getty 3wire" vt100 onifconsole secure # Dumb console dcons "/usr/libexec/getty std.9600" vt100 off secure Modified: projects/clang-trunk/etc/rc.firewall ============================================================================== --- projects/clang-trunk/etc/rc.firewall Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/etc/rc.firewall Tue Jun 23 18:55:08 2015 (r284737) @@ -266,6 +266,7 @@ case ${firewall_type} in # firewall_simple_oif_ipv6: Outside IPv6 network interface. # firewall_simple_onet_ipv6: Outside IPv6 network prefix. ############ + BAD_ADDR_TBL=13 # set these to your outside interface network oif="$firewall_simple_oif" @@ -290,19 +291,23 @@ case ${firewall_type} in fi fi + # define stuff we should never send out or receive in # Stop RFC1918 nets on the outside interface - ${fwcmd} add deny all from any to 10.0.0.0/8 via ${oif} - ${fwcmd} add deny all from any to 172.16.0.0/12 via ${oif} - ${fwcmd} add deny all from any to 192.168.0.0/16 via ${oif} + ${fwcmd} table ${BAD_ADDR_TBL} flush + ${fwcmd} table ${BAD_ADDR_TBL} add 10.0.0.0/8 + ${fwcmd} table ${BAD_ADDR_TBL} add 172.16.0.0/12 + ${fwcmd} table ${BAD_ADDR_TBL} add 192.168.0.0/16 # Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1, # DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E) # on the outside interface - ${fwcmd} add deny all from any to 0.0.0.0/8 via ${oif} - ${fwcmd} add deny all from any to 169.254.0.0/16 via ${oif} - ${fwcmd} add deny all from any to 192.0.2.0/24 via ${oif} - ${fwcmd} add deny all from any to 224.0.0.0/4 via ${oif} - ${fwcmd} add deny all from any to 240.0.0.0/4 via ${oif} + ${fwcmd} table ${BAD_ADDR_TBL} add 0.0.0.0/8 + ${fwcmd} table ${BAD_ADDR_TBL} add 169.254.0.0/16 + ${fwcmd} table ${BAD_ADDR_TBL} add 192.0.2.0/24 + ${fwcmd} table ${BAD_ADDR_TBL} add 224.0.0.0/4 + ${fwcmd} table ${BAD_ADDR_TBL} add 240.0.0.0/4 + + ${fwcmd} add deny all from any to "table($BAD_ADDR_TBL)" via ${oif} # Network Address Translation. This rule is placed here deliberately # so that it does not interfere with the surrounding address-checking @@ -319,20 +324,7 @@ case ${firewall_type} in ;; esac - # Stop RFC1918 nets on the outside interface - ${fwcmd} add deny all from 10.0.0.0/8 to any via ${oif} - ${fwcmd} add deny all from 172.16.0.0/12 to any via ${oif} - ${fwcmd} add deny all from 192.168.0.0/16 to any via ${oif} - - # Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1, - # DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E) - # on the outside interface - ${fwcmd} add deny all from 0.0.0.0/8 to any via ${oif} - ${fwcmd} add deny all from 169.254.0.0/16 to any via ${oif} - ${fwcmd} add deny all from 192.0.2.0/24 to any via ${oif} - ${fwcmd} add deny all from 224.0.0.0/4 to any via ${oif} - ${fwcmd} add deny all from 240.0.0.0/4 to any via ${oif} - + ${fwcmd} add deny all from "table($BAD_ADDR_TBL)" to any via ${oif} if [ -n "$inet6" ]; then # Stop unique local unicast address on the outside interface ${fwcmd} add deny all from fc00::/7 to any via ${oif6} Modified: projects/clang-trunk/lib/csu/aarch64/crt1.c ============================================================================== --- projects/clang-trunk/lib/csu/aarch64/crt1.c Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/lib/csu/aarch64/crt1.c Tue Jun 23 18:55:08 2015 (r284737) @@ -58,9 +58,13 @@ __asm(" .text \n" " .align 0 \n" " .globl _start \n" " _start: \n" -" mov x3, x2 \n" /* cleanup */ -" ldr x0, [sp] \n" /* Load argc */ -" add x1, sp, #8 \n" /* load argv */ +/* TODO: Remove this when the kernel correctly aligns the stack */ +" cbnz x0, 1f \n" /* Are we using a new kernel? */ +" mov x0, sp \n" /* No, load the args from sp */ +" and sp, x0, #~0xf \n" /* And align the stack */ +"1: mov x3, x2 \n" /* cleanup */ +" add x1, x0, #8 \n" /* load argv */ +" ldr x0, [x0] \n" /* load argc */ " add x2, x1, x0, lsl #3 \n" /* env is after argv */ " add x2, x2, #8 \n" /* argv is null terminated */ " b __start "); Modified: projects/clang-trunk/lib/libc/gen/fts.c ============================================================================== --- projects/clang-trunk/lib/libc/gen/fts.c Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/lib/libc/gen/fts.c Tue Jun 23 18:55:08 2015 (r284737) @@ -515,7 +515,7 @@ FTSENT * fts_children(FTS *sp, int instr) { FTSENT *p; - int fd; + int fd, rc, serrno; if (instr != 0 && instr != FTS_NAMEONLY) { errno = EINVAL; @@ -571,11 +571,14 @@ fts_children(FTS *sp, int instr) if ((fd = _open(".", O_RDONLY | O_CLOEXEC, 0)) < 0) return (NULL); sp->fts_child = fts_build(sp, instr); - if (fchdir(fd)) { - (void)_close(fd); - return (NULL); - } + serrno = (sp->fts_child == NULL) ? errno : 0; + rc = fchdir(fd); + if (rc < 0 && serrno == 0) + serrno = errno; (void)_close(fd); + errno = serrno; + if (rc < 0) + return (NULL); return (sp->fts_child); } Modified: projects/clang-trunk/lib/libcxxrt/Version.map ============================================================================== --- projects/clang-trunk/lib/libcxxrt/Version.map Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/lib/libcxxrt/Version.map Tue Jun 23 18:55:08 2015 (r284737) @@ -254,6 +254,10 @@ CXXABI_1.3.1 { __cxa_get_exception_ptr; } CXXABI_1.3; +CXXABI_1.3.6 { + __cxa_deleted_virtual; +} CXXABI_1.3.1; + CXXRT_1.0 { @@ -286,7 +290,7 @@ CXXRT_1.0 { __cxa_increment_exception_refcount; __cxa_rethrow_primary_exception; -} CXXABI_1.3.1; +} CXXABI_1.3.6; GLIBCXX_3.4 { Modified: projects/clang-trunk/lib/libvmmapi/vmmapi.c ============================================================================== --- projects/clang-trunk/lib/libvmmapi/vmmapi.c Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/lib/libvmmapi/vmmapi.c Tue Jun 23 18:55:08 2015 (r284737) @@ -415,19 +415,28 @@ vm_setup_memory(struct vmctx *ctx, size_ return (0); } +/* + * Returns a non-NULL pointer if [gaddr, gaddr+len) is entirely contained in + * the lowmem or highmem regions. + * + * In particular return NULL if [gaddr, gaddr+len) falls in guest MMIO region. + * The instruction emulation code depends on this behavior. + */ void * vm_map_gpa(struct vmctx *ctx, vm_paddr_t gaddr, size_t len) { - vm_paddr_t start, end, mapend; - start = gaddr; - end = gaddr + len; - mapend = ctx->highmem ? 4*GB + ctx->highmem : ctx->lowmem; + if (ctx->lowmem > 0) { + if (gaddr < ctx->lowmem && gaddr + len <= ctx->lowmem) + return (ctx->baseaddr + gaddr); + } - if (start <= end && end <= mapend) - return (ctx->baseaddr + start); - else - return (NULL); + if (ctx->highmem > 0) { + if (gaddr >= 4*GB && gaddr + len <= 4*GB + ctx->highmem) + return (ctx->baseaddr + gaddr); + } + + return (NULL); } size_t Modified: projects/clang-trunk/lib/ncurses/ncurses/Makefile ============================================================================== --- projects/clang-trunk/lib/ncurses/ncurses/Makefile Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/lib/ncurses/ncurses/Makefile Tue Jun 23 18:55:08 2015 (r284737) @@ -308,7 +308,7 @@ SYMLINKS+= libncurses${LIB_SUFFIX}_p.a $ SYMLINKS+= libncurses${LIB_SUFFIX}_p.a ${LIBDIR}/libtinfo${LIB_SUFFIX}_p.a .endif -.if ${.CURDIR:T} == "ncurses" +.if ${.CURDIR:T} == "ncursesw" .if defined(ENABLE_WIDEC) DOCSDIR= ${SHAREDIR}/doc/ncurses DOCS= ncurses-intro.html hackguide.html Modified: projects/clang-trunk/libexec/atrun/atrun.man ============================================================================== --- projects/clang-trunk/libexec/atrun/atrun.man Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/libexec/atrun/atrun.man Tue Jun 23 18:55:08 2015 (r284737) @@ -1,5 +1,5 @@ .\" $FreeBSD$ -.Dd October 30, 2012 +.Dd June 22, 2015 .Dt ATRUN 8 .Os .Sh NAME @@ -14,32 +14,32 @@ runs jobs queued by .Xr at 1 . .Pp -Root's +The system .Xr crontab 5 file .Pa /etc/crontab -has to contain the line +must contain the line .Bd -literal */5 * * * * root /usr/libexec/atrun .Ed .Pp -so that +so .Nm -gets invoked every five minutes. +is invoked every five minutes. .Pp At every invocation, .Nm -will start all the jobs in the lowercase queues whose start +starts all the jobs in the lowercase queues whose start time has elapsed. In addition, if the load average over the last minute was less than -the specified limit then a maximum of one batch job (denoted by the +the specified limit, then a maximum of one batch job (denoted by the uppercase queues) is started. .Pp Before starting a job, .Nm -will check the status of its owner's account with +checks the status of its owner's account with .Xr pam 3 -and refuse to run the job if the account is unavailable, +and refuses to run the job if the account is unavailable, e.g., locked out or expired. .Sh OPTIONS .Bl -tag -width indent @@ -53,9 +53,11 @@ Debug; print error messages to standard .Sh WARNINGS For .Nm -to work, you have to start up a +to work, a .Xr cron 8 -daemon. +daemon must be running +.Nm +periodically. .Sh FILES .Bl -tag -width /etc/pam.d/atrun -compact .It Pa /etc/pam.d/atrun Modified: projects/clang-trunk/libexec/rtld-elf/aarch64/rtld_start.S ============================================================================== --- projects/clang-trunk/libexec/rtld-elf/aarch64/rtld_start.S Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/libexec/rtld-elf/aarch64/rtld_start.S Tue Jun 23 18:55:08 2015 (r284737) @@ -34,10 +34,14 @@ ENTRY(.rtld_start) mov x19, x0 /* Put ps_strings in a callee-saved register */ mov x20, sp /* And the stack pointer */ - sub x8, x20, #16 /* Make room for obj_main & exit proc */ - mov sp, x8 /* Update the stack pointer */ + /* Handle the old style stack */ + /* TODO: Remove this when the kernel correctly aligns the stack */ + cbnz x0, 1f + mov x0, sp /* sp points to the args */ + and sp, x0, #~0xf /* Align the stack as needed */ + +1: sub sp, sp, #16 /* Make room for obj_main & exit proc */ - mov x0, x20 /* Pass the stack we were given to _rtld */ mov x1, sp /* exit_proc */ add x2, x1, #8 /* obj_main */ bl _rtld /* Call the loader */ @@ -64,6 +68,7 @@ ENTRY(_rtld_bind_start) stp x2, x3, [sp, #-16]! stp x4, x5, [sp, #-16]! stp x6, x7, [sp, #-16]! + stp x8, xzr, [sp, #-16]! /* Calculate reloff */ ldr x2, [x17, #0] /* Get the address of the entry */ @@ -80,12 +85,13 @@ ENTRY(_rtld_bind_start) bl _rtld_bind /* Restore the registers saved by the plt code */ - ldp xzr, x30, [sp, #(4 * 16)] + ldp xzr, x30, [sp, #(5 * 16)] /* Backup the address to branch to */ mov x16, x0 /* restore the arguments */ + ldp x8, xzr, [sp], #16 ldp x6, x7, [sp], #16 ldp x4, x5, [sp], #16 ldp x2, x3, [sp], #16 Modified: projects/clang-trunk/release/Makefile.azure ============================================================================== --- projects/clang-trunk/release/Makefile.azure Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/release/Makefile.azure Tue Jun 23 18:55:08 2015 (r284737) @@ -17,7 +17,7 @@ AZURE${VAR}!= grep -E ^AZURE${VAR} ${AZU .endif .if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" -SNAPSHOT_DATE!= date +-%Y-%m-%d +SNAPSHOT_DATE!= date +-%Y-%m-%d-%H:%M .endif AZURE_TARGET:= ${OSRELEASE}${SNAPSHOT_DATE}.vhd Modified: projects/clang-trunk/release/Makefile.ec2 ============================================================================== --- projects/clang-trunk/release/Makefile.ec2 Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/release/Makefile.ec2 Tue Jun 23 18:55:08 2015 (r284737) @@ -6,7 +6,7 @@ # .if ${BRANCH} == "CURRENT" || ${BRANCH} == "STABLE" -AMINAMESUFFIX!= date +-%Y-%m-%d +AMINAMESUFFIX!= date +-%Y-%m-%d-%H:%M .endif .if defined(EC2PUBLIC) PUBLISH= --public Modified: projects/clang-trunk/release/tools/azure.conf ============================================================================== --- projects/clang-trunk/release/tools/azure.conf Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/release/tools/azure.conf Tue Jun 23 18:55:08 2015 (r284737) @@ -14,6 +14,7 @@ export VM_EXTRA_PACKAGES="sysutils/azure export VM_RC_LIST= vm_extra_pre_umount() { + chroot ${DESTDIR} ln -s /usr/local/sbin/waagent /usr/sbin/waagent chroot ${DESTDIR} /usr/local/sbin/waagent -verbose -install yes | chroot ${DESTDIR} /usr/local/sbin/waagent -deprovision echo 'sshd_enable="YES"' >> ${DESTDIR}/etc/rc.conf @@ -26,17 +27,3 @@ vm_extra_pre_umount() { return 0 } - -vm_extra_create_disk() { - if [ ! -x "/usr/local/bin/qemu-img" ]; then - env ASSUME_ALWAYS_YES=yes pkg install -y emulators/qemu-devel - fi - - mv ${VMIMAGE} ${VMIMAGE}.raw - size=$(qemu-img info -f raw --output json ${VMIMAGE}.raw | awk '/virtual-size/ {print $2}' | tr -d ',') - size=$(( ( ${size} / ( 1024 * 1024 ) + 1 ) * ( 1024 * 1024 ) )) - qemu-img resize ${VMIMAGE}.raw ${size} - qemu-img convert -f raw -o subformat=fixed -O vpc ${VMIMAGE}.raw ${VMIMAGE} - - return 0 -} Modified: projects/clang-trunk/share/man/man4/ctl.4 ============================================================================== --- projects/clang-trunk/share/man/man4/ctl.4 Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/share/man/man4/ctl.4 Tue Jun 23 18:55:08 2015 (r284737) @@ -23,7 +23,7 @@ .\" SUCH DAMAGE. .\" .\" $FreeBSD$ -.Dd May 22, 2015 +.Dd June 20, 2015 .Dt CTL 4 .Os .Sh NAME @@ -91,12 +91,17 @@ variables and .Xr loader 8 tunables: .Bl -tag -width indent +.It Va kern.cam.ctl.iscsi.debug +Verbosity level for log messages from the kernel part of iSCSI target. +Set to 0 to disable logging or 1 to warn about potential problems. +Larger values enable debugging output. +Defaults to 1. .It Va kern.cam.ctl.iscsi.maxcmdsn_delta -The number of outstanding commands to advertise to the initiator. -Technically, it's the difference between ExpCmdSN and MaxCmdSN fields +The number of outstanding commands to advertise to the iSCSI initiator. +Technically, it is the difference between ExpCmdSN and MaxCmdSN fields in the iSCSI PDU. .It Va kern.cam.ctl.iscsi.ping_timeout -The number of seconds to wait for the initiator to respond to a NOP-In +The number of seconds to wait for the iSCSI initiator to respond to a NOP-In PDU. In the event that there is no response within that time the session gets forcibly terminated. Modified: projects/clang-trunk/share/man/man4/iscsi.4 ============================================================================== --- projects/clang-trunk/share/man/man4/iscsi.4 Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/share/man/man4/iscsi.4 Tue Jun 23 18:55:08 2015 (r284737) @@ -23,7 +23,7 @@ .\" SUCH DAMAGE. .\" .\" $FreeBSD$ -.Dd September 11, 2014 +.Dd June 20, 2015 .Dt ISCSI 4 .Os .Sh NAME @@ -65,6 +65,13 @@ variables and .Xr loader 8 tunables: .Bl -tag -width indent +.It Va kern.iscsi.debug +Verbosity level for log messages from the +.Nm +driver. +Set to 0 to disable logging or 1 to warn about potential problems. +Larger values enable debugging output. +Defaults to 1. .It Va kern.iscsi.ping_timeout The number of seconds to wait for the target to respond to a NOP-Out PDU. Modified: projects/clang-trunk/share/man/man5/src.conf.5 ============================================================================== --- projects/clang-trunk/share/man/man5/src.conf.5 Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/share/man/man5/src.conf.5 Tue Jun 23 18:55:08 2015 (r284737) @@ -1,7 +1,7 @@ .\" DO NOT EDIT-- this file is automatically generated. .\" from FreeBSD: head/tools/build/options/makeman 255964 2013-10-01 07:22:04Z des .\" $FreeBSD$ -.Dd June 11, 2015 +.Dd June 22, 2015 .Dt SRC.CONF 5 .Os .Sh NAME @@ -126,6 +126,9 @@ Set to not build Set to not build .Xr autofs 4 related programs, libraries, and kernel modules. +.It Va WITH_AUTO_OBJ +.\" $FreeBSD$ +Enable automatic creation of objdirs. .It Va WITHOUT_BHYVE .\" from FreeBSD: head/tools/build/options/WITHOUT_BHYVE 277727 2015-01-26 06:44:48Z ngie Set to not build or install @@ -392,6 +395,12 @@ and are located automatically by .It Va WITHOUT_DICT .\" from FreeBSD: head/tools/build/options/WITHOUT_DICT 156932 2006-03-21 07:50:50Z ru Set to not build the Webster dictionary files. +.It Va WITH_DIRDEPS_CACHE +.\" $FreeBSD$ +Cache result of dirdeps.mk which can save significant time +for subsequent builds. +Depends on +.Va WITH_META_MODE . .It Va WITHOUT_DMAGENT .\" from FreeBSD: head/tools/build/options/WITHOUT_DMAGENT 262335 2014-02-22 13:05:23Z bapt Set to not build dma Mail Transport Agent @@ -851,6 +860,56 @@ Set to not build utilities for manual pa .Xr whatis 1 , .Xr manctl 8 , and related support files. +.It Va WITH_META_FILES +.\" $FreeBSD$ +Create meta files during non META_MODE build. +The meta files can be useful for debugging. +.It Va WITH_META_MODE +.\" $FreeBSD$ +Enable building in meta mode. +.Pp +The build is driven by dirdeps.mk using DIRDEPS stored in +Makefile.depend files found in each directory. +.Pp +The build can be started from anywhere, and behaves the same. +The initial instance of make recursively reads DIRDEPS from Makefile.depend +computing a graph of tree dependencies from the current origin. +See http://www.crufty.net/help/sjg/dirdeps.htm +.Pp +As each target is made +.Xr make 1 +produces a meta file which is used to capture (and compare) +the command line, +as well as any command output. +If +.Xr filemon 4 +is available the meta file will also capture a record of syscalls +used to produce the target. +When set, it also enforces the following options: +.Pp +.Bl -item -compact +.It +.Va WITH_AUTO_OBJ +.It +.Va WITH_INSTALL_AS_USER +.It +.Va WITH_STAGING +.It +.Va WITH_SYSROOT +.El +.Pp +When set, the following options are also in effect: +.Pp +.Bl -inset -compact +.It Va WITH_STAGING_MAN +(unless +.Va WITHOUT_STAGING_MAN +is set explicitly) +.It Va WITH_STAGING_PROG +(unless +.Va WITHOUT_STAGING_PROG +is set explicitly) +.El .It Va WITH_NAND .\" from FreeBSD: head/tools/build/options/WITH_NAND 235537 2012-05-17 10:11:18Z gber Set to build the NAND Flash components. @@ -1093,6 +1152,35 @@ Set to not build kernel modules that inc .It Va WITHOUT_SSP .\" from FreeBSD: head/tools/build/options/WITHOUT_SSP 180012 2008-06-25 21:33:28Z ru Set to not build world with propolice stack smashing protection. +.It Va WITH_STAGING +.\" $FreeBSD$ +Enable staging of files to a stage tree. +This can be best thought of as auto-install to +.Va DESTDIR +with some extra meta data to ensure dependencies can be tracked. +Depends on +.Va WITH_META_MODE . +When set, the following options are also in effect: +.Pp +.Bl -inset -compact +.It Va WITH_STAGING_MAN +(unless +.Va WITHOUT_STAGING_MAN +is set explicitly) +.It Va WITH_STAGING_PROG +(unless +.Va WITHOUT_STAGING_PROG +is set explicitly) +.El +.It Va WITH_STAGING_MAN +.\" $FreeBSD$ +Enable staging of MAN pages to stage tree. +.It Va WITH_STAGING_PROG +.\" $FreeBSD$ +Enable staging of PROGs to stage tree. +.It Va WITH_STALE_STAGED +.\" $FreeBSD$ +Check staged files are not stale. .It Va WITH_SVN .\" from FreeBSD: head/tools/build/options/WITH_SVN 252561 2013-07-03 12:36:47Z zeising Set to install @@ -1117,6 +1205,11 @@ support files such as keyboard maps, fon Set to not build .Xr sysinstall 8 and related programs. +.It Va WITH_SYSROOT +.\" $FreeBSD$ +Enable use of sysroot during build. +Depends on +.Va WITH_META_MODE . .It Va WITHOUT_TALK .\" from FreeBSD: head/tools/build/options/WITHOUT_TALK 277676 2015-01-25 04:37:44Z ngie Set to not build or install Modified: projects/clang-trunk/share/man/man9/atomic.9 ============================================================================== --- projects/clang-trunk/share/man/man9/atomic.9 Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/share/man/man9/atomic.9 Tue Jun 23 18:55:08 2015 (r284737) @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 20, 2013 +.Dd June 20, 2015 .Dt ATOMIC 9 .Os .Sh NAME @@ -123,7 +123,9 @@ The first form just performs the operati The second form uses a read memory barrier, and the third variant uses a write memory barrier. .Pp -The second variant of each operation includes a read memory barrier. +The second variant of each operation includes an +.Em acquire +memory barrier. This barrier ensures that the effects of this operation are completed before the effects of any later data accesses. As a result, the operation is said to have acquire semantics as it acquires a @@ -137,7 +139,9 @@ For example, to subtract two integers en happen after the subtraction is performed, use .Fn atomic_subtract_acq_int . .Pp -The third variant of each operation includes a write memory barrier. +The third variant of each operation includes a +.Em release +memory barrier. This ensures that all effects of all previous data accesses are completed before this operation takes place. As a result, the operation is said to have release semantics as it releases Modified: projects/clang-trunk/share/mk/bsd.incs.mk ============================================================================== --- projects/clang-trunk/share/mk/bsd.incs.mk Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/share/mk/bsd.incs.mk Tue Jun 23 18:55:08 2015 (r284737) @@ -77,15 +77,10 @@ _${group}INS: ${_${group}INCS} .if defined(INCSLINKS) && !empty(INCSLINKS) installincludes: - @set ${INCSLINKS}; \ - while test $$# -ge 2; do \ - l=$$1; \ - shift; \ - t=${DESTDIR}$$1; \ - shift; \ - ${ECHO} $$t -\> $$l; \ - ${INSTALL_SYMLINK} $$l $$t; \ - done; true +.for s t in ${INCSLINKS} + @${ECHO} "$t -> $s" ; \ + ${INSTALL_SYMLINK} $s ${DESTDIR}$t +.endfor .endif .endif # !target(installincludes) Modified: projects/clang-trunk/share/mk/bsd.man.mk ============================================================================== --- projects/clang-trunk/share/mk/bsd.man.mk Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/share/mk/bsd.man.mk Tue Jun 23 18:55:08 2015 (r284737) @@ -186,17 +186,11 @@ _maninstall: ${MAN} .endif .endfor .else - @set ${.ALLSRC:C/\.([^.]*)$/.\1 \1/}; \ - while : ; do \ - case $$# in \ - 0) break;; \ - 1) echo "warn: missing extension: $$1"; break;; \ - esac; \ - page=$$1; shift; sect=$$1; shift; \ - d=${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}; \ - ${ECHO} ${MINSTALL} $${page} $${d}; \ - ${MINSTALL} $${page} $${d}; \ - done +.for _page _sect ${.ALLSRC:C/\.([^.]*)$/.\1 \1/} + @d=${DESTDIR}${MANDIR}${_sect}${MANSUBDIR}; \ + ${ECHO} ${MINSTALL} ${_page} $${d}; \ + ${MINSTALL} $${page} $${d}; +.endfor .if defined(MANBUILDCAT) && !empty(MANBUILDCAT) .for __page in ${MAN} ${MINSTALL} ${__page:T:S/$/${CATEXT}/} \ @@ -217,35 +211,21 @@ _maninstall: ${MAN} .endif .if !defined(NO_MLINKS) && defined(MLINKS) && !empty(MLINKS) - @set ${MLINKS:C/\.([^.]*)$/.\1 \1/}; \ - while : ; do \ - case $$# in \ - 0) break;; \ - [123]) echo "warn: empty MLINK: $$1 $$2 $$3"; break;; \ - esac; \ - name=$$1; shift; sect=$$1; shift; \ - l=${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}/$$name; \ - name=$$1; shift; sect=$$1; shift; \ - t=${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}/$$name; \ - ${ECHO} $${t}${ZEXT} -\> $${l}${ZEXT}; \ - rm -f $${t} $${t}${MCOMPRESS_EXT}; \ - ${INSTALL_LINK} $${l}${ZEXT} $${t}${ZEXT}; \ - done +.for _oname _osect _dname _dsect in ${MLINKS:C/\.([^.]*)$/.\1 \1/} + @l=${DESTDIR}${MANDIR}${_osect}${MANSUBDIR}/${_oname}; \ + t=${DESTDIR}${MANDIR}${_dsect}${MANSUBDIR}/${_dname}; \ + ${ECHO} $${t}${ZEXT} -\> $${l}${ZEXT}; \ + rm -f $${t} $${t}${MCOMPRESS_EXT}; \ + ${INSTALL_LINK} $${l}${ZEXT} $${t}${ZEXT} +.endfor .if defined(MANBUILDCAT) && !empty(MANBUILDCAT) - @set ${MLINKS:C/\.([^.]*)$/.\1 \1/}; \ - while : ; do \ - case $$# in \ - 0) break;; \ - [123]) echo "warn: empty MLINK: $$1 $$2 $$3"; break;; \ - esac; \ - name=$$1; shift; sect=$$1; shift; \ - l=${DESTDIR}${CATDIR}$${sect}${MANSUBDIR}/$$name; \ - name=$$1; shift; sect=$$1; shift; \ - t=${DESTDIR}${CATDIR}$${sect}${MANSUBDIR}/$$name; \ - ${ECHO} $${t}${ZEXT} -\> $${l}${ZEXT}; \ - rm -f $${t} $${t}${MCOMPRESS_EXT}; \ - ${INSTALL_LINK} $${l}${ZEXT} $${t}${ZEXT}; \ - done +.for _oname _osect _dname _dsect in ${MLINKS:C/\.([^.]*)$/.\1 \1/} + @l=${DESTDIR}${MANDIR}${_osect}${MANSUBDIR}/${_oname}; \ + t=${DESTDIR}${MANDIR}${_dsect}${MANSUBDIR}/${_dname}; \ + ${ECHO} $${t}${ZEXT} -\> $${l}${ZEXT}; \ + rm -f $${t} $${t}${MCOMPRESS_EXT}; \ + ${INSTALL_LINK} $${l}${ZEXT} $${t}${ZEXT} +.endfor .endif .endif Modified: projects/clang-trunk/share/mk/bsd.mkopt.mk ============================================================================== --- projects/clang-trunk/share/mk/bsd.mkopt.mk Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/share/mk/bsd.mkopt.mk Tue Jun 23 18:55:08 2015 (r284737) @@ -81,5 +81,6 @@ MK_${vv:H}?= no .else MK_${vv:H}?= ${MK_${vv:T}} .endif +MK_${vv:H}:= ${MK_${vv:H}} .endfor .undef __DEFAULT_DEPENDENT_OPTIONS Modified: projects/clang-trunk/share/mk/local.meta.sys.mk ============================================================================== --- projects/clang-trunk/share/mk/local.meta.sys.mk Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/share/mk/local.meta.sys.mk Tue Jun 23 18:55:08 2015 (r284737) @@ -8,6 +8,20 @@ MK_INSTALL_AS_USER= yes .if empty(OBJROOT) || ${.MAKE.LEVEL} == 0 +.if !make(showconfig) +.if defined(MAKEOBJDIRPREFIX) && exists(${MAKEOBJDIRPREFIX}) +.warning MAKEOBJDIRPREFIX not supported; setting MAKEOBJDIR... +# put things approximately where they want +OBJROOT:=${MAKEOBJDIRPREFIX}${SRCTOP:S,/src,,}/ +# OBJTOP set below +MAKEOBJDIR=$${.CURDIR:S,$${SRCTOP},$${OBJTOP},} +MAKEOBJDIRPREFIX= +# export but do not track +.export-env MAKEOBJDIRPREFIX MAKEOBJDIR +# now for our own use +MAKEOBJDIR= ${.CURDIR:S,${SRCTOP},${OBJTOP},} +.endif +.endif .if !empty(SB) SB_OBJROOT ?= ${SB}/obj/ # this is what we use below Modified: projects/clang-trunk/sys/amd64/vmm/amd/svm.c ============================================================================== --- projects/clang-trunk/sys/amd64/vmm/amd/svm.c Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/sys/amd64/vmm/amd/svm.c Tue Jun 23 18:55:08 2015 (r284737) @@ -1916,7 +1916,6 @@ svm_vmrun(void *arg, int vcpu, register_ struct vlapic *vlapic; struct vm *vm; uint64_t vmcb_pa; - u_int thiscpu; int handled; svm_sc = arg; @@ -1928,19 +1927,10 @@ svm_vmrun(void *arg, int vcpu, register_ vmexit = vm_exitinfo(vm, vcpu); vlapic = vm_lapic(vm, vcpu); - /* - * Stash 'curcpu' on the stack as 'thiscpu'. - * - * The per-cpu data area is not accessible until MSR_GSBASE is restored - * after the #VMEXIT. Since VMRUN is executed inside a critical section - * 'curcpu' and 'thiscpu' are guaranteed to identical. - */ - thiscpu = curcpu; - gctx = svm_get_guest_regctx(svm_sc, vcpu); vmcb_pa = svm_sc->vcpu[vcpu].vmcb_pa; - if (vcpustate->lastcpu != thiscpu) { + if (vcpustate->lastcpu != curcpu) { /* * Force new ASID allocation by invalidating the generation. */ @@ -1961,7 +1951,7 @@ svm_vmrun(void *arg, int vcpu, register_ * This works for now but any new side-effects of vcpu * migration should take this case into account. */ - vcpustate->lastcpu = thiscpu; + vcpustate->lastcpu = curcpu; vmm_stat_incr(vm, vcpu, VCPU_MIGRATIONS, 1); } @@ -2007,14 +1997,14 @@ svm_vmrun(void *arg, int vcpu, register_ svm_inj_interrupts(svm_sc, vcpu, vlapic); - /* Activate the nested pmap on 'thiscpu' */ - CPU_SET_ATOMIC_ACQ(thiscpu, &pmap->pm_active); + /* Activate the nested pmap on 'curcpu' */ + CPU_SET_ATOMIC_ACQ(curcpu, &pmap->pm_active); /* * Check the pmap generation and the ASID generation to * ensure that the vcpu does not use stale TLB mappings. */ - check_asid(svm_sc, vcpu, pmap, thiscpu); + check_asid(svm_sc, vcpu, pmap, curcpu); ctrl->vmcb_clean = vmcb_clean & ~vcpustate->dirty; vcpustate->dirty = 0; @@ -2022,23 +2012,9 @@ svm_vmrun(void *arg, int vcpu, register_ /* Launch Virtual Machine. */ VCPU_CTR1(vm, vcpu, "Resume execution at %#lx", state->rip); - svm_launch(vmcb_pa, gctx); - - CPU_CLR_ATOMIC(thiscpu, &pmap->pm_active); + svm_launch(vmcb_pa, gctx, &__pcpu[curcpu]); - /* - * Restore MSR_GSBASE to point to the pcpu data area. - * - * Note that accesses done via PCPU_GET/PCPU_SET will work - * only after MSR_GSBASE is restored. - * - * Also note that we don't bother restoring MSR_KGSBASE - * since it is not used in the kernel and will be restored - * when the VMRUN ioctl returns to userspace. - */ - wrmsr(MSR_GSBASE, (uint64_t)&__pcpu[thiscpu]); - KASSERT(curcpu == thiscpu, ("thiscpu/curcpu (%u/%u) mismatch", - thiscpu, curcpu)); + CPU_CLR_ATOMIC(curcpu, &pmap->pm_active); /* * The host GDTR and IDTR is saved by VMRUN and restored Modified: projects/clang-trunk/sys/amd64/vmm/amd/svm.h ============================================================================== --- projects/clang-trunk/sys/amd64/vmm/amd/svm.h Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/sys/amd64/vmm/amd/svm.h Tue Jun 23 18:55:08 2015 (r284737) @@ -29,6 +29,8 @@ #ifndef _SVM_H_ #define _SVM_H_ +struct pcpu; + /* * Guest register state that is saved outside the VMCB. */ @@ -49,6 +51,6 @@ struct svm_regctx { register_t sctx_r15; }; -void svm_launch(uint64_t pa, struct svm_regctx *); +void svm_launch(uint64_t pa, struct svm_regctx *gctx, struct pcpu *pcpu); #endif /* _SVM_H_ */ Modified: projects/clang-trunk/sys/amd64/vmm/amd/svm_genassym.c ============================================================================== --- projects/clang-trunk/sys/amd64/vmm/amd/svm_genassym.c Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/sys/amd64/vmm/amd/svm_genassym.c Tue Jun 23 18:55:08 2015 (r284737) @@ -29,6 +29,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include "svm.h" @@ -46,3 +47,4 @@ ASSYM(SCTX_R12, offsetof(struct svm_regc ASSYM(SCTX_R13, offsetof(struct svm_regctx, sctx_r13)); ASSYM(SCTX_R14, offsetof(struct svm_regctx, sctx_r14)); ASSYM(SCTX_R15, offsetof(struct svm_regctx, sctx_r15)); +ASSYM(MSR_GSBASE, MSR_GSBASE); Modified: projects/clang-trunk/sys/amd64/vmm/amd/svm_support.S ============================================================================== --- projects/clang-trunk/sys/amd64/vmm/amd/svm_support.S Tue Jun 23 18:48:41 2015 (r284736) +++ projects/clang-trunk/sys/amd64/vmm/amd/svm_support.S Tue Jun 23 18:55:08 2015 (r284737) @@ -42,13 +42,17 @@ #define VMSAVE .byte 0x0f, 0x01, 0xdb /* - * svm_launch(uint64_t vmcb, struct svm_regctx *gctx) + * svm_launch(uint64_t vmcb, struct svm_regctx *gctx, struct pcpu *pcpu) * %rdi: physical address of VMCB * %rsi: pointer to guest context + * %rdx: pointer to the pcpu data */ ENTRY(svm_launch) VENTER + /* save pointer to the pcpu data */ + push %rdx + /* * Host register state saved across a VMRUN. * @@ -116,6 +120,13 @@ ENTRY(svm_launch) pop %r12 pop %rbx *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***