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
- Const'ify the ahci_ids table.
- Use DEVMETHOD_END.
- Use NULL instead of 0 for pointers.

MFC after:	3 days
Correct naming of sysctl pmtud_blackhole_activated_min_mss.

Clarify some statements around PMTUD blackhole detection to make
the behavior more clear in the man page.

Submitted by:	Mikhail <mp@lenta.ru>
MFC after:	2 weeks
In contrib/binutils/gas/config/tc-ppc.c, fix a few -Wformat-security
warnings.

MFC after:	3 days
r245508 modified the NFS client's Setattr RPC to
use VA_UTIMES_NULL to indicate whether it should
set the time to the current tod on the server.
This had the side effect of making the NFS client
use the client's timestamp for exclusive create,
starting with FreeBSD9.2.
Unfortunately a bug in some Solaris NFS servers
causes these servers to return NFS_OK to the
Setattr RPC done during exclusive create, but not
actually set the file's mode, leaving the file's
mode == 0.
This patch restores the NFS client's behaviour to
use the server's tod for the exclusive open's
Setattr RPC, to avoid the Solaris server bug and
to restore the pre-FreeBSD9.2 NFS behaviour.

Discussed on:	freebsd-fs
PR:	186293
MFC after:	3 months
Update comments (r4 is not used anywhere), use non-profiling entry macros.
Don't use a sub-device/-vendor wildcard for probing MCS9922 as other
chips with the same device and vendor IDs actually may provide different
functionality. While at it, canonicalize the description to match other
MosChip UARTs.

PR:		186891
MFC after:	3 days
In contrib/binutils/bfd/elf32-ppc.c, avoid warnings about case values
not being in the enumerated type 'enum elf_ppc_reloc_type', by casting
the switch argument to int.

MFC after:	3 days
Remove dev/virtio/virtio.h include from BERI VirtIO

This header file contains prototypes and defines that only make
sense to the guest VirtIO device drivers.

Reviewed by:	br
Use -Wl, to pass options to the linker for PowerPC's boot1.chrp.

MFC after:	3 days
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