Soft Floating Point Exceptions
Brian Inglis
Brian.Inglis@SystematicSw.ab.ca
Mon May 25 21:43:05 GMT 2020
On 2020-05-25 11:17, Joel Sherrill wrote:
> An RTEMS GSoC student (Eshan Dhawan) has almost completed porting the
> FreeBSD fenv code to newlib. Unfortunately, the software floating point
> code calls __softfloat_float_raise which has a couple of issues. First, he
> can't find the code which probably indicates an issue in the BSD world but
> no one likely cares because I doubt there is a BSD install on an ARM with
> soft floating point.
>
> Second, to use this in newlib, we will be relying on GCC's soft float
> implementation which means something different has to happen. Is there an
> equivalent routine in GCC? What should happen for
> __softfloat_float_raise()?
You will have to look at these to see what is relevant to your issue.
Interface:
$ info gccint libgcc soft
implementation:
https://gcc.gnu.org/git?p=gcc.git;a=blob_plain;f=libgcc/config/arm/sfp-machine.h;hb=HEAD
https://gcc.gnu.org/git?p=gcc.git;a=blob_plain;f=libgcc/config/arm/ieee754-sf.S;hb=HEAD
https://gcc.gnu.org/git?p=gcc.git;a=blob_plain;f=libgcc/config/arm/ieee754-df.S;hb=HEAD
https://gcc.gnu.org/git?p=gcc.git;a=blob_plain;f=libgcc/config/arm/fp16.c;hb=HEAD
implementation:
https://github.com/freebsd/freebsd/commit/85aab3336e0d6172ddd5fe3cde38389abd612728
https://github.com/freebsd/freebsd/tree/master/lib/libc/softfloat
https://github.com/freebsd/freebsd/blob/master/lib/libc/softfloat/softfloat.txt#L357
https://github.com/freebsd/freebsd/blob/master/lib/libc/softfloat/softfloat-for-gcc.h
https://github.com/freebsd/freebsd/blob/master/lib/libc/softfloat/softfloat-specialize#L67
alternative:
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/arch/arm/softfloat/
--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in IEC units and prefixes, physical quantities in SI.]
More information about the Newlib
mailing list