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...
Dimitry Andric
dim at FreeBSD.org
Thu Feb 26 07:27:05 UTC 2015
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 ***
More information about the svn-src-projects
mailing list