MFC r243907:

Fix an old bug in devd, where it uses std::sort() to sort the various
lists it reads from its configuration files on the priority field.

Because some items in the lists have the same priority, and std::sort()
is not stable, the exact order in which the items are enumerated does
not have to correspond to the order they appear in the configuration
files.

Apparently this was never noticed with libstdc++, but with libc++ it
could cause the "uhid" entry from /etc/devd/usb.conf to be used instead
of the "ums" entry (which is earlier in the file).  This caused the
problem described in the PR: the USB mouse module was never loaded, and
the other actions (such as starting moused) were not executed.

To fix the problem, make devd use std:stable_sort() instead.

Reported by:	Jan Beich <jbeich@tormail.org>
PR:		bin/172958
MFC r243572:

  Pull in r168610 from upstream libc++:

    When using libc++ headers on FreeBSD, in combination with -std=c++98,
    -ansi or -std=c++03, the long long type is not supported.  So in this
    case, several functions and types, like lldiv_t, strtoll(), are not
    declared.

  This should make it possible to use the libc++ headers in c++98 mode.

  Note: libc++ is originally designed as a c++0x or higher library, so you
  should still take care when using it with c++98 or c++03.

  Noted by:	Yamaya Takashi <yamayan@kbh.biglobe.ne.jp>

MFC r243673 (by theraven):

  Merge new libc++ into head.
MFC r243892:
	Remove pointless check for the existence of /usr/bin/less which exists
	in all configurations.

Approved by:	cperciva (implicit)
MFC r243894:
	Remove useless check for NULL prior to free.

Approved by:	cperciva (implicit)
MFC r243891:
	Add ability to mergemaster to permit the user to type
	the absolute path to PAGER if mergemaster can not find
	the one already set.

Approved by:	cperciva (implicit)
MFC r244318:
	Minor wording improvments to some manual pages

Approved by:	cperciva (implicit)
MFC r243890:
	Connect organization.dot to the build

Approved by:	cperciva (implicit)
MFC r243932:
	Prefer the use of initalizer lists to ctor assignment.

Approved by:	cperciva (implicit)
MFC r242996:
	Add support for CIR1000 - Cirrus Logic V34 to the sio driver

PR:		kern/44267
Approved by:	cperciva (implicit)
MFC r244360:
  Use M_PROTO7 flag for M_IP6_NEXTHOP, because M_PROTO2 was used for
  M_AUTHIPHDR.

MFC r244365:
  Since we use different flags to detect tcp forwarding, and we share the
  same code for IPv4 and IPv6 in tcp_input, we should check both
  M_IP_NEXTHOP and M_IP6_NEXTHOP flags.

MFC r244386 (by glebius):
  Clear correct flag in INET6 case.

MFC r244387 (by glebius):
  Fix !INET6 build after r244365.
MFC r244037:
	Add check for failure of mkstemp and setenv.

Approved by:	cperciva (implicit)
MFC r241916:

Remove __P.

Submitted by:	kevlo
MFC r243333:

- Don't pass geom and provider names as format strings.
- Add __printflike() attributes.
- Remove an extra argument for the g_new_geomf() call in swapongeom_ev().
MFC r244404:

prison_racct_detach can be called for not fully initialized jail, so make
it check that the jail has racct before doing anything

PR:		kern/174436
Merge r241908, r242632

Remove unnecessary chain read lock in ipfw nat 'global' code.
Document case when ipfw chain lock must be held while calling ipfw_nat().
Merge r238978(approved by luigi), r242631, r242834, r243707

replace inet_ntoa_r with the more standard inet_ntop().
As discussed on -current, inet_ntoa_r() is non standard, has different arguments
in userspace and kernel, and almost unused (no clients in userspace, only
net/flowtable.c, net/if_llatbl.c, netinet/in_pcb.c, netinet/tcp_subr.c
in the kernel)

Use unified print_dyn_rule_flags() function for debugging messages
instead of hand-made printfs in every place.

Simplify sending keepalives.
Prepare ipfw_tick() to be used by other consumers.

Make ipfw dynamic states operations SMP-ready.

* Global IPFW_DYN_LOCK() is changed to per-bucket mutex.
* State expiration is done in ipfw_tick every second.
* No expiration is done on forwarding path.
* hash table resize is done automatically and does not flush all states.
* Dynamic UMA zone is now allocated per each VNET
* State limiting is now done via UMA(9) api.
Fix typo. (fixing them as I find them)
MFC r244246:

illumos-gate 13894:f4af77f6bbd2
3397 zdb <pool> <objnum> output is too verbose
3398 zdb can't dump feature flags zap objects

References:
https://www.illumos.org/issues/3397
https://www.illumos.org/issues/3398
MFC r243272,243499: assert_vop_locked should treat LK_EXCLOTHER as the
not locked case
MFC r243497: zfs: create devices/geoms from zvols after receiveing them

PR:		kern/167066