Re: -mfloat-abi=soft no longer viable?

From: Warner Losh <imp_at_bsdimp.com>
Date: Mon, 19 Jun 2023 16:21:56 UTC
On Mon, Jun 19, 2023 at 8:56 AM Thomas David Rivers <rivers@dignus.com>
wrote:

>
> Just curious - I can't seem to find an answer to this question
> on-line.
>
> Seems in 2019 ARM (32-bit) support moved to -mfloat-abi=hard
>

armv6 and armv7, yes. The legacy armv[45] didn't move, but they've been
removed from the tree.


> (unless you built your own system?)   But, in the postings
> I've stumbled over there was mention of /libsoft and /usr/libsoft.
>
> But - in my recent FreeBSD-13.2 install I don't see those.
>
> Has this gone away?  Is there no way to build a program
> with -mfloat-abi=soft and link with the math library (-lm)?
>

We switch the default then. For a while we had a soft compat directory as
a transition, but have stopped doing that.

make buildworld TARGET_ARCH=armv7 CPUTYPE=soft

will give you the old -mfloat=soft. However, be advised that the
-mfloat=soft means 'use hard floating point code, but pass argument
args in integer registers rather than floating point ones'. This is
different than what most people think when they think of what -mfloat=soft
might mean w/o reading the manual.

The libsoft stuff you've stumbled upon was the compat libraries
that we used to transition from mfloat=soft to mfloat=hard.

Hope that helps.

Warner