Enable libgcc floating point emulation routines
William Tambe
tambewilliam@gmail.com
Thu Oct 22 03:40:56 GMT 2020
On Wed, Oct 21, 2020 at 9:48 PM William Tambe <tambewilliam@gmail.com> wrote:
>
> On Wed, Oct 21, 2020 at 6:36 PM Jim Wilson <jimw@sifive.com> wrote:
> >
> > On Wed, Oct 21, 2020 at 1:27 PM William Tambe via Gcc-help <gcc-help@gcc.gnu.org> wrote:
> >>
> >> For a specific platform, what is the proper way to enable the floating
> >> point emulation routines described at ?
> >> https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html#Soft-float-library-routines
> >
> >
> > In libgcc/config.host, add one of the t-softfp* files to tmake_file for your host. There are a number of choices, depending on exactly which modes you need support for, and exactly which modes are implemented in hardware. E.g. a target with no FP hardware and no 128-bit long double needs only soft-float sf and df. A target with FP hardware that supports 32-bit float only, and supports 128-bit long double, needs soft-float df and tf. Etc. See the various target independent and target dependent t-softfp files and pick one that matches your situation.
>
> In libgcc/config.host we currently have:
> tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp"
I ended up using:
tmake_file="${tmake_file} t-fpbit"
and it worked.
What is the difference between t-fpbit and t-softfp* ?
>
> However, compiling a program that uses __mulsf3() throws the following error:
> error: implicit declaration of function ‘__mulsf3’; did you mean
> ‘__mulsc3’? [-Werror=implicit-function-declaration]
>
> Compilation is done using -nostdlib -lgcc
>
> Any idea what else is missing ?
>
> >
> > Jim
> >
More information about the Gcc-help
mailing list