Adding fenv support for ARM

Joel Sherrill joel at rtems.org
Tue May 19 20:55:17 UTC 2020


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.

--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/20200519/e7678f4b/attachment-0001.html>


More information about the devel mailing list