Created attachment 160329 [details] v0 In case of slow floating point emulation some ports may opt to use integer routines e.g., libvorbis -> libtremor. C preprocessor already defines __SOFTFP__ macro but it cannot be easily used in Makefiles.
That's perfect. I'll add that to the list.
A commit references this bug: Author: imp Date: Tue Aug 25 17:11:50 UTC 2015 New revision: 287137 URL: https://svnweb.freebsd.org/changeset/base/287137 Log: Add softfp to MACHINE_CPU more often when we're compiling for soft float targets. It is added for booke on powerpc and all arm with hf in the string. Also add arm to all arm builds and armv6 to armv6 and newer builds. PR: 202641 Changes: head/share/mk/bsd.cpu.mk
For the record: armv6 does not use "slow floating point emulation" under any circumstances. It uses library functions which check whether floating point hardware is available. It is always available on all armv6 systems we support, which causes the library functions to use native floating point hardware instructions.
After consulting with the arm folks, some of which were really unhappy, I'm going to back out this change. armv6 is a hybrid at the moment. It is softfp and it isn't softfp. It uses the softfp ABI, so you can't compile -mhardfp. But it does allow use of floating point registers, which would militate against defining it to pick what kind of algorithm to use. All this confusion will soon go away (arm will be softfp with no hard float at all, and armv6 will be hardfp for both API and register use). Once that happens, we can revisit this issue. Other changes to bsd.cpu.mk are needed to reflect the richness of the ARM ecosystem (like we reflect the richness of the Intel/Amd/etc ecosystem) as well.
Nothing to fix.