Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Feb 2015 07:26:57 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r279309 - in projects/clang360-import: . bin/sh contrib/binutils/bfd contrib/binutils/opcodes contrib/elftoolchain/nm contrib/groff/tmac contrib/libcxxrt etc lib lib/libc/gen lib/libc/s...
Message-ID:  <201502260726.t1Q7QvKP024265@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Thu Feb 26 07:26:56 2015
New Revision: 279309
URL: https://svnweb.freebsd.org/changeset/base/279309

Log:
  Merge ^/head r279163 through r279308.

Added:
  projects/clang360-import/lib/libmt/
     - copied from r279308, head/lib/libmt/
  projects/clang360-import/release/tools/gce-package.sh
     - copied unchanged from r279308, head/release/tools/gce-package.sh
  projects/clang360-import/sys/dev/netmap/if_ixl_netmap.h
     - copied unchanged from r279308, head/sys/dev/netmap/if_ixl_netmap.h
Modified:
  projects/clang360-import/Makefile.inc1
  projects/clang360-import/bin/sh/sh.1
  projects/clang360-import/contrib/binutils/bfd/dwarf2.c
  projects/clang360-import/contrib/binutils/opcodes/ppc-opc.c
  projects/clang360-import/contrib/elftoolchain/nm/nm.c
  projects/clang360-import/contrib/groff/tmac/doc-syms
  projects/clang360-import/contrib/libcxxrt/dwarf_eh.h
  projects/clang360-import/etc/Makefile
  projects/clang360-import/lib/Makefile
  projects/clang360-import/lib/libc/gen/setmode.3
  projects/clang360-import/lib/libc/gen/setmode.c
  projects/clang360-import/lib/libc/stdlib/random.3
  projects/clang360-import/lib/libthr/thread/thr_mutex.c
  projects/clang360-import/lib/msun/src/e_j0.c
  projects/clang360-import/lib/msun/src/e_j0f.c
  projects/clang360-import/lib/msun/src/e_j1.c
  projects/clang360-import/lib/msun/src/e_j1f.c
  projects/clang360-import/release/Makefile
  projects/clang360-import/release/Makefile.vm
  projects/clang360-import/rescue/rescue/Makefile
  projects/clang360-import/share/man/man4/mtio.4
  projects/clang360-import/share/man/man4/sa.4
  projects/clang360-import/share/man/man4/sfxge.4
  projects/clang360-import/share/man/man5/periodic.conf.5
  projects/clang360-import/share/mk/bsd.libnames.mk
  projects/clang360-import/share/mk/src.sys.mk
  projects/clang360-import/sys/amd64/vmm/intel/vmcs.c
  projects/clang360-import/sys/amd64/vmm/intel/vmx.c
  projects/clang360-import/sys/amd64/vmm/intel/vmx.h
  projects/clang360-import/sys/amd64/vmm/intel/vmx_msr.c
  projects/clang360-import/sys/arm/arm/cpufunc_asm_armv7.S
  projects/clang360-import/sys/arm/arm/gic.c
  projects/clang360-import/sys/boot/fdt/dts/mips/xlp-basic.dts
  projects/clang360-import/sys/boot/fdt/fdt_loader_cmd.c
  projects/clang360-import/sys/boot/i386/libi386/biosmem.c
  projects/clang360-import/sys/cam/scsi/scsi_all.c
  projects/clang360-import/sys/cam/scsi/scsi_all.h
  projects/clang360-import/sys/cam/scsi/scsi_sa.c
  projects/clang360-import/sys/cam/scsi/scsi_sa.h
  projects/clang360-import/sys/conf/files
  projects/clang360-import/sys/dev/bce/if_bcereg.h
  projects/clang360-import/sys/dev/cxgbe/adapter.h
  projects/clang360-import/sys/dev/cxgbe/t4_netmap.c
  projects/clang360-import/sys/dev/cxgbe/t4_sge.c
  projects/clang360-import/sys/dev/e1000/if_igb.c
  projects/clang360-import/sys/dev/ixgbe/ixgbe.c
  projects/clang360-import/sys/dev/ixl/if_ixl.c
  projects/clang360-import/sys/dev/ixl/if_ixlv.c
  projects/clang360-import/sys/dev/ixl/ixl_txrx.c
  projects/clang360-import/sys/dev/mps/mpi/mpi2.h
  projects/clang360-import/sys/dev/mps/mpi/mpi2_cnfg.h
  projects/clang360-import/sys/dev/mps/mpi/mpi2_hbd.h
  projects/clang360-import/sys/dev/mps/mpi/mpi2_history.txt
  projects/clang360-import/sys/dev/mps/mpi/mpi2_init.h
  projects/clang360-import/sys/dev/mps/mpi/mpi2_ioc.h
  projects/clang360-import/sys/dev/mps/mpi/mpi2_ra.h
  projects/clang360-import/sys/dev/mps/mpi/mpi2_raid.h
  projects/clang360-import/sys/dev/mps/mpi/mpi2_sas.h
  projects/clang360-import/sys/dev/mps/mpi/mpi2_targ.h
  projects/clang360-import/sys/dev/mps/mpi/mpi2_tool.h
  projects/clang360-import/sys/dev/mps/mpi/mpi2_type.h
  projects/clang360-import/sys/dev/mps/mps.c
  projects/clang360-import/sys/dev/mps/mps_config.c
  projects/clang360-import/sys/dev/mps/mps_ioctl.h
  projects/clang360-import/sys/dev/mps/mps_mapping.c
  projects/clang360-import/sys/dev/mps/mps_mapping.h
  projects/clang360-import/sys/dev/mps/mps_pci.c
  projects/clang360-import/sys/dev/mps/mps_sas.c
  projects/clang360-import/sys/dev/mps/mps_sas.h
  projects/clang360-import/sys/dev/mps/mps_sas_lsi.c
  projects/clang360-import/sys/dev/mps/mps_user.c
  projects/clang360-import/sys/dev/mps/mpsvar.h
  projects/clang360-import/sys/dev/netmap/netmap_freebsd.c
  projects/clang360-import/sys/dev/sfxge/common/efsys.h
  projects/clang360-import/sys/dev/sfxge/common/efx.h
  projects/clang360-import/sys/dev/sfxge/common/efx_ev.c
  projects/clang360-import/sys/dev/sfxge/common/efx_impl.h
  projects/clang360-import/sys/dev/sfxge/common/efx_regs.h
  projects/clang360-import/sys/dev/sfxge/common/efx_tx.c
  projects/clang360-import/sys/dev/sfxge/common/siena_flash.h
  projects/clang360-import/sys/dev/sfxge/common/siena_mon.c
  projects/clang360-import/sys/dev/sfxge/common/siena_nic.c
  projects/clang360-import/sys/dev/sfxge/common/siena_nvram.c
  projects/clang360-import/sys/dev/sfxge/sfxge.c
  projects/clang360-import/sys/dev/sfxge/sfxge.h
  projects/clang360-import/sys/dev/sfxge/sfxge_dma.c
  projects/clang360-import/sys/dev/sfxge/sfxge_ev.c
  projects/clang360-import/sys/dev/sfxge/sfxge_port.c
  projects/clang360-import/sys/dev/sfxge/sfxge_rx.c
  projects/clang360-import/sys/dev/sfxge/sfxge_tx.c
  projects/clang360-import/sys/dev/sfxge/sfxge_tx.h
  projects/clang360-import/sys/dev/uart/uart_dev_pl011.c
  projects/clang360-import/sys/dev/usb/controller/dwc_otg.c
  projects/clang360-import/sys/dev/usb/controller/dwc_otgreg.h
  projects/clang360-import/sys/dev/usb/controller/xhci.c
  projects/clang360-import/sys/dev/usb/usb_hub.c
  projects/clang360-import/sys/dev/xen/netfront/netfront.c
  projects/clang360-import/sys/geom/raid/md_intel.c
  projects/clang360-import/sys/geom/raid/md_jmicron.c
  projects/clang360-import/sys/geom/raid/md_nvidia.c
  projects/clang360-import/sys/geom/raid/md_promise.c
  projects/clang360-import/sys/geom/raid/md_sii.c
  projects/clang360-import/sys/kern/kern_sig.c
  projects/clang360-import/sys/kern/kern_umtx.c
  projects/clang360-import/sys/kern/subr_taskqueue.c
  projects/clang360-import/sys/kern/uipc_socket.c
  projects/clang360-import/sys/mips/nlm/hal/pic.h
  projects/clang360-import/sys/mips/nlm/interrupt.h
  projects/clang360-import/sys/mips/nlm/intr_machdep.c
  projects/clang360-import/sys/mips/nlm/xlp.h
  projects/clang360-import/sys/mips/nlm/xlp_pci.c
  projects/clang360-import/sys/modules/sfxge/Makefile
  projects/clang360-import/sys/netinet/igmp.c
  projects/clang360-import/sys/netinet/ip.h
  projects/clang360-import/sys/netinet/ip_output.c
  projects/clang360-import/sys/netipsec/ipsec.h
  projects/clang360-import/sys/netipsec/key.c
  projects/clang360-import/sys/ofed/include/linux/kernel.h
  projects/clang360-import/sys/ofed/include/linux/log2.h
  projects/clang360-import/sys/powerpc/aim/mmu_oea64.c
  projects/clang360-import/sys/powerpc/aim/mmu_oea64.h
  projects/clang360-import/sys/powerpc/aim/moea64_if.m
  projects/clang360-import/sys/powerpc/aim/moea64_native.c
  projects/clang360-import/sys/powerpc/aim/trap.c
  projects/clang360-import/sys/powerpc/aim/trap_subr64.S
  projects/clang360-import/sys/powerpc/fpu/fpu_emu.c
  projects/clang360-import/sys/powerpc/fpu/fpu_explode.c
  projects/clang360-import/sys/powerpc/include/cpu.h
  projects/clang360-import/sys/powerpc/include/pcb.h
  projects/clang360-import/sys/powerpc/include/pmap.h
  projects/clang360-import/sys/powerpc/include/psl.h
  projects/clang360-import/sys/powerpc/include/reg.h
  projects/clang360-import/sys/powerpc/include/trap.h
  projects/clang360-import/sys/powerpc/powerpc/cpu.c
  projects/clang360-import/sys/powerpc/powerpc/db_trace.c
  projects/clang360-import/sys/powerpc/powerpc/exec_machdep.c
  projects/clang360-import/sys/powerpc/powerpc/fpu.c
  projects/clang360-import/sys/powerpc/ps3/mmu_ps3.c
  projects/clang360-import/sys/powerpc/pseries/mmu_phyp.c
  projects/clang360-import/sys/powerpc/pseries/phyp_vscsi.c
  projects/clang360-import/sys/sys/mbuf.h
  projects/clang360-import/sys/sys/mtio.h
  projects/clang360-import/sys/sys/param.h
  projects/clang360-import/sys/sys/queue.h
  projects/clang360-import/sys/sys/taskqueue.h
  projects/clang360-import/sys/x86/acpica/madt.c
  projects/clang360-import/usr.bin/enigma/enigma.c
  projects/clang360-import/usr.bin/mt/Makefile
  projects/clang360-import/usr.bin/mt/mt.1
  projects/clang360-import/usr.bin/mt/mt.c
  projects/clang360-import/usr.bin/netstat/if.c
  projects/clang360-import/usr.bin/unifdef/unifdef.1
  projects/clang360-import/usr.bin/unifdef/unifdef.c
  projects/clang360-import/usr.bin/unifdef/unifdef.h
  projects/clang360-import/usr.bin/unifdef/unifdefall.sh
  projects/clang360-import/usr.sbin/bhyve/bhyve.8
  projects/clang360-import/usr.sbin/bhyve/bhyverun.c
  projects/clang360-import/usr.sbin/bhyve/pci_ahci.c
  projects/clang360-import/usr.sbin/bhyve/rtc.c
  projects/clang360-import/usr.sbin/bhyve/rtc.h
  projects/clang360-import/usr.sbin/bhyve/xmsr.c
  projects/clang360-import/usr.sbin/ctld/ctld.c
  projects/clang360-import/usr.sbin/ctld/kernel.c
  projects/clang360-import/usr.sbin/pw/tests/pw_useradd.sh
Directory Properties:
  projects/clang360-import/   (props changed)
  projects/clang360-import/contrib/binutils/   (props changed)
  projects/clang360-import/contrib/elftoolchain/   (props changed)
  projects/clang360-import/contrib/groff/   (props changed)
  projects/clang360-import/contrib/libcxxrt/   (props changed)
  projects/clang360-import/etc/   (props changed)
  projects/clang360-import/lib/libc/   (props changed)
  projects/clang360-import/share/   (props changed)
  projects/clang360-import/share/man/man4/   (props changed)
  projects/clang360-import/sys/   (props changed)
  projects/clang360-import/sys/amd64/vmm/   (props changed)
  projects/clang360-import/sys/boot/   (props changed)
  projects/clang360-import/sys/conf/   (props changed)
  projects/clang360-import/usr.sbin/bhyve/   (props changed)

Modified: projects/clang360-import/Makefile.inc1
==============================================================================
--- projects/clang360-import/Makefile.inc1	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/Makefile.inc1	Thu Feb 26 07:26:56 2015	(r279309)
@@ -1222,6 +1222,8 @@ legacy:
 #
 # bootstrap-tools: Build tools needed for compatibility
 #
+_bt=		_bootstrap-tools	
+
 .if ${MK_GAMES} != "no"
 _strfile=	games/fortune/strfile
 .endif
@@ -1245,6 +1247,8 @@ _sed=		usr.bin/sed
 .if ${BOOTSTRAPPING} < 1000002
 _m4=		lib/libohash \
 		usr.bin/m4
+
+${_bt}-usr.bin/m4: ${_bt}-lib/libohash
 .endif
 
 .if ${BOOTSTRAPPING} < 1000014
@@ -1254,6 +1258,8 @@ _crunch=	usr.sbin/crunch
 .if ${BOOTSTRAPPING} < 1000026
 _nmtree=	lib/libnetbsd \
 		usr.sbin/nmtree
+
+${_bt}-usr.sbin/nmtree: ${_bt}-lib/libnetbsd
 .endif
 
 .if ${BOOTSTRAPPING} < 1000027
@@ -1271,6 +1277,8 @@ _awk=		usr.bin/awk
 .if ${BOOTSTRAPPING} < 1001506
 _yacc=		lib/liby \
 		usr.bin/yacc
+
+${_bt}-usr.bin/yacc: ${_bt}-lib/liby
 .endif
 
 .if ${MK_BSNMP} != "no"
@@ -1285,6 +1293,9 @@ _clang_tblgen= \
 	lib/clang/libllvmtablegen \
 	usr.bin/clang/tblgen \
 	usr.bin/clang/clang-tblgen
+
+${_bt}-usr.bin/clang/clang-tblgen: ${_bt}-lib/clang/libllvmtablegen ${_bt}-lib/clang/libllvmsupport
+${_bt}-usr.bin/clang/tblgen: ${_bt}-lib/clang/libllvmtablegen ${_bt}-lib/clang/libllvmsupport
 .endif
 
 # ELF Tool Chain libraries are needed for ELF tools and dtrace tools.
@@ -1296,6 +1307,9 @@ _elftoolchain_libs= lib/libelf lib/libdw
 .if ${MK_CDDL} != "no"
 _dtrace_tools= cddl/usr.bin/sgsmsg cddl/lib/libctf cddl/usr.bin/ctfconvert \
     cddl/usr.bin/ctfmerge
+
+${_bt}-cddl/usr.bin/ctfconvert: ${_bt}-lib/libelf ${_bt}-lib/libdwarf ${_bt}-cddl/lib/libctf
+${_bt}-cddl/usr.bin/ctfmerge: ${_bt}-lib/libelf ${_bt}-lib/libdwarf ${_bt}-cddl/lib/libctf
 .endif
 .endif
 
@@ -1314,12 +1328,16 @@ _kerberos5_bootstrap_tools= \
 	kerberos5/tools/asn1_compile \
 	kerberos5/tools/slc \
 	usr.bin/compile_et
+
+${_bt}-kerberos5/tools/slc: ${_bt}-kerberos5/lib/libroken
+${_bt}-kerberos5/tools/asn1_compile: ${_bt}-kerberos5/lib/libroken
 .endif
 
+bootstrap-tools: .PHONY
+
 #	Please document (add comment) why something is in 'bootstrap-tools'.
 #	Try to bound the building of the bootstrap-tool to just the
 #	FreeBSD versions that need the tool built at this stage of the build.
-bootstrap-tools: .MAKE
 .for _tool in \
     ${_clang_tblgen} \
     ${_kerberos5_bootstrap_tools} \
@@ -1345,12 +1363,15 @@ bootstrap-tools: .MAKE
     ${_crunch} \
     ${_nmtree} \
     ${_vtfontcvt}
+${_bt}-${_tool}: .PHONY .MAKE
 	${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
 		cd ${.CURDIR}/${_tool} && \
 		${MAKE} DIRPRFX=${_tool}/ obj && \
 		${MAKE} DIRPRFX=${_tool}/ depend && \
 		${MAKE} DIRPRFX=${_tool}/ all && \
 		${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy install
+
+bootstrap-tools: ${_bt}-${_tool}
 .endfor
 
 #

Modified: projects/clang360-import/bin/sh/sh.1
==============================================================================
--- projects/clang360-import/bin/sh/sh.1	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/bin/sh/sh.1	Thu Feb 26 07:26:56 2015	(r279309)
@@ -32,7 +32,7 @@
 .\"	from: @(#)sh.1	8.6 (Berkeley) 5/4/95
 .\" $FreeBSD$
 .\"
-.Dd November 14, 2014
+.Dd February 22, 2015
 .Dt SH 1
 .Os
 .Sh NAME
@@ -1196,17 +1196,18 @@ command is implemented as a special buil
 .Ss Variables and Parameters
 The shell maintains a set of parameters.
 A parameter
-denoted by a name is called a variable.
+denoted by a name
+(consisting solely
+of alphabetics, numerics, and underscores,
+and starting with an alphabetic or an underscore)
+is called a variable.
 When starting up,
-the shell turns all the environment variables into shell
+the shell turns all environment variables with valid names into shell
 variables.
 New variables can be set using the form
 .Pp
 .D1 Ar name Ns = Ns Ar value
 .Pp
-Variables set by the user must have a name consisting solely
-of alphabetics, numerics, and underscores.
-The first letter of a variable name must not be numeric.
 A parameter can also be denoted by a number
 or a special character as explained below.
 .Pp
@@ -1369,6 +1370,10 @@ This variable overrides the
 .Va MAIL
 setting.
 There is a maximum of 10 mailboxes that can be monitored at once.
+.It Va OPTIND
+The index of the next argument to be processed by
+.Ic getopts .
+This is initialized to 1 at startup.
 .It Va PATH
 The default search path for executables.
 See the
@@ -2297,6 +2302,8 @@ If an invalid option is encountered,
 is set to
 .Ql \&? .
 It returns a false value (1) when it encounters the end of the options.
+A new set of arguments may be parsed by assigning
+.Li OPTIND=1 .
 .It Ic hash Oo Fl rv Oc Op Ar command ...
 The shell maintains a hash table which remembers the locations of commands.
 With no arguments whatsoever, the
@@ -2771,7 +2778,7 @@ This is inherited by children of the she
 editing modes.
 .El
 .Pp
-Additionally, all environment variables are turned into shell variables
+Additionally, environment variables are turned into shell variables
 at startup,
 which may affect the shell as described under
 .Sx Special Variables .

Modified: projects/clang360-import/contrib/binutils/bfd/dwarf2.c
==============================================================================
--- projects/clang360-import/contrib/binutils/bfd/dwarf2.c	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/contrib/binutils/bfd/dwarf2.c	Thu Feb 26 07:26:56 2015	(r279309)
@@ -2382,7 +2382,8 @@ find_line (bfd *abfd,
   else
     addr += section->vma;
   *filename_ptr = NULL;
-  *functionname_ptr = NULL;
+  if (!do_line)
+    *functionname_ptr = NULL;
   *linenumber_ptr = 0;
 
   if (! *pinfo)

Modified: projects/clang360-import/contrib/binutils/opcodes/ppc-opc.c
==============================================================================
--- projects/clang360-import/contrib/binutils/opcodes/ppc-opc.c	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/contrib/binutils/opcodes/ppc-opc.c	Thu Feb 26 07:26:56 2015	(r279309)
@@ -4268,6 +4268,11 @@ const struct powerpc_opcode powerpc_opco
 { "stvx",    X(31, 231), X_MASK,	PPCVEC,		{ VS, RA, RB } },
 { "stvxl",   X(31, 487), X_MASK,	PPCVEC,		{ VS, RA, RB } },
 
+/* New VSX opcodes in POWER ISA 2.06 */
+/* XXX: only enough opcodes for FreeBSD kernel, remove and replace with real info */
+{ "stxvw4x", X(31, 908), X_MASK,	PPCVEC,		{ FRS, RA0, RB } },
+{ "lxvw4x",  X(31, 780), X_MASK,	PPCVEC,		{ FRT, RA0, RB } },
+
 /* New load/store left/right index vector instructions that are in the Cell only.  */
 { "lvlx",    X(31, 519), X_MASK,	CELL,		{ VD, RA0, RB } },
 { "lvlxl",   X(31, 775), X_MASK,	CELL,		{ VD, RA0, RB } },

Modified: projects/clang360-import/contrib/elftoolchain/nm/nm.c
==============================================================================
--- projects/clang360-import/contrib/elftoolchain/nm/nm.c	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/contrib/elftoolchain/nm/nm.c	Thu Feb 26 07:26:56 2015	(r279309)
@@ -1525,7 +1525,8 @@ print_lineno(struct sym_entry *ep, struc
 	/* For function symbol, search the function line information list.  */
 	if ((ep->sym->st_info & 0xf) == STT_FUNC && func_info != NULL) {
 		SLIST_FOREACH(func, func_info, entries) {
-			if (!strcmp(ep->name, func->name) &&
+			if (func->name != NULL &&
+			    !strcmp(ep->name, func->name) &&
 			    ep->sym->st_value >= func->lowpc &&
 			    ep->sym->st_value < func->highpc) {
 				printf("\t%s:%" PRIu64, func->file, func->line);

Modified: projects/clang360-import/contrib/groff/tmac/doc-syms
==============================================================================
--- projects/clang360-import/contrib/groff/tmac/doc-syms	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/contrib/groff/tmac/doc-syms	Thu Feb 26 07:26:56 2015	(r279309)
@@ -796,6 +796,7 @@
 .ds doc-str-Lb-libmd       Message Digest (MD4, MD5, etc.) Support Library (libmd, \-lmd)
 .ds doc-str-Lb-libmemstat  Kernel Memory Allocator Statistics Library (libmemstat, \-lmemstat)
 .ds doc-str-Lb-libmenu     Curses Menu Library (libmenu, \-lmenu)
+.ds doc-str-Lb-libmt       Magnetic Tape Library (libmt, \-lmt)
 .ds doc-str-Lb-libnetgraph Netgraph User Library (libnetgraph, \-lnetgraph)
 .ds doc-str-Lb-libnetpgp   Netpgp signing, verification, encryption and decryption (libnetpgp, \-lnetpgp)
 .ds doc-str-Lb-libossaudio OSS Audio Emulation Library (libossaudio, \-lossaudio)

Modified: projects/clang360-import/contrib/libcxxrt/dwarf_eh.h
==============================================================================
--- projects/clang360-import/contrib/libcxxrt/dwarf_eh.h	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/contrib/libcxxrt/dwarf_eh.h	Thu Feb 26 07:26:56 2015	(r279309)
@@ -218,15 +218,17 @@ static int64_t read_sleb128(dw_eh_ptr_t 
 static uint64_t read_value(char encoding, dw_eh_ptr_t *data)
 {
 	enum dwarf_data_encoding type = get_encoding(encoding);
-	uint64_t v;
 	switch (type)
 	{
 		// Read fixed-length types
 #define READ(dwarf, type) \
 		case dwarf:\
-			v = static_cast<uint64_t>(*reinterpret_cast<type*>(*data));\
-			*data += sizeof(type);\
-			break;
+		{\
+			type t;\
+			memcpy(&t, *data, sizeof t);\
+			*data += sizeof t;\
+			return static_cast<uint64_t>(t);\
+		}
 		READ(DW_EH_PE_udata2, uint16_t)
 		READ(DW_EH_PE_udata4, uint32_t)
 		READ(DW_EH_PE_udata8, uint64_t)
@@ -237,15 +239,11 @@ static uint64_t read_value(char encoding
 #undef READ
 		// Read variable-length types
 		case DW_EH_PE_sleb128:
-			v = read_sleb128(data);
-			break;
+			return read_sleb128(data);
 		case DW_EH_PE_uleb128:
-			v = read_uleb128(data);
-			break;
+			return read_uleb128(data);
 		default: abort();
 	}
-
-	return v;
 }
 
 /**

Modified: projects/clang360-import/etc/Makefile
==============================================================================
--- projects/clang360-import/etc/Makefile	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/etc/Makefile	Thu Feb 26 07:26:56 2015	(r279309)
@@ -158,16 +158,13 @@ BIN1+= regdomain.xml
 # -rwxr-xr-x root:wheel, for the new cron root:wheel
 BIN2=	netstart pccard_ether rc.suspend rc.resume
 
-MTREE=	BSD.include.dist BSD.root.dist BSD.usr.dist BSD.var.dist
+MTREE=	BSD.debug.dist BSD.include.dist BSD.root.dist BSD.usr.dist BSD.var.dist
 .if ${MK_TESTS} != "no"
 MTREE+=	BSD.tests.dist
 .endif
 .if ${MK_SENDMAIL} != "no"
 MTREE+=	BSD.sendmail.dist
 .endif
-.if ${MK_DEBUG_FILES} != "no"
-MTREE+=	BSD.debug.dist
-.endif
 
 PPPCNF=	ppp.conf
 
@@ -346,10 +343,8 @@ MTREE_CMD?=	mtree
 MTREES=		mtree/BSD.root.dist		/		\
 		mtree/BSD.var.dist		/var		\
 		mtree/BSD.usr.dist		/usr		\
-		mtree/BSD.include.dist		/usr/include
-.if ${MK_DEBUG_FILES} != "no"
-MTREES+=	mtree/BSD.debug.dist		/usr/lib
-.endif
+		mtree/BSD.include.dist		/usr/include	\
+		mtree/BSD.debug.dist		/usr/lib
 .if ${MK_GROFF} != "no"
 MTREES+=	mtree/BSD.groff.dist		/usr
 .endif

Modified: projects/clang360-import/lib/Makefile
==============================================================================
--- projects/clang360-import/lib/Makefile	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/lib/Makefile	Thu Feb 26 07:26:56 2015	(r279309)
@@ -70,6 +70,7 @@ SUBDIR=	${SUBDIR_ORDERED} \
 	libmd \
 	${_libmilter} \
 	${_libmp} \
+	libmt \
 	${_libnandfs} \
 	libnetbsd \
 	${_libnetgraph} \

Modified: projects/clang360-import/lib/libc/gen/setmode.3
==============================================================================
--- projects/clang360-import/lib/libc/gen/setmode.3	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/lib/libc/gen/setmode.3	Thu Feb 26 07:26:56 2015	(r279309)
@@ -28,7 +28,7 @@
 .\"     @(#)setmode.3	8.2 (Berkeley) 4/28/95
 .\" $FreeBSD$
 .\"
-.Dd April 28, 1995
+.Dd February 22, 2015
 .Dt SETMODE 3
 .Os
 .Sh NAME
@@ -99,7 +99,20 @@ The
 function
 may fail and set errno for any of the errors specified for the library
 routine
-.Xr malloc 3 .
+.Xr malloc 3
+or
+.Xr strtol 3 .
+In addition,
+.Fn setmode
+will fail and set
+.Va errno
+to:
+.Bl -tag -width Er
+.It Bq Er EINVAL
+The
+.Fa mode
+argument does not represent a valid mode.
+.El
 .Sh SEE ALSO
 .Xr chmod 1 ,
 .Xr stat 2 ,

Modified: projects/clang360-import/lib/libc/gen/setmode.c
==============================================================================
--- projects/clang360-import/lib/libc/gen/setmode.c	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/lib/libc/gen/setmode.c	Thu Feb 26 07:26:56 2015	(r279309)
@@ -41,6 +41,8 @@ __FBSDID("$FreeBSD$");
 #include <sys/stat.h>
 
 #include <ctype.h>
+#include <errno.h>
+#include <limits.h>
 #include <signal.h>
 #include <stddef.h>
 #include <stdlib.h>
@@ -66,7 +68,7 @@ typedef struct bitcmd {
 #define	CMD2_OBITS	0x08
 #define	CMD2_UBITS	0x10
 
-static BITCMD	*addcmd(BITCMD *, int, int, int, u_int);
+static BITCMD	*addcmd(BITCMD *, mode_t, mode_t, mode_t, mode_t);
 static void	 compress_mode(BITCMD *);
 #ifdef SETMODE_DEBUG
 static void	 dumpmode(BITCMD *);
@@ -151,33 +153,32 @@ common:			if (set->cmd2 & CMD2_CLR) {
 		BITCMD *newset;						\
 		setlen += SET_LEN_INCR;					\
 		newset = realloc(saveset, sizeof(BITCMD) * setlen);	\
-		if (!newset) {						\
-			if (saveset)					\
-				free(saveset);				\
-			saveset = NULL;					\
-			return (NULL);					\
-		}							\
+		if (newset == NULL)					\
+			goto out;					\
 		set = newset + (set - saveset);				\
 		saveset = newset;					\
 		endset = newset + (setlen - 2);				\
 	}								\
-	set = addcmd(set, (a), (b), (c), (d))
+	set = addcmd(set, (mode_t)(a), (mode_t)(b), (mode_t)(c), (d))
 
 #define	STANDARD_BITS	(S_ISUID|S_ISGID|S_IRWXU|S_IRWXG|S_IRWXO)
 
 void *
 setmode(const char *p)
 {
-	int perm, who;
+	int serrno;
 	char op, *ep;
 	BITCMD *set, *saveset, *endset;
 	sigset_t sigset, sigoset;
-	mode_t mask;
-	int equalopdone=0, permXbits, setlen;
+	mode_t mask, perm, permXbits, who;
 	long perml;
+	int equalopdone;
+	int setlen;
 
-	if (!*p)
+	if (!*p) {
+		errno = EINVAL;
 		return (NULL);
+	}
 
 	/*
 	 * Get a copy of the mask for the permissions that are mask relative.
@@ -203,10 +204,17 @@ setmode(const char *p)
 	 * or illegal bits.
 	 */
 	if (isdigit((unsigned char)*p)) {
+		errno = 0;
 		perml = strtol(p, &ep, 8);
-		if (*ep || perml < 0 || perml & ~(STANDARD_BITS|S_ISTXT)) {
-			free(saveset);
-			return (NULL);
+		if (*ep) {
+			errno = EINVAL;
+			goto out;
+		}
+		if (errno == ERANGE && (perml == LONG_MAX || perml == LONG_MIN))
+			goto out;
+		if (perml & ~(STANDARD_BITS|S_ISTXT)) {
+			errno = EINVAL;
+			goto out;
 		}
 		perm = (mode_t)perml;
 		ADDCMD('=', (STANDARD_BITS|S_ISTXT), perm, mask);
@@ -218,6 +226,7 @@ setmode(const char *p)
 	 * Build list of structures to set/clear/copy bits as described by
 	 * each clause of the symbolic mode.
 	 */
+	equalopdone = 0;
 	for (;;) {
 		/* First, find out which bits might be modified. */
 		for (who = 0;; ++p) {
@@ -240,8 +249,8 @@ setmode(const char *p)
 		}
 
 getop:		if ((op = *p++) != '+' && op != '-' && op != '=') {
-			free(saveset);
-			return (NULL);
+			errno = EINVAL;
+			goto out;
 		}
 		if (op == '=')
 			equalopdone = 0;
@@ -330,10 +339,15 @@ apply:		if (!*p)
 	dumpmode(saveset);
 #endif
 	return (saveset);
+out:
+	serrno = errno;
+	free(saveset);
+	errno = serrno;
+	return NULL;
 }
 
 static BITCMD *
-addcmd(BITCMD *set, int op, int who, int oparg, u_int mask)
+addcmd(BITCMD *set, mode_t op, mode_t who, mode_t oparg, mode_t mask)
 {
 	switch (op) {
 	case '=':

Modified: projects/clang360-import/lib/libc/stdlib/random.3
==============================================================================
--- projects/clang360-import/lib/libc/stdlib/random.3	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/lib/libc/stdlib/random.3	Thu Feb 26 07:26:56 2015	(r279309)
@@ -54,9 +54,8 @@
 .Fn setstate "char *state"
 .Sh DESCRIPTION
 .Bf -symbolic
-The functions described in this manual page are not cryptographically
-secure.
-Cryptographic applications should use
+The functions described in this manual page are not secure.
+Applications which require unpredictable random numbers should use
 .Xr arc4random 3
 instead.
 .Ef

Modified: projects/clang360-import/lib/libthr/thread/thr_mutex.c
==============================================================================
--- projects/clang360-import/lib/libthr/thread/thr_mutex.c	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/lib/libthr/thread/thr_mutex.c	Thu Feb 26 07:26:56 2015	(r279309)
@@ -633,7 +633,7 @@ mutex_unlock_common(struct pthread_mutex
 {
 	struct pthread *curthread = _get_curthread();
 	uint32_t id;
-	int defered;
+	int defered, error;
 
 	if (__predict_false(m <= THR_MUTEX_DESTROYED)) {
 		if (m == THR_MUTEX_DESTROYED)
@@ -647,6 +647,7 @@ mutex_unlock_common(struct pthread_mutex
 	if (__predict_false(m->m_owner != curthread))
 		return (EPERM);
 
+	error = 0;
 	id = TID(curthread);
 	if (__predict_false(
 		PMUTEX_TYPE(m->m_flags) == PTHREAD_MUTEX_RECURSIVE &&
@@ -660,7 +661,7 @@ mutex_unlock_common(struct pthread_mutex
 			defered = 0;
 
 		DEQUEUE_MUTEX(curthread, m);
-		_thr_umutex_unlock2(&m->m_lock, id, mtx_defer);
+		error = _thr_umutex_unlock2(&m->m_lock, id, mtx_defer);
 
 		if (mtx_defer == NULL && defered)  {
 			_thr_wake_all(curthread->defer_waiters,
@@ -670,7 +671,7 @@ mutex_unlock_common(struct pthread_mutex
 	}
 	if (!cv && m->m_flags & PMUTEX_FLAG_PRIVATE)
 		THR_CRITICAL_LEAVE(curthread);
-	return (0);
+	return (error);
 }
 
 int

Modified: projects/clang360-import/lib/msun/src/e_j0.c
==============================================================================
--- projects/clang360-import/lib/msun/src/e_j0.c	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/lib/msun/src/e_j0.c	Thu Feb 26 07:26:56 2015	(r279309)
@@ -373,7 +373,7 @@ static const double qS2[6] = {
 	if(ix>=0x40200000)     {p = qR8; q= qS8;}
 	else if(ix>=0x40122E8B){p = qR5; q= qS5;}
 	else if(ix>=0x4006DB6D){p = qR3; q= qS3;}
-	else if(ix>=0x40000000){p = qR2; q= qS2;}
+	else                   {p = qR2; q= qS2;}	/* ix>=0x40000000 */
 	z = one/(x*x);
 	r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
 	s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));

Modified: projects/clang360-import/lib/msun/src/e_j0f.c
==============================================================================
--- projects/clang360-import/lib/msun/src/e_j0f.c	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/lib/msun/src/e_j0f.c	Thu Feb 26 07:26:56 2015	(r279309)
@@ -329,7 +329,7 @@ static const float qS2[6] = {
 	if(ix>=0x41000000)     {p = qR8; q= qS8;}
 	else if(ix>=0x40f71c58){p = qR5; q= qS5;}
 	else if(ix>=0x4036db68){p = qR3; q= qS3;}
-	else if(ix>=0x40000000){p = qR2; q= qS2;}
+	else                   {p = qR2; q= qS2;}	/* ix>=0x40000000 */
 	z = one/(x*x);
 	r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
 	s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));

Modified: projects/clang360-import/lib/msun/src/e_j1.c
==============================================================================
--- projects/clang360-import/lib/msun/src/e_j1.c	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/lib/msun/src/e_j1.c	Thu Feb 26 07:26:56 2015	(r279309)
@@ -368,7 +368,7 @@ static const double qs2[6] = {
 	if(ix>=0x40200000)     {p = qr8; q= qs8;}
 	else if(ix>=0x40122E8B){p = qr5; q= qs5;}
 	else if(ix>=0x4006DB6D){p = qr3; q= qs3;}
-	else if(ix>=0x40000000){p = qr2; q= qs2;}
+	else                   {p = qr2; q= qs2;}	/* ix>=0x40000000 */
 	z = one/(x*x);
 	r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
 	s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));

Modified: projects/clang360-import/lib/msun/src/e_j1f.c
==============================================================================
--- projects/clang360-import/lib/msun/src/e_j1f.c	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/lib/msun/src/e_j1f.c	Thu Feb 26 07:26:56 2015	(r279309)
@@ -325,7 +325,7 @@ static const float qs2[6] = {
 	if(ix>=0x40200000)     {p = qr8; q= qs8;}
 	else if(ix>=0x40f71c58){p = qr5; q= qs5;}
 	else if(ix>=0x4036db68){p = qr3; q= qs3;}
-	else if(ix>=0x40000000){p = qr2; q= qs2;}
+	else                   {p = qr2; q= qs2;}	/* ix>=0x40000000 */
 	z = one/(x*x);
 	r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
 	s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));

Modified: projects/clang360-import/release/Makefile
==============================================================================
--- projects/clang360-import/release/Makefile	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/release/Makefile	Thu Feb 26 07:26:56 2015	(r279309)
@@ -286,7 +286,7 @@ real-release:
 	${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj
 	${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS}
 
-install:	release-install vm-install
+install:	release-install vm-install cloudware-install
 
 release-install:
 .if defined(DESTDIR) && !empty(DESTDIR)

Modified: projects/clang360-import/release/Makefile.vm
==============================================================================
--- projects/clang360-import/release/Makefile.vm	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/release/Makefile.vm	Thu Feb 26 07:26:56 2015	(r279309)
@@ -20,24 +20,30 @@ CLOUDWARE?=	AZURE \
 		OPENSTACK
 AZURE_FORMAT=	vhdf
 AZURE_DESC=	Microsoft Azure platform image
+AZURE_DISK=	${OSRELEASE}.${AZURE_FORMAT}
 GCE_FORMAT=	raw
 GCE_DESC=	Google Compute Engine image
+GCE_DISK=	disk.${GCE_FORMAT}
 OPENSTACK_FORMAT=qcow2
 OPENSTACK_DESC=	OpenStack platform image
+OPENSTACK_DISK=	${OSRELEASE}.${OPENSTACK_FORMAT}
 
 .if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE) && !empty(CLOUDWARE)
 . for _CW in ${CLOUDWARE}
-CLOUDTARGETS+=	vm-${_CW:tl}
-CLEANDIRS+=	vm-${_CW:tl}
+CLOUDTARGETS+=	cw-${_CW:tl}
+CLEANDIRS+=	cw-${_CW:tl}
 CLEANFILES+=	${_CW:tl}.img \
 		${_CW:tl}.${${_CW:tu}_FORMAT} \
-		${_CW:tl}.${${_CW:tu}_FORMAT}.raw
+		${_CW:tl}.${${_CW:tu}_FORMAT}.raw \
+		cw${_CW:tl}-package
+CLOUDINSTALL+=	cw${_CW:tl}-install
+CLOUDPACKAGE+=	cw${_CW:tl}-package
 ${_CW:tu}IMAGE=	${_CW:tl}.${${_CW:tu}_FORMAT}
 .  if exists(${.CURDIR}/tools/${_CW:tl}.conf) && !defined(${_CW:tu}CONF)
 ${_CW:tu}CONF?=	${.CURDIR}/tools/${_CW:tl}.conf
 .  endif
 
-vm-${_CW:tl}:
+cw-${_CW:tl}:
 	mkdir -p ${.OBJDIR}/${.TARGET}
 	env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
 		${.CURDIR}/scripts/mk-vmimage.sh \
@@ -45,6 +51,26 @@ vm-${_CW:tl}:
 		-i ${.OBJDIR}/${_CW:tl}.img -s ${VMSIZE} -f ${${_CW}_FORMAT} \
 		-S ${WORLDDIR} -o ${.OBJDIR}/${${_CW}IMAGE} -c ${${_CW}CONF}
 	touch ${.TARGET}
+
+cw${_CW:tl}-install:
+	mkdir -p ${DESTDIR}/${_CW:tl}
+	cp -p ${${_CW}IMAGE} \
+		${DESTDIR}/${_CW:tl}/${${_CW}_DISK}
+	cd ${DESTDIR}/${_CW:tl} && sha256 ${${_CW}_DISK}* > \
+		${DESTDIR}/${_CW:tl}/CHECKSUM.SHA256
+	cd ${DESTDIR}/${_CW:tl} && md5 ${${_CW}_DISK}* > \
+		${DESTDIR}/${_CW:tl}/CHECKSUM.MD5
+
+cw${_CW:tl}-package:
+	@# Special target to handle packaging cloud images in the formats
+	@# specific to each hosting provider.
+.if exists(${.CURDIR}/tools/${_CW:tl}-package.sh)
+	env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
+		${.CURDIR}/tools/${_CW:tl}-package.sh \
+		-D ${DESTDIR} -I ${${_CW}_DISK} -S ${WORLDDIR}
+.endif
+	touch ${.TARGET}
+
 . endfor
 .endif
 
@@ -97,8 +123,6 @@ vm-install:
 		${DESTDIR}/vmimages/${OSRELEASE}.${FORMAT}
 . endfor
 . if defined(WITH_COMPRESSED_VMIMAGES) && !empty(WITH_COMPRESSED_VMIMAGES)
-# This is very time consuming, so defer it after the images are moved to
-# the DESTDIR.
 .  for FORMAT in ${VMFORMATS}
 	# Don't keep the originals.  There is a copy in ${.OBJDIR} if needed.
 	${XZ_CMD} ${DESTDIR}/vmimages/${OSRELEASE}.${FORMAT}
@@ -119,3 +143,8 @@ cloudware-release:
 .if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE) && !empty(CLOUDWARE)
 	${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${CLOUDTARGETS}
 .endif
+
+cloudware-install:
+.if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE) && !empty(CLOUDWARE)
+	${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${CLOUDINSTALL}
+.endif

Copied: projects/clang360-import/release/tools/gce-package.sh (from r279308, head/release/tools/gce-package.sh)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/clang360-import/release/tools/gce-package.sh	Thu Feb 26 07:26:56 2015	(r279309, copy of r279308, head/release/tools/gce-package.sh)
@@ -0,0 +1,47 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# Script to handle packaging cloud images for GCE.
+#
+# XXX:
+# This script only exists to help in automating image creation,
+# and reimplementing this is intended (in other words, this is
+# temporary).
+
+usage() {
+	echo "Usage:"
+	echo "$(basename ${0}) -D <destdir> -I <input_file> -S <src_tree>"
+	exit 1
+}
+
+main() {
+	while getopts "D:I:W:" opt; do
+		case ${opt} in
+			D)
+				DESTDIR="${OPTARG}"
+				;;
+			I)
+				INFILE="${OPTARG}"
+				;;
+			S)
+				WORLDDIR="${OPTARG}"
+				;;
+			*)
+				usage
+				;;
+		esac
+	done
+	shift $(( ${OPTIND} - 1 ))
+
+	if [ -z "${DESTDIR}" -o -z "${INFILE}" -o -z "${WORLDDIR}" ]; then
+		usage
+	fi
+
+	OUTFILE="$(make -C ${WORLDDIR}/release -V OSRELEASE).tar.gz"
+
+	cd ${DESTDIR} && tar --format=gnutar -zcf ${OUTFILE} ${INFILE}
+}
+
+main "$@"

Modified: projects/clang360-import/rescue/rescue/Makefile
==============================================================================
--- projects/clang360-import/rescue/rescue/Makefile	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/rescue/rescue/Makefile	Thu Feb 26 07:26:56 2015	(r279309)
@@ -131,7 +131,7 @@ CRUNCH_LIBS+= -lgeom -lbsdxml -lkiconv
 .if ${MK_OPENSSL} == "no"
 CRUNCH_LIBS+= -lmd
 .endif
-CRUNCH_LIBS+= -lsbuf -lufs -lz
+CRUNCH_LIBS+= -lmt -lsbuf -lufs -lz
 
 .if ${MACHINE_CPUARCH} == "i386"
 CRUNCH_PROGS_sbin+= bsdlabel sconfig fdisk

Modified: projects/clang360-import/share/man/man4/mtio.4
==============================================================================
--- projects/clang360-import/share/man/man4/mtio.4	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/share/man/man4/mtio.4	Thu Feb 26 07:26:56 2015	(r279309)
@@ -31,7 +31,7 @@
 .\"     @(#)mtio.4	8.1 (Berkeley) 6/5/93
 .\" $FreeBSD$
 .\"
-.Dd November 11, 2011
+.Dd February 12, 2015
 .Dt MTIO 4
 .Os
 .Sh NAME
@@ -40,10 +40,10 @@
 .Sh DESCRIPTION
 The special files
 named
-.Pa /dev/[n]sa*
+.Pa /dev/[en]sa*
 refer to SCSI tape drives,
 which may be attached to the system.
-.Pa /dev/[n]sa*.ctl
+.Pa /dev/sa*.ctl
 are control devices that can be used to issue ioctls to the SCSI
 tape driver to set parameters that are required to last beyond the
 unmounting of a tape.
@@ -53,16 +53,19 @@ when the last requested read, write or s
 has been reached.
 The letter
 .Ql n
-is usually prepended to
+is prepended to
 the name of the no-rewind devices.
+The letter
+.Ql e
+is prepended to the name of the eject devices.
 .Pp
 Tapes can be written with either fixed length records or variable length
 records.
 See
 .Xr sa 4
 for more information.
-Two end-of-file markers mark the end of a tape, and
-one end-of-file marker marks the end of a tape file.
+Two filemarks mark the end of a tape, and
+one filemark marks the end of a tape file.
 If the tape is not to be rewound it is positioned with the
 head in between the two tape marks, where the next write
 will over write the second end-of-file marker.
@@ -128,6 +131,8 @@ struct mtop {
 #define MTWSS		16	/* write setmark(s) */
 #define MTFSS		17	/* forward space setmark */
 #define MTBSS		18	/* backward space setmark */
+#define MTLOAD		19	/* load tape in drive */
+#define MTWEOFI		20	/* write an end-of-file record without waiting*/
 
 #define MT_COMP_ENABLE		0xffffffff
 #define MT_COMP_DISABLED	0xfffffffe
@@ -224,6 +229,112 @@ union mterrstat {
 	char _reserved_padding[256];
 };
 
+struct mtrblim {
+	uint32_t granularity;
+	uint32_t min_block_length;
+	uint32_t max_block_length;
+};
+
+typedef enum {
+	MT_LOCATE_DEST_OBJECT	= 0x00,
+	MT_LOCATE_DEST_FILE	= 0x01,
+	MT_LOCATE_DEST_SET	= 0x02,
+	MT_LOCATE_DEST_EOD	= 0x03
+} mt_locate_dest_type;
+
+typedef enum {
+	MT_LOCATE_BAM_IMPLICIT	= 0x00,
+	MT_LOCATE_BAM_EXPLICIT	= 0x01
+} mt_locate_bam;
+
+typedef enum {
+	MT_LOCATE_FLAG_IMMED		= 0x01,
+	MT_LOCATE_FLAG_CHANGE_PART	= 0x02
+} mt_locate_flags;
+
+struct mtlocate {
+	mt_locate_flags		flags;
+	mt_locate_dest_type 	dest_type;
+	mt_locate_bam		block_address_mode;
+	int64_t			partition;
+	uint64_t		logical_id;
+	uint8_t			reserved[64];
+};
+
+typedef enum {
+	MT_EXT_GET_NONE,
+	MT_EXT_GET_OK,
+	MT_EXT_GET_NEED_MORE_SPACE,
+	MT_EXT_GET_ERROR
+} mt_ext_get_status;
+
+struct mtextget {
+	uint32_t		alloc_len;
+	char			*status_xml;
+	uint32_t		fill_len;
+	mt_ext_get_status	status;
+	char			error_str[128];
+	uint8_t			reserved[64];
+};
+
+#define	MT_EXT_GET_ROOT_NAME		"mtextget"
+#define	MT_DENSITY_ROOT_NAME		"mtdensity"
+#define	MT_MEDIA_DENSITY_NAME		"media_density"
+#define	MT_DENSITY_REPORT_NAME		"density_report"
+#define	MT_MEDIUM_TYPE_REPORT_NAME	"medium_type_report"
+#define	MT_MEDIA_REPORT_NAME		"media_report"
+#define	MT_DENSITY_ENTRY_NAME		"density_entry"
+
+#define	MT_DENS_WRITE_OK		0x80
+#define	MT_DENS_DUP			0x40
+#define	MT_DENS_DEFLT			0x20
+
+
+#define	MT_PARAM_FIXED_STR_LEN	32
+union mt_param_value {
+	int64_t		value_signed;
+	uint64_t	value_unsigned;
+	char		*value_var_str;
+	char		value_fixed_str[MT_PARAM_FIXED_STR_LEN];
+	uint8_t		reserved[64];
+};
+
+typedef enum {
+	MT_PARAM_SET_NONE,
+	MT_PARAM_SET_SIGNED,
+	MT_PARAM_SET_UNSIGNED,
+	MT_PARAM_SET_VAR_STR,
+	MT_PARAM_SET_FIXED_STR
+} mt_param_set_type;
+
+typedef enum {
+	MT_PARAM_STATUS_NONE,
+	MT_PARAM_STATUS_OK,
+	MT_PARAM_STATUS_ERROR
+} mt_param_set_status;
+
+#define	MT_PARAM_VALUE_NAME_LEN	64
+struct mtparamset {
+	char			value_name[MT_PARAM_VALUE_NAME_LEN];
+	mt_param_set_type	value_type;
+	int			value_len;
+	union mt_param_value	value;
+	mt_param_set_status	status;
+	char			error_str[128];
+};
+
+#define	MT_PARAM_ROOT_NAME	"mtparamget"
+#define	MT_PROTECTION_NAME	"protection"
+
+/*
+ * Set a list of parameters.
+ */
+struct mtsetlist {
+	int num_params;
+	int param_len;
+	struct mtparamset *params;
+};
+
 /*
  * Constants for mt_type byte.  These are the same
  * for controllers compatible with the types listed.
@@ -273,6 +384,12 @@ union mterrstat {
 #define	MTIOCSETEOTMODEL	_IOW('m', 8, uint32_t)
 /* Get current EOT model */
 #define	MTIOCGETEOTMODEL	_IOR('m', 8, uint32_t)
+#define	MTIOCRBLIM	_IOR('m', 9, struct mtrblim)    /* get block limits */
+#define	MTIOCEXTLOCATE	_IOW('m', 10, struct mtlocate)  /* seek to position */
+#define	MTIOCEXTGET	_IOWR('m', 11, struct mtextget) /* get tape status */
+#define	MTIOCPARAMGET	_IOWR('m', 12, struct mtextget) /* get tape params */
+#define	MTIOCPARAMSET	_IOWR('m', 13, struct mtparamset) /* set tape params */
+#define	MTIOCSETLIST	_IOWR('m', 14, struct mtsetlist) /* set N params */
 
 #ifndef _KERNEL
 #define	DEFTAPE	"/dev/nsa0"
@@ -281,13 +398,12 @@ union mterrstat {
 #endif /* !_SYS_MTIO_H_ */
 .Ed
 .Sh FILES
-.Bl -tag -width /dev/[n]sa* -compact
-.It Pa /dev/[n]sa*
+.Bl -tag -width /dev/[en]sa* -compact
+.It Pa /dev/[en]sa*
 .El
 .Sh SEE ALSO
 .Xr mt 1 ,
 .Xr tar 1 ,
-.Xr ast 4 ,
 .Xr sa 4
 .Sh HISTORY
 The
@@ -296,8 +412,3 @@ manual appeared in
 .Bx 4.2 .
 An i386 version first appeared in
 .Fx 2.2 .
-.Sh BUGS
-The status should be returned in a device independent format.
-.Pp
-The special file naming should be redone in a more consistent and
-understandable manner.

Modified: projects/clang360-import/share/man/man4/sa.4
==============================================================================
--- projects/clang360-import/share/man/man4/sa.4	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/share/man/man4/sa.4	Thu Feb 26 07:26:56 2015	(r279309)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 23, 2013
+.Dd February 12, 2015
 .Dt SA 4
 .Os
 .Sh NAME
@@ -285,10 +285,10 @@ device driver written and ported from
 by
 .An Julian Elischer .
 .Pp
-The current owner of record is
-.An Matthew Jacob
-who has suffered too many
-years of breaking tape drivers.
+The owner of record for many years was
+.An Matthew Jacob .
+The current maintainer is
+.An Kenneth Merry
 .Sh BUGS
 This driver lacks many of the hacks required to deal with older devices.
 Many older
@@ -305,7 +305,5 @@ for your device in order to read tapes w
 .Fx
 2.X.
 .Pp
-Fine grained density and compression mode support that is bound to specific
-device names needs to be added.
-.Pp
-Support for fast indexing by use of partitions is missing.
+Partitions are only supported for status information and location.
+It would be nice to add support for creating and editing tape partitions.

Modified: projects/clang360-import/share/man/man4/sfxge.4
==============================================================================
--- projects/clang360-import/share/man/man4/sfxge.4	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/share/man/man4/sfxge.4	Thu Feb 26 07:26:56 2015	(r279309)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd September 30, 2014
+.Dd February 22, 2015
 .Dt SFXGE 4
 .Os
 .Sh NAME
@@ -103,7 +103,7 @@ The value must be greater than 0.
 The maximum number of non-TCP packets in the deferred packet
 .Dq get-list
 , used only if the transmit queue lock can be acquired.
-If packet is dropped, the
+If a packet is dropped, the
 .Va tx_get_non_tcp_overflow
 counter is incremented and the local sender receives ENOBUFS.
 The value must be greater than 0.

Modified: projects/clang360-import/share/man/man5/periodic.conf.5
==============================================================================
--- projects/clang360-import/share/man/man5/periodic.conf.5	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/share/man/man5/periodic.conf.5	Thu Feb 26 07:26:56 2015	(r279309)
@@ -591,15 +591,15 @@ This would usually be set to
 .It Va weekly_status_security_enable
 .Pq Vt bool
 Weekly counterpart of
-.Va daily_status_securiy_enable .
+.Va daily_status_security_enable .
 .It Va weekly_status_security_inline
 .Pq Vt bool
 Weekly counterpart of
-.Va daily_status_securiy_inline .
+.Va daily_status_security_inline .
 .It Va weekly_status_security_output
 .Pq Vt str
 Weekly counterpart of
-.Va daily_status_securiy_output .
+.Va daily_status_security_output .
 .It Va weekly_status_pkg_enable
 .Pq Vt bool
 Set to
@@ -670,15 +670,15 @@ command.
 .It Va monthly_status_security_enable
 .Pq Vt bool
 Monthly counterpart of
-.Va daily_status_securiy_enable .
+.Va daily_status_security_enable .
 .It Va monthly_status_security_inline
 .Pq Vt bool
 Monthly counterpart of
-.Va daily_status_securiy_inline .
+.Va daily_status_security_inline .
 .It Va monthly_status_security_output
 .Pq Vt str
 Monthly counterpart of
-.Va daily_status_securiy_output .
+.Va daily_status_security_output .
 .It Va monthly_local
 .Pq Vt str
 Set to a list of extra scripts that should be run after all other

Modified: projects/clang360-import/share/mk/bsd.libnames.mk
==============================================================================
--- projects/clang360-import/share/mk/bsd.libnames.mk	Thu Feb 26 07:23:52 2015	(r279308)
+++ projects/clang360-import/share/mk/bsd.libnames.mk	Thu Feb 26 07:26:56 2015	(r279309)
@@ -85,6 +85,7 @@ LIBMEMSTAT?=	${DESTDIR}${LIBDIR}/libmems
 LIBMENU?=	${DESTDIR}${LIBDIR}/libmenu.a
 LIBMILTER?=	${DESTDIR}${LIBDIR}/libmilter.a

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201502260726.t1Q7QvKP024265>