Add driver for Micrel KSZ9021 Gigabit Ethernet Transceiver (PHY).

Sponsored by:	DARPA, AFRL
Add support for __cxa_throw_bad_array_new_length in libcxxrt

It is required for use with newer g++49

Differential Revision:	https://reviews.freebsd.org/D982
Reviewed by:	theraven
Approved by:	theraven
MFC after:	3 weeks
Fix build by marking the new functions as weak
This is a temporary fix
spell out the arguments..

the + *offsetp does not belong w/ the type, move it outside the .Fn
macro...
Port lib/libc/gen/t_siginfo to FreeBSD

- mcontext_t on FreeBSD doesn't have a __gregs field (it's split out on FreeBSD
into separate fields). In order to avoid muddying the test code with MD code,
the debugging trace info has not been implemented
- FreeBSD does not implement the si_stime and si_utime fields in siginfo_t, so
omit the debugging code that dumps the values
- sys/inttypes.h doesn't exist on FreeBSD

Sponsored by: EMC / Isilon Storage Division
libutil.h is required for fparseln on FreeBSD

Sponsored by: EMC / Isilon Storage Division
Add missing #include for sys/stat.h for fchmod

Sponsored by: EMC / Isilon Storage Division
it is not cast to a pointer of the specified type, it is cast to the
specified type...

mtod(m, uint8_t) does not work, mtod(m, uint8_t *) does work..
Port t_write to FreeBSD

- Mark the signo variable for the signal handle __unused
- Use limits.h instead of sys/syslimits.h (the latter does not
exist on FreeBSD)

Sponsored by: EMC / Isilon Storage Division
ixl: remove i40e_register_x710_int.h

This file is not used by the FreeBSD ixl driver.

Submitted by:	Eric Joyner <eric.joyner@intel.com>
MFC after:	3 days
Mark osi __unused so this compiles cleanly on FreeBSD

Sponsored by: EMC / Isilon Storage Division
unlink("/") fails with EISDIR instead of EBUSY on FreeBSD; test for that
instead

Sponsored by: EMC / Isilon Storage Division
Port t_chroot to FreeBSD

- Add missing #include sys/stat.h for mkdir(2)
- Omit the fchroot(2) tests because the support is not present on FreeBSD

Sponsored by: EMC / Isilon Storage Division
Rename sysctl_lock and _unlock to sysctl_xlock and _xunlock.
Implement shared locking for sysctl.
Fix an issue where a FreeBSD virtual machine provisioned in
the Microsoft Azure service does not recognize the second
attached disk on the system.

Submitted by:	kyliel@Microsoft
Patched by:	weh@Microsoft
PR:		194376
MFC after:	3 days
X-MFC-10.1:	yes, ASAP
Sponsored by:	The FreeBSD Foundation
Make sysctl name2oid shared-locked as well.

This is a follow-up to r273401.
The dependencies are computed with CC even if sources are C++, when building
when building with an external gcc, we want to be able to pass the path to
the libc++ headers so dependencies are correctly computed for C++ source files.
Add a DEPFLAGS for that purpose

Reviewed by:	imp
When using an external toolchain note that gcc 4.8+ supports C++11

Submitted by:	imp
Always use libc++ as the default c++ stack when building with an external gcc 4.8+
While here disable building gcc from base when using gcc 4.8+

Reviewed by:	imp