Import elftoolchain rev 3130

From svn.code.sf.net/p/elftoolchain/code/trunk
Copy elftoolchain top-level directory from vendor at r260684

Subdirectories are copied from r276062.

This will allow 'svn merge' at the elftoolchain top level to work
properly. Previously only the subdirectories were related to the vendor
branch according to svn metadata, which meant they would have to be
merged individually.
Update elftoolchain to upstream rev 3130

This brings a number of fixes to elfcopy/strip and DWARF4 improvements.

Sponsored by:	The FreeBSD Foundation
Allow virtio_mmio to attach to ofwbus. Qemu places these here on at least
the AArch64 virtual platform with the Linaro UEFI.

Sponsored by:	The FreeBSD Foundation
symlink(7): Note that stat(1) does not follow symlinks by default.

MFC after:	1 week
mdoc: remove EOL whitespace.
Attach vtnet to virtio_mmio. Qemu provides this as an option with AArch64.

Sponsored by:	The FreeBSD Foundation
Update elftoolchain to upstream rev 3130

This includes a number of libdwarf improvements (particularly DWARF4
related) and updates to elftoolchain tools such as strip(1). It also
includes a large number of miscellaneous fixes (memory leaks, sign and
cast warnings, integer overflow and underflow, etc.).

This is a merge of r276167,276170-276172 from the
projects/elftoolchain-update-r3130 branch.

Sponsored by:	The FreeBSD Foundation
Restore r276252 mdoc fix

It was accidentally reverted in the elftoolchain update (r276371).

Sponsored by:	The FreeBSD Foundation
Rename DT_FEATURE_1 to DT_FEATURE

Track r270303:

  This provides a minor cleanup in elfdump; there are otherwise no
  consumers in the tree.  Old SUN documentation can be found for either
  variant, but GNU binutils switched to DT_FEATURE around 2000.

Sponsored by:	The FreeBSD Foundation
libelf: Do not read past end of buffer

Previously a corrupt ELF file could read beyond the end of e_rawfile.

Upstream elftoolchain ticket 462.  Found via the security/afl fuzzer.

Sponsored by:	The FreeBSD Foundation
- No longer exclude malo(4) and mwl(4), they have been fixed in r275870
  and r275871 respectively to build with PAE enabled.
- For the PAE kernel configuration file, no longer exclude devices that
  are known to be 64-bit DMA clean from amd64.

MFC after:	3 days
mdoc: sort SEE ALSO.
mdoc: sort SEE ALSO.
Delay dropping to the mountroot prompt for 10 seconds
in case the root device is not yet ready.

Sponsored by:	The FreeBSD Foundation
The sn driver doesn't actually include microcode at the current time,
although it may in the future. Or not since the ositech cards that
might need it have become perhaps too rare to support.
Turns out, this isn't only called from i386...
Inject #UD into the guest when it executes either 'MONITOR' or 'MWAIT' on
an AMD/SVM host.

MFC after:	1 week
Add arm option ARM_NEW_PMAP, to allow us to begin adding the new pmap
code alongside the existing implementation and quickly toggle between
the two implementations when testing.  Once the new code is past its
teething stage we can remove this option.
Add armv6 implementations of these cache operations to avoid duplicating
the #ifdef stuff at multiple points the functions are called from.  Also
rework the armv7 implementations so that the invalidate operations work
from outermost to innermost cache level, and the writeback works from
inner to outer levels.