Adding fenv support for ARM

Eshan Dhawan eshandhawan51 at gmail.com
Tue May 19 20:25:47 UTC 2020


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

>
> --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/2a8b8f28/attachment-0001.html>


More information about the devel mailing list