Adding fenv support for ARM

Joel Sherrill joel at rtems.org
Wed May 20 23:25:41 UTC 2020


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:

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/20200520/b45c361b/attachment-0001.html>


More information about the devel mailing list