Adding fenv support for ARM

Eshan Dhawan eshandhawan51 at gmail.com
Thu May 21 16:51:54 UTC 2020


Hi
I am testing another approach for this, Creating a new header fenv-vfp.h.
And add all the inline assembly as well as the static inline functions to
that file.
calling it from fenv-vfp.c instead of fenv.c.
fenv-vfp is the one file that has the main ARM specific code.
Fenv.c is the file that calls the vfp functions.
I will keep the results posted. :)

-Eshan :)
On Thu, May 21, 2020 at 4:55 AM Joel Sherrill <joel at rtems.org> wrote:

> Back on the list. :)
>
> Thanks for making sure everything on the branch was up to date.
>
> I decided take a simple shot. I disabled anything in sys/fev.h that looked
> like it would conflict with an implementation in a C file.
>
> $ git diff
> diff --git a/newlib/libc/machine/arm/sys/fenv.h
> b/newlib/libc/machine/arm/sys/fenv.h
> index aada676..2d3836b 100644
> --- a/newlib/libc/machine/arm/sys/fenv.h
> +++ b/newlib/libc/machine/arm/sys/fenv.h
> @@ -94,6 +94,7 @@ extern const fenv_t   *_fe_dfl_env;
>  #define        _ENABLE_MASK    (FE_ALL_EXCEPT << _FPUSW_SHIFT)
>  #endif
>
> +#if 0
>  #ifndef __ARM_PCS_VFP
>
>  int feclearexcept(int excepts);
> @@ -274,6 +275,7 @@ fegetexcept(void)
>  #endif /* __BSD_VISIBLE */
>
>  #endif /* __ARM_PCS_VFP */
> +#endif
>
>  #ifdef __cplusplus
>  }
>
> Let's proceed a bit with this "if 0" in place. The code in that block may
> be simpler to delete if it isn't used by the libm/arm/fenv-XXX.c files.
>
> That got it building again but when I looked in the installed libm.a, it
> was clear that the arm specific code wasn't in the library. I did the
> following command and searched for "<fe" to see the fenv methods, what
> assembly code was there, and what file was compiled to produce it:
>
> $ arm-rtems5-objdump -da --source ../install/arm-rtems5/lib/libm.a| less
>
> I then looked in the build log and fenv-vfp.c wasn't compiled. That was
> the most obvious arm specific file name. Looking in libm/arm, I did this:
>
fenv-vpf is the one file that has the main ARM specific code

>
> joel at localhost arm]$ grep fenv- Makefile.*
> Makefile.am:    fenv-vfp.c \
> Makefile.am:    fenv-softfp.c
>
> Makefile.in needs to be regenerated. Or you can simply hack and add those
> to the Makefile.in if that's all you added to the Makefile.am.
>
> --joel
>
>
>
> On Wed, May 20, 2020 at 2:47 PM Joel Sherrill <joel at rtems.org> wrote:
>
>>
>>
>> On Wed, May 20, 2020 at 2:40 PM Eshan Dhawan <eshandhawan51 at gmail.com>
>> wrote:
>>
>>> I compiled the fenv-vpf.c and got this output.
>>> output file:
>>> https://github.com/eshandhawan51/rough_notes/blob/master/gcc_fenv-vfp.txt
>>>
>>> A strange thing happened today I reset the branch to the previous commit
>>> from removing the inline functions from sys/fenv.h
>>> and the redefinition error disappeared and the error changed.
>>>
>>> make[5]: Entering directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine'
>>> Making all in arm
>>> make[6]: Entering directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine/arm'
>>> arm-rtems5-gcc
>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/
>>> -isystem
>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include
>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>  -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\"
>>> -DPACKAGE_VERSION=\"3.3.0\" -DPACKAGE_STRING=\"newlib\ 3.3.0\"
>>> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I.
>>> -I../../../../../../newlib-cygwin/newlib/libm/machine/arm -I
>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/../../../../newlib/libm/common
>>> -fno-builtin -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB
>>> -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED
>>> -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP
>>> -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN
>>> -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP
>>> -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI      -g -O2 -c -o
>>> lib_a-fenv-vfp.o `test -f 'fenv-vfp.c' || echo
>>> '../../../../../../newlib-cygwin/newlib/libm/machine/arm/'`fenv-vfp.c
>>> /tmp/ccqybjKL.s: Assembler messages:
>>> /tmp/ccqybjKL.s:35: Error: selected processor does not support `vmrs
>>> r3,fpscr' in ARM mode
>>>
>>
>> This looks like a bit of progress to me. As bad as getting a compile
>> error sounds.
>>
>> I do not see any -mXXX options on the gcc invocation above. fenv-vfp.c is
>> being compiled in this situation which is understandable because newlib
>> builds every file independent of if it is appropriate for the CPU model
>> variant or not. This file needs to have its contents wrapped in "#if
>> vfp_avaiable" or whatever gcc defines when vfp is available. The other fenv
>> variant files will have to have the opposite of that to ensure that the no
>> VFP variant is not built when vfp is available.
>>
>> Does that make sense? All the files in libm/arm are going to get
>> compiled. The contents need to be disabled if that implementation is not
>> right for the CPU model variant. In the end, only one implementation of the
>> fenv methods should get real code produced.
>>
>>
>>> /tmp/ccqybjKL.s:46: Error: selected processor does not support `vmsr
>>> fpscr,r0' in ARM mode
>>> /tmp/ccqybjKL.s:76: Error: selected processor does not support `vmrs
>>> r3,fpscr' in ARM mode
>>> /tmp/ccqybjKL.s:111: Error: selected processor does not support `vmrs
>>> r2,fpscr' in ARM mode
>>> /tmp/ccqybjKL.s:126: Error: selected processor does not support `vmsr
>>> fpscr,r1' in ARM mode
>>> /tmp/ccqybjKL.s:158: Error: selected processor does not support `vmrs
>>> r3,fpscr' in ARM mode
>>> /tmp/ccqybjKL.s:171: Error: selected processor does not support `vmsr
>>> fpscr,r3' in ARM mode
>>> /tmp/ccqybjKL.s:203: Error: selected processor does not support `vmrs
>>> r3,fpscr' in ARM mode
>>> /tmp/ccqybjKL.s:233: Error: selected processor does not support `vmrs
>>> r0,fpscr' in ARM mode
>>> /tmp/ccqybjKL.s:264: Error: selected processor does not support `vmrs
>>> r3,fpscr' in ARM mode
>>> /tmp/ccqybjKL.s:278: Error: selected processor does not support `vmsr
>>> fpscr,r0' in ARM mode
>>> /tmp/ccqybjKL.s:310: Error: selected processor does not support `vmrs
>>> r2,fpscr' in ARM mode
>>> /tmp/ccqybjKL.s:343: Error: selected processor does not support `vmrs
>>> r3,fpscr' in ARM mode
>>> /tmp/ccqybjKL.s:357: Error: selected processor does not support `vmsr
>>> fpscr,r3' in ARM mode
>>> /tmp/ccqybjKL.s:388: Error: selected processor does not support `vmsr
>>> fpscr,r3' in ARM mode
>>> /tmp/ccqybjKL.s:418: Error: selected processor does not support `vmrs
>>> r3,fpscr' in ARM mode
>>> /tmp/ccqybjKL.s:427: Error: selected processor does not support `vmsr
>>> fpscr,r2' in ARM mode
>>> /tmp/ccqybjKL.s:439: Error: selected processor does not support `vmrs
>>> r2,fpscr' in ARM mode
>>> /tmp/ccqybjKL.s:463: Error: selected processor does not support `vmsr
>>> fpscr,r3' in ARM mode
>>> /tmp/ccqybjKL.s:498: Error: selected processor does not support `vmrs
>>> r2,fpscr' in ARM mode
>>> /tmp/ccqybjKL.s:512: Error: selected processor does not support `vmsr
>>> fpscr,r3' in ARM mode
>>> /tmp/ccqybjKL.s:544: Error: selected processor does not support `vmrs
>>> r2,fpscr' in ARM mode
>>> /tmp/ccqybjKL.s:557: Error: selected processor does not support `vmsr
>>> fpscr,r3' in ARM mode
>>> /tmp/ccqybjKL.s:588: Error: selected processor does not support `vmrs
>>> r0,fpscr' in ARM mode
>>> Makefile:476: recipe for target 'lib_a-fenv-vfp.o' failed
>>> make[6]: *** [lib_a-fenv-vfp.o] Error 1
>>> make[6]: Target 'all' not remade because of errors.
>>> make[6]: Leaving directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine/arm'
>>> Making all in .
>>> make[6]: Entering directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine'
>>> make[6]: Nothing to be done for 'all-am'.
>>> make[6]: Leaving directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine'
>>> Makefile:324: recipe for target 'all-recursive' failed
>>> make[5]: *** [all-recursive] Error 1
>>> make[5]: Target 'all' not remade because of errors.
>>> make[5]: Leaving directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine'
>>> make[5]: Entering directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm'
>>> make[5]: Nothing to be done for 'all-am'.
>>> make[5]: Leaving directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm'
>>> Makefile:553: recipe for target 'all-recursive' failed
>>> make[4]: *** [all-recursive] Error 1
>>> make[4]: Target 'all' not remade because of errors.
>>> make[4]: Leaving directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm'
>>> Making all in doc
>>> make[4]: Entering directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/doc'
>>> make[4]: Nothing to be done for 'all'.
>>> make[4]: Leaving directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/doc'
>>> Making all in .
>>> make[4]: Entering directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>> make[4]: Leaving directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>> Makefile:641: recipe for target 'all-recursive' failed
>>> make[3]: *** [all-recursive] Error 1
>>> make[3]: Leaving directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>> Makefile:452: recipe for target 'all' failed
>>> make[2]: *** [all] Error 2
>>> make[2]: Leaving directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>> Makefile:8491: recipe for target 'all-target-newlib' failed
>>> make[1]: *** [all-target-newlib] Error 2
>>> make[1]: Target 'all-target' not remade because of errors.
>>> make[1]: Leaving directory
>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib'
>>> Makefile:878: recipe for target 'all' failed
>>> make: *** [all] Error 2
>>>
>>> On Wed, May 20, 2020 at 4:44 AM Joel Sherrill <joel at rtems.org> wrote:
>>>
>>>>
>>>>
>>>> On Tue, May 19, 2020 at 5:20 PM Eshan Dhawan <eshandhawan51 at gmail.com>
>>>> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Wed, May 20, 2020 at 3:43 AM Eshan Dhawan <eshandhawan51 at gmail.com>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, May 20, 2020 at 2:25 AM Joel Sherrill <joel at rtems.org> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Tue, May 19, 2020 at 3:52 PM Eshan Dhawan <
>>>>>>> eshandhawan51 at gmail.com> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, May 20, 2020 at 1:55 AM Eshan Dhawan <
>>>>>>>> eshandhawan51 at gmail.com> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, May 20, 2020 at 1:42 AM Joel Sherrill <joel at rtems.org>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> There shouldn't need to be an arm/fenv.c file after this is over
>>>>>>>>>> if I am thinking right. Each method will be split into its own file. I
>>>>>>>>>> think that's how the riscv is done.
>>>>>>>>>>
>>>>>>>>> The files in sys/fenv are the one having inline assembly, But the
>>>>>>>>> methods in fenv.c have the files for soft float, and vpf.
>>>>>>>>>
>>>>>>>> could all the files be retailed under different #ifdef conditions
>>>>>>>> similar to that followed in FreeBSD
>>>>>>>>
>>>>>>>
>>>>>>> Hmmm... maybe the methods in sys/fenv.h are redundant. If the bodies
>>>>>>> in fenv.c cover all the multilibs, then delete the static inlines.
>>>>>>>
>>>>>> This may be the case
>>>>>> but the files in Fenv.h are the once with the assembly code.
>>>>>> the files in fenv.c are calling functions from fenv-softfp.c and
>>>>>> fenv-vfp.c
>>>>>> which inturn call files for fenv.h and fenv-softfloat.h
>>>>>> If we remove the inline declaration of the functions from Fenv.h they
>>>>>> won't be able to get the definitions
>>>>>> and will cause errors.
>>>>>>
>>>>> Warning the compiler generates:
>>>>> arm-rtems5-gcc
>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/
>>>>> -isystem
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include
>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>  -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\"
>>>>> -DPACKAGE_VERSION=\"3.3.0\" -DPACKAGE_STRING=\"newlib\ 3.3.0\"
>>>>> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I.
>>>>> -I../../../../../../newlib-cygwin/newlib/libm/machine/arm -I
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/../../../../newlib/libm/common
>>>>> -fno-builtin -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB
>>>>> -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED
>>>>> -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP
>>>>> -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN
>>>>> -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP
>>>>> -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI      -g -O2 -c -o
>>>>> lib_a-fenv-vfp.o `test -f 'fenv-vfp.c' || echo
>>>>> '../../../../../../newlib-cygwin/newlib/libm/machine/arm/'`fenv-vfp.c
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24:
>>>>> warning: inline function '__vfp_fegetexcept' declared but never defined
>>>>>  #define FENV_MANGLE(x) __vfp_ ##x
>>>>>
>>>>
>>>> Hmm... trace the naming patch from the mangled declaration to a method.
>>>> You can drop into the build directory and run the gcc command by hand.
>>>> Tinker with it to add a -E and save the output (not -o...). That will let
>>>> you see the preprocessed output. Something specific and subtle is
>>>> happening. Decode that and you win.
>>>>
>>>>>                         ^
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:52:21:
>>>>> note: in expansion of macro 'FENV_MANGLE'
>>>>>  #define fegetexcept FENV_MANGLE(fegetexcept)
>>>>>                      ^~~~~~~~~~~
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24:
>>>>> warning: inline function '__vfp_fedisableexcept' declared but never defined
>>>>>  #define FENV_MANGLE(x) __vfp_ ##x
>>>>>                         ^
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:51:25:
>>>>> note: in expansion of macro 'FENV_MANGLE'
>>>>>  #define fedisableexcept FENV_MANGLE(fedisableexcept)
>>>>>                          ^~~~~~~~~~~
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24:
>>>>> warning: inline function '__vfp_feenableexcept' declared but never defined
>>>>>  #define FENV_MANGLE(x) __vfp_ ##x
>>>>>                         ^
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:50:24:
>>>>> note: in expansion of macro 'FENV_MANGLE'
>>>>>  #define feenableexcept FENV_MANGLE(feenableexcept)
>>>>>                         ^~~~~~~~~~~
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24:
>>>>> warning: inline function '__vfp_feupdateenv' declared but never defined
>>>>>  #define FENV_MANGLE(x) __vfp_ ##x
>>>>>                         ^
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:49:21:
>>>>> note: in expansion of macro 'FENV_MANGLE'
>>>>>  #define feupdateenv FENV_MANGLE(feupdateenv)
>>>>>                      ^~~~~~~~~~~
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24:
>>>>> warning: inline function '__vfp_fesetenv' declared but never defined
>>>>>  #define FENV_MANGLE(x) __vfp_ ##x
>>>>>                         ^
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:48:18:
>>>>> note: in expansion of macro 'FENV_MANGLE'
>>>>>  #define fesetenv FENV_MANGLE(fesetenv)
>>>>>                   ^~~~~~~~~~~
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24:
>>>>> warning: inline function '__vfp_feholdexcept' declared but never defined
>>>>>  #define FENV_MANGLE(x) __vfp_ ##x
>>>>>                         ^
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:47:22:
>>>>> note: in expansion of macro 'FENV_MANGLE'
>>>>>  #define feholdexcept FENV_MANGLE(feholdexcept)
>>>>>                       ^~~~~~~~~~~
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24:
>>>>> warning: inline function '__vfp_fegetenv' declared but never defined
>>>>>  #define FENV_MANGLE(x) __vfp_ ##x
>>>>>                         ^
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:46:18:
>>>>> note: in expansion of macro 'FENV_MANGLE'
>>>>>  #define fegetenv FENV_MANGLE(fegetenv)
>>>>>                   ^~~~~~~~~~~
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24:
>>>>> warning: inline function '__vfp_fesetround' declared but never defined
>>>>>  #define FENV_MANGLE(x) __vfp_ ##x
>>>>>                         ^
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:45:20:
>>>>> note: in expansion of macro 'FENV_MANGLE'
>>>>>  #define fesetround FENV_MANGLE(fesetround)
>>>>>                     ^~~~~~~~~~~
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24:
>>>>> warning: inline function '__vfp_fegetround' declared but never defined
>>>>>  #define FENV_MANGLE(x) __vfp_ ##x
>>>>>                         ^
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:44:20:
>>>>> note: in expansion of macro 'FENV_MANGLE'
>>>>>  #define fegetround FENV_MANGLE(fegetround)
>>>>>                     ^~~~~~~~~~~
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24:
>>>>> warning: inline function '__vfp_fetestexcept' declared but never defined
>>>>>  #define FENV_MANGLE(x) __vfp_ ##x
>>>>>                         ^
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:43:22:
>>>>> note: in expansion of macro 'FENV_MANGLE'
>>>>>  #define fetestexcept FENV_MANGLE(fetestexcept)
>>>>>                       ^~~~~~~~~~~
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24:
>>>>> warning: inline function '__vfp_fesetexceptflag' declared but never defined
>>>>>  #define FENV_MANGLE(x) __vfp_ ##x
>>>>>                         ^
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:41:25:
>>>>> note: in expansion of macro 'FENV_MANGLE'
>>>>>  #define fesetexceptflag FENV_MANGLE(fesetexceptflag)
>>>>>                          ^~~~~~~~~~~
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24:
>>>>> warning: inline function '__vfp_feraiseexcept' declared but never defined
>>>>>  #define FENV_MANGLE(x) __vfp_ ##x
>>>>>                         ^
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:42:23:
>>>>> note: in expansion of macro 'FENV_MANGLE'
>>>>>  #define feraiseexcept FENV_MANGLE(feraiseexcept)
>>>>>                        ^~~~~~~~~~~
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24:
>>>>> warning: inline function '__vfp_fegetexceptflag' declared but never defined
>>>>>  #define FENV_MANGLE(x) __vfp_ ##x
>>>>>                         ^
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:40:25:
>>>>> note: in expansion of macro 'FENV_MANGLE'
>>>>>  #define fegetexceptflag FENV_MANGLE(fegetexceptflag)
>>>>>                          ^~~~~~~~~~~
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24:
>>>>> warning: inline function '__vfp_feclearexcept' declared but never defined
>>>>>  #define FENV_MANGLE(x) __vfp_ ##x
>>>>>                         ^
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:39:23:
>>>>> note: in expansion of macro 'FENV_MANGLE'
>>>>>  #define feclearexcept FENV_MANGLE(feclearexcept)
>>>>>                        ^~~~~~~~~~~
>>>>> arm-rtems5-gcc
>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/
>>>>> -isystem
>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include
>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>  -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\"
>>>>> -DPACKAGE_VERSION=\"3.3.0\" -DPACKAGE_STRING=\"newlib\ 3.3.0\"
>>>>> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I.
>>>>> -I../../../../../../newlib-cygwin/newlib/libm/machine/arm -I
>>>>> ../../../../../../newlib-cygwin/newlib/libm/machine/arm/../../../../newlib/libm/common
>>>>> -fno-builtin -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB
>>>>> -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED
>>>>> -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP
>>>>> -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN
>>>>> -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP
>>>>> -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI      -g -O2 -c -o
>>>>> lib_a-fenv-softfp.o `test -f 'fenv-softfp.c' || echo
>>>>> '../../../../../../newlib-cygwin/newlib/libm/machine/arm/'`fenv-softfp.c
>>>>> rm -f lib.a
>>>>> arm-rtems5-ar cru lib.a lib_a-e_sqrt.o lib_a-ef_sqrt.o lib_a-s_ceil.o
>>>>> lib_a-s_floor.o lib_a-s_nearbyint.o lib_a-s_rint.o lib_a-s_round.o
>>>>> lib_a-s_trunc.o lib_a-sf_ceil.o lib_a-sf_floor.o lib_a-sf_nearbyint.o
>>>>> lib_a-sf_rint.o lib_a-sf_round.o lib_a-sf_trunc.o lib_a-feclearexcept.o
>>>>> lib_a-fegetenv.o lib_a-fegetexceptflag.o lib_a-fegetround.o
>>>>> lib_a-feholdexcept.o lib_a-fenv.o lib_a-feraiseexcept.o lib_a-fesetenv.o
>>>>> lib_a-fesetexceptflag.o lib_a-fesetround.o lib_a-fetestexcept.o
>>>>> lib_a-feupdateenv.o lib_a-fenv-vfp.o lib_a-fenv-softfp.o
>>>>> arm-rtems5-ar: `u' modifier ignored since `D' is the default (see `U')
>>>>> arm-rtems5-ranlib lib.a
>>>>> make[6]: Leaving directory
>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine/arm'
>>>>> Making all in .
>>>>> make[6]: Entering directory
>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine'
>>>>> rm -f lib.a
>>>>> ln arm/lib.a lib.a >/dev/null 2>/dev/null || \
>>>>>  cp arm/lib.a lib.a
>>>>> make[6]: Leaving directory
>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine'
>>>>> make[5]: Leaving directory
>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine'
>>>>> make[5]: Entering directory
>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm'
>>>>> rm -f libm.a
>>>>> rm -rf tmp
>>>>> mkdir tmp
>>>>> cd tmp; \
>>>>>   for i in math/lib.a common/lib.a complex/lib.a fenv/lib.a
>>>>> machine/lib.a; do \
>>>>>     arm-rtems5-ar x ../$i; \
>>>>> done; \
>>>>> arm-rtems5-ar rc ../libm.a *.o
>>>>> arm-rtems5-ranlib libm.a
>>>>> rm -rf tmp
>>>>> make[5]: Leaving directory
>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm'
>>>>> make[4]: Leaving directory
>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm'
>>>>> Making all in doc
>>>>> make[4]: Entering directory
>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/doc'
>>>>> gcc -g -g -O2 -c ../../../../newlib-cygwin/newlib/doc/makedoc.c
>>>>> gcc -g -O2  -o makedoc makedoc.o
>>>>> make[4]: Leaving directory
>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/doc'
>>>>> Making all in .
>>>>> make[4]: Entering directory
>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>>>> rm -f libm.a
>>>>> ln libm/libm.a libm.a >/dev/null 2>/dev/null || cp libm/libm.a libm.a
>>>>> rm -rf libc.a libg.a tmp
>>>>> mkdir tmp
>>>>> cd tmp; \
>>>>>  arm-rtems5-ar x ../libm.a lib_a-s_fpclassify.o lib_a-sf_fpclassify.o
>>>>> lib_a-s_isinf.o lib_a-sf_isinf.o lib_a-s_isnan.o lib_a-sf_isnan.o
>>>>> lib_a-s_isinfd.o lib_a-sf_isinff.o lib_a-s_isnand.o lib_a-sf_isnanf.o
>>>>> lib_a-s_nan.o lib_a-sf_nan.o lib_a-s_ldexp.o lib_a-sf_ldexp.o
>>>>> lib_a-s_frexp.o lib_a-sf_frexp.o lib_a-s_modf.o lib_a-sf_modf.o
>>>>> lib_a-s_scalbn.o lib_a-sf_scalbn.o lib_a-s_finite.o lib_a-sf_finite.o
>>>>> lib_a-s_copysign.o lib_a-sf_copysign.o ; \
>>>>>  arm-rtems5-ar x ../libc/libc.a ; \
>>>>>  arm-rtems5-ar rc ../libc.a *.o
>>>>> arm-rtems5-ranlib libc.a
>>>>> ln libc.a libg.a >/dev/null 2>/dev/null || cp libc.a libg.a
>>>>> rm -rf tmp
>>>>> rm -f crt0.o
>>>>> ln libc/crt0.o crt0.o >/dev/null 2>/dev/null || cp libc/crt0.o crt0.o
>>>>> make[4]: Leaving directory
>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>>>> make[3]: Leaving directory
>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>>>> make[2]: Leaving directory
>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>>>> make[1]: Leaving directory
>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib'
>>>>>
>>>>>>
>>>>>>> --joel
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>>> --joel
>>>>>>>>>>
>>>>>>>>>> On Tue, May 19, 2020 at 3:05 PM Eshan Dhawan <
>>>>>>>>>> eshandhawan51 at gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Wed, May 20, 2020 at 12:47 AM Joel Sherrill <joel at rtems.org>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Crap! The default mode <sys/fenv.h> is working is turning the
>>>>>>>>>>>> methods into static inline which conflicts with the default implementation.
>>>>>>>>>>>> That's what is happening.
>>>>>>>>>>>>
>>>>>>>>>>>> Cut the static inline bodies out of the arm sys/fenv.h and
>>>>>>>>>>>> distribute them to libm/arm/XXX.c based on their method name. Drop
>>>>>>>>>>>> __fenv_static completely.
>>>>>>>>>>>>
>>>>>>>>>>> What will happen to the fenv methods in the fenv.c file
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Make the new split out feXXX.c files FreeBSD copyright. You
>>>>>>>>>>>> should add a note that you adapted them from their sys/fenv.h with static
>>>>>>>>>>>> inline to have the bodies in separate files. Make the same type of note in
>>>>>>>>>>>> the arm sys/fenv.h.
>>>>>>>>>>>>
>>>>>>>>>>>> Sorry to beat the copyright/credit thing but it is important to
>>>>>>>>>>>> note that the meat of the code came from FreeBSD and you split it into
>>>>>>>>>>>> files.
>>>>>>>>>>>>
>>>>>>>>>>>> --joel
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, May 19, 2020 at 1:48 PM Eshan Dhawan <
>>>>>>>>>>>> eshandhawan51 at gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hello
>>>>>>>>>>>>> I have encountered a new error
>>>>>>>>>>>>> the error is coming from libm/fenv
>>>>>>>>>>>>> link to GitHub repository:
>>>>>>>>>>>>> https://github.com/eshandhawan51/newlib-cygwin/tree/add_fenv_support
>>>>>>>>>>>>>
>>>>>>>>>>>>> Make file log:
>>>>>>>>>>>>> eshan at EDs-pc:~/development/newlib/c-arm-rtems5-newlib$ make -k
>>>>>>>>>>>>> make[1]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib'
>>>>>>>>>>>>> make[2]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/etc'
>>>>>>>>>>>>> make[2]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[2]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/etc'
>>>>>>>>>>>>> Checking multilib configuration for newlib...
>>>>>>>>>>>>> make[2]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>>>>>>>>>>>> make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-g -O2"
>>>>>>>>>>>>> "CCASFLAGS=-g -O2" "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-g -O2"
>>>>>>>>>>>>> "INSTALL=/usr/bin/install -c" "LDFLAGS=" "LIBCFLAGS=-g -O2"
>>>>>>>>>>>>> "LIBCFLAGS_FOR_TARGET=-g -O2" "MAKE=make" "MAKEINFO=makeinfo
>>>>>>>>>>>>> --split-size=5000000 --split-size=5000000 " "PICFLAG="
>>>>>>>>>>>>> "PICFLAG_FOR_TARGET=" "SHELL=/bin/bash" "EXPECT=expect" "RUNTEST=runtest"
>>>>>>>>>>>>> "RUNTESTFLAGS=" "exec_prefix=/usr/local" "infodir=/usr/local/share/info"
>>>>>>>>>>>>> "libdir=/usr/local/lib" "prefix=/usr/local" "tooldir=/usr/local/arm-rtems5"
>>>>>>>>>>>>> "top_toollibdir=/usr/local/arm-rtems5/lib" "AR=arm-rtems5-ar"
>>>>>>>>>>>>> "AS=arm-rtems5-as" "CC=arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>> " "LD=arm-rtems5-ld" "LIBCFLAGS=-g -O2" "NM=arm-rtems5-nm" "PICFLAG="
>>>>>>>>>>>>> "RANLIB=arm-rtems5-ranlib" "DESTDIR=" all-recursive
>>>>>>>>>>>>> make[3]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>>>>>>>>>>>> make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-g -O2"
>>>>>>>>>>>>> "CCASFLAGS=-g -O2" "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-g -O2"
>>>>>>>>>>>>> "INSTALL=/usr/bin/install -c" "LDFLAGS=" "LIBCFLAGS=-g -O2"
>>>>>>>>>>>>> "LIBCFLAGS_FOR_TARGET=-g -O2" "MAKE=make" "MAKEINFO=makeinfo
>>>>>>>>>>>>> --split-size=5000000 --split-size=5000000  " "PICFLAG="
>>>>>>>>>>>>> "PICFLAG_FOR_TARGET=" "SHELL=/bin/bash" "EXPECT=expect" "RUNTEST=runtest"
>>>>>>>>>>>>> "RUNTESTFLAGS=" "exec_prefix=/usr/local" "infodir=/usr/local/share/info"
>>>>>>>>>>>>> "libdir=/usr/local/lib" "prefix=/usr/local" "tooldir=/usr/local/arm-rtems5"
>>>>>>>>>>>>> "top_toollibdir=/usr/local/arm-rtems5/lib" "AR=arm-rtems5-ar"
>>>>>>>>>>>>> "AS=arm-rtems5-as" "CC=arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>> " "LD=arm-rtems5-ld" "LIBCFLAGS=-g -O2" "NM=arm-rtems5-nm" "PICFLAG="
>>>>>>>>>>>>> "RANLIB=arm-rtems5-ranlib" "DESTDIR=" DO=all multi-do # make
>>>>>>>>>>>>> make[4]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>>>>>>>>>>>> if [ -z "thumb vfp/hard thumb/armv6-m thumb/armv7-a
>>>>>>>>>>>>> thumb/armv7-r thumb/cortex-m3 thumb/cortex-m4 thumb/armv7-a/neon/hard
>>>>>>>>>>>>> thumb/armv7-r/vfpv3-d16/hard thumb/cortex-m4/fpv4-sp-d16/hard
>>>>>>>>>>>>> thumb/cortex-m7/fpv5-d16/hard eb/thumb/armv7-r
>>>>>>>>>>>>> eb/thumb/armv7-r/vfpv3-d16/hard" ]; then \
>>>>>>>>>>>>>   true; \
>>>>>>>>>>>>> else \
>>>>>>>>>>>>>   rootpre=`${PWDCMD-pwd}`/; export rootpre; \
>>>>>>>>>>>>>   srcrootpre=`cd ../../../newlib-cygwin/newlib;
>>>>>>>>>>>>> ${PWDCMD-pwd}`/; export srcrootpre; \
>>>>>>>>>>>>>   lib=`echo "${rootpre}" | sed -e
>>>>>>>>>>>>> 's,^.*/\([^/][^/]*\)/$,\1,'`; \
>>>>>>>>>>>>>   compiler="arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>> "; \
>>>>>>>>>>>>>   for i in `${compiler} --print-multi-lib 2>/dev/null`; do \
>>>>>>>>>>>>>     dir=`echo $i | sed -e 's/;.*$//'`; \
>>>>>>>>>>>>>     if [ "${dir}" = "." ]; then \
>>>>>>>>>>>>>       true; \
>>>>>>>>>>>>>     else \
>>>>>>>>>>>>>       if [ -d ../${dir}/${lib} ]; then \
>>>>>>>>>>>>> flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
>>>>>>>>>>>>> if (cd ../${dir}/${lib}; make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc"
>>>>>>>>>>>>> "CFLAGS=-g -O2" "CCASFLAGS=-g -O2" "CFLAGS_FOR_BUILD=-g -O2"
>>>>>>>>>>>>> "CFLAGS_FOR_TARGET=-g -O2" "INSTALL=/usr/bin/install -c" "LDFLAGS="
>>>>>>>>>>>>> "LIBCFLAGS=-g -O2" "LIBCFLAGS_FOR_TARGET=-g -O2" "MAKE=make"
>>>>>>>>>>>>> "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000   " "PICFLAG="
>>>>>>>>>>>>> "PICFLAG_FOR_TARGET=" "SHELL=/bin/bash" "EXPECT=expect" "RUNTEST=runtest"
>>>>>>>>>>>>> "RUNTESTFLAGS=" "exec_prefix=/usr/local" "infodir=/usr/local/share/info"
>>>>>>>>>>>>> "libdir=/usr/local/lib" "prefix=/usr/local" "tooldir=/usr/local/arm-rtems5"
>>>>>>>>>>>>> "top_toollibdir=/usr/local/arm-rtems5/lib" "AR=arm-rtems5-ar"
>>>>>>>>>>>>> "AS=arm-rtems5-as" "CC=arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>> " "LD=arm-rtems5-ld" "LIBCFLAGS=-g -O2" "NM=arm-rtems5-nm" "PICFLAG="
>>>>>>>>>>>>> "RANLIB=arm-rtems5-ranlib" "DESTDIR=" \
>>>>>>>>>>>>> CFLAGS="-g -O2 ${flags}" \
>>>>>>>>>>>>> CCASFLAGS="-g -O2 ${flags}" \
>>>>>>>>>>>>> FCFLAGS=" ${flags}" \
>>>>>>>>>>>>> FFLAGS=" ${flags}" \
>>>>>>>>>>>>> ADAFLAGS=" ${flags}" \
>>>>>>>>>>>>> prefix="/usr/local" \
>>>>>>>>>>>>> exec_prefix="/usr/local" \
>>>>>>>>>>>>> GCJFLAGS=" ${flags}" \
>>>>>>>>>>>>> GOCFLAGS="-O2 -g ${flags}" \
>>>>>>>>>>>>> CXXFLAGS="-g -O2 ${flags}" \
>>>>>>>>>>>>> LIBCFLAGS="-g -O2 ${flags}" \
>>>>>>>>>>>>> LIBCXXFLAGS="-g -O2 -fno-implicit-templates ${flags}" \
>>>>>>>>>>>>> LDFLAGS=" ${flags}" \
>>>>>>>>>>>>> MULTIFLAGS="${flags}" \
>>>>>>>>>>>>> DESTDIR="" \
>>>>>>>>>>>>> INSTALL="/usr/bin/install -c" \
>>>>>>>>>>>>> INSTALL_DATA="/usr/bin/install -c -m 644" \
>>>>>>>>>>>>> INSTALL_PROGRAM="/usr/bin/install -c" \
>>>>>>>>>>>>> INSTALL_SCRIPT="/usr/bin/install -c" \
>>>>>>>>>>>>> all); then \
>>>>>>>>>>>>>  true; \
>>>>>>>>>>>>> else \
>>>>>>>>>>>>>  exit 1; \
>>>>>>>>>>>>> fi; \
>>>>>>>>>>>>>       else true; \
>>>>>>>>>>>>>       fi; \
>>>>>>>>>>>>>     fi; \
>>>>>>>>>>>>>   done; \
>>>>>>>>>>>>> fi
>>>>>>>>>>>>> make[5]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'
>>>>>>>>>>>>> make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-g -O2  -mthumb"
>>>>>>>>>>>>> "CCASFLAGS=-g -O2  -mthumb" "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-g
>>>>>>>>>>>>> -O2" "INSTALL=/usr/bin/install -c" "LDFLAGS=-mthumb" "LIBCFLAGS=-g -O2
>>>>>>>>>>>>>  -mthumb" "LIBCFLAGS_FOR_TARGET=-g -O2" "MAKE=make" "MAKEINFO=makeinfo
>>>>>>>>>>>>> --split-size=5000000 --split-size=5000000    " "PICFLAG="
>>>>>>>>>>>>> "PICFLAG_FOR_TARGET=" "SHELL=/bin/bash" "EXPECT=expect" "RUNTEST=runtest"
>>>>>>>>>>>>> "RUNTESTFLAGS=" "exec_prefix=/usr/local" "infodir=/usr/local/share/info"
>>>>>>>>>>>>> "libdir=/usr/local/lib" "prefix=/usr/local" "tooldir=/usr/local/arm-rtems5"
>>>>>>>>>>>>> "top_toollibdir=/usr/local/arm-rtems5/lib/thumb" "AR=arm-rtems5-ar"
>>>>>>>>>>>>> "AS=arm-rtems5-as" "CC=arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>  -mthumb" "LD=arm-rtems5-ld" "LIBCFLAGS=-g -O2  -mthumb" "NM=arm-rtems5-nm"
>>>>>>>>>>>>> "PICFLAG=" "RANLIB=arm-rtems5-ranlib" "DESTDIR=" all-recursive
>>>>>>>>>>>>> make[6]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'
>>>>>>>>>>>>> true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-g -O2  -mthumb"
>>>>>>>>>>>>> "CCASFLAGS=-g -O2  -mthumb" "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-g
>>>>>>>>>>>>> -O2" "INSTALL=/usr/bin/install -c" "LDFLAGS=-mthumb" "LIBCFLAGS=-g -O2
>>>>>>>>>>>>>  -mthumb" "LIBCFLAGS_FOR_TARGET=-g -O2" "MAKE=make" "MAKEINFO=makeinfo
>>>>>>>>>>>>> --split-size=5000000 --split-size=5000000     " "PICFLAG="
>>>>>>>>>>>>> "PICFLAG_FOR_TARGET=" "SHELL=/bin/bash" "EXPECT=expect" "RUNTEST=runtest"
>>>>>>>>>>>>> "RUNTESTFLAGS=" "exec_prefix=/usr/local" "infodir=/usr/local/share/info"
>>>>>>>>>>>>> "libdir=/usr/local/lib" "prefix=/usr/local" "tooldir=/usr/local/arm-rtems5"
>>>>>>>>>>>>> "top_toollibdir=/usr/local/arm-rtems5/lib/thumb" "AR=arm-rtems5-ar"
>>>>>>>>>>>>> "AS=arm-rtems5-as" "CC=arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>  -mthumb" "LD=arm-rtems5-ld" "LIBCFLAGS=-g -O2  -mthumb" "NM=arm-rtems5-nm"
>>>>>>>>>>>>> "PICFLAG=" "RANLIB=arm-rtems5-ranlib" "DESTDIR=" DO=all multi-do # make
>>>>>>>>>>>>> Making all in libc
>>>>>>>>>>>>> make[7]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc'
>>>>>>>>>>>>> Making all in argz
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/argz'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/argz'
>>>>>>>>>>>>> Making all in stdlib
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/stdlib'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/stdlib'
>>>>>>>>>>>>> Making all in ctype
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/ctype'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/ctype'
>>>>>>>>>>>>> Making all in search
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/search'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/search'
>>>>>>>>>>>>> Making all in stdio
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/stdio'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/stdio'
>>>>>>>>>>>>> Making all in string
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/string'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/string'
>>>>>>>>>>>>> Making all in signal
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/signal'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/signal'
>>>>>>>>>>>>> Making all in time
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/time'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/time'
>>>>>>>>>>>>> Making all in locale
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/locale'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/locale'
>>>>>>>>>>>>> Making all in sys
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/sys'
>>>>>>>>>>>>> Making all in rtems
>>>>>>>>>>>>> make[9]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/sys/rtems'
>>>>>>>>>>>>> make[9]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[9]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/sys/rtems'
>>>>>>>>>>>>> Making all in .
>>>>>>>>>>>>> make[9]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/sys'
>>>>>>>>>>>>> make[9]: Nothing to be done for 'all-am'.
>>>>>>>>>>>>> make[9]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/sys'
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/sys'
>>>>>>>>>>>>> Making all in reent
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/reent'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/reent'
>>>>>>>>>>>>> Making all in errno
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/errno'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/errno'
>>>>>>>>>>>>> Making all in misc
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/misc'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/misc'
>>>>>>>>>>>>> Making all in machine
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/machine'
>>>>>>>>>>>>> Making all in arm
>>>>>>>>>>>>> make[9]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/machine/arm'
>>>>>>>>>>>>> make[9]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[9]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/machine/arm'
>>>>>>>>>>>>> Making all in .
>>>>>>>>>>>>> make[9]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/machine'
>>>>>>>>>>>>> make[9]: Nothing to be done for 'all-am'.
>>>>>>>>>>>>> make[9]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/machine'
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/machine'
>>>>>>>>>>>>> Making all in unix
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/unix'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/unix'
>>>>>>>>>>>>> Making all in posix
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/posix'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/posix'
>>>>>>>>>>>>> Making all in ssp
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/ssp'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/ssp'
>>>>>>>>>>>>> Making all in .
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all-am'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc'
>>>>>>>>>>>>> make[7]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc'
>>>>>>>>>>>>> Making all in libm
>>>>>>>>>>>>> make[7]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm'
>>>>>>>>>>>>> Making all in math
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/math'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/math'
>>>>>>>>>>>>> Making all in common
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/common'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/common'
>>>>>>>>>>>>> Making all in complex
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/complex'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/complex'
>>>>>>>>>>>>> Making all in fenv
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/fenv'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/fenv'
>>>>>>>>>>>>> Making all in machine
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine'
>>>>>>>>>>>>> Making all in arm
>>>>>>>>>>>>> make[9]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine/arm'
>>>>>>>>>>>>> make[9]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[9]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine/arm'
>>>>>>>>>>>>> Making all in .
>>>>>>>>>>>>> make[9]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine'
>>>>>>>>>>>>> make[9]: Nothing to be done for 'all-am'.
>>>>>>>>>>>>> make[9]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine'
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine'
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all-am'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm'
>>>>>>>>>>>>> make[7]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm'
>>>>>>>>>>>>> Making all in .
>>>>>>>>>>>>> make[7]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'
>>>>>>>>>>>>> rm -f thumb/crt0.o
>>>>>>>>>>>>> ln libc/crt0.o thumb/crt0.o >/dev/null 2>/dev/null || cp
>>>>>>>>>>>>> libc/crt0.o thumb/crt0.o
>>>>>>>>>>>>> rm -f thumb/libc.a ./thumb/libg.a
>>>>>>>>>>>>> ln libc.a thumb/libc.a >/dev/null 2>/dev/null || cp libc.a
>>>>>>>>>>>>> thumb/libc.a
>>>>>>>>>>>>> ln libg.a ./thumb/libg.a >/dev/null 2>/dev/null || \
>>>>>>>>>>>>> cp libg.a ./thumb/libg.a
>>>>>>>>>>>>> rm -f thumb/libm.a
>>>>>>>>>>>>> ln libm.a thumb/libm.a >/dev/null 2>/dev/null || cp libm.a
>>>>>>>>>>>>> thumb/libm.a
>>>>>>>>>>>>> make[7]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'
>>>>>>>>>>>>> make[6]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'
>>>>>>>>>>>>> make[5]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'
>>>>>>>>>>>>> make[5]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib'
>>>>>>>>>>>>> make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-g -O2
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard" "CCASFLAGS=-g -O2  -mfpu=vfp -mfloat-abi=hard"
>>>>>>>>>>>>> "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-g -O2"
>>>>>>>>>>>>> "INSTALL=/usr/bin/install -c" "LDFLAGS=-mfpu=vfp -mfloat-abi=hard"
>>>>>>>>>>>>> "LIBCFLAGS=-g -O2  -mfpu=vfp -mfloat-abi=hard" "LIBCFLAGS_FOR_TARGET=-g
>>>>>>>>>>>>> -O2" "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000
>>>>>>>>>>>>> --split-size=5000000    " "PICFLAG=" "PICFLAG_FOR_TARGET="
>>>>>>>>>>>>> "SHELL=/bin/bash" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS="
>>>>>>>>>>>>> "exec_prefix=/usr/local" "infodir=/usr/local/share/info"
>>>>>>>>>>>>> "libdir=/usr/local/lib" "prefix=/usr/local" "tooldir=/usr/local/arm-rtems5"
>>>>>>>>>>>>> "top_toollibdir=/usr/local/arm-rtems5/lib/vfp/hard" "AR=arm-rtems5-ar"
>>>>>>>>>>>>> "AS=arm-rtems5-as" "CC=arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard" "LD=arm-rtems5-ld" "LIBCFLAGS=-g -O2
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard" "NM=arm-rtems5-nm" "PICFLAG="
>>>>>>>>>>>>> "RANLIB=arm-rtems5-ranlib" "DESTDIR=" all-recursive
>>>>>>>>>>>>> make[6]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib'
>>>>>>>>>>>>> true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-g -O2
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard" "CCASFLAGS=-g -O2  -mfpu=vfp -mfloat-abi=hard"
>>>>>>>>>>>>> "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-g -O2"
>>>>>>>>>>>>> "INSTALL=/usr/bin/install -c" "LDFLAGS=-mfpu=vfp -mfloat-abi=hard"
>>>>>>>>>>>>> "LIBCFLAGS=-g -O2  -mfpu=vfp -mfloat-abi=hard" "LIBCFLAGS_FOR_TARGET=-g
>>>>>>>>>>>>> -O2" "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000
>>>>>>>>>>>>> --split-size=5000000     " "PICFLAG=" "PICFLAG_FOR_TARGET="
>>>>>>>>>>>>> "SHELL=/bin/bash" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS="
>>>>>>>>>>>>> "exec_prefix=/usr/local" "infodir=/usr/local/share/info"
>>>>>>>>>>>>> "libdir=/usr/local/lib" "prefix=/usr/local" "tooldir=/usr/local/arm-rtems5"
>>>>>>>>>>>>> "top_toollibdir=/usr/local/arm-rtems5/lib/vfp/hard" "AR=arm-rtems5-ar"
>>>>>>>>>>>>> "AS=arm-rtems5-as" "CC=arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard" "LD=arm-rtems5-ld" "LIBCFLAGS=-g -O2
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard" "NM=arm-rtems5-nm" "PICFLAG="
>>>>>>>>>>>>> "RANLIB=arm-rtems5-ranlib" "DESTDIR=" DO=all multi-do # make
>>>>>>>>>>>>> Making all in libc
>>>>>>>>>>>>> make[7]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc'
>>>>>>>>>>>>> Making all in argz
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/argz'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/argz'
>>>>>>>>>>>>> Making all in stdlib
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/stdlib'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/stdlib'
>>>>>>>>>>>>> Making all in ctype
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/ctype'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/ctype'
>>>>>>>>>>>>> Making all in search
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/search'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/search'
>>>>>>>>>>>>> Making all in stdio
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/stdio'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/stdio'
>>>>>>>>>>>>> Making all in string
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/string'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/string'
>>>>>>>>>>>>> Making all in signal
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/signal'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/signal'
>>>>>>>>>>>>> Making all in time
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/time'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/time'
>>>>>>>>>>>>> Making all in locale
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/locale'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/locale'
>>>>>>>>>>>>> Making all in sys
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/sys'
>>>>>>>>>>>>> Making all in rtems
>>>>>>>>>>>>> make[9]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/sys/rtems'
>>>>>>>>>>>>> make[9]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[9]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/sys/rtems'
>>>>>>>>>>>>> Making all in .
>>>>>>>>>>>>> make[9]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/sys'
>>>>>>>>>>>>> make[9]: Nothing to be done for 'all-am'.
>>>>>>>>>>>>> make[9]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/sys'
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/sys'
>>>>>>>>>>>>> Making all in reent
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/reent'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/reent'
>>>>>>>>>>>>> Making all in errno
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/errno'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/errno'
>>>>>>>>>>>>> Making all in misc
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/misc'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/misc'
>>>>>>>>>>>>> Making all in machine
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/machine'
>>>>>>>>>>>>> Making all in arm
>>>>>>>>>>>>> make[9]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/machine/arm'
>>>>>>>>>>>>> make[9]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[9]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/machine/arm'
>>>>>>>>>>>>> Making all in .
>>>>>>>>>>>>> make[9]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/machine'
>>>>>>>>>>>>> make[9]: Nothing to be done for 'all-am'.
>>>>>>>>>>>>> make[9]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/machine'
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/machine'
>>>>>>>>>>>>> Making all in unix
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/unix'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/unix'
>>>>>>>>>>>>> Making all in posix
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/posix'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/posix'
>>>>>>>>>>>>> Making all in ssp
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/ssp'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/ssp'
>>>>>>>>>>>>> Making all in .
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all-am'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc'
>>>>>>>>>>>>> make[7]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc'
>>>>>>>>>>>>> Making all in libm
>>>>>>>>>>>>> make[7]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm'
>>>>>>>>>>>>> Making all in math
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/math'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/math'
>>>>>>>>>>>>> Making all in common
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/common'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/common'
>>>>>>>>>>>>> Making all in complex
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/complex'
>>>>>>>>>>>>> make[8]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/complex'
>>>>>>>>>>>>> Making all in fenv
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/fenv'
>>>>>>>>>>>>> arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard -DPACKAGE_NAME=\"newlib\"
>>>>>>>>>>>>> -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"3.3.0\"
>>>>>>>>>>>>> -DPACKAGE_STRING=\"newlib\ 3.3.0\" -DPACKAGE_BUGREPORT=\"\"
>>>>>>>>>>>>> -DPACKAGE_URL=\"\" -I.
>>>>>>>>>>>>> -I../../../../../../../newlib-cygwin/newlib/libm/fenv -fno-builtin
>>>>>>>>>>>>> -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB -DCLOCK_PROVIDED
>>>>>>>>>>>>> -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DGETREENT_PROVIDED
>>>>>>>>>>>>> -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL
>>>>>>>>>>>>> -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS
>>>>>>>>>>>>> -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI
>>>>>>>>>>>>>   -fbuiltin -fno-math-errno  -g -O2  -mfpu=vfp -mfloat-abi=hard -c -o
>>>>>>>>>>>>> lib_a-feclearexcept.o `test -f 'feclearexcept.c' || echo
>>>>>>>>>>>>> '../../../../../../../newlib-cygwin/newlib/libm/fenv/'`feclearexcept.c
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/feclearexcept.c:64:5:
>>>>>>>>>>>>> error: redefinition of 'feclearexcept'
>>>>>>>>>>>>>  int feclearexcept(int excepts)
>>>>>>>>>>>>>      ^~~~~~~~~~~~~
>>>>>>>>>>>>> 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/vfp/hard/newlib/targ-include/sys/fenv.h:126:1:
>>>>>>>>>>>>> note: previous definition of 'feclearexcept' was here
>>>>>>>>>>>>>  feclearexcept(int excepts)
>>>>>>>>>>>>>  ^~~~~~~~~~~~~
>>>>>>>>>>>>> Makefile:347: recipe for target 'lib_a-feclearexcept.o' failed
>>>>>>>>>>>>> make[8]: *** [lib_a-feclearexcept.o] Error 1
>>>>>>>>>>>>> arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard -DPACKAGE_NAME=\"newlib\"
>>>>>>>>>>>>> -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"3.3.0\"
>>>>>>>>>>>>> -DPACKAGE_STRING=\"newlib\ 3.3.0\" -DPACKAGE_BUGREPORT=\"\"
>>>>>>>>>>>>> -DPACKAGE_URL=\"\" -I.
>>>>>>>>>>>>> -I../../../../../../../newlib-cygwin/newlib/libm/fenv -fno-builtin
>>>>>>>>>>>>> -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB -DCLOCK_PROVIDED
>>>>>>>>>>>>> -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DGETREENT_PROVIDED
>>>>>>>>>>>>> -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL
>>>>>>>>>>>>> -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS
>>>>>>>>>>>>> -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI
>>>>>>>>>>>>>   -fbuiltin -fno-math-errno  -g -O2  -mfpu=vfp -mfloat-abi=hard -c -o
>>>>>>>>>>>>> lib_a-fegetenv.o `test -f 'fegetenv.c' || echo
>>>>>>>>>>>>> '../../../../../../../newlib-cygwin/newlib/libm/fenv/'`fegetenv.c
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/fegetenv.c:64:5:
>>>>>>>>>>>>> error: redefinition of 'fegetenv'
>>>>>>>>>>>>>  int fegetenv(fenv_t *envp)
>>>>>>>>>>>>>      ^~~~~~~~
>>>>>>>>>>>>> In file included from
>>>>>>>>>>>>> /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,
>>>>>>>>>>>>>                  from
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/fegetenv.c:29:
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include/sys/fenv.h:198:1:
>>>>>>>>>>>>> note: previous definition of 'fegetenv' was here
>>>>>>>>>>>>>  fegetenv(fenv_t *envp)
>>>>>>>>>>>>>  ^~~~~~~~
>>>>>>>>>>>>> Makefile:359: recipe for target 'lib_a-fegetenv.o' failed
>>>>>>>>>>>>> make[8]: *** [lib_a-fegetenv.o] Error 1
>>>>>>>>>>>>> arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard -DPACKAGE_NAME=\"newlib\"
>>>>>>>>>>>>> -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"3.3.0\"
>>>>>>>>>>>>> -DPACKAGE_STRING=\"newlib\ 3.3.0\" -DPACKAGE_BUGREPORT=\"\"
>>>>>>>>>>>>> -DPACKAGE_URL=\"\" -I.
>>>>>>>>>>>>> -I../../../../../../../newlib-cygwin/newlib/libm/fenv -fno-builtin
>>>>>>>>>>>>> -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB -DCLOCK_PROVIDED
>>>>>>>>>>>>> -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DGETREENT_PROVIDED
>>>>>>>>>>>>> -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL
>>>>>>>>>>>>> -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS
>>>>>>>>>>>>> -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI
>>>>>>>>>>>>>   -fbuiltin -fno-math-errno  -g -O2  -mfpu=vfp -mfloat-abi=hard -c -o
>>>>>>>>>>>>> lib_a-fegetexceptflag.o `test -f 'fegetexceptflag.c' || echo
>>>>>>>>>>>>> '../../../../../../../newlib-cygwin/newlib/libm/fenv/'`fegetexceptflag.c
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/fegetexceptflag.c:65:5:
>>>>>>>>>>>>> error: redefinition of 'fegetexceptflag'
>>>>>>>>>>>>>  int fegetexceptflag(fexcept_t *flagp, int excepts)
>>>>>>>>>>>>>      ^~~~~~~~~~~~~~~
>>>>>>>>>>>>> In file included from
>>>>>>>>>>>>> /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,
>>>>>>>>>>>>>                  from
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/fegetexceptflag.c:29:
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include/sys/fenv.h:137:1:
>>>>>>>>>>>>> note: previous definition of 'fegetexceptflag' was here
>>>>>>>>>>>>>  fegetexceptflag(fexcept_t *flagp, int excepts)
>>>>>>>>>>>>>  ^~~~~~~~~~~~~~~
>>>>>>>>>>>>> Makefile:365: recipe for target 'lib_a-fegetexceptflag.o'
>>>>>>>>>>>>> failed
>>>>>>>>>>>>> make[8]: *** [lib_a-fegetexceptflag.o] Error 1
>>>>>>>>>>>>> arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard -DPACKAGE_NAME=\"newlib\"
>>>>>>>>>>>>> -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"3.3.0\"
>>>>>>>>>>>>> -DPACKAGE_STRING=\"newlib\ 3.3.0\" -DPACKAGE_BUGREPORT=\"\"
>>>>>>>>>>>>> -DPACKAGE_URL=\"\" -I.
>>>>>>>>>>>>> -I../../../../../../../newlib-cygwin/newlib/libm/fenv -fno-builtin
>>>>>>>>>>>>> -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB -DCLOCK_PROVIDED
>>>>>>>>>>>>> -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DGETREENT_PROVIDED
>>>>>>>>>>>>> -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL
>>>>>>>>>>>>> -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS
>>>>>>>>>>>>> -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI
>>>>>>>>>>>>>   -fbuiltin -fno-math-errno  -g -O2  -mfpu=vfp -mfloat-abi=hard -c -o
>>>>>>>>>>>>> lib_a-fegetround.o `test -f 'fegetround.c' || echo
>>>>>>>>>>>>> '../../../../../../../newlib-cygwin/newlib/libm/fenv/'`fegetround.c
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/fegetround.c:63:5:
>>>>>>>>>>>>> error: redefinition of 'fegetround'
>>>>>>>>>>>>>  int fegetround(void)
>>>>>>>>>>>>>      ^~~~~~~~~~
>>>>>>>>>>>>> In file included from
>>>>>>>>>>>>> /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,
>>>>>>>>>>>>>                  from
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/fegetround.c:29:
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include/sys/fenv.h:177:1:
>>>>>>>>>>>>> note: previous definition of 'fegetround' was here
>>>>>>>>>>>>>  fegetround(void)
>>>>>>>>>>>>>  ^~~~~~~~~~
>>>>>>>>>>>>> Makefile:371: recipe for target 'lib_a-fegetround.o' failed
>>>>>>>>>>>>> make[8]: *** [lib_a-fegetround.o] Error 1
>>>>>>>>>>>>> arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard -DPACKAGE_NAME=\"newlib\"
>>>>>>>>>>>>> -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"3.3.0\"
>>>>>>>>>>>>> -DPACKAGE_STRING=\"newlib\ 3.3.0\" -DPACKAGE_BUGREPORT=\"\"
>>>>>>>>>>>>> -DPACKAGE_URL=\"\" -I.
>>>>>>>>>>>>> -I../../../../../../../newlib-cygwin/newlib/libm/fenv -fno-builtin
>>>>>>>>>>>>> -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB -DCLOCK_PROVIDED
>>>>>>>>>>>>> -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DGETREENT_PROVIDED
>>>>>>>>>>>>> -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL
>>>>>>>>>>>>> -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS
>>>>>>>>>>>>> -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI
>>>>>>>>>>>>>   -fbuiltin -fno-math-errno  -g -O2  -mfpu=vfp -mfloat-abi=hard -c -o
>>>>>>>>>>>>> lib_a-feholdexcept.o `test -f 'feholdexcept.c' || echo
>>>>>>>>>>>>> '../../../../../../../newlib-cygwin/newlib/libm/fenv/'`feholdexcept.c
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/feholdexcept.c:67:5:
>>>>>>>>>>>>> error: redefinition of 'feholdexcept'
>>>>>>>>>>>>>  int feholdexcept(fenv_t *envp)
>>>>>>>>>>>>>      ^~~~~~~~~~~~
>>>>>>>>>>>>> In file included from
>>>>>>>>>>>>> /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,
>>>>>>>>>>>>>                  from
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/feholdexcept.c:29:
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include/sys/fenv.h:206:1:
>>>>>>>>>>>>> note: previous definition of 'feholdexcept' was here
>>>>>>>>>>>>>  feholdexcept(fenv_t *envp)
>>>>>>>>>>>>>  ^~~~~~~~~~~~
>>>>>>>>>>>>> Makefile:377: recipe for target 'lib_a-feholdexcept.o' failed
>>>>>>>>>>>>> make[8]: *** [lib_a-feholdexcept.o] Error 1
>>>>>>>>>>>>> arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard -DPACKAGE_NAME=\"newlib\"
>>>>>>>>>>>>> -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"3.3.0\"
>>>>>>>>>>>>> -DPACKAGE_STRING=\"newlib\ 3.3.0\" -DPACKAGE_BUGREPORT=\"\"
>>>>>>>>>>>>> -DPACKAGE_URL=\"\" -I.
>>>>>>>>>>>>> -I../../../../../../../newlib-cygwin/newlib/libm/fenv -fno-builtin
>>>>>>>>>>>>> -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB -DCLOCK_PROVIDED
>>>>>>>>>>>>> -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DGETREENT_PROVIDED
>>>>>>>>>>>>> -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL
>>>>>>>>>>>>> -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS
>>>>>>>>>>>>> -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI
>>>>>>>>>>>>>   -fbuiltin -fno-math-errno  -g -O2  -mfpu=vfp -mfloat-abi=hard -c -o
>>>>>>>>>>>>> lib_a-feraiseexcept.o `test -f 'feraiseexcept.c' || echo
>>>>>>>>>>>>> '../../../../../../../newlib-cygwin/newlib/libm/fenv/'`feraiseexcept.c
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/feraiseexcept.c:64:5:
>>>>>>>>>>>>> error: redefinition of 'feraiseexcept'
>>>>>>>>>>>>>  int feraiseexcept(int excepts)
>>>>>>>>>>>>>      ^~~~~~~~~~~~~
>>>>>>>>>>>>> In file included from
>>>>>>>>>>>>> /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,
>>>>>>>>>>>>>                  from
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/feraiseexcept.c:29:
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include/sys/fenv.h:159:1:
>>>>>>>>>>>>> note: previous definition of 'feraiseexcept' was here
>>>>>>>>>>>>>  feraiseexcept(int excepts)
>>>>>>>>>>>>>  ^~~~~~~~~~~~~
>>>>>>>>>>>>> Makefile:383: recipe for target 'lib_a-feraiseexcept.o' failed
>>>>>>>>>>>>> make[8]: *** [lib_a-feraiseexcept.o] Error 1
>>>>>>>>>>>>> arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard -DPACKAGE_NAME=\"newlib\"
>>>>>>>>>>>>> -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"3.3.0\"
>>>>>>>>>>>>> -DPACKAGE_STRING=\"newlib\ 3.3.0\" -DPACKAGE_BUGREPORT=\"\"
>>>>>>>>>>>>> -DPACKAGE_URL=\"\" -I.
>>>>>>>>>>>>> -I../../../../../../../newlib-cygwin/newlib/libm/fenv -fno-builtin
>>>>>>>>>>>>> -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB -DCLOCK_PROVIDED
>>>>>>>>>>>>> -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DGETREENT_PROVIDED
>>>>>>>>>>>>> -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL
>>>>>>>>>>>>> -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS
>>>>>>>>>>>>> -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI
>>>>>>>>>>>>>   -fbuiltin -fno-math-errno  -g -O2  -mfpu=vfp -mfloat-abi=hard -c -o
>>>>>>>>>>>>> lib_a-fesetenv.o `test -f 'fesetenv.c' || echo
>>>>>>>>>>>>> '../../../../../../../newlib-cygwin/newlib/libm/fenv/'`fesetenv.c
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/fesetenv.c:69:5:
>>>>>>>>>>>>> error: redefinition of 'fesetenv'
>>>>>>>>>>>>>  int fesetenv(const fenv_t *envp)
>>>>>>>>>>>>>      ^~~~~~~~
>>>>>>>>>>>>> In file included from
>>>>>>>>>>>>> /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,
>>>>>>>>>>>>>                  from
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/fesetenv.c:29:
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include/sys/fenv.h:218:1:
>>>>>>>>>>>>> note: previous definition of 'fesetenv' was here
>>>>>>>>>>>>>  fesetenv(const fenv_t *envp)
>>>>>>>>>>>>>  ^~~~~~~~
>>>>>>>>>>>>> Makefile:389: recipe for target 'lib_a-fesetenv.o' failed
>>>>>>>>>>>>> make[8]: *** [lib_a-fesetenv.o] Error 1
>>>>>>>>>>>>> arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard -DPACKAGE_NAME=\"newlib\"
>>>>>>>>>>>>> -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"3.3.0\"
>>>>>>>>>>>>> -DPACKAGE_STRING=\"newlib\ 3.3.0\" -DPACKAGE_BUGREPORT=\"\"
>>>>>>>>>>>>> -DPACKAGE_URL=\"\" -I.
>>>>>>>>>>>>> -I../../../../../../../newlib-cygwin/newlib/libm/fenv -fno-builtin
>>>>>>>>>>>>> -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB -DCLOCK_PROVIDED
>>>>>>>>>>>>> -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DGETREENT_PROVIDED
>>>>>>>>>>>>> -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL
>>>>>>>>>>>>> -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS
>>>>>>>>>>>>> -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI
>>>>>>>>>>>>>   -fbuiltin -fno-math-errno  -g -O2  -mfpu=vfp -mfloat-abi=hard -c -o
>>>>>>>>>>>>> lib_a-fesetexceptflag.o `test -f 'fesetexceptflag.c' || echo
>>>>>>>>>>>>> '../../../../../../../newlib-cygwin/newlib/libm/fenv/'`fesetexceptflag.c
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/fesetexceptflag.c:70:5:
>>>>>>>>>>>>> error: redefinition of 'fesetexceptflag'
>>>>>>>>>>>>>  int fesetexceptflag(const fexcept_t *flagp, int excepts)
>>>>>>>>>>>>>      ^~~~~~~~~~~~~~~
>>>>>>>>>>>>> In file included from
>>>>>>>>>>>>> /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,
>>>>>>>>>>>>>                  from
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/fesetexceptflag.c:29:
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include/sys/fenv.h:147:1:
>>>>>>>>>>>>> note: previous definition of 'fesetexceptflag' was here
>>>>>>>>>>>>>  fesetexceptflag(const fexcept_t *flagp, int excepts)
>>>>>>>>>>>>>  ^~~~~~~~~~~~~~~
>>>>>>>>>>>>> Makefile:395: recipe for target 'lib_a-fesetexceptflag.o'
>>>>>>>>>>>>> failed
>>>>>>>>>>>>> make[8]: *** [lib_a-fesetexceptflag.o] Error 1
>>>>>>>>>>>>> arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard -DPACKAGE_NAME=\"newlib\"
>>>>>>>>>>>>> -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"3.3.0\"
>>>>>>>>>>>>> -DPACKAGE_STRING=\"newlib\ 3.3.0\" -DPACKAGE_BUGREPORT=\"\"
>>>>>>>>>>>>> -DPACKAGE_URL=\"\" -I.
>>>>>>>>>>>>> -I../../../../../../../newlib-cygwin/newlib/libm/fenv -fno-builtin
>>>>>>>>>>>>> -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB -DCLOCK_PROVIDED
>>>>>>>>>>>>> -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DGETREENT_PROVIDED
>>>>>>>>>>>>> -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL
>>>>>>>>>>>>> -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS
>>>>>>>>>>>>> -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI
>>>>>>>>>>>>>   -fbuiltin -fno-math-errno  -g -O2  -mfpu=vfp -mfloat-abi=hard -c -o
>>>>>>>>>>>>> lib_a-fesetround.o `test -f 'fesetround.c' || echo
>>>>>>>>>>>>> '../../../../../../../newlib-cygwin/newlib/libm/fenv/'`fesetround.c
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/fesetround.c:64:5:
>>>>>>>>>>>>> error: redefinition of 'fesetround'
>>>>>>>>>>>>>  int fesetround(int round)
>>>>>>>>>>>>>      ^~~~~~~~~~
>>>>>>>>>>>>> In file included from
>>>>>>>>>>>>> /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,
>>>>>>>>>>>>>                  from
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/fesetround.c:29:
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include/sys/fenv.h:186:1:
>>>>>>>>>>>>> note: previous definition of 'fesetround' was here
>>>>>>>>>>>>>  fesetround(int round)
>>>>>>>>>>>>>  ^~~~~~~~~~
>>>>>>>>>>>>> Makefile:401: recipe for target 'lib_a-fesetround.o' failed
>>>>>>>>>>>>> make[8]: *** [lib_a-fesetround.o] Error 1
>>>>>>>>>>>>> arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard -DPACKAGE_NAME=\"newlib\"
>>>>>>>>>>>>> -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"3.3.0\"
>>>>>>>>>>>>> -DPACKAGE_STRING=\"newlib\ 3.3.0\" -DPACKAGE_BUGREPORT=\"\"
>>>>>>>>>>>>> -DPACKAGE_URL=\"\" -I.
>>>>>>>>>>>>> -I../../../../../../../newlib-cygwin/newlib/libm/fenv -fno-builtin
>>>>>>>>>>>>> -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB -DCLOCK_PROVIDED
>>>>>>>>>>>>> -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DGETREENT_PROVIDED
>>>>>>>>>>>>> -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL
>>>>>>>>>>>>> -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS
>>>>>>>>>>>>> -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI
>>>>>>>>>>>>>   -fbuiltin -fno-math-errno  -g -O2  -mfpu=vfp -mfloat-abi=hard -c -o
>>>>>>>>>>>>> lib_a-fetestexcept.o `test -f 'fetestexcept.c' || echo
>>>>>>>>>>>>> '../../../../../../../newlib-cygwin/newlib/libm/fenv/'`fetestexcept.c
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/fetestexcept.c:65:5:
>>>>>>>>>>>>> error: redefinition of 'fetestexcept'
>>>>>>>>>>>>>  int fetestexcept(int excepts)
>>>>>>>>>>>>>      ^~~~~~~~~~~~
>>>>>>>>>>>>> In file included from
>>>>>>>>>>>>> /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,
>>>>>>>>>>>>>                  from
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/fetestexcept.c:30:
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include/sys/fenv.h:168:1:
>>>>>>>>>>>>> note: previous definition of 'fetestexcept' was here
>>>>>>>>>>>>>  fetestexcept(int excepts)
>>>>>>>>>>>>>  ^~~~~~~~~~~~
>>>>>>>>>>>>> Makefile:407: recipe for target 'lib_a-fetestexcept.o' failed
>>>>>>>>>>>>> make[8]: *** [lib_a-fetestexcept.o] Error 1
>>>>>>>>>>>>> arm-rtems5-gcc
>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/
>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include
>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>  -mfpu=vfp -mfloat-abi=hard -DPACKAGE_NAME=\"newlib\"
>>>>>>>>>>>>> -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"3.3.0\"
>>>>>>>>>>>>> -DPACKAGE_STRING=\"newlib\ 3.3.0\" -DPACKAGE_BUGREPORT=\"\"
>>>>>>>>>>>>> -DPACKAGE_URL=\"\" -I.
>>>>>>>>>>>>> -I../../../../../../../newlib-cygwin/newlib/libm/fenv -fno-builtin
>>>>>>>>>>>>> -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB -DCLOCK_PROVIDED
>>>>>>>>>>>>> -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DGETREENT_PROVIDED
>>>>>>>>>>>>> -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL
>>>>>>>>>>>>> -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS
>>>>>>>>>>>>> -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI
>>>>>>>>>>>>>   -fbuiltin -fno-math-errno  -g -O2  -mfpu=vfp -mfloat-abi=hard -c -o
>>>>>>>>>>>>> lib_a-feupdateenv.o `test -f 'feupdateenv.c' || echo
>>>>>>>>>>>>> '../../../../../../../newlib-cygwin/newlib/libm/fenv/'`feupdateenv.c
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/feupdateenv.c:69:5:
>>>>>>>>>>>>> error: redefinition of 'feupdateenv'
>>>>>>>>>>>>>  int feupdateenv(const fenv_t *envp)
>>>>>>>>>>>>>      ^~~~~~~~~~~
>>>>>>>>>>>>> In file included from
>>>>>>>>>>>>> /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,
>>>>>>>>>>>>>                  from
>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/fenv/feupdateenv.c:29:
>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/targ-include/sys/fenv.h:226:1:
>>>>>>>>>>>>> note: previous definition of 'feupdateenv' was here
>>>>>>>>>>>>>  feupdateenv(const fenv_t *envp)
>>>>>>>>>>>>>  ^~~~~~~~~~~
>>>>>>>>>>>>> Makefile:413: recipe for target 'lib_a-feupdateenv.o' failed
>>>>>>>>>>>>> make[8]: *** [lib_a-feupdateenv.o] Error 1
>>>>>>>>>>>>> make[8]: Target 'all' not remade because of errors.
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/fenv'
>>>>>>>>>>>>> Making all in machine
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/machine'
>>>>>>>>>>>>> Making all in arm
>>>>>>>>>>>>> make[9]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/machine/arm'
>>>>>>>>>>>>> make[9]: Nothing to be done for 'all'.
>>>>>>>>>>>>> make[9]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/machine/arm'
>>>>>>>>>>>>> Making all in .
>>>>>>>>>>>>> make[9]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/machine'
>>>>>>>>>>>>> make[9]: Nothing to be done for 'all-am'.
>>>>>>>>>>>>> make[9]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/machine'
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/machine'
>>>>>>>>>>>>> make[8]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm'
>>>>>>>>>>>>> rm -f libm.a
>>>>>>>>>>>>> rm -rf tmp
>>>>>>>>>>>>> mkdir tmp
>>>>>>>>>>>>> cd tmp; \
>>>>>>>>>>>>>   for i in math/lib.a common/lib.a complex/lib.a fenv/lib.a
>>>>>>>>>>>>> machine/lib.a; do \
>>>>>>>>>>>>>     arm-rtems5-ar x ../$i; \
>>>>>>>>>>>>> done; \
>>>>>>>>>>>>> arm-rtems5-ar rc ../libm.a *.o
>>>>>>>>>>>>> arm-rtems5-ar: ../fenv/lib.a: No such file or directory
>>>>>>>>>>>>> arm-rtems5-ranlib libm.a
>>>>>>>>>>>>> rm -rf tmp
>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm'
>>>>>>>>>>>>> Makefile:553: recipe for target 'all-recursive' failed
>>>>>>>>>>>>> make[7]: *** [all-recursive] Error 1
>>>>>>>>>>>>> make[7]: Target 'all' not remade because of errors.
>>>>>>>>>>>>> make[7]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm'
>>>>>>>>>>>>> Making all in .
>>>>>>>>>>>>> make[7]: Entering directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib'
>>>>>>>>>>>>> rm -f libm.a
>>>>>>>>>>>>> ln libm/libm.a libm.a >/dev/null 2>/dev/null || cp libm/libm.a
>>>>>>>>>>>>> libm.a
>>>>>>>>>>>>> rm -rf libc.a libg.a tmp
>>>>>>>>>>>>> mkdir tmp
>>>>>>>>>>>>> cd tmp; \
>>>>>>>>>>>>>  arm-rtems5-ar x ../libm.a lib_a-s_fpclassify.o
>>>>>>>>>>>>> lib_a-sf_fpclassify.o lib_a-s_isinf.o lib_a-sf_isinf.o lib_a-s_isnan.o
>>>>>>>>>>>>> lib_a-sf_isnan.o lib_a-s_isinfd.o lib_a-sf_isinff.o lib_a-s_isnand.o
>>>>>>>>>>>>> lib_a-sf_isnanf.o lib_a-s_nan.o lib_a-sf_nan.o lib_a-s_ldexp.o
>>>>>>>>>>>>> lib_a-sf_ldexp.o lib_a-s_frexp.o lib_a-sf_frexp.o lib_a-s_modf.o
>>>>>>>>>>>>> lib_a-sf_modf.o lib_a-s_scalbn.o lib_a-sf_scalbn.o lib_a-s_finite.o
>>>>>>>>>>>>> lib_a-sf_finite.o lib_a-s_copysign.o lib_a-sf_copysign.o ; \
>>>>>>>>>>>>>  arm-rtems5-ar x ../libc/libc.a ; \
>>>>>>>>>>>>>  arm-rtems5-ar rc ../libc.a *.o
>>>>>>>>>>>>> arm-rtems5-ranlib libc.a
>>>>>>>>>>>>> ln libc.a libg.a >/dev/null 2>/dev/null || cp libc.a libg.a
>>>>>>>>>>>>> rm -rf tmp
>>>>>>>>>>>>> rm -f vfp/hard/crt0.o
>>>>>>>>>>>>> ln libc/crt0.o vfp/hard/crt0.o >/dev/null 2>/dev/null || cp
>>>>>>>>>>>>> libc/crt0.o vfp/hard/crt0.o
>>>>>>>>>>>>> rm -f vfp/hard/libc.a ./vfp/hard/libg.a
>>>>>>>>>>>>> ln libc.a vfp/hard/libc.a >/dev/null 2>/dev/null || cp libc.a
>>>>>>>>>>>>> vfp/hard/libc.a
>>>>>>>>>>>>> ln libg.a ./vfp/hard/libg.a >/dev/null 2>/dev/null || \
>>>>>>>>>>>>> cp libg.a ./vfp/hard/libg.a
>>>>>>>>>>>>> rm -f vfp/hard/libm.a
>>>>>>>>>>>>> ln libm.a vfp/hard/libm.a >/dev/null 2>/dev/null || cp libm.a
>>>>>>>>>>>>> vfp/hard/libm.a
>>>>>>>>>>>>> make[7]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib'
>>>>>>>>>>>>> Makefile:641: recipe for target 'all-recursive' failed
>>>>>>>>>>>>> make[6]: *** [all-recursive] Error 1
>>>>>>>>>>>>> make[6]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib'
>>>>>>>>>>>>> Makefile:452: recipe for target 'all' failed
>>>>>>>>>>>>> make[5]: *** [all] Error 2
>>>>>>>>>>>>> make[5]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib'
>>>>>>>>>>>>> Makefile:1260: recipe for target 'multi-do' failed
>>>>>>>>>>>>> make[4]: *** [multi-do] Error 1
>>>>>>>>>>>>> make[4]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>>>>>>>>>>>> Makefile:1176: recipe for target 'all-multi' failed
>>>>>>>>>>>>> make[3]: *** [all-multi] Error 2
>>>>>>>>>>>>> make[3]: Target 'all-recursive' not remade because of errors.
>>>>>>>>>>>>> make[3]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>>>>>>>>>>>> Makefile:452: recipe for target 'all' failed
>>>>>>>>>>>>> make[2]: *** [all] Error 2
>>>>>>>>>>>>> make[2]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>>>>>>>>>>>> Makefile:8491: recipe for target 'all-target-newlib' failed
>>>>>>>>>>>>> make[1]: *** [all-target-newlib] Error 2
>>>>>>>>>>>>> make[1]: Target 'all-target' not remade because of errors.
>>>>>>>>>>>>> make[1]: Leaving directory
>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib'
>>>>>>>>>>>>> Makefile:878: recipe for target 'all' failed
>>>>>>>>>>>>> make: *** [all] Error 2
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> -Eshan :)
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Sat, May 16, 2020 at 8:09 PM Joel Sherrill <joel at rtems.org>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Fri, May 15, 2020, 5:59 PM Eshan Dhawan <
>>>>>>>>>>>>>> eshandhawan51 at gmail.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Fri, May 15, 2020 at 2:22 AM Eshan Dhawan <
>>>>>>>>>>>>>>> eshandhawan51 at gmail.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Wed, May 13, 2020 at 7:40 PM Joel Sherrill <
>>>>>>>>>>>>>>>> joel at rtems.org> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> National free hint day!!!
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Look above the line that is reported. You will see
>>>>>>>>>>>>>>>>> __BEGIN_DECL. It isn't defined. It is intended to expand to the __cplusplus
>>>>>>>>>>>>>>>>> wrapper.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> After you fix this, you will sequentially find 2 other
>>>>>>>>>>>>>>>>> things to change in this file.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I have made those changes when a new error occurs from the
>>>>>>>>>>>>>>>> assembler in arm thumb mode
>>>>>>>>>>>>>>>> There is no support for vfp instructions in arm thumb.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471c/BABGHDBB.html
>>>>>>>>>>>>>>>> So in which file will the compiler instructions given in
>>>>>>>>>>>>>>>> the page
>>>>>>>>>>>>>>>> <http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471c/BABGHDBB.html>
>>>>>>>>>>>>>>>> added?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> FreeBSD has added file and architecture-specific flags in
>>>>>>>>>>>>>>> their makefile.inc
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> https://github.com/freebsd/freebsd/blob/master/lib/msun/arm/Makefile.inc
>>>>>>>>>>>>>>> How will it be added in newlib
>>>>>>>>>>>>>>> I tried adding the flags -mfpu=vfp -mfloat-abi=softfp (used
>>>>>>>>>>>>>>> in FreeBSD) to makefile.in but no effect.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> This isn't going to work with newlib. They don't specify CPU
>>>>>>>>>>>>>> flags that way.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The fenv code is going to have to compile for every multilib
>>>>>>>>>>>>>> variant built by arm-rtems and arm-eabi. You will have to use conditionals
>>>>>>>>>>>>>> based on the flags gcc uses to indicate the various cpu features. This
>>>>>>>>>>>>>> command should be close to how you you dump them.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> gcc -dM -E - </dev/null
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Add a CPU flag and see how the setting change.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> You can also look in rtems score cpu arm for examples since
>>>>>>>>>>>>>> the core arm code will be dealing with these.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --joel
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> thanks
>>>>>>>>>>>>>>> -Eshan
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Errors :
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> make[9]: Entering directory
>>>>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine/arm'
>>>>>>>>>>>>>>>> arm-rtems5-gcc
>>>>>>>>>>>>>>>> -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/
>>>>>>>>>>>>>>>> -isystem
>>>>>>>>>>>>>>>> /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/targ-include
>>>>>>>>>>>>>>>> -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include
>>>>>>>>>>>>>>>>  -mthumb -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\"
>>>>>>>>>>>>>>>> -DPACKAGE_VERSION=\"3.3.0\" -DPACKAGE_STRING=\"newlib\ 3.3.0\"
>>>>>>>>>>>>>>>> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I.
>>>>>>>>>>>>>>>> -I../../../../../../../newlib-cygwin/newlib/libm/machine/arm -I
>>>>>>>>>>>>>>>> ../../../../../../../newlib-cygwin/newlib/libm/machine/arm/../../../../newlib/libm/common
>>>>>>>>>>>>>>>> -fno-builtin -mfpu=vfpv2 -ffunction-sections -fdata-sections
>>>>>>>>>>>>>>>>  -D_COMPILING_NEWLIB -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVIDED
>>>>>>>>>>>>>>>> -DSIGNAL_PROVIDED -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED
>>>>>>>>>>>>>>>> -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_ASSERT_FUNC
>>>>>>>>>>>>>>>> -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET
>>>>>>>>>>>>>>>> -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI      -g -O2
>>>>>>>>>>>>>>>>  -mthumb -c -o lib_a-fenv-vfp.o `test -f 'fenv-vfp.c' || echo
>>>>>>>>>>>>>>>> '../../../../../../../newlib-cygwin/newlib/libm/machine/arm/'`fenv-vfp.c
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s: Assembler messages:
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:37: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmrs r3,fpscr' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:48: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmsr fpscr,r3' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:81: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmrs r3,fpscr' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:119: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmrs r3,fpscr' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:134: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmsr fpscr,r3' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:169: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmrs r3,fpscr' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:182: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmsr fpscr,r3' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:217: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmrs r3,fpscr' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:251: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmrs r0,fpscr' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:288: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmrs r3,fpscr' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:303: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmsr fpscr,r0' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:340: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmrs r3,fpscr' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:374: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmrs r3,fpscr' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:390: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmsr fpscr,r3' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:424: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmsr fpscr,r3' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:457: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmrs r1,fpscr' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:466: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmsr fpscr,r3' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:478: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmrs r2,fpscr' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:503: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmsr fpscr,r3' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:543: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmrs r0,fpscr' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:559: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmsr fpscr,r3' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:595: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmrs r3,fpscr' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:612: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmsr fpscr,r2' in Thumb mode
>>>>>>>>>>>>>>>> /tmp/ccEHiFws.s:647: Error: selected processor does not
>>>>>>>>>>>>>>>> support `vmrs r3,fpscr' in Thumb mode
>>>>>>>>>>>>>>>> Makefile:476: recipe for target 'lib_a-fenv-vfp.o' failed
>>>>>>>>>>>>>>>> make[9]: *** [lib_a-fenv-vfp.o] Error 1
>>>>>>>>>>>>>>>> make[9]: Leaving directory
>>>>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine/arm'
>>>>>>>>>>>>>>>> Makefile:324: recipe for target 'all-recursive' failed
>>>>>>>>>>>>>>>> make[8]: *** [all-recursive] Error 1
>>>>>>>>>>>>>>>> make[8]: Leaving directory
>>>>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine'
>>>>>>>>>>>>>>>> Makefile:553: recipe for target 'all-recursive' failed
>>>>>>>>>>>>>>>> make[7]: *** [all-recursive] Error 1
>>>>>>>>>>>>>>>> make[7]: Leaving directory
>>>>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm'
>>>>>>>>>>>>>>>> Makefile:641: recipe for target 'all-recursive' failed
>>>>>>>>>>>>>>>> make[6]: *** [all-recursive] Error 1
>>>>>>>>>>>>>>>> make[6]: Leaving directory
>>>>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'
>>>>>>>>>>>>>>>> Makefile:452: recipe for target 'all' failed
>>>>>>>>>>>>>>>> make[5]: *** [all] Error 2
>>>>>>>>>>>>>>>> make[5]: Leaving directory
>>>>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'
>>>>>>>>>>>>>>>> Makefile:1260: recipe for target 'multi-do' failed
>>>>>>>>>>>>>>>> make[4]: *** [multi-do] Error 1
>>>>>>>>>>>>>>>> make[4]: Leaving directory
>>>>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>>>>>>>>>>>>>>> Makefile:1176: recipe for target 'all-multi' failed
>>>>>>>>>>>>>>>> make[3]: *** [all-multi] Error 2
>>>>>>>>>>>>>>>> make[3]: Leaving directory
>>>>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>>>>>>>>>>>>>>> Makefile:452: recipe for target 'all' failed
>>>>>>>>>>>>>>>> make[2]: *** [all] Error 2
>>>>>>>>>>>>>>>> make[2]: Leaving directory
>>>>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'
>>>>>>>>>>>>>>>> Makefile:8491: recipe for target 'all-target-newlib' failed
>>>>>>>>>>>>>>>> make[1]: *** [all-target-newlib] Error 2
>>>>>>>>>>>>>>>> make[1]: Leaving directory
>>>>>>>>>>>>>>>> '/home/eshan/development/newlib/c-arm-rtems5-newlib'
>>>>>>>>>>>>>>>> Makefile:878: recipe for target 'all' failed
>>>>>>>>>>>>>>>> make: *** [all] Error 2
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> -Eshan
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Then we need to make a decision whether the static inline
>>>>>>>>>>>>>>>>> versions of the methods in sys/fenv.h are appropriate for newlib or not.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> --joel
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Tue, May 12, 2020 at 5:20 PM Joel Sherrill <
>>>>>>>>>>>>>>>>> joel at rtems.org> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Gedare is right but one more piece of information is
>>>>>>>>>>>>>>>>>> needed. When newlib is being built, it lays target dependent files on top
>>>>>>>>>>>>>>>>>> of generic ones. So the default sys/fenv.h is replaced with something like
>>>>>>>>>>>>>>>>>> libc/machine/arm/sys/fenv.h. Make sure that
>>>>>>>>>>>>>>>>>> /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h is
>>>>>>>>>>>>>>>>>> in fact the file you think it should be.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Also look at what is supposed to be in the generic fenv.h
>>>>>>>>>>>>>>>>>> and <sys/fenv.h>. You will probably have to tweak it some.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Check out what is in x86_64/fenv.h and riscv/fenv.h with
>>>>>>>>>>>>>>>>>> respect to the default environment variable. It looks to be declared
>>>>>>>>>>>>>>>>>> differently in the other ports so you may have to make it match.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> But more output does help.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> --joel
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Tue, May 12, 2020 at 4:53 PM Gedare Bloom <
>>>>>>>>>>>>>>>>>> gedare at rtems.org> wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> 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
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200521/5fc0868a/attachment-0001.html>


More information about the devel mailing list