Adding fenv support for ARM

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


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.

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


More information about the devel mailing list