Import compiler-rt r147467.
Update libarchive's dist to latest changes in release branch

Git branch:	release
Git commit:	c477edc817b4382a1d0b2ff8c7b619af13bd349e

Obtained from:	https://github.com/libarchive/libarchive.git
Update libarchive's vendor dist to latest changes in release branch.
Now all the gcc warnings I have reported upstream should be fixed.

Git branch:	release
Git commit:	01580b4298a946fb31e822a083bf49e9f37809ac

Obtained from:	https://github.com/libarchive/libarchive.git
Update libarchive's vendor dist to latest changes in release branch.

Git branch:	release
Git commit:     e2cc36190d7d733b3ac6744ec860d09776c9da02

Obtained from:  https://github.com/libarchive/libarchive.git
Do not malloc(9) while holding a spin lock, to avoid panic.  Note it was
submitted upstream and it should be fixed in the next ACPICA release.

Discussed with:	Moore, Robert (robert dot moore at intel dot com)
Import OpenSSL 0.9.8x.
Add illumos manual pages to vendor/illumos (original location)
illumos-gate revision 13742:b6bbdd77139c
Add userland ZFS to vendor/illumos
illumos-gate revision 13742:b6bbdd77139c
Add zfs manual pages missing in r237895
Add kernel part (uts) with ZFS to vendor/illumos
illumos-gate revision 13742:b6bbdd77139c
Update vendor/illumos/dist to illumos-gate revision 13743:95aba6e49b9f

Obtained from:	illumos
Update to the ixgbe driver:
  - Add a couple of new devices
  - Flow control changes in shared and core code
  - Bug fix to Flow Director for 82598
  - Shared code sync to internal with required core change

Thanks to those helping in the testing and improvements to this driver!

MFC after:5 days
Correct small regressions pointed out by jhb, thanks John.

MFC after:5 days
Replace all uses of the vm page queues lock by a r/w lock that is private
to this pmap.

Tested by:	andreast, jhibbits
Make pmap_enter()'s management of PV entries consistent with the other pmap
functions that manage PV entries.  Specifically, remove the PV entry from
the containing PV list only after the corresponding PTE is destroyed.

Update the pmap's wired mapping count in pmap_enter() before the PV list
lock is acquired.
Add another PS/2 keyboard PNP ID.  This ID is listed as
"Reserved by Microsoft" in the standard PNP ID table, but has been seen
in the wild on at least one laptop.

PR:		kern/169571
Submitted by:	Matthias Apitz  guru unixarea de
MFC after:	3 days
Allow threads to finish up when terminated by user

Set a flag and allow worker threads to finish upon ^C, instead of
immediately cancelling them, so that final packet count and rate
stats can be displayed.
Several fixes to the amd64 disassembler:
- Add generic support for opcodes that are escape bytes used for
  multi-byte opcodes (such as the 0x0f prefix).  Use this to replace
  the hard-coded 0x0f special case and add support for three-byte
  opcodes that use the 0x0f38 prefix.
- Decode all Intel VMX instructions.  invept and invvpid in particular are
  three-byte opcodes that use the 0x0f38 escape prefix.
- Rework how the special 'SDEP' size flag works such that the default
  instruction name (i_name) is the instruction when the data size
  prefix (0x66) is not specified, and the alternate name in i_extra is
  used when the prefix is included.
- Add a new 'ADEP' size flag similar to 'SDEP' except that it chooses
  between i_name and i_extra based on the address size prefix (0x67).
  Use this to fix the decoding for jrcxz vs jecxz which is determined
  by the address size prefix, not the operand size prefix.  Also, jcxz
  is not possible in 64-bit mode, but jrcxz is the default instruction
  for that opcode.
- Add support for handling instructions that have a mandatory 'rep'
  prefix (this means not outputting the 'repe ' prefix until determining
  if it is used as part of an opcode).  Make 'pause' less of a special
  case this way.
- Decode 'cmpxchg16b' and 'cdqe' which are variants of other instructions
  but with a REX.W prefix.

MFC after:	1 month
Add support for the 'invept' and 'invvpid' instructions.  Beyond simply
adding appropriate table entries, the assembler had to be adjusted as
these are the first non-SSE instructions to use a 3-byte opcode (and a
mandatory prefix to boot).

MFC after:	1 month
r237748 continuation: segment-override prefixes are not invalid in long mode

Update DTrace disassembler accordingly.  The code to treat the prefixes
as null prefixes was already in place.
Although in practice compilers seem to generate only cs-prefix for use
in long NOPs, the same treatment is applied to all of cs, ds, es, ss for
consistency.

Reported by:	emaste
Tested by:	emaste
Obtained from:	Illumos commit 13442:4adbe6de60c8 (+ local changes)
MFC after:	5 days