Adding fenv support for ARM

Eshan Dhawan eshandhawan51 at gmail.com
Tue May 12 20:58:49 UTC 2020


Hello everyone,
After adding the files and compiling. I am
getting a few errors which I am not able to rectify.
If you could take a look and tell how to sort them.

link to newlib's git repo:
https://github.com/eshandhawan51/newlib-cygwin/tree/add_fenv_support

errors :

In file included from
/home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,
                 from
../../../../../../newlib-cygwin/newlib/libm/fenv/feclearexcept.c:57:
/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/targ-include/sys/fenv.h:82:1:
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
 extern const fenv_t *_fe_dfl_env;
 ^~~~~~
In file included from
../../../../../../newlib-cygwin/newlib/libm/fenv/feclearexcept.c:57:0:
/home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:22:1:
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int'
 int feclearexcept(int excepts);
 ^~~

thanks
-Eshan
On Sat, May 9, 2020 at 2:53 AM Joel Sherrill <joel at rtems.org> wrote:

>
>
> On Thu, May 7, 2020 at 1:33 PM Eshan Dhawan <eshandhawan51 at gmail.com>
> wrote:
>
>> Hello everyone,
>> This the tread to discuss adding fenv support for ARM architecture in
>> newlib.
>>
>> Link to previous thread:
>> https://lists.rtems.org/pipermail/devel/2020-March/058473.html
>>
>> ---FreeBSD Source
>> # https://github.com/freebsd/freebsd/tree/master/lib/msun/arm
>> # https://github.com/freebsd/freebsd/blob/master/sys/arm/include/ieeefp.h
>> ---NetBSD Source
>> # https://github.com/NetBSD/src/tree/trunk/lib/libm/arch/arm
>>
>> --- Musl has no implementation for fenv support for ARM  in it
>>
>> After going through the implementations both FreeBSD and NetBSD have a
>> stub implementation.
>> But then FreeBSD implementation seems to be more portable compared to
>> that in NetBSD.
>>
>> Should I start porting it from FreeBSD?
>> And which ARM BSP should I use for testing the changes?
>> Currently, I have xilinx_zynq_a9_qemu build
>>
>
> I think the FreeBSD implementation is the one to use. It looks to support
> hard and soft floating point implementations.
>
> I think the fenv.h file there will have to be worked on so some of the
> contents go into sys or machine/fenv.h. There is a portable fenv.h.
>
>
>>
>> There would also be a requirement to discuss where to place the files in
>> Newlib.
>>
>
> Not much to discuss. It should go into
> newlib-cygwin/newlib/libm/machine/arm.
>
>>
>> Thanks
>> -Eshan
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200513/efc4d846/attachment.html>


More information about the devel mailing list