MFC	r259841

gcc:  Add ability to generate DWARF pubtypes section if
DEBUG_PUBTYPES_SECTION is defined.

Obtained from:	gcc 4.3 (rev. 118826; GPLv2)
MFC r260049:

Add mibs for hastd(1) queue stats.
MFC r258821 - fix tcp simultaneous close

PR:             kern/99188
Merged r260415 from head.

Approved by:	davidcd
MFC r258894: Make rc(8) re-source rc.conf upon receipt of SIGALRM.

The rc system aggressively caches the contents of /etc/rc.conf in order to
improve boot performance; this produces arguably astonishing (non-)results
if /etc/rc.conf is modified during the boot process.  This commit provides
a mechanism for explicitly requesting that rc.conf be reloaded.
MFC r258893, r258956:
  Add a new sysctl / loader tunable kern.panic_reboot_wait_time which
  defaults to PANIC_REBOOT_WAIT_TIME (a long-existing kernel config
  setting).  Use this now-variable value in place of the defined constant
  to control how long the system waits after a panic before rebooting.
Revert MFC of r258821 - it was already handled by MFC of r239672.

Pointy hat to: peter
MFC r259873:

gcc: small enhancements for the arm support.

fixes GCC-PR target/31152

Obtained from:	gcc 4.3 (rev. r118461, 125973: GPLv2)
MFC r260204:
Assert that accounting for the pmap resident pages does not underflow.
MFC r260205:
Update the description for pmap_remove_pages() to match the modern
times.  Assert that the pmap passed to pmap_remove_pages() is only
active on current CPU.
MFC r259197:
Do not DELAY() for P-state transition unless we want to see the result.

Intel manual says: "If a transition is already in progress, transition to
a new value will subsequently take effect. Reads of IA32_PERF_CTL determine
the last targeted operating point."  So seems it should be fine to just
trigger wanted transition and go.  Linux does the same.
MFC r258683:
Escape special XML chars, returned by some devices, confusing XML parsers.
MFC r260102:

Similar to r260020, only use -fms-extensions with gcc, for all other
modules which require this flag to compile.  Use a GCC_MS_EXTENSIONS
variable, defined in kern.pre.mk, which can be used to easily supply the
flag (or not), depending on the compiler type.

MFC r260322:

In addition to r260102, also define GCC_MS_EXTENSIONS in bsd.sys.mk,
since kernel module builds do not use kern.pre.mk.
MFC r260334:

Split the last gcc-specific flags off into CFLAGS.gcc.  This also
removes the need to use -Qunused-arguments for clang throughout the
tree.

MFC r260369:

Apply band-aid for 32-bit compat libs failures after r260334: put back
-Qunused-arguments for clang for now, until I can figure out a way to
make it unneeded in all scenarios.  Sorry about the breakage.
MFC r260358

Fix a cut and paste error.
MFC r259634:
  Prevent users from deactivating the last component of a mirror.

MFC r259929:
  Add an ability to stop gmirror and clear its metadata in one command.
  This fixes the problem, when gmirror starts again just after stop.

  The problem occurs when gmirror's component has geom label with equal size.
  E.g. gpt and gptid have the same size as partition, diskid has the same
  size as entire disk. When gmirror's geom has been destroyed, glabel
  creates its providers and this initiate retaste.

  Now "gmirror destroy" command is available. It destroys geom and also
  erases gmirror's metadata.

PR:		184985
MFC r260151 (by adrian):
  Use an RLOCK here instead of an RWLOCK - matching all the other calls
  to lla_lookup().

  This drastically reduces the very high lock contention when doing parallel
  TCP throughput tests (> 1024 sockets) with IPv6.

MFC r260187:
  lla_lookup() does modification only when LLE_CREATE is specified.
  Thus we can use IF_AFDATA_RLOCK() instead of IF_AFDATA_LOCK() when doing
  lla_lookup() without LLE_CREATE flag.

MFC r260217:
  Add IF_AFDATA_WLOCK_ASSERT() in case lla_lookup() is called with
  LLE_CREATE flag.
MFC 259240
   sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
        When a da or ada device dissappears, outstanding IOs fail with
        ENXIO, not EIO.  The check for EIO was probably copied from Illumos,
        where that is indeed the correct errno.

        Without this change, pulling a busy drive from a zpool would usually
        turn it into UNAVAIL, even though pulling an idle drive would turn
        it into REMOVED.  With this change, it is REMOVED every time.

        Also, vdev_geom_io_intr shouldn't do zfs_post_remove, because that
        results in devd getting two resource.fs.zfs.removed events.  The
        comment said that the event had to be sent directly instead of
        through the async removal thread because "the DE engine is using
        this information to discard prevoius I/O errors".  However, the fact
        that vdev_geom_io_intr was never actually sending the events until
        now, and that vdev_geom_orphan never sent them at all, and that
        vdev_geom_orphan usually gets called about 2 seconds after the
        actual removal, means that FreeBSD's userland can cope with a late
        event just fine.
MFC 259339
      sbin/devd/devd.cc
          Increase the size of devd's client socket's send buffer from the
          default (8k) to 128k.  This prevents clients from getting
          POLLHUPped during event storms.  For example, during zpool creation,
          the kernel emits a resource.fs.zfs.statechange event for every vdev
          in the pool.  A 128k buffer is large enough to hold the statechange
          events for a pool with nearly 800 drives.
MFC	r260361:

gcc: Fix optimization bug.

GCC-PR rtl-optimization/34628
	* combine.c (try_combine): Stop and undo after the first combination
	if an autoincrement side-effect on the first insn has effectively
	been lost.