Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Feb 2015 07:35:28 +0000 (UTC)
From:      Garrett Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r279200 - in projects/building-blocks: . bin/pkill/tests bin/sh contrib/binutils/opcodes contrib/ipfilter contrib/llvm/lib/Transforms/Scalar contrib/llvm/patches contrib/netbsd-tests/li...
Message-ID:  <201502230735.t1N7ZSeT055158@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Mon Feb 23 07:35:27 2015
New Revision: 279200
URL: https://svnweb.freebsd.org/changeset/base/279200

Log:
  MFhead @ r279199

Added:
  projects/building-blocks/contrib/llvm/patches/patch-32-llvm-r230058-indirectbrs-assert.diff
     - copied unchanged from r279199, head/contrib/llvm/patches/patch-32-llvm-r230058-indirectbrs-assert.diff
  projects/building-blocks/share/man/man4/man4.powerpc/llan.4
     - copied unchanged from r279199, head/share/man/man4/man4.powerpc/llan.4
  projects/building-blocks/sys/dev/ofw/ofw_cpu.h
     - copied unchanged from r279199, head/sys/dev/ofw/ofw_cpu.h
Deleted:
  projects/building-blocks/games/bcd/
  projects/building-blocks/games/ppt/
Modified:
  projects/building-blocks/Makefile.inc1
  projects/building-blocks/ObsoleteFiles.inc
  projects/building-blocks/UPDATING
  projects/building-blocks/bin/pkill/tests/pgrep-j_test.sh
  projects/building-blocks/bin/pkill/tests/pkill-j_test.sh
  projects/building-blocks/bin/sh/sh.1
  projects/building-blocks/contrib/binutils/opcodes/ppc-opc.c
  projects/building-blocks/contrib/ipfilter/ip_fil.c
  projects/building-blocks/contrib/ipfilter/ipf.h
  projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp
  projects/building-blocks/contrib/netbsd-tests/lib/libc/gen/t_nice.c
  projects/building-blocks/etc/netstart
  projects/building-blocks/games/Makefile
  projects/building-blocks/lib/libc/db/man/dbm.3
  projects/building-blocks/lib/libc/gen/getgrent.c
  projects/building-blocks/lib/libc/gen/getpwent.c
  projects/building-blocks/lib/libc/gen/nice.3
  projects/building-blocks/lib/libc/gen/nice.c
  projects/building-blocks/lib/libc/gen/setmode.3
  projects/building-blocks/lib/libc/gen/setmode.c
  projects/building-blocks/lib/libc/regex/engine.c
  projects/building-blocks/lib/libc/regex/regcomp.c
  projects/building-blocks/lib/msun/src/e_j0.c
  projects/building-blocks/lib/msun/src/e_j0f.c
  projects/building-blocks/lib/msun/src/e_j1.c
  projects/building-blocks/lib/msun/src/e_j1f.c
  projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml
  projects/building-blocks/release/release.conf.sample
  projects/building-blocks/release/release.sh
  projects/building-blocks/share/man/man4/Makefile
  projects/building-blocks/share/man/man4/man4.arm/devcfg.4
  projects/building-blocks/share/man/man4/man4.i386/apm.4
  projects/building-blocks/share/man/man4/man4.powerpc/Makefile
  projects/building-blocks/share/man/man4/man4.powerpc/tsec.4
  projects/building-blocks/share/man/man4/sfxge.4
  projects/building-blocks/share/man/man5/periodic.conf.5
  projects/building-blocks/share/man/man5/rc.conf.5
  projects/building-blocks/share/man/man7/release.7
  projects/building-blocks/share/man/man9/microuptime.9
  projects/building-blocks/share/misc/committers-doc.dot
  projects/building-blocks/share/mk/bsd.sys.mk
  projects/building-blocks/sys/arm/arm/db_trace.c
  projects/building-blocks/sys/arm/arm/unwind.c
  projects/building-blocks/sys/arm/broadcom/bcm2835/bcm2835_mbox.c
  projects/building-blocks/sys/arm/include/atomic.h
  projects/building-blocks/sys/arm/include/stack.h
  projects/building-blocks/sys/boot/efi/include/amd64/efibind.h
  projects/building-blocks/sys/boot/efi/include/efidef.h
  projects/building-blocks/sys/boot/efi/include/i386/efibind.h
  projects/building-blocks/sys/cddl/dev/dtrace/arm/dtrace_isa.c
  projects/building-blocks/sys/conf/NOTES
  projects/building-blocks/sys/conf/files.arm
  projects/building-blocks/sys/conf/kmod.mk
  projects/building-blocks/sys/dev/cxgbe/t4_sge.c
  projects/building-blocks/sys/dev/ixl/i40e_adminq.c
  projects/building-blocks/sys/dev/ixl/i40e_adminq_cmd.h
  projects/building-blocks/sys/dev/ixl/i40e_common.c
  projects/building-blocks/sys/dev/ixl/i40e_lan_hmc.c
  projects/building-blocks/sys/dev/ixl/i40e_prototype.h
  projects/building-blocks/sys/dev/ixl/i40e_type.h
  projects/building-blocks/sys/dev/ixl/if_ixl.c
  projects/building-blocks/sys/dev/ixl/if_ixlv.c
  projects/building-blocks/sys/dev/ixl/ixl.h
  projects/building-blocks/sys/dev/ixl/ixl_pf.h
  projects/building-blocks/sys/dev/ixl/ixl_txrx.c
  projects/building-blocks/sys/dev/ixl/ixlvc.c
  projects/building-blocks/sys/dev/netmap/netmap_freebsd.c
  projects/building-blocks/sys/dev/ofw/ofw_cpu.c
  projects/building-blocks/sys/dev/sfxge/common/efsys.h
  projects/building-blocks/sys/dev/sfxge/common/efx.h
  projects/building-blocks/sys/dev/sfxge/common/efx_ev.c
  projects/building-blocks/sys/dev/sfxge/common/efx_filter.c
  projects/building-blocks/sys/dev/sfxge/common/efx_impl.h
  projects/building-blocks/sys/dev/sfxge/common/efx_mcdi.c
  projects/building-blocks/sys/dev/sfxge/common/efx_mcdi.h
  projects/building-blocks/sys/dev/sfxge/common/efx_mon.c
  projects/building-blocks/sys/dev/sfxge/common/efx_nic.c
  projects/building-blocks/sys/dev/sfxge/common/efx_phy.c
  projects/building-blocks/sys/dev/sfxge/common/efx_regs.h
  projects/building-blocks/sys/dev/sfxge/common/efx_regs_ef10.h
  projects/building-blocks/sys/dev/sfxge/common/efx_regs_mcdi.h
  projects/building-blocks/sys/dev/sfxge/common/efx_tx.c
  projects/building-blocks/sys/dev/sfxge/common/siena_flash.h
  projects/building-blocks/sys/dev/sfxge/common/siena_mac.c
  projects/building-blocks/sys/dev/sfxge/common/siena_mon.c
  projects/building-blocks/sys/dev/sfxge/common/siena_nic.c
  projects/building-blocks/sys/dev/sfxge/common/siena_nvram.c
  projects/building-blocks/sys/dev/sfxge/common/siena_sram.c
  projects/building-blocks/sys/dev/sfxge/sfxge.c
  projects/building-blocks/sys/dev/sfxge/sfxge.h
  projects/building-blocks/sys/dev/sfxge/sfxge_dma.c
  projects/building-blocks/sys/dev/sfxge/sfxge_ev.c
  projects/building-blocks/sys/dev/sfxge/sfxge_port.c
  projects/building-blocks/sys/dev/sfxge/sfxge_rx.c
  projects/building-blocks/sys/dev/sfxge/sfxge_tx.c
  projects/building-blocks/sys/dev/sfxge/sfxge_tx.h
  projects/building-blocks/sys/kern/kern_ctf.c
  projects/building-blocks/sys/kern/link_elf.c
  projects/building-blocks/sys/modules/sfxge/Makefile
  projects/building-blocks/sys/net/if_var.h
  projects/building-blocks/sys/net/if_vlan.c
  projects/building-blocks/sys/netinet/igmp.c
  projects/building-blocks/sys/netinet/igmp_var.h
  projects/building-blocks/sys/netinet/in_mcast.c
  projects/building-blocks/sys/netinet/in_var.h
  projects/building-blocks/sys/netinet6/in6_var.h
  projects/building-blocks/sys/netinet6/mld6.c
  projects/building-blocks/sys/netinet6/mld6_var.h
  projects/building-blocks/sys/ofed/drivers/infiniband/core/cma.c
  projects/building-blocks/sys/powerpc/aim/trap.c
  projects/building-blocks/sys/powerpc/aim/trap_subr64.S
  projects/building-blocks/sys/powerpc/fpu/fpu_emu.c
  projects/building-blocks/sys/powerpc/fpu/fpu_explode.c
  projects/building-blocks/sys/powerpc/include/cpu.h
  projects/building-blocks/sys/powerpc/include/pcb.h
  projects/building-blocks/sys/powerpc/include/psl.h
  projects/building-blocks/sys/powerpc/include/reg.h
  projects/building-blocks/sys/powerpc/include/trap.h
  projects/building-blocks/sys/powerpc/powermac/powermac_thermal.c
  projects/building-blocks/sys/powerpc/powerpc/cpu.c
  projects/building-blocks/sys/powerpc/powerpc/db_trace.c
  projects/building-blocks/sys/powerpc/powerpc/exec_machdep.c
  projects/building-blocks/sys/powerpc/powerpc/fpu.c
  projects/building-blocks/sys/powerpc/ps3/ps3_syscons.c
  projects/building-blocks/sys/sys/cpu.h
  projects/building-blocks/sys/x86/acpica/acpi_wakeup.c
  projects/building-blocks/sys/x86/iommu/busdma_dmar.c
  projects/building-blocks/tools/build/mk/OptionalObsoleteFiles.inc
  projects/building-blocks/usr.bin/mkimg/Makefile
  projects/building-blocks/usr.bin/mkimg/mkimg.1
  projects/building-blocks/usr.bin/mkimg/mkimg.c
  projects/building-blocks/usr.bin/mkimg/scheme.c
  projects/building-blocks/usr.bin/netstat/Makefile
  projects/building-blocks/usr.bin/netstat/bpf.c
  projects/building-blocks/usr.bin/netstat/flowtable.c
  projects/building-blocks/usr.bin/netstat/if.c
  projects/building-blocks/usr.bin/netstat/inet.c
  projects/building-blocks/usr.bin/netstat/inet6.c
  projects/building-blocks/usr.bin/netstat/ipsec.c
  projects/building-blocks/usr.bin/netstat/main.c
  projects/building-blocks/usr.bin/netstat/mbuf.c
  projects/building-blocks/usr.bin/netstat/mroute.c
  projects/building-blocks/usr.bin/netstat/mroute6.c
  projects/building-blocks/usr.bin/netstat/netgraph.c
  projects/building-blocks/usr.bin/netstat/netisr.c
  projects/building-blocks/usr.bin/netstat/netstat.1
  projects/building-blocks/usr.bin/netstat/netstat.h
  projects/building-blocks/usr.bin/netstat/pfkey.c
  projects/building-blocks/usr.bin/netstat/route.c
  projects/building-blocks/usr.bin/netstat/sctp.c
  projects/building-blocks/usr.bin/netstat/unix.c
  projects/building-blocks/usr.sbin/Makefile
  projects/building-blocks/usr.sbin/ifmcstat/Makefile
  projects/building-blocks/usr.sbin/ifmcstat/ifmcstat.c
  projects/building-blocks/usr.sbin/jls/jls.8
  projects/building-blocks/usr.sbin/jls/jls.c
  projects/building-blocks/usr.sbin/pmccontrol/pmccontrol.c
  projects/building-blocks/usr.sbin/syslogd/syslogd.c
Directory Properties:
  projects/building-blocks/   (props changed)
  projects/building-blocks/contrib/binutils/   (props changed)
  projects/building-blocks/contrib/ipfilter/   (props changed)
  projects/building-blocks/contrib/llvm/   (props changed)
  projects/building-blocks/etc/   (props changed)
  projects/building-blocks/lib/libc/   (props changed)
  projects/building-blocks/share/   (props changed)
  projects/building-blocks/share/man/man4/   (props changed)
  projects/building-blocks/sys/   (props changed)
  projects/building-blocks/sys/boot/   (props changed)
  projects/building-blocks/sys/conf/   (props changed)
  projects/building-blocks/usr.bin/mkimg/   (props changed)

Modified: projects/building-blocks/Makefile.inc1
==============================================================================
--- projects/building-blocks/Makefile.inc1	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/Makefile.inc1	Mon Feb 23 07:35:27 2015	(r279200)
@@ -1312,6 +1312,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
 

Modified: projects/building-blocks/ObsoleteFiles.inc
==============================================================================
--- projects/building-blocks/ObsoleteFiles.inc	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/ObsoleteFiles.inc	Mon Feb 23 07:35:27 2015	(r279200)
@@ -38,6 +38,11 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20150222: Removed bcd(6) and ppt(6)
+OLD_FILES+=usr/bin/bcd
+OLD_FILES+=usr/bin/ppt
+OLD_FILES+=usr/share/man/man6/bcd.6.gz
+OLD_FILES+=usr/share/man/man6/ppt.6.gz
 # 20150217: Removed remnants of ar(4) driver
 OLD_FILES+=usr/include/sys/dev/ic/hd64570.h
 # 20150212: /usr/games moving into /usr/bin

Modified: projects/building-blocks/UPDATING
==============================================================================
--- projects/building-blocks/UPDATING	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/UPDATING	Mon Feb 23 07:35:27 2015	(r279200)
@@ -36,7 +36,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	but before r278950, the RNG was not seeded properly.  Immediately
 	upgrade the kernel to r278950 or later and regenerate any keys (e.g.
 	ssh keys or openssl keys) that were generated w/ a kernel from that
-	range.  This does not effect programs that directly used /dev/random
+	range.  This does not affect programs that directly used /dev/random
 	or /dev/urandom.  All userland uses of arc4random(3) are affected.
 
 20150210:

Modified: projects/building-blocks/bin/pkill/tests/pgrep-j_test.sh
==============================================================================
--- projects/building-blocks/bin/pkill/tests/pgrep-j_test.sh	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/bin/pkill/tests/pgrep-j_test.sh	Mon Feb 23 07:35:27 2015	(r279200)
@@ -4,7 +4,7 @@
 jail_name_to_jid()
 {
 	local check_name="$1"
-	jls -j "$check_name" -s 2>/dev/null | tr ' ' '\n' | grep jid= | sed -e 's/.*=//g'
+	jls -j "$check_name" -s | tr ' ' '\n' | grep jid= | sed -e 's/.*=//g'
 }
 
 base=pgrep_j_test
@@ -38,6 +38,7 @@ for i in `seq 1 10`; do
 	esac
 	sleep 0.1
 done
+sleep 0.5
 
 pid1="$(pgrep -f -x -j "$jid" "$sleep $sleep_amount" | sort)"
 pid2=$(printf "%s\n%s" "$(cat ${PWD}/${base}_1_1.pid)" \

Modified: projects/building-blocks/bin/pkill/tests/pkill-j_test.sh
==============================================================================
--- projects/building-blocks/bin/pkill/tests/pkill-j_test.sh	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/bin/pkill/tests/pkill-j_test.sh	Mon Feb 23 07:35:27 2015	(r279200)
@@ -4,7 +4,7 @@
 jail_name_to_jid()
 {
 	local check_name="$1"
-	jls -j "$check_name" -s 2>/dev/null | tr ' ' '\n' | grep jid= | sed -e 's/.*=//g'
+	jls -j "$check_name" -s | tr ' ' '\n' | grep jid= | sed -e 's/.*=//g'
 }
 
 base=pkill_j_test
@@ -40,6 +40,7 @@ for i in `seq 1 10`; do
 	esac
 	sleep 0.1
 done
+sleep 0.5
 
 if pkill -f -j "$jid" $sleep && sleep 0.5 &&
     ! -f ${PWD}/${base}_1_1.pid &&

Modified: projects/building-blocks/bin/sh/sh.1
==============================================================================
--- projects/building-blocks/bin/sh/sh.1	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/bin/sh/sh.1	Mon Feb 23 07:35:27 2015	(r279200)
@@ -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/building-blocks/contrib/binutils/opcodes/ppc-opc.c
==============================================================================
--- projects/building-blocks/contrib/binutils/opcodes/ppc-opc.c	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/contrib/binutils/opcodes/ppc-opc.c	Mon Feb 23 07:35:27 2015	(r279200)
@@ -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/building-blocks/contrib/ipfilter/ip_fil.c
==============================================================================
--- projects/building-blocks/contrib/ipfilter/ip_fil.c	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/contrib/ipfilter/ip_fil.c	Mon Feb 23 07:35:27 2015	(r279200)
@@ -44,6 +44,9 @@ static int	write_output __P((struct ifne
 # endif
 #endif
 
+struct ifaddr {
+	struct sockaddr_storage ifa_addr;
+};
 
 int
 ipfattach(softc)

Modified: projects/building-blocks/contrib/ipfilter/ipf.h
==============================================================================
--- projects/building-blocks/contrib/ipfilter/ipf.h	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/contrib/ipfilter/ipf.h	Mon Feb 23 07:35:27 2015	(r279200)
@@ -43,9 +43,6 @@ struct file;
 #include <sys/socket.h>
 #include <net/if.h>
 
-#define	_WANT_IFADDR
-#include <net/if_var.h>
-
 #include <netinet/in.h>
 #include <netinet/in_systm.h>
 #include <netinet/ip.h>

Modified: projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp
==============================================================================
--- projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp	Mon Feb 23 07:35:27 2015	(r279200)
@@ -498,6 +498,8 @@ bool LoopRotate::rotateLoop(Loop *L, boo
       Loop *PredLoop = LI->getLoopFor(*PI);
       if (!PredLoop || PredLoop->contains(Exit))
         continue;
+      if (isa<IndirectBrInst>((*PI)->getTerminator()))
+        continue;
       SplitLatchEdge |= L->getLoopLatch() == *PI;
       BasicBlock *ExitSplit = SplitCriticalEdge(*PI, Exit, this);
       ExitSplit->moveBefore(Exit);

Copied: projects/building-blocks/contrib/llvm/patches/patch-32-llvm-r230058-indirectbrs-assert.diff (from r279199, head/contrib/llvm/patches/patch-32-llvm-r230058-indirectbrs-assert.diff)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/building-blocks/contrib/llvm/patches/patch-32-llvm-r230058-indirectbrs-assert.diff	Mon Feb 23 07:35:27 2015	(r279200, copy of r279199, head/contrib/llvm/patches/patch-32-llvm-r230058-indirectbrs-assert.diff)
@@ -0,0 +1,55 @@
+Pull in r230058 from upstream llvm trunk (by Benjamin Kramer):
+
+  LoopRotate: When reconstructing loop simplify form don't split edges
+  from indirectbrs.
+
+  Yet another chapter in the endless story. While this looks like we
+  leave the loop in a non-canonical state this replicates the logic in
+  LoopSimplify so it doesn't diverge from the canonical form in any way.
+
+  PR21968
+
+This fixes a "Cannot split critical edge from IndirectBrInst" assertion
+failure when building the devel/radare2 port.
+
+Introduced here: https://svnweb.freebsd.org/changeset/base/279161
+
+Index: lib/Transforms/Scalar/LoopRotation.cpp
+===================================================================
+--- lib/Transforms/Scalar/LoopRotation.cpp
++++ lib/Transforms/Scalar/LoopRotation.cpp
+@@ -498,6 +498,8 @@ bool LoopRotate::rotateLoop(Loop *L, bool Simplifi
+       Loop *PredLoop = LI->getLoopFor(*PI);
+       if (!PredLoop || PredLoop->contains(Exit))
+         continue;
++      if (isa<IndirectBrInst>((*PI)->getTerminator()))
++        continue;
+       SplitLatchEdge |= L->getLoopLatch() == *PI;
+       BasicBlock *ExitSplit = SplitCriticalEdge(*PI, Exit, this);
+       ExitSplit->moveBefore(Exit);
+Index: test/Transforms/LoopRotate/crash.ll
+===================================================================
+--- test/Transforms/LoopRotate/crash.ll
++++ test/Transforms/LoopRotate/crash.ll
+@@ -153,3 +153,21 @@ entry:
+ "5":                                              ; preds = %"3", %entry
+   ret void
+ }
++
++; PR21968
++define void @test8(i1 %C, i8* %P) #0 {
++entry:
++  br label %for.cond
++
++for.cond:                                         ; preds = %for.inc, %entry
++  br i1 %C, label %l_bad, label %for.body
++
++for.body:                                         ; preds = %for.cond
++  indirectbr i8* %P, [label %for.inc, label %l_bad]
++
++for.inc:                                          ; preds = %for.body
++  br label %for.cond
++
++l_bad:                                            ; preds = %for.body, %for.cond
++  ret void
++}

Modified: projects/building-blocks/contrib/netbsd-tests/lib/libc/gen/t_nice.c
==============================================================================
--- projects/building-blocks/contrib/netbsd-tests/lib/libc/gen/t_nice.c	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/contrib/netbsd-tests/lib/libc/gen/t_nice.c	Mon Feb 23 07:35:27 2015	(r279200)
@@ -72,11 +72,6 @@ ATF_TC_BODY(nice_err, tc)
 {
 	int i;
 
-#ifdef __FreeBSD__
-	atf_tc_expect_fail("nice(incr) with incr < 0 fails with unprivileged "
-	   "users and sets errno == EPERM; see PR # 189821 for more details");
-#endif
-
 	/*
 	 * The call should fail with EPERM if the
 	 * supplied parameter is negative and the
@@ -98,11 +93,7 @@ ATF_TC_HEAD(nice_priority, tc)
 
 ATF_TC_BODY(nice_priority, tc)
 {
-#ifdef __FreeBSD__
-	int i, pri, pri2, nic;
-#else
 	int i, pri, nic;
-#endif
 	pid_t pid;
 	int sta;
 
@@ -115,10 +106,8 @@ ATF_TC_BODY(nice_priority, tc)
 		pri = getpriority(PRIO_PROCESS, 0);
 		ATF_REQUIRE(errno == 0);
 
-#ifdef __NetBSD__
 		if (nic != pri)
 			atf_tc_fail("nice(3) and getpriority(2) conflict");
-#endif
 
 		/*
 		 * Also verify that the nice(3) values
@@ -130,18 +119,10 @@ ATF_TC_BODY(nice_priority, tc)
 		if (pid == 0) {
 
 			errno = 0;
-#ifdef __FreeBSD__
 			pri = getpriority(PRIO_PROCESS, 0);
-#else
-			pri2 = getpriority(PRIO_PROCESS, 0);
-#endif
 			ATF_REQUIRE(errno == 0);
 
-#ifdef __FreeBSD__
-			if (pri != pri2)
-#else
 			if (nic != pri)
-#endif
 				_exit(EXIT_FAILURE);
 
 			_exit(EXIT_SUCCESS);
@@ -180,11 +161,7 @@ ATF_TC_HEAD(nice_thread, tc)
 ATF_TC_BODY(nice_thread, tc)
 {
 	pthread_t tid[5];
-#ifdef __FreeBSD__
-	int pri, rv, val;
-#else
 	int rv, val;
-#endif
 	size_t i;
 
 	/*
@@ -196,12 +173,7 @@ ATF_TC_BODY(nice_thread, tc)
 		val = nice(i);
 		ATF_REQUIRE(val != -1);
 
-#ifdef __FreeBSD__
-		pri = getpriority(PRIO_PROCESS, 0);
-		rv = pthread_create(&tid[i], NULL, threadfunc, &pri);
-#else
 		rv = pthread_create(&tid[i], NULL, threadfunc, &val);
-#endif
 		ATF_REQUIRE(rv == 0);
 
 		rv = pthread_join(tid[i], NULL);

Modified: projects/building-blocks/etc/netstart
==============================================================================
--- projects/building-blocks/etc/netstart	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/etc/netstart	Mon Feb 23 07:35:27 2015	(r279200)
@@ -57,7 +57,6 @@ _start=quietstart
 /etc/rc.d/routing ${_start}
 /etc/rc.d/mroute6d ${_start}
 /etc/rc.d/route6d ${_start}
-/etc/rc.d/mrouted ${_start}
 /etc/rc.d/routed ${_start}
 /etc/rc.d/rtsold ${_start}
 /etc/rc.d/nisdomain ${_start}

Modified: projects/building-blocks/games/Makefile
==============================================================================
--- projects/building-blocks/games/Makefile	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/games/Makefile	Mon Feb 23 07:35:27 2015	(r279200)
@@ -3,7 +3,6 @@
 .include <src.opts.mk>
 
 SUBDIR= \
-	bcd \
 	caesar \
 	factor \
 	fortune \
@@ -11,7 +10,6 @@ SUBDIR= \
 	morse \
 	number \
 	pom \
-	ppt \
 	primes \
 	random \
 	${_tests}

Modified: projects/building-blocks/lib/libc/db/man/dbm.3
==============================================================================
--- projects/building-blocks/lib/libc/db/man/dbm.3	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/lib/libc/db/man/dbm.3	Mon Feb 23 07:35:27 2015	(r279200)
@@ -15,7 +15,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd April 16, 2006
+.Dd February 19, 2015
 .Dt DBM 3
 .Os
 .Sh NAME
@@ -174,9 +174,7 @@ deletes the entry for
 The
 .Fn dbm_delete
 function
-normally returns zero but returns 1 if there was no entry with
-.Fa key
-in the database or returns -1 and sets
+normally returns zero or returns -1 and sets
 .Va errno
 if there were any errors.
 .Pp

Modified: projects/building-blocks/lib/libc/gen/getgrent.c
==============================================================================
--- projects/building-blocks/lib/libc/gen/getgrent.c	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/lib/libc/gen/getgrent.c	Mon Feb 23 07:35:27 2015	(r279200)
@@ -1173,8 +1173,10 @@ nis_group(void *retval, void *mdata, va_
 		 * terminator, alignment padding, and one (char *)
 		 * pointer for the member list terminator.
 		 */
-		if (resultlen >= bufsize - _ALIGNBYTES - sizeof(char *))
+		if (resultlen >= bufsize - _ALIGNBYTES - sizeof(char *)) {
+			free(result);
 			goto erange;
+		}
 		memcpy(buffer, result, resultlen);
 		buffer[resultlen] = '\0';
 		free(result);

Modified: projects/building-blocks/lib/libc/gen/getpwent.c
==============================================================================
--- projects/building-blocks/lib/libc/gen/getpwent.c	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/lib/libc/gen/getpwent.c	Mon Feb 23 07:35:27 2015	(r279200)
@@ -1392,8 +1392,10 @@ nis_passwd(void *retval, void *mdata, va
 				continue;
 			}
 		}
-		if (resultlen >= bufsize)
+		if (resultlen >= bufsize) {
+			free(result);
 			goto erange;
+		}
 		memcpy(buffer, result, resultlen);
 		buffer[resultlen] = '\0';
 		free(result);

Modified: projects/building-blocks/lib/libc/gen/nice.3
==============================================================================
--- projects/building-blocks/lib/libc/gen/nice.3	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/lib/libc/gen/nice.3	Mon Feb 23 07:35:27 2015	(r279200)
@@ -28,7 +28,7 @@
 .\"     @(#)nice.3	8.1 (Berkeley) 6/4/93
 .\" $FreeBSD$
 .\"
-.Dd June 4, 1993
+.Dd February 22, 2015
 .Dt NICE 3
 .Os
 .Sh NAME
@@ -57,11 +57,34 @@ Only the super-user may lower priorities
 .Pp
 Children inherit the priority of their parent processes via
 .Xr fork 2 .
+.Sh RETURN VALUES
+Upon successful completion,
+.Fn nice
+returns the new nice value minus
+.Dv NZERO .
+Otherwise, \-1 is returned, the process' nice value is not changed, and
+.Va errno
+is set to indicate the error.
+.Sh ERRORS
+The
+.Fn nice
+function will fail if:
+.Bl -tag -width Er
+.It Bq Er EPERM
+The
+.Fa incr
+argument is negative and the caller does not have appropriate privileges.
+.El
 .Sh SEE ALSO
 .Xr nice 1 ,
 .Xr fork 2 ,
 .Xr setpriority 2 ,
 .Xr renice 8
+.Sh STANDARDS
+The
+.Fn nice
+function conforms to
+.St -xpg4.2 .
 .Sh HISTORY
 A
 .Fn nice

Modified: projects/building-blocks/lib/libc/gen/nice.c
==============================================================================
--- projects/building-blocks/lib/libc/gen/nice.c	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/lib/libc/gen/nice.c	Mon Feb 23 07:35:27 2015	(r279200)
@@ -43,14 +43,18 @@ __FBSDID("$FreeBSD$");
  * Backwards compatible nice.
  */
 int
-nice(incr)
-	int incr;
+nice(int incr)
 {
 	int prio;
 
 	errno = 0;
 	prio = getpriority(PRIO_PROCESS, 0);
 	if (prio == -1 && errno)
-		return (-1);
-	return (setpriority(PRIO_PROCESS, 0, prio + incr));
+		return -1;
+	if (setpriority(PRIO_PROCESS, 0, prio + incr) == -1) {
+		if (errno == EACCES)
+			errno = EPERM;
+		return -1;
+	}
+	return getpriority(PRIO_PROCESS, 0);
 }

Modified: projects/building-blocks/lib/libc/gen/setmode.3
==============================================================================
--- projects/building-blocks/lib/libc/gen/setmode.3	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/lib/libc/gen/setmode.3	Mon Feb 23 07:35:27 2015	(r279200)
@@ -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/building-blocks/lib/libc/gen/setmode.c
==============================================================================
--- projects/building-blocks/lib/libc/gen/setmode.c	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/lib/libc/gen/setmode.c	Mon Feb 23 07:35:27 2015	(r279200)
@@ -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.
@@ -186,10 +187,10 @@ setmode(const char *p)
 	 * as best we can.
 	 */
 	sigfillset(&sigset);
-        (void)_sigprocmask(SIG_BLOCK, &sigset, &sigoset);
+	(void)_sigprocmask(SIG_BLOCK, &sigset, &sigoset);
 	(void)umask(mask = umask(0));
 	mask = ~mask;
-        (void)_sigprocmask(SIG_SETMASK, &sigoset, NULL);
+	(void)_sigprocmask(SIG_SETMASK, &sigoset, NULL);
 
 	setlen = SET_LEN + 2;
 
@@ -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/building-blocks/lib/libc/regex/engine.c
==============================================================================
--- projects/building-blocks/lib/libc/regex/engine.c	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/lib/libc/regex/engine.c	Mon Feb 23 07:35:27 2015	(r279200)
@@ -157,7 +157,7 @@ matcher(struct re_guts *g,
 	int i;
 	struct match mv;
 	struct match *m = &mv;
-	const char *dp;
+	const char *dp = NULL;
 	const sopno gf = g->firststate+1;	/* +1 for OEND */
 	const sopno gl = g->laststate;
 	const char *start;
@@ -244,7 +244,7 @@ matcher(struct re_guts *g,
 	ZAPSTATE(&m->mbs);
 
 	/* Adjust start according to moffset, to speed things up */
-	if (g->moffset > -1)
+	if (dp != NULL && g->moffset > -1)
 		start = ((dp - g->moffset) < start) ? start : dp - g->moffset;
 
 	SP("mloop", m->st, *start);

Modified: projects/building-blocks/lib/libc/regex/regcomp.c
==============================================================================
--- projects/building-blocks/lib/libc/regex/regcomp.c	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/lib/libc/regex/regcomp.c	Mon Feb 23 07:35:27 2015	(r279200)
@@ -1422,8 +1422,8 @@ static void
 findmust(struct parse *p, struct re_guts *g)
 {
 	sop *scan;
-	sop *start;
-	sop *newstart;
+	sop *start = NULL;
+	sop *newstart = NULL;
 	sopno newlen;
 	sop s;
 	char *cp;

Modified: projects/building-blocks/lib/msun/src/e_j0.c
==============================================================================
--- projects/building-blocks/lib/msun/src/e_j0.c	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/lib/msun/src/e_j0.c	Mon Feb 23 07:35:27 2015	(r279200)
@@ -278,7 +278,7 @@ static const double pS2[5] = {
 	if(ix>=0x40200000)     {p = pR8; q= pS8;}
 	else if(ix>=0x40122E8B){p = pR5; q= pS5;}
 	else if(ix>=0x4006DB6D){p = pR3; q= pS3;}
-	else if(ix>=0x40000000){p = pR2; q= pS2;}
+	else                   {p = pR2; q= pS2;}	/* 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]))));

Modified: projects/building-blocks/lib/msun/src/e_j0f.c
==============================================================================
--- projects/building-blocks/lib/msun/src/e_j0f.c	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/lib/msun/src/e_j0f.c	Mon Feb 23 07:35:27 2015	(r279200)
@@ -234,7 +234,7 @@ static const float pS2[5] = {
 	if(ix>=0x41000000)     {p = pR8; q= pS8;}
 	else if(ix>=0x40f71c58){p = pR5; q= pS5;}
 	else if(ix>=0x4036db68){p = pR3; q= pS3;}
-	else if(ix>=0x40000000){p = pR2; q= pS2;}
+	else                   {p = pR2; q= pS2;}	/* 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]))));

Modified: projects/building-blocks/lib/msun/src/e_j1.c
==============================================================================
--- projects/building-blocks/lib/msun/src/e_j1.c	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/lib/msun/src/e_j1.c	Mon Feb 23 07:35:27 2015	(r279200)
@@ -272,7 +272,7 @@ static const double ps2[5] = {
         if(ix>=0x40200000)     {p = pr8; q= ps8;}
         else if(ix>=0x40122E8B){p = pr5; q= ps5;}
         else if(ix>=0x4006DB6D){p = pr3; q= ps3;}
-        else if(ix>=0x40000000){p = pr2; q= ps2;}
+	else                   {p = pr2; q= ps2;}	/* 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]))));

Modified: projects/building-blocks/lib/msun/src/e_j1f.c
==============================================================================
--- projects/building-blocks/lib/msun/src/e_j1f.c	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/lib/msun/src/e_j1f.c	Mon Feb 23 07:35:27 2015	(r279200)
@@ -229,7 +229,7 @@ static const float ps2[5] = {
         if(ix>=0x41000000)     {p = pr8; q= ps8;}
         else if(ix>=0x40f71c58){p = pr5; q= ps5;}
         else if(ix>=0x4036db68){p = pr3; q= ps3;}
-        else if(ix>=0x40000000){p = pr2; q= ps2;}
+	else                   {p = pr2; q= ps2;}	/* 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]))));

Modified: projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml
==============================================================================
--- projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml	Mon Feb 23 07:35:27 2015	(r279200)
@@ -22,7 +22,7 @@
 
     <pubdate>$FreeBSD$</pubdate>
 
-    <!-- Last rev: 277458 -->
+    <!-- Last rev: 278934 -->
 
     <copyright>
       <year>2015</year>
@@ -302,6 +302,13 @@
       <para revision="277166" arch="powerpc">The &man.ptrace.2; system
 	call has been updated include support for Altivec registers on
 	&os;/&arch.powerpc;.</para>
+
+      <para revision="278320">A new device control utility,
+	&man.devctl.8; has been added, which allows making
+	administrative changes to individual devices, such as
+	attaching and detaching drivers, and enabling and disabling
+	devices.  The &man.devctl.8; utility uses the new
+	&man.devctl.3; library.</para>
     </sect2>
 
     <sect2 xml:id="userland-contrib">
@@ -375,6 +382,12 @@
 
       <para revision="277270"><application>OpenSSL</application> has
 	been updated to version 1.0.1l.</para>
+
+      <para revision="278433">The &man.xz.1; utility has been udpated
+	to version 5.2.0.</para>
+
+      <para revision="278433">The &man.xz.1; utility has been updated
+	to support multi-threaded compression.</para>
     </sect2>
 
     <sect2 xml:id="userland-installer">
@@ -460,6 +473,16 @@
       <para revision="274987">The &man.gpio.3; library has been added,
 	providing a wrapper around the &man.gpio.4; kernel
 	interface.</para>
+
+      <para revision="277610">The <literal>futimens()</literal> and
+	<literal>utimensat()</literal> system calls have been
+	added.  See &man.utimensat.2; for more information.</para>
+
+      <para revision="278934">The &man.elf.3; compile-time dependency
+	has been removed from <filename>dtri.o</filename>, which
+	allows adding <application>DTrace</application> probes to
+	userland applications and libraries without also linking
+	against &man.elf.3;.</para>
     </sect2>
 
     <sect2 xml:id="userland-abi">
@@ -515,12 +538,32 @@
 	at the &man.loader.8; prompt during boot, or add
 	<literal>kern.vty=vt</literal> to &man.loader.conf.5; and
 	reboot the system.</para>
+
+      <para revision="277904">The &man.config.8; utility has been
+	updated to allow using a non-standard <filename
+	  class="directory">src/</filename> tree, specified as an
+	argument to the <literal>-s</literal> flag.</para>
+
+      <para revision="277990" arch="powerpc64">The
+	&os;/&arch.powerpc64; kernel now builds as
+	a position-independent executable, allowing the kernel to be
+	loaded into and run from any physical or virtual
+	address.</para>
+
+      <important>
+	<para>This change requires an update to &man.loader.8;.
+	  The userland and kernel must be updated before rebooting the
+	  system.</para>
+      </important>
     </sect2>
 
     <sect2 xml:id="kernel-sysctl">
       <title>System Tuning and Controls</title>
 
-      <para>&nbsp;</para>
+      <para revision="275140" contrib="sponsor" sponsor="&ff;">The
+	&man.hwpmc.4; default and maximum callchain depths have been
+	increased.  The default has been increased from 16 to 32, and
+	the maximum increased from 32 to 128.</para>
     </sect2>
   </sect1>
 
@@ -761,6 +804,18 @@
     <para>This section covers changes and additions to file systems
       and other storage subsystems, both local and networked.</para>
 
+    <sect2 xml:id="storage-general">
+      <title>General Storage</title>
+      <para revision="278037" contrib="sponsor" sponsor="&ix;">The
+	&man.ctl.4; <acronym>LUN</acronym> mapping has been rewritten,
+	replacing <acronym>iSCSI</acronym>-specific mapping mechanisms
+	with a new mechanism that works for any port.</para>
+
+      <para revision="278354" contrib="sponsor" sponsor="&ix;">The
+	&man.ctld.8; utility has been updated to allow controlling
+	non-<acronym>iSCSI</acronym> &man.ctl.4; ports.</para>
+    </sect2>
+
     <sect2 xml:id="storage-net">
       <title>Networked Storage</title>
 
@@ -962,6 +1017,11 @@
 	Release Engineering build tools have been updated to include
 	support for producing virtual machine disk images for various
 	cloud hosting providers.</para>
+
+      <para revision="278926">The Release Engineering build tools have
+	been updated to use multi-threaded &man.xz.1;.  By default,
+	the number of &man.xz.1; threads is set to the number of cores
+	available.</para>
     </sect2>
   </sect1>
 </article>

Modified: projects/building-blocks/release/release.conf.sample
==============================================================================
--- projects/building-blocks/release/release.conf.sample	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/release/release.conf.sample	Mon Feb 23 07:35:27 2015	(r279200)
@@ -53,6 +53,9 @@ PORTBRANCH="ports/head@rHEAD"
 #WITH_DVD=
 #WITH_COMPRESSED_IMAGES=
 
+## Set to '1' to disable multi-threaded xz(1) compression.
+#XZ_THREADS=0
+
 ## Set when building embedded images.
 #EMBEDDEDBUILD=
 

Modified: projects/building-blocks/release/release.sh
==============================================================================
--- projects/building-blocks/release/release.sh	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/release/release.sh	Mon Feb 23 07:35:27 2015	(r279200)
@@ -93,6 +93,7 @@ WITH_COMPRESSED_IMAGES=
 # the release.
 WITH_VMIMAGES=
 WITH_COMPRESSED_VMIMAGES=
+XZ_THREADS=0
 
 # Set to non-empty value to build virtual machine images for various
 # cloud providers as part of the release.
@@ -179,7 +180,7 @@ RELEASE_WMAKEFLAGS="${MAKE_FLAGS} ${WORL
 RELEASE_KMAKEFLAGS="${MAKE_FLAGS} ${KERNEL_FLAGS} KERNCONF=\"${KERNEL}\" ${ARCH_FLAGS} ${CONF_FILES}"
 RELEASE_RMAKEFLAGS="${ARCH_FLAGS} KERNCONF=\"${KERNEL}\" ${CONF_FILES} \
 	${DOCPORTS} WITH_DVD=${WITH_DVD} WITH_VMIMAGES=${WITH_VMIMAGES} \
-	WITH_CLOUDWARE=${WITH_CLOUDWARE}"
+	WITH_CLOUDWARE=${WITH_CLOUDWARE} XZ_THREADS=${XZ_THREADS}"
 
 # Force src checkout if configured
 FORCE_SRC_KEY=

Modified: projects/building-blocks/share/man/man4/Makefile
==============================================================================
--- projects/building-blocks/share/man/man4/Makefile	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/share/man/man4/Makefile	Mon Feb 23 07:35:27 2015	(r279200)
@@ -514,7 +514,9 @@ MLINKS+=cdce.4 if_cdce.4
 MLINKS+=crypto.4 cryptodev.4
 MLINKS+=cue.4 if_cue.4
 MLINKS+=cxgb.4 if_cxgb.4
-MLINKS+=cxgbe.4 if_cxgbe.4
+MLINKS+=cxgbe.4 if_cxgbe.4 \
+	cxgbe.4 cxl.4 \
+	cxgbe.4 if_cxl.4
 MLINKS+=dc.4 if_dc.4
 MLINKS+=de.4 if_de.4
 MLINKS+=disc.4 if_disc.4

Modified: projects/building-blocks/share/man/man4/man4.arm/devcfg.4
==============================================================================
--- projects/building-blocks/share/man/man4/man4.arm/devcfg.4	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/share/man/man4/man4.arm/devcfg.4	Mon Feb 23 07:35:27 2015	(r279200)
@@ -92,4 +92,4 @@ driver.
 .Sh SEE ALSO
 Zynq-7000 SoC Technical Reference Manual (Xilinx doc UG585)
 .Sh AUTHORS
-Thomas Skibo
+.An Thomas Skibo

Modified: projects/building-blocks/share/man/man4/man4.i386/apm.4
==============================================================================
--- projects/building-blocks/share/man/man4/man4.i386/apm.4	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/share/man/man4/man4.i386/apm.4	Mon Feb 23 07:35:27 2015	(r279200)
@@ -121,7 +121,7 @@ polls APM events and handles the followi
 .Xr apm 8 ,
 .Xr zzz 8
 .Sh AUTHORS
-Tatsumi Hosokawa <hosokawa@jp.FreeBSD.org>
+.An Tatsumi Hosokawa Aq Mt hosokawa@jp.FreeBSD.org
 .Sh BUGS
 WARNING!
 Many, if not most, of the implementations of APM-bios in laptops

Modified: projects/building-blocks/share/man/man4/man4.powerpc/Makefile
==============================================================================
--- projects/building-blocks/share/man/man4/man4.powerpc/Makefile	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/share/man/man4/man4.powerpc/Makefile	Mon Feb 23 07:35:27 2015	(r279200)
@@ -6,6 +6,7 @@ MAN=	adb.4 \
 	ams.4 \
 	bm.4 \
 	cuda.4 \
+	llan.4 \
 	pmu.4 \
 	powermac_nvram.4 \
 	smu.4 \

Copied: projects/building-blocks/share/man/man4/man4.powerpc/llan.4 (from r279199, head/share/man/man4/man4.powerpc/llan.4)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/building-blocks/share/man/man4/man4.powerpc/llan.4	Mon Feb 23 07:35:27 2015	(r279200, copy of r279199, head/share/man/man4/man4.powerpc/llan.4)
@@ -0,0 +1,61 @@
+.\"-
+.\" Copyright (c) 2015 Nathan Whitehorn <nwhitehorn@FreeBSD.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+.\" DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+.\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd February 19, 2015
+.Dt LLAN 4
+.Os
+.Sh NAME
+.Nm llan
+.Nd POWER Logical Lan
+.Sh SYNOPSIS
+To compile this driver into the kernel,
+place the following lines in your
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device llan"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver provides support for the inter-partition logical LAN controller
+provided by PAPR-compliant POWER hypervisors (such as PowerVM and PowerKVM).
+On some firmwares, advanced offload features are supported by the hypervisor,
+but these are not currently supported by the driver.
+.Sh SEE ALSO
+.Xr vtnet 4 ,
+.Xr ifconfig 8
+.Sh HISTORY
+The
+.Nm
+device driver appeared in
+.Fx 10.0.
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was written by
+.An Nathan Whitehorn Aq Mt nwhitehorn@FreeBSD.org .

Modified: projects/building-blocks/share/man/man4/man4.powerpc/tsec.4
==============================================================================
--- projects/building-blocks/share/man/man4/man4.powerpc/tsec.4	Mon Feb 23 07:28:31 2015	(r279199)
+++ projects/building-blocks/share/man/man4/man4.powerpc/tsec.4	Mon Feb 23 07:35:27 2015	(r279200)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd April 22, 2009
+.Dd February 20, 2015
 .Dt TSEC 4
 .Os
 .Sh NAME
@@ -91,18 +91,23 @@ The
 driver supports interrupts coalescing (IC) so that raising a transmit/receive
 frame interrupt is delayed, if possible, until a threshold-defined period of
 time has elapsed, or a threshold-defined frame counter has been reached
-(whichever occurs first). The following sysctls regulate this behaviour:
+(whichever occurs first).
+The following sysctls regulate this behaviour:
 .Bl -tag -width indent
 .It Va dev.tsec.X.int_coal.rx_time
 .It Va dev.tsec.X.int_coal.rx_count
 .It Va dev.tsec.X.int_coal.tx_time
 .It Va dev.tsec.X.int_coal.tx_count

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



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