<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 22, 2020 at 2:02 PM Eshan Dhawan <<a href="mailto:eshandhawan51@gmail.com">eshandhawan51@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div>hello,<br></div>There is error in the default fenv environment declaration  as it is defined in libm/fenv <br></div>as well as machine/arm/fenv.c (the FreeBSD file added)<br></div>so should I add fe_dfl_evn.c file to machine/arm pointing to fenv_stub,ar remove it from fenv.c file :)<br><br></div>error :<br>arm-rtems5-gcc  -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 -O0 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -B./../../lib/libbsp/arm/xilinx-zynq -B/home/eshan/development/rtems/kernel/rtems/bsps/arm/xilinx-zynq/start -specs bsp_specs -qrtems -L./../../cpukit -L/home/eshan/development/rtems/kernel/rtems/bsps/arm/shared/start -Wl,--wrap=printf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--gc-sections -o psxfile01.exe psxfile01/psxfile01-main.o psxfile01/psxfile01-test.o psxfile01/psxfile01-test_cat.o psxfile01/psxfile01-test_extend.o psxfile01/psxfile01-test_write.o ./../../lib/libbsp/arm/xilinx-zynq/librtemsbsp.a ./../../cpukit/librtemscpu.a ./../../cpukit/librtemstest.a <br>/home/eshan/development/rtems/5/lib/gcc/arm-rtems5/7.5.0/../../../../arm-rtems5/bin/ld: /home/eshan/development/rtems/5/lib/gcc/arm-rtems5/7.5.0/../../../../arm-rtems5/lib/thumb/armv7-a/neon/hard/libm.a(lib_a-fenv.o):(.data._fe_dfl_env+0x0): multiple definition of `_fe_dfl_env'; /home/eshan/development/rtems/5/lib/gcc/arm-rtems5/7.5.0/../../../../arm-rtems5/lib/thumb/armv7-a/neon/hard/libm.a(lib_a-fe_dfl_env.o):(.data._fe_dfl_env+0x0): first defined here<br>/home/eshan/development/rtems/5/lib/gcc/arm-rtems5/7.5.0/../../../../arm-rtems5/bin/ld: /home/eshan/development/rtems/5/lib/gcc/arm-rtems5/7.5.0/../../../../arm-rtems5/lib/thumb/armv7-a/neon/hard/libm.a(lib_a-fenv.o):/home/eshan/development/rtems/rsb/rtems/build/arm-rtems5-gcc-7.5.0-newlib-7947581-x86_64-linux-gnu-1/build/arm-rtems5/thumb/armv7-a/neon/hard/newlib/libm/machine/arm/../../../../../../../../../../gcc-7.5.0/newlib/libm/machine/arm/fenv.c:52: multiple definition of `__fe_dfl_env'; /home/eshan/development/rtems/5/lib/gcc/arm-rtems5/7.5.0/../../../../arm-rtems5/lib/thumb/armv7-a/neon/hard/libm.a(lib_a-fe_dfl_env.o):/home/eshan/development/rtems/rsb/rtems/build/arm-rtems5-gcc-7.5.0-newlib-7947581-x86_64-linux-gnu-1/build/arm-rtems5/thumb/armv7-a/neon/hard/newlib/libm/fenv/../../../../../../../../../gcc-7.5.0/newlib/libm/fenv/fe_dfl_env.c:40: first defined here<br></div></div></div></blockquote><div><br></div><div>This error is a bit more self-explanatory that many of the other cryptic ones you have had. :)</div><div><br></div><div>There are at least two files in libm/arm which define fs_def_env.c. One is in fe_dfl_env.c. You only need one and you need to make sure there is only one in each build.</div><div><br></div><div>Likely the one you want is in the fenv.c file that came FreeBSD's ARM implementation.</div><div><br></div><div>Although I don't think it matters as long as you just define it once. :)</div><div><br></div><div>libm/arm/fe_dfl_env.c either has to define it or be a stub to override the default version that is built.</div><div><br></div><div>--joel</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><br></div>Thanks <br></div><div>-Eshan</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 21, 2020 at 10:21 PM Eshan Dhawan <<a href="mailto:eshandhawan51@gmail.com" target="_blank">eshandhawan51@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div dir="ltr"><div>Hi<br></div><div>I am testing another approach for this, Creating a new header fenv-vfp.h.<br></div><div>And add all the inline assembly as well as the static inline functions to that file.<br></div><div>calling it from fenv-vfp.c instead of fenv.c.</div></div>fenv-vfp is the one file that has the main ARM specific code.<br></div><div>Fenv.c is the file that calls the vfp functions. <br></div><div>I will keep the results posted. :)<br></div><div><br></div><div>-Eshan :)<br></div><div> <div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 21, 2020 at 4:55 AM Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Back on the list. :)<div><br></div><div>Thanks for making sure everything on the branch was up to date.</div><div><br></div><div>I decided take a simple shot. I disabled anything in sys/fev.h that looked like it would conflict with an implementation in a C file.  </div><div><br></div><div>$ git diff<br>diff --git a/newlib/libc/machine/arm/sys/fenv.h b/newlib/libc/machine/arm/sys/fenv.h<br>index aada676..2d3836b 100644<br>--- a/newlib/libc/machine/arm/sys/fenv.h<br>+++ b/newlib/libc/machine/arm/sys/fenv.h<br>@@ -94,6 +94,7 @@ extern const fenv_t   *_fe_dfl_env;<br> #define        _ENABLE_MASK    (FE_ALL_EXCEPT << _FPUSW_SHIFT)<br> #endif<br> <br>+#if 0<br> #ifndef __ARM_PCS_VFP<br> <br> int feclearexcept(int excepts);<br>@@ -274,6 +275,7 @@ fegetexcept(void)<br> #endif /* __BSD_VISIBLE */<br> <br> #endif /* __ARM_PCS_VFP */<br>+#endif<br> <br> #ifdef __cplusplus<br> }<br></div><div><br></div><div>Let's proceed a bit with this "if 0" in place. The code in that block may be simpler to delete if it isn't used by the libm/arm/fenv-XXX.c files.</div><div><br></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div><div>That got it building again but when I looked in the installed libm.a, it was clear that the arm specific code wasn't in the library. I did the following command and searched for "<fe" to see the fenv methods, what assembly code was there, and what file was compiled to produce it:</div><div><br></div><div>$ arm-rtems5-objdump -da --source ../install/arm-rtems5/lib/libm.a| less<br></div><div><br></div><div>I then looked in the build log and fenv-vfp.c wasn't compiled. That was the most obvious arm specific file name. Looking in libm/arm, I did this:</div></div></blockquote><div>fenv-vpf is the one file that has the main ARM specific code <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div>joel@localhost arm]$ grep fenv- Makefile.*<br>Makefile.am:    fenv-vfp.c \<br>Makefile.am:    fenv-softfp.c <br></div><div><br></div><div>Makefile.in needs to be regenerated. Or you can simply hack and add those to the Makefile.in if that's all you added to the Makefile.am.</div><div><br></div><div>--joel</div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 20, 2020 at 2:47 PM Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 20, 2020 at 2:40 PM Eshan Dhawan <<a href="mailto:eshandhawan51@gmail.com" target="_blank">eshandhawan51@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I compiled the fenv-vpf.c and got this output.</div><div>output file: <a href="https://github.com/eshandhawan51/rough_notes/blob/master/gcc_fenv-vfp.txt" target="_blank">https://github.com/eshandhawan51/rough_notes/blob/master/gcc_fenv-vfp.txt</a></div><div><br></div><div>A strange thing happened today I reset the branch to the previous commit from removing the inline functions from sys/fenv.h <br></div><div>and the redefinition error disappeared and the error changed.<br><br>make[5]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine'<br>Making all in arm<br>make[6]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine/arm'<br>arm-rtems5-gcc -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/ -isystem /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include    -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"3.3.0\" -DPACKAGE_STRING=\"newlib\ 3.3.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I. -I../../../../../../newlib-cygwin/newlib/libm/machine/arm -I ../../../../../../newlib-cygwin/newlib/libm/machine/arm/../../../../newlib/libm/common -fno-builtin -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI      -g -O2 -c -o lib_a-fenv-vfp.o `test -f 'fenv-vfp.c' || echo '../../../../../../newlib-cygwin/newlib/libm/machine/arm/'`fenv-vfp.c<br>/tmp/ccqybjKL.s: Assembler messages:<br>/tmp/ccqybjKL.s:35: Error: selected processor does not support `vmrs r3,fpscr' in ARM mode<br></div></div></blockquote><div><br></div><div>This looks like a bit of progress to me. As bad as getting a compile error sounds.</div><div><br></div><div>I do not see any -mXXX options on the gcc invocation above. fenv-vfp.c is being compiled in this situation which is understandable because newlib builds every file independent of if it is appropriate for the CPU model variant or not. This file needs to have its contents wrapped in "#if vfp_avaiable" or whatever gcc defines when vfp is available. The other fenv variant files will have to have the opposite of that to ensure that the no VFP variant is not built when vfp is available.</div><div><br></div><div>Does that make sense? All the files in libm/arm are going to get compiled. The contents need to be disabled if that implementation is not right for the CPU model variant. In the end, only one implementation of the fenv methods should get real code produced.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>/tmp/ccqybjKL.s:46: Error: selected processor does not support `vmsr fpscr,r0' in ARM mode<br>/tmp/ccqybjKL.s:76: Error: selected processor does not support `vmrs r3,fpscr' in ARM mode<br>/tmp/ccqybjKL.s:111: Error: selected processor does not support `vmrs r2,fpscr' in ARM mode<br>/tmp/ccqybjKL.s:126: Error: selected processor does not support `vmsr fpscr,r1' in ARM mode<br>/tmp/ccqybjKL.s:158: Error: selected processor does not support `vmrs r3,fpscr' in ARM mode<br>/tmp/ccqybjKL.s:171: Error: selected processor does not support `vmsr fpscr,r3' in ARM mode<br>/tmp/ccqybjKL.s:203: Error: selected processor does not support `vmrs r3,fpscr' in ARM mode<br>/tmp/ccqybjKL.s:233: Error: selected processor does not support `vmrs r0,fpscr' in ARM mode<br>/tmp/ccqybjKL.s:264: Error: selected processor does not support `vmrs r3,fpscr' in ARM mode<br>/tmp/ccqybjKL.s:278: Error: selected processor does not support `vmsr fpscr,r0' in ARM mode<br>/tmp/ccqybjKL.s:310: Error: selected processor does not support `vmrs r2,fpscr' in ARM mode<br>/tmp/ccqybjKL.s:343: Error: selected processor does not support `vmrs r3,fpscr' in ARM mode<br>/tmp/ccqybjKL.s:357: Error: selected processor does not support `vmsr fpscr,r3' in ARM mode<br>/tmp/ccqybjKL.s:388: Error: selected processor does not support `vmsr fpscr,r3' in ARM mode<br>/tmp/ccqybjKL.s:418: Error: selected processor does not support `vmrs r3,fpscr' in ARM mode<br>/tmp/ccqybjKL.s:427: Error: selected processor does not support `vmsr fpscr,r2' in ARM mode<br>/tmp/ccqybjKL.s:439: Error: selected processor does not support `vmrs r2,fpscr' in ARM mode<br>/tmp/ccqybjKL.s:463: Error: selected processor does not support `vmsr fpscr,r3' in ARM mode<br>/tmp/ccqybjKL.s:498: Error: selected processor does not support `vmrs r2,fpscr' in ARM mode<br>/tmp/ccqybjKL.s:512: Error: selected processor does not support `vmsr fpscr,r3' in ARM mode<br>/tmp/ccqybjKL.s:544: Error: selected processor does not support `vmrs r2,fpscr' in ARM mode<br>/tmp/ccqybjKL.s:557: Error: selected processor does not support `vmsr fpscr,r3' in ARM mode<br>/tmp/ccqybjKL.s:588: Error: selected processor does not support `vmrs r0,fpscr' in ARM mode<br>Makefile:476: recipe for target 'lib_a-fenv-vfp.o' failed<br>make[6]: *** [lib_a-fenv-vfp.o] Error 1<br>make[6]: Target 'all' not remade because of errors.<br>make[6]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine/arm'<br>Making all in .<br>make[6]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine'<br>make[6]: Nothing to be done for 'all-am'.<br>make[6]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine'<br>Makefile:324: recipe for target 'all-recursive' failed<br>make[5]: *** [all-recursive] Error 1<br>make[5]: Target 'all' not remade because of errors.<br>make[5]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine'<br>make[5]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm'<br>make[5]: Nothing to be done for 'all-am'.<br>make[5]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm'<br>Makefile:553: recipe for target 'all-recursive' failed<br>make[4]: *** [all-recursive] Error 1<br>make[4]: Target 'all' not remade because of errors.<br>make[4]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm'<br>Making all in doc<br>make[4]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/doc'<br>make[4]: Nothing to be done for 'all'.<br>make[4]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/doc'<br>Making all in .<br>make[4]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>make[4]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>Makefile:641: recipe for target 'all-recursive' failed<br>make[3]: *** [all-recursive] Error 1<br>make[3]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>Makefile:452: recipe for target 'all' failed<br>make[2]: *** [all] Error 2<br>make[2]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>Makefile:8491: recipe for target 'all-target-newlib' failed<br>make[1]: *** [all-target-newlib] Error 2<br>make[1]: Target 'all-target' not remade because of errors.<br>make[1]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib'<br>Makefile:878: recipe for target 'all' failed<br>make: *** [all] Error 2<br></div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 20, 2020 at 4:44 AM Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, May 19, 2020 at 5:20 PM Eshan Dhawan <<a href="mailto:eshandhawan51@gmail.com" target="_blank">eshandhawan51@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 20, 2020 at 3:43 AM Eshan Dhawan <<a href="mailto:eshandhawan51@gmail.com" target="_blank">eshandhawan51@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 20, 2020 at 2:25 AM Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, May 19, 2020 at 3:52 PM Eshan Dhawan <<a href="mailto:eshandhawan51@gmail.com" target="_blank">eshandhawan51@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 20, 2020 at 1:55 AM Eshan Dhawan <<a href="mailto:eshandhawan51@gmail.com" target="_blank">eshandhawan51@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 20, 2020 at 1:42 AM Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">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.</div></blockquote><div>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.<br></div></div></div></blockquote><div>could all the files be retailed under different #ifdef conditions similar to that followed in FreeBSD  <br></div></div></div></blockquote><div><br></div><div>Hmmm... maybe the methods in sys/fenv.h are redundant. If the bodies in fenv.c cover all the multilibs, then delete the static inlines.</div></div></div></blockquote><div>This may be the case <br></div><div>but the files in Fenv.h are the once with the assembly code.<br></div><div>the files in fenv.c are calling functions from fenv-softfp.c and fenv-vfp.c<br></div><div>which inturn call files for fenv.h and fenv-softfloat.h<br></div><div>If we remove the inline declaration of the functions from Fenv.h they won't be able to get the definitions<br></div><div>and will cause errors.<br></div></div></div></blockquote><div>Warning the compiler generates:<br>arm-rtems5-gcc -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/ -isystem /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include    -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"3.3.0\" -DPACKAGE_STRING=\"newlib\ 3.3.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I. -I../../../../../../newlib-cygwin/newlib/libm/machine/arm -I ../../../../../../newlib-cygwin/newlib/libm/machine/arm/../../../../newlib/libm/common -fno-builtin -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI      -g -O2 -c -o lib_a-fenv-vfp.o `test -f 'fenv-vfp.c' || echo '../../../../../../newlib-cygwin/newlib/libm/machine/arm/'`fenv-vfp.c<br>../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24: warning: inline function '__vfp_fegetexcept' declared but never defined<br> #define FENV_MANGLE(x) __vfp_ ##x<br></div></div></div></blockquote><div><br></div><div>Hmm... trace the naming patch from the mangled declaration to a method. You can drop into the build directory and run the gcc command by hand. Tinker with it to add a -E and save the output (not -o...). That will let you see the preprocessed output. Something specific and subtle is happening. Decode that and you win. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div>                        ^<br>/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:52:21: note: in expansion of macro 'FENV_MANGLE'<br> #define fegetexcept FENV_MANGLE(fegetexcept)<br>                     ^~~~~~~~~~~<br>../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24: warning: inline function '__vfp_fedisableexcept' declared but never defined<br> #define FENV_MANGLE(x) __vfp_ ##x<br>                        ^<br>/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:51:25: note: in expansion of macro 'FENV_MANGLE'<br> #define fedisableexcept FENV_MANGLE(fedisableexcept)<br>                         ^~~~~~~~~~~<br>../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24: warning: inline function '__vfp_feenableexcept' declared but never defined<br> #define FENV_MANGLE(x) __vfp_ ##x<br>                        ^<br>/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:50:24: note: in expansion of macro 'FENV_MANGLE'<br> #define feenableexcept FENV_MANGLE(feenableexcept)<br>                        ^~~~~~~~~~~<br>../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24: warning: inline function '__vfp_feupdateenv' declared but never defined<br> #define FENV_MANGLE(x) __vfp_ ##x<br>                        ^<br>/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:49:21: note: in expansion of macro 'FENV_MANGLE'<br> #define feupdateenv FENV_MANGLE(feupdateenv)<br>                     ^~~~~~~~~~~<br>../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24: warning: inline function '__vfp_fesetenv' declared but never defined<br> #define FENV_MANGLE(x) __vfp_ ##x<br>                        ^<br>/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:48:18: note: in expansion of macro 'FENV_MANGLE'<br> #define fesetenv FENV_MANGLE(fesetenv)<br>                  ^~~~~~~~~~~<br>../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24: warning: inline function '__vfp_feholdexcept' declared but never defined<br> #define FENV_MANGLE(x) __vfp_ ##x<br>                        ^<br>/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:47:22: note: in expansion of macro 'FENV_MANGLE'<br> #define feholdexcept FENV_MANGLE(feholdexcept)<br>                      ^~~~~~~~~~~<br>../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24: warning: inline function '__vfp_fegetenv' declared but never defined<br> #define FENV_MANGLE(x) __vfp_ ##x<br>                        ^<br>/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:46:18: note: in expansion of macro 'FENV_MANGLE'<br> #define fegetenv FENV_MANGLE(fegetenv)<br>                  ^~~~~~~~~~~<br>../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24: warning: inline function '__vfp_fesetround' declared but never defined<br> #define FENV_MANGLE(x) __vfp_ ##x<br>                        ^<br>/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:45:20: note: in expansion of macro 'FENV_MANGLE'<br> #define fesetround FENV_MANGLE(fesetround)<br>                    ^~~~~~~~~~~<br>../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24: warning: inline function '__vfp_fegetround' declared but never defined<br> #define FENV_MANGLE(x) __vfp_ ##x<br>                        ^<br>/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:44:20: note: in expansion of macro 'FENV_MANGLE'<br> #define fegetround FENV_MANGLE(fegetround)<br>                    ^~~~~~~~~~~<br>../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24: warning: inline function '__vfp_fetestexcept' declared but never defined<br> #define FENV_MANGLE(x) __vfp_ ##x<br>                        ^<br>/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:43:22: note: in expansion of macro 'FENV_MANGLE'<br> #define fetestexcept FENV_MANGLE(fetestexcept)<br>                      ^~~~~~~~~~~<br>../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24: warning: inline function '__vfp_fesetexceptflag' declared but never defined<br> #define FENV_MANGLE(x) __vfp_ ##x<br>                        ^<br>/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:41:25: note: in expansion of macro 'FENV_MANGLE'<br> #define fesetexceptflag FENV_MANGLE(fesetexceptflag)<br>                         ^~~~~~~~~~~<br>../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24: warning: inline function '__vfp_feraiseexcept' declared but never defined<br> #define FENV_MANGLE(x) __vfp_ ##x<br>                        ^<br>/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:42:23: note: in expansion of macro 'FENV_MANGLE'<br> #define feraiseexcept FENV_MANGLE(feraiseexcept)<br>                       ^~~~~~~~~~~<br>../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24: warning: inline function '__vfp_fegetexceptflag' declared but never defined<br> #define FENV_MANGLE(x) __vfp_ ##x<br>                        ^<br>/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:40:25: note: in expansion of macro 'FENV_MANGLE'<br> #define fegetexceptflag FENV_MANGLE(fegetexceptflag)<br>                         ^~~~~~~~~~~<br>../../../../../../newlib-cygwin/newlib/libm/machine/arm/fenv-vfp.c:29:24: warning: inline function '__vfp_feclearexcept' declared but never defined<br> #define FENV_MANGLE(x) __vfp_ ##x<br>                        ^<br>/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include/machine/fenv-mangle.h:39:23: note: in expansion of macro 'FENV_MANGLE'<br> #define feclearexcept FENV_MANGLE(feclearexcept)<br>                       ^~~~~~~~~~~<br>arm-rtems5-gcc -B/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/ -isystem /home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/targ-include -isystem /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include    -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"3.3.0\" -DPACKAGE_STRING=\"newlib\ 3.3.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I. -I../../../../../../newlib-cygwin/newlib/libm/machine/arm -I ../../../../../../newlib-cygwin/newlib/libm/machine/arm/../../../../newlib/libm/common -fno-builtin -ffunction-sections -fdata-sections  -D_COMPILING_NEWLIB -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN -DHAVE_INIT_FINI      -g -O2 -c -o lib_a-fenv-softfp.o `test -f 'fenv-softfp.c' || echo '../../../../../../newlib-cygwin/newlib/libm/machine/arm/'`fenv-softfp.c<br>rm -f lib.a<br>arm-rtems5-ar cru lib.a lib_a-e_sqrt.o lib_a-ef_sqrt.o lib_a-s_ceil.o lib_a-s_floor.o lib_a-s_nearbyint.o lib_a-s_rint.o lib_a-s_round.o lib_a-s_trunc.o lib_a-sf_ceil.o lib_a-sf_floor.o lib_a-sf_nearbyint.o lib_a-sf_rint.o lib_a-sf_round.o lib_a-sf_trunc.o lib_a-feclearexcept.o lib_a-fegetenv.o lib_a-fegetexceptflag.o lib_a-fegetround.o lib_a-feholdexcept.o lib_a-fenv.o lib_a-feraiseexcept.o lib_a-fesetenv.o lib_a-fesetexceptflag.o lib_a-fesetround.o lib_a-fetestexcept.o lib_a-feupdateenv.o lib_a-fenv-vfp.o lib_a-fenv-softfp.o <br>arm-rtems5-ar: `u' modifier ignored since `D' is the default (see `U')<br>arm-rtems5-ranlib lib.a<br>make[6]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine/arm'<br>Making all in .<br>make[6]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine'<br>rm -f lib.a<br>ln arm/lib.a lib.a >/dev/null 2>/dev/null || \<br> cp arm/lib.a lib.a<br>make[6]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine'<br>make[5]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm/machine'<br>make[5]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm'<br>rm -f libm.a<br>rm -rf tmp<br>mkdir tmp<br>cd tmp; \<br>  for i in math/lib.a common/lib.a complex/lib.a fenv/lib.a machine/lib.a; do \<br>    arm-rtems5-ar x ../$i; \<br>done; \<br>arm-rtems5-ar rc ../libm.a *.o<br>arm-rtems5-ranlib libm.a<br>rm -rf tmp<br>make[5]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm'<br>make[4]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/libm'<br>Making all in doc<br>make[4]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/doc'<br>gcc -g -g -O2 -c ../../../../newlib-cygwin/newlib/doc/makedoc.c<br>gcc -g -O2  -o makedoc makedoc.o<br>make[4]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib/doc'<br>Making all in .<br>make[4]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>rm -f libm.a<br>ln libm/libm.a libm.a >/dev/null 2>/dev/null || cp libm/libm.a libm.a<br>rm -rf libc.a libg.a tmp<br>mkdir tmp<br>cd tmp; \<br> 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 ; \<br> arm-rtems5-ar x ../libc/libc.a ; \<br> arm-rtems5-ar rc ../libc.a *.o<br>arm-rtems5-ranlib libc.a<br>ln libc.a libg.a >/dev/null 2>/dev/null || cp libc.a libg.a<br>rm -rf tmp<br>rm -f crt0.o<br>ln libc/crt0.o crt0.o >/dev/null 2>/dev/null || cp libc/crt0.o crt0.o<br>make[4]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>make[3]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>make[2]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>make[1]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib'<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><br></div><div>--joel </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div>--joel</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, May 19, 2020 at 3:05 PM Eshan Dhawan <<a href="mailto:eshandhawan51@gmail.com" target="_blank">eshandhawan51@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 20, 2020 at 12:47 AM Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">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.<div><br></div><div>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. </div></div></blockquote><div>What will happen to the fenv methods in the fenv.c file  <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>--joel</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, May 19, 2020 at 1:48 PM Eshan Dhawan <<a href="mailto:eshandhawan51@gmail.com" target="_blank">eshandhawan51@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div>Hello <br></div>I have encountered a new error<br></div>the error is coming from libm/fenv <br></div><div>link to GitHub repository: <a href="https://github.com/eshandhawan51/newlib-cygwin/tree/add_fenv_support" target="_blank">https://github.com/eshandhawan51/newlib-cygwin/tree/add_fenv_support</a></div><div><br></div><div>Make file log:</div><div>eshan@EDs-pc:~/development/newlib/c-arm-rtems5-newlib$ make -k<br>make[1]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib'<br>make[2]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/etc'<br>make[2]: Nothing to be done for 'all'.<br>make[2]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/etc'<br>Checking multilib configuration for newlib...<br>make[2]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>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<br>make[3]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>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<br>make[4]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>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 \<br>  true; \<br>else \<br>  rootpre=`${PWDCMD-pwd}`/; export rootpre; \<br>  srcrootpre=`cd ../../../newlib-cygwin/newlib; ${PWDCMD-pwd}`/; export srcrootpre; \<br>  lib=`echo "${rootpre}" | sed -e 's,^.*/\([^/][^/]*\)/$,\1,'`; \<br>  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   "; \<br>  for i in `${compiler} --print-multi-lib 2>/dev/null`; do \<br>    dir=`echo $i | sed -e 's/;.*$//'`; \<br>    if [ "${dir}" = "." ]; then \<br>      true; \<br>    else \<br>      if [ -d ../${dir}/${lib} ]; then \<br>     flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \<br>       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=" \<br>                  CFLAGS="-g -O2 ${flags}" \<br>                  CCASFLAGS="-g -O2 ${flags}" \<br>                       FCFLAGS=" ${flags}" \<br>                       FFLAGS=" ${flags}" \<br>                        ADAFLAGS=" ${flags}" \<br>                      prefix="/usr/local" \<br>                       exec_prefix="/usr/local" \<br>                  GCJFLAGS=" ${flags}" \<br>                      GOCFLAGS="-O2 -g ${flags}" \<br>                        CXXFLAGS="-g -O2 ${flags}" \<br>                        LIBCFLAGS="-g -O2 ${flags}" \<br>                       LIBCXXFLAGS="-g -O2 -fno-implicit-templates ${flags}" \<br>                     LDFLAGS=" ${flags}" \<br>                       MULTIFLAGS="${flags}" \<br>                     DESTDIR="" \<br>                        INSTALL="/usr/bin/install -c" \<br>                     INSTALL_DATA="/usr/bin/install -c -m 644" \<br>                 INSTALL_PROGRAM="/usr/bin/install -c" \<br>                     INSTALL_SCRIPT="/usr/bin/install -c" \<br>                      all); then \<br>    true; \<br>    else \<br>          exit 1; \<br>  fi; \<br>      else true; \<br>      fi; \<br>    fi; \<br>  done; \<br>fi<br>make[5]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'<br>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<br>make[6]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'<br>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<br>Making all in libc<br>make[7]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc'<br>Making all in argz<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/argz'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/argz'<br>Making all in stdlib<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/stdlib'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/stdlib'<br>Making all in ctype<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/ctype'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/ctype'<br>Making all in search<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/search'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/search'<br>Making all in stdio<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/stdio'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/stdio'<br>Making all in string<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/string'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/string'<br>Making all in signal<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/signal'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/signal'<br>Making all in time<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/time'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/time'<br>Making all in locale<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/locale'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/locale'<br>Making all in sys<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/sys'<br>Making all in rtems<br>make[9]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/sys/rtems'<br>make[9]: Nothing to be done for 'all'.<br>make[9]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/sys/rtems'<br>Making all in .<br>make[9]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/sys'<br>make[9]: Nothing to be done for 'all-am'.<br>make[9]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/sys'<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/sys'<br>Making all in reent<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/reent'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/reent'<br>Making all in errno<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/errno'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/errno'<br>Making all in misc<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/misc'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/misc'<br>Making all in machine<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/machine'<br>Making all in arm<br>make[9]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/machine/arm'<br>make[9]: Nothing to be done for 'all'.<br>make[9]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/machine/arm'<br>Making all in .<br>make[9]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/machine'<br>make[9]: Nothing to be done for 'all-am'.<br>make[9]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/machine'<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/machine'<br>Making all in unix<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/unix'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/unix'<br>Making all in posix<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/posix'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/posix'<br>Making all in ssp<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/ssp'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc/ssp'<br>Making all in .<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc'<br>make[8]: Nothing to be done for 'all-am'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc'<br>make[7]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libc'<br>Making all in libm<br>make[7]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm'<br>Making all in math<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/math'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/math'<br>Making all in common<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/common'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/common'<br>Making all in complex<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/complex'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/complex'<br>Making all in fenv<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/fenv'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/fenv'<br>Making all in machine<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine'<br>Making all in arm<br>make[9]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine/arm'<br>make[9]: Nothing to be done for 'all'.<br>make[9]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine/arm'<br>Making all in .<br>make[9]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine'<br>make[9]: Nothing to be done for 'all-am'.<br>make[9]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine'<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine'<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm'<br>make[8]: Nothing to be done for 'all-am'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm'<br>make[7]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm'<br>Making all in .<br>make[7]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'<br>rm -f thumb/crt0.o<br>ln libc/crt0.o thumb/crt0.o >/dev/null 2>/dev/null || cp libc/crt0.o thumb/crt0.o<br>rm -f thumb/libc.a ./thumb/libg.a<br>ln libc.a thumb/libc.a >/dev/null 2>/dev/null || cp libc.a thumb/libc.a<br>ln libg.a ./thumb/libg.a >/dev/null 2>/dev/null || \<br>cp libg.a ./thumb/libg.a<br>rm -f thumb/libm.a<br>ln libm.a thumb/libm.a >/dev/null 2>/dev/null || cp libm.a thumb/libm.a<br>make[7]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'<br>make[6]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'<br>make[5]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'<br>make[5]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib'<br>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<br>make[6]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib'<br>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<br>Making all in libc<br>make[7]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc'<br>Making all in argz<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/argz'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/argz'<br>Making all in stdlib<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/stdlib'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/stdlib'<br>Making all in ctype<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/ctype'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/ctype'<br>Making all in search<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/search'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/search'<br>Making all in stdio<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/stdio'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/stdio'<br>Making all in string<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/string'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/string'<br>Making all in signal<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/signal'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/signal'<br>Making all in time<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/time'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/time'<br>Making all in locale<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/locale'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/locale'<br>Making all in sys<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/sys'<br>Making all in rtems<br>make[9]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/sys/rtems'<br>make[9]: Nothing to be done for 'all'.<br>make[9]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/sys/rtems'<br>Making all in .<br>make[9]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/sys'<br>make[9]: Nothing to be done for 'all-am'.<br>make[9]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/sys'<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/sys'<br>Making all in reent<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/reent'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/reent'<br>Making all in errno<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/errno'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/errno'<br>Making all in misc<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/misc'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/misc'<br>Making all in machine<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/machine'<br>Making all in arm<br>make[9]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/machine/arm'<br>make[9]: Nothing to be done for 'all'.<br>make[9]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/machine/arm'<br>Making all in .<br>make[9]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/machine'<br>make[9]: Nothing to be done for 'all-am'.<br>make[9]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/machine'<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/machine'<br>Making all in unix<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/unix'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/unix'<br>Making all in posix<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/posix'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/posix'<br>Making all in ssp<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/ssp'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc/ssp'<br>Making all in .<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc'<br>make[8]: Nothing to be done for 'all-am'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc'<br>make[7]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libc'<br>Making all in libm<br>make[7]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm'<br>Making all in math<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/math'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/math'<br>Making all in common<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/common'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/common'<br>Making all in complex<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/complex'<br>make[8]: Nothing to be done for 'all'.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/complex'<br>Making all in fenv<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/fenv'<br>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<br>../../../../../../../newlib-cygwin/newlib/libm/fenv/feclearexcept.c:64:5: error: redefinition of 'feclearexcept'<br> int feclearexcept(int excepts)<br>     ^~~~~~~~~~~~~<br>In file included from /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,<br>                 from ../../../../../../../newlib-cygwin/newlib/libm/fenv/feclearexcept.c:57:<br>/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<br> feclearexcept(int excepts)<br> ^~~~~~~~~~~~~<br>Makefile:347: recipe for target 'lib_a-feclearexcept.o' failed<br>make[8]: *** [lib_a-feclearexcept.o] Error 1<br>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<br>../../../../../../../newlib-cygwin/newlib/libm/fenv/fegetenv.c:64:5: error: redefinition of 'fegetenv'<br> int fegetenv(fenv_t *envp)<br>     ^~~~~~~~<br>In file included from /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,<br>                 from ../../../../../../../newlib-cygwin/newlib/libm/fenv/fegetenv.c:29:<br>/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<br> fegetenv(fenv_t *envp)<br> ^~~~~~~~<br>Makefile:359: recipe for target 'lib_a-fegetenv.o' failed<br>make[8]: *** [lib_a-fegetenv.o] Error 1<br>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<br>../../../../../../../newlib-cygwin/newlib/libm/fenv/fegetexceptflag.c:65:5: error: redefinition of 'fegetexceptflag'<br> int fegetexceptflag(fexcept_t *flagp, int excepts)<br>     ^~~~~~~~~~~~~~~<br>In file included from /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,<br>                 from ../../../../../../../newlib-cygwin/newlib/libm/fenv/fegetexceptflag.c:29:<br>/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<br> fegetexceptflag(fexcept_t *flagp, int excepts)<br> ^~~~~~~~~~~~~~~<br>Makefile:365: recipe for target 'lib_a-fegetexceptflag.o' failed<br>make[8]: *** [lib_a-fegetexceptflag.o] Error 1<br>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<br>../../../../../../../newlib-cygwin/newlib/libm/fenv/fegetround.c:63:5: error: redefinition of 'fegetround'<br> int fegetround(void)<br>     ^~~~~~~~~~<br>In file included from /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,<br>                 from ../../../../../../../newlib-cygwin/newlib/libm/fenv/fegetround.c:29:<br>/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<br> fegetround(void)<br> ^~~~~~~~~~<br>Makefile:371: recipe for target 'lib_a-fegetround.o' failed<br>make[8]: *** [lib_a-fegetround.o] Error 1<br>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<br>../../../../../../../newlib-cygwin/newlib/libm/fenv/feholdexcept.c:67:5: error: redefinition of 'feholdexcept'<br> int feholdexcept(fenv_t *envp)<br>     ^~~~~~~~~~~~<br>In file included from /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,<br>                 from ../../../../../../../newlib-cygwin/newlib/libm/fenv/feholdexcept.c:29:<br>/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<br> feholdexcept(fenv_t *envp)<br> ^~~~~~~~~~~~<br>Makefile:377: recipe for target 'lib_a-feholdexcept.o' failed<br>make[8]: *** [lib_a-feholdexcept.o] Error 1<br>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<br>../../../../../../../newlib-cygwin/newlib/libm/fenv/feraiseexcept.c:64:5: error: redefinition of 'feraiseexcept'<br> int feraiseexcept(int excepts)<br>     ^~~~~~~~~~~~~<br>In file included from /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,<br>                 from ../../../../../../../newlib-cygwin/newlib/libm/fenv/feraiseexcept.c:29:<br>/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<br> feraiseexcept(int excepts)<br> ^~~~~~~~~~~~~<br>Makefile:383: recipe for target 'lib_a-feraiseexcept.o' failed<br>make[8]: *** [lib_a-feraiseexcept.o] Error 1<br>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<br>../../../../../../../newlib-cygwin/newlib/libm/fenv/fesetenv.c:69:5: error: redefinition of 'fesetenv'<br> int fesetenv(const fenv_t *envp)<br>     ^~~~~~~~<br>In file included from /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,<br>                 from ../../../../../../../newlib-cygwin/newlib/libm/fenv/fesetenv.c:29:<br>/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<br> fesetenv(const fenv_t *envp)<br> ^~~~~~~~<br>Makefile:389: recipe for target 'lib_a-fesetenv.o' failed<br>make[8]: *** [lib_a-fesetenv.o] Error 1<br>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<br>../../../../../../../newlib-cygwin/newlib/libm/fenv/fesetexceptflag.c:70:5: error: redefinition of 'fesetexceptflag'<br> int fesetexceptflag(const fexcept_t *flagp, int excepts)<br>     ^~~~~~~~~~~~~~~<br>In file included from /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,<br>                 from ../../../../../../../newlib-cygwin/newlib/libm/fenv/fesetexceptflag.c:29:<br>/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<br> fesetexceptflag(const fexcept_t *flagp, int excepts)<br> ^~~~~~~~~~~~~~~<br>Makefile:395: recipe for target 'lib_a-fesetexceptflag.o' failed<br>make[8]: *** [lib_a-fesetexceptflag.o] Error 1<br>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<br>../../../../../../../newlib-cygwin/newlib/libm/fenv/fesetround.c:64:5: error: redefinition of 'fesetround'<br> int fesetround(int round)<br>     ^~~~~~~~~~<br>In file included from /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,<br>                 from ../../../../../../../newlib-cygwin/newlib/libm/fenv/fesetround.c:29:<br>/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<br> fesetround(int round)<br> ^~~~~~~~~~<br>Makefile:401: recipe for target 'lib_a-fesetround.o' failed<br>make[8]: *** [lib_a-fesetround.o] Error 1<br>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<br>../../../../../../../newlib-cygwin/newlib/libm/fenv/fetestexcept.c:65:5: error: redefinition of 'fetestexcept'<br> int fetestexcept(int excepts)<br>     ^~~~~~~~~~~~<br>In file included from /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,<br>                 from ../../../../../../../newlib-cygwin/newlib/libm/fenv/fetestexcept.c:30:<br>/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<br> fetestexcept(int excepts)<br> ^~~~~~~~~~~~<br>Makefile:407: recipe for target 'lib_a-fetestexcept.o' failed<br>make[8]: *** [lib_a-fetestexcept.o] Error 1<br>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<br>../../../../../../../newlib-cygwin/newlib/libm/fenv/feupdateenv.c:69:5: error: redefinition of 'feupdateenv'<br> int feupdateenv(const fenv_t *envp)<br>     ^~~~~~~~~~~<br>In file included from /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,<br>                 from ../../../../../../../newlib-cygwin/newlib/libm/fenv/feupdateenv.c:29:<br>/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<br> feupdateenv(const fenv_t *envp)<br> ^~~~~~~~~~~<br>Makefile:413: recipe for target 'lib_a-feupdateenv.o' failed<br>make[8]: *** [lib_a-feupdateenv.o] Error 1<br>make[8]: Target 'all' not remade because of errors.<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/fenv'<br>Making all in machine<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/machine'<br>Making all in arm<br>make[9]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/machine/arm'<br>make[9]: Nothing to be done for 'all'.<br>make[9]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/machine/arm'<br>Making all in .<br>make[9]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/machine'<br>make[9]: Nothing to be done for 'all-am'.<br>make[9]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/machine'<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm/machine'<br>make[8]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm'<br>rm -f libm.a<br>rm -rf tmp<br>mkdir tmp<br>cd tmp; \<br>  for i in math/lib.a common/lib.a complex/lib.a fenv/lib.a machine/lib.a; do \<br>    arm-rtems5-ar x ../$i; \<br>done; \<br>arm-rtems5-ar rc ../libm.a *.o<br>arm-rtems5-ar: ../fenv/lib.a: No such file or directory<br>arm-rtems5-ranlib libm.a<br>rm -rf tmp<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm'<br>Makefile:553: recipe for target 'all-recursive' failed<br>make[7]: *** [all-recursive] Error 1<br>make[7]: Target 'all' not remade because of errors.<br>make[7]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib/libm'<br>Making all in .<br>make[7]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib'<br>rm -f libm.a<br>ln libm/libm.a libm.a >/dev/null 2>/dev/null || cp libm/libm.a libm.a<br>rm -rf libc.a libg.a tmp<br>mkdir tmp<br>cd tmp; \<br> 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 ; \<br> arm-rtems5-ar x ../libc/libc.a ; \<br> arm-rtems5-ar rc ../libc.a *.o<br>arm-rtems5-ranlib libc.a<br>ln libc.a libg.a >/dev/null 2>/dev/null || cp libc.a libg.a<br>rm -rf tmp<br>rm -f vfp/hard/crt0.o<br>ln libc/crt0.o vfp/hard/crt0.o >/dev/null 2>/dev/null || cp libc/crt0.o vfp/hard/crt0.o<br>rm -f vfp/hard/libc.a ./vfp/hard/libg.a<br>ln libc.a vfp/hard/libc.a >/dev/null 2>/dev/null || cp libc.a vfp/hard/libc.a<br>ln libg.a ./vfp/hard/libg.a >/dev/null 2>/dev/null || \<br>cp libg.a ./vfp/hard/libg.a<br>rm -f vfp/hard/libm.a<br>ln libm.a vfp/hard/libm.a >/dev/null 2>/dev/null || cp libm.a vfp/hard/libm.a<br>make[7]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib'<br>Makefile:641: recipe for target 'all-recursive' failed<br>make[6]: *** [all-recursive] Error 1<br>make[6]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib'<br>Makefile:452: recipe for target 'all' failed<br>make[5]: *** [all] Error 2<br>make[5]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/vfp/hard/newlib'<br>Makefile:1260: recipe for target 'multi-do' failed<br>make[4]: *** [multi-do] Error 1<br>make[4]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>Makefile:1176: recipe for target 'all-multi' failed<br>make[3]: *** [all-multi] Error 2<br>make[3]: Target 'all-recursive' not remade because of errors.<br>make[3]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>Makefile:452: recipe for target 'all' failed<br>make[2]: *** [all] Error 2<br>make[2]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>Makefile:8491: recipe for target 'all-target-newlib' failed<br>make[1]: *** [all-target-newlib] Error 2<br>make[1]: Target 'all-target' not remade because of errors.<br>make[1]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib'<br>Makefile:878: recipe for target 'all' failed<br>make: *** [all] Error 2</div><div><br></div><div>Thanks <br></div><div>-Eshan :)</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, May 16, 2020 at 8:09 PM Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 15, 2020, 5:59 PM Eshan Dhawan <<a href="mailto:eshandhawan51@gmail.com" target="_blank">eshandhawan51@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 15, 2020 at 2:22 AM Eshan Dhawan <<a href="mailto:eshandhawan51@gmail.com" rel="noreferrer" target="_blank">eshandhawan51@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 13, 2020 at 7:40 PM Joel Sherrill <<a href="mailto:joel@rtems.org" rel="noreferrer" target="_blank">joel@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">National free hint day!!! <div><br></div><div>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.</div><div><br></div><div>After you fix this, you will sequentially find 2 other things to change in this file. </div><div><br></div></div></blockquote><div>I have made those changes when a new error occurs from the assembler in arm thumb mode <br></div><div>There is no support for vfp instructions in arm thumb. <br></div><div><a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471c/BABGHDBB.html" rel="noreferrer" target="_blank">http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471c/BABGHDBB.html</a><br></div><div>So in which file will the compiler instructions given in the <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471c/BABGHDBB.html" rel="noreferrer" target="_blank">page</a> added?<br></div></div></div></blockquote><div>FreeBSD has added file and architecture-specific flags in their makefile.inc <br></div><div><a href="https://github.com/freebsd/freebsd/blob/master/lib/msun/arm/Makefile.inc" rel="noreferrer" target="_blank">https://github.com/freebsd/freebsd/blob/master/lib/msun/arm/Makefile.inc</a></div><div>How will it be added in newlib <br></div><div>I tried adding the flags -mfpu=vfp -mfloat-abi=softfp (used in FreeBSD) to <a href="http://makefile.in" rel="noreferrer" target="_blank">makefile.in</a> but no effect.<br></div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">This isn't going to work with newlib. They don't specify CPU flags that way.</div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">gcc -dM -E - </dev/null</div><div dir="auto"><br></div><div dir="auto">Add a CPU flag and see how the setting change. </div><div dir="auto"><br></div><div dir="auto">You can also look in rtems score cpu arm for examples since the core arm code will be dealing with these.</div><div dir="auto"><br></div><div dir="auto">--joel </div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div></div><div><br></div><div>thanks <br></div><div>-Eshan<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div></div><div>Errors :<br></div><div><br></div><div>make[9]: Entering directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine/arm'<br>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<br>/tmp/ccEHiFws.s: Assembler messages:<br>/tmp/ccEHiFws.s:37: Error: selected processor does not support `vmrs r3,fpscr' in Thumb mode<br>/tmp/ccEHiFws.s:48: Error: selected processor does not support `vmsr fpscr,r3' in Thumb mode<br>/tmp/ccEHiFws.s:81: Error: selected processor does not support `vmrs r3,fpscr' in Thumb mode<br>/tmp/ccEHiFws.s:119: Error: selected processor does not support `vmrs r3,fpscr' in Thumb mode<br>/tmp/ccEHiFws.s:134: Error: selected processor does not support `vmsr fpscr,r3' in Thumb mode<br>/tmp/ccEHiFws.s:169: Error: selected processor does not support `vmrs r3,fpscr' in Thumb mode<br>/tmp/ccEHiFws.s:182: Error: selected processor does not support `vmsr fpscr,r3' in Thumb mode<br>/tmp/ccEHiFws.s:217: Error: selected processor does not support `vmrs r3,fpscr' in Thumb mode<br>/tmp/ccEHiFws.s:251: Error: selected processor does not support `vmrs r0,fpscr' in Thumb mode<br>/tmp/ccEHiFws.s:288: Error: selected processor does not support `vmrs r3,fpscr' in Thumb mode<br>/tmp/ccEHiFws.s:303: Error: selected processor does not support `vmsr fpscr,r0' in Thumb mode<br>/tmp/ccEHiFws.s:340: Error: selected processor does not support `vmrs r3,fpscr' in Thumb mode<br>/tmp/ccEHiFws.s:374: Error: selected processor does not support `vmrs r3,fpscr' in Thumb mode<br>/tmp/ccEHiFws.s:390: Error: selected processor does not support `vmsr fpscr,r3' in Thumb mode<br>/tmp/ccEHiFws.s:424: Error: selected processor does not support `vmsr fpscr,r3' in Thumb mode<br>/tmp/ccEHiFws.s:457: Error: selected processor does not support `vmrs r1,fpscr' in Thumb mode<br>/tmp/ccEHiFws.s:466: Error: selected processor does not support `vmsr fpscr,r3' in Thumb mode<br>/tmp/ccEHiFws.s:478: Error: selected processor does not support `vmrs r2,fpscr' in Thumb mode<br>/tmp/ccEHiFws.s:503: Error: selected processor does not support `vmsr fpscr,r3' in Thumb mode<br>/tmp/ccEHiFws.s:543: Error: selected processor does not support `vmrs r0,fpscr' in Thumb mode<br>/tmp/ccEHiFws.s:559: Error: selected processor does not support `vmsr fpscr,r3' in Thumb mode<br>/tmp/ccEHiFws.s:595: Error: selected processor does not support `vmrs r3,fpscr' in Thumb mode<br>/tmp/ccEHiFws.s:612: Error: selected processor does not support `vmsr fpscr,r2' in Thumb mode<br>/tmp/ccEHiFws.s:647: Error: selected processor does not support `vmrs r3,fpscr' in Thumb mode<br>Makefile:476: recipe for target 'lib_a-fenv-vfp.o' failed<br>make[9]: *** [lib_a-fenv-vfp.o] Error 1<br>make[9]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine/arm'<br>Makefile:324: recipe for target 'all-recursive' failed<br>make[8]: *** [all-recursive] Error 1<br>make[8]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm/machine'<br>Makefile:553: recipe for target 'all-recursive' failed<br>make[7]: *** [all-recursive] Error 1<br>make[7]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib/libm'<br>Makefile:641: recipe for target 'all-recursive' failed<br>make[6]: *** [all-recursive] Error 1<br>make[6]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'<br>Makefile:452: recipe for target 'all' failed<br>make[5]: *** [all] Error 2<br>make[5]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/thumb/newlib'<br>Makefile:1260: recipe for target 'multi-do' failed<br>make[4]: *** [multi-do] Error 1<br>make[4]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>Makefile:1176: recipe for target 'all-multi' failed<br>make[3]: *** [all-multi] Error 2<br>make[3]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>Makefile:452: recipe for target 'all' failed<br>make[2]: *** [all] Error 2<br>make[2]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib/arm-rtems5/newlib'<br>Makefile:8491: recipe for target 'all-target-newlib' failed<br>make[1]: *** [all-target-newlib] Error 2<br>make[1]: Leaving directory '/home/eshan/development/newlib/c-arm-rtems5-newlib'<br>Makefile:878: recipe for target 'all' failed<br>make: *** [all] Error 2</div><div><br></div><div>-Eshan<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div><div>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.</div><div><br></div><div>--joel</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, May 12, 2020 at 5:20 PM Joel Sherrill <<a href="mailto:joel@rtems.org" rel="noreferrer" target="_blank">joel@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">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.<div><br></div><div>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. </div><div><br></div><div>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.</div><div><br></div><div>But more output does help.</div><div><br></div><div>--joel<br><div><br></div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, May 12, 2020 at 4:53 PM Gedare Bloom <<a href="mailto:gedare@rtems.org" rel="noreferrer" target="_blank">gedare@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Take the first error reported, and show what is being compiled. You've<br>
trimmed off too much preceding this to know what is being compiled and<br>
how this might be influencing your error.<br>
<br>
The specific error you're getting is often due to some syntax errors<br>
preceding the line shown.<br>
<br>
On Tue, May 12, 2020 at 2:59 PM Eshan Dhawan <<a href="mailto:eshandhawan51@gmail.com" rel="noreferrer" target="_blank">eshandhawan51@gmail.com</a>> wrote:<br>
><br>
> Hello everyone,<br>
> After adding the files and compiling. I am<br>
> getting a few errors which I am not able to rectify.<br>
> If you could take a look and tell how to sort them.<br>
><br>
> link to newlib's git repo: <a href="https://github.com/eshandhawan51/newlib-cygwin/tree/add_fenv_support" rel="noreferrer noreferrer" target="_blank">https://github.com/eshandhawan51/newlib-cygwin/tree/add_fenv_support</a><br>
><br>
> errors :<br>
><br>
> In file included from /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:15:0,<br>
>                  from ../../../../../../newlib-cygwin/newlib/libm/fenv/feclearexcept.c:57:<br>
> /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'<br>
>  extern const fenv_t *_fe_dfl_env;<br>
>  ^~~~~~<br>
> In file included from ../../../../../../newlib-cygwin/newlib/libm/fenv/feclearexcept.c:57:0:<br>
> /home/eshan/development/newlib/newlib-cygwin/newlib/libc/include/fenv.h:22:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int'<br>
>  int feclearexcept(int excepts);<br>
>  ^~~<br>
><br>
> thanks<br>
> -Eshan<br>
> On Sat, May 9, 2020 at 2:53 AM Joel Sherrill <<a href="mailto:joel@rtems.org" rel="noreferrer" target="_blank">joel@rtems.org</a>> wrote:<br>
>><br>
>><br>
>><br>
>> On Thu, May 7, 2020 at 1:33 PM Eshan Dhawan <<a href="mailto:eshandhawan51@gmail.com" rel="noreferrer" target="_blank">eshandhawan51@gmail.com</a>> wrote:<br>
>>><br>
>>> Hello everyone,<br>
>>> This the tread to discuss adding fenv support for ARM architecture in newlib.<br>
>>><br>
>>> Link to previous thread: <a href="https://lists.rtems.org/pipermail/devel/2020-March/058473.html" rel="noreferrer noreferrer" target="_blank">https://lists.rtems.org/pipermail/devel/2020-March/058473.html</a><br>
>>><br>
>>> ---FreeBSD Source<br>
>>> # <a href="https://github.com/freebsd/freebsd/tree/master/lib/msun/arm" rel="noreferrer noreferrer" target="_blank">https://github.com/freebsd/freebsd/tree/master/lib/msun/arm</a><br>
>>> # <a href="https://github.com/freebsd/freebsd/blob/master/sys/arm/include/ieeefp.h" rel="noreferrer noreferrer" target="_blank">https://github.com/freebsd/freebsd/blob/master/sys/arm/include/ieeefp.h</a><br>
>>> ---NetBSD Source<br>
>>> # <a href="https://github.com/NetBSD/src/tree/trunk/lib/libm/arch/arm" rel="noreferrer noreferrer" target="_blank">https://github.com/NetBSD/src/tree/trunk/lib/libm/arch/arm</a><br>
>>><br>
>>> --- Musl has no implementation for fenv support for ARM  in it<br>
>>><br>
>>> After going through the implementations both FreeBSD and NetBSD have a stub implementation.<br>
>>> But then FreeBSD implementation seems to be more portable compared to that in NetBSD.<br>
>>><br>
>>> Should I start porting it from FreeBSD?<br>
>>> And which ARM BSP should I use for testing the changes?<br>
>>> Currently, I have xilinx_zynq_a9_qemu build<br>
>><br>
>><br>
>> I think the FreeBSD implementation is the one to use. It looks to support hard and soft floating point implementations.<br>
>><br>
>> 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.<br>
>><br>
>>><br>
>>><br>
>>> There would also be a requirement to discuss where to place the files in Newlib.<br>
>><br>
>><br>
>> Not much to discuss. It should go into newlib-cygwin/newlib/libm/machine/arm.<br>
>>><br>
>>><br>
>>> Thanks<br>
>>> -Eshan<br>
>>><br>
> _______________________________________________<br>
> devel mailing list<br>
> <a href="mailto:devel@rtems.org" rel="noreferrer" target="_blank">devel@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
</blockquote></div>
</blockquote></div>
</blockquote></div></div>
</blockquote></div></div>
</blockquote></div></div></div>
</blockquote></div>
</blockquote></div>
</blockquote></div></div>
</blockquote></div>
</blockquote></div></div>
</blockquote></div></div>
</blockquote></div></div>
</blockquote></div></div>
</blockquote></div></div>
</blockquote></div></div>
</blockquote></div></div>
</blockquote></div></div>
</blockquote></div>
</blockquote></div></div></div>
</blockquote></div>
</blockquote></div></div>