MFC r269956:

 From https://sourceware.org/ml/newlib/2014/msg00113.html
 By Richard Earnshaw at ARM
 >
 >GCC has for a number of years provides a set of pre-defined macros for
 >use with determining the ISA and features of the target during
 >pre-processing.  However, the design was always somewhat cumbersome in
 >that each new architecture revision created a new define and then
 >removed the previous one.  This meant that it was necessary to keep
 >updating the support code simply to recognise a new architecture being
 >added.
 >
 >The ACLE specification (ARM C Language Extentions)
 >(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.set.swdev/index.html)
 >provides a much more suitable interface and GCC has supported this
 >since gcc-4.8.
 >
 >This patch makes use of the ACLE pre-defines to map to the internal
 >feature definitions.  To support older versions of GCC a compatibility
 >header is provided that maps the traditional pre-defines onto the new
 >ACLE ones.

 Stop using __FreeBSD_ARCH_armv6__ and switch to __ARM_ARCH >= 6 in the
 couple of places in tree. clang already implements ACLE. Add a define
 that says we implement version 1.1, even though the implementation
 isn't quite complete.
MFC r273284:

 Allow libkvm to get the kernel va to pa delta without the need for
 physaddr. This should allow for a kernel where PHYSADDR and KERNPHYSADDR
 are both undefined.

 For now libkvm will use the old method of reading physaddr and kernaddr
 to allow it to work with old kernels. This could be removed in the future
 when enough time has passed.
MFC r273287:

 Only build the ARM tranpoline when KERNPHYSADDR is defined as it is
 otherwise unneeded in armv6 kernels.
MFC r273288:

 Allow the armv6 kernel to be build with PHYSADDR undefined. The kernel
 will now find the virtual to physical mapping for libkvm to use at
 runtime. This makes PHYSADDR redundant, however keep it around to give
 everyone a chance to update their libkvm.