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...
Dimitry Andric
dim at FreeBSD.org
Tue Jun 23 18:55:17 UTC 2015
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 <sys/param.h>
#include <sys/assym.h>
+#include <x86/specialreg.h>
#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 ***
More information about the svn-src-projects
mailing list