Adding fenv support for ARM

Gedare Bloom gedare at rtems.org
Tue May 12 21:52:22 UTC 2020


Take the first error reported, and show what is being compiled. You've
trimmed off too much preceding this to know what is being compiled and
how this might be influencing your error.

The specific error you're getting is often due to some syntax errors
preceding the line shown.

On Tue, May 12, 2020 at 2:59 PM Eshan Dhawan <eshandhawan51 at gmail.com> wrote:
>
> 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
>>>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list