On Mon, Aug 26, 2019 at 1:30 AM Sebastian Huber <sebastian.hu...@embedded-brains.de> wrote: > > Hello, > > this error was caused by and looks like a break introduced by the fenv.h > changes: > > libtool: compile: > /usr/home/user/rtems-source-builder/rtems/build/i386-rtems6-gcc-0f81292cb0a-newlib-d06517044-x86_64-freebsd12.0-1/build/./gcc/xgcc > - > B/usr/home/user/rtems-source-builder/rtems/build/i386-rtems6-gcc-0f81292cb0a-newlib-d06517044-x86_64-freebsd12.0-1/build/./gcc/ > -nostdinc -B/usr/home/u > ser/rtems-source-builder/rtems/build/i386-rtems6-gcc-0f81292cb0a-newlib-d06517044-x86_64-freebsd12.0-1/build/i386-rtems6/newlib/ > -isystem /usr/home/use > r/rtems-source-builder/rtems/build/i386-rtems6-gcc-0f81292cb0a-newlib-d06517044-x86_64-freebsd12.0-1/build/i386-rtems6/newlib/targ-include > -isystem /us > r/home/user/rtems-source-builder/rtems/build/i386-rtems6-gcc-0f81292cb0a-newlib-d06517044-x86_64-freebsd12.0-1/gnu-mirror-gcc-0f81292cb0a/newlib/libc/i > nclude -B/usr/local/rtems/5/i386-rtems6/bin/ > -B/usr/local/rtems/5/i386-rtems6/lib/ -isystem > /usr/local/rtems/5/i386-rtems6/include -isystem /usr/local/ > rtems/5/i386-rtems6/sys-include -DHAVE_CONFIG_H -I. > -I../../../../gnu-mirror-gcc-0f81292cb0a/libquadmath -I > ../../../../gnu-mirror-gcc-0f81292cb0a/libq > uadmath/../include -g -O2 -mtune=i486 -MT math/acosq.lo -MD -MP -MF > math/.deps/acosq.Tpo -c > ../../../../gnu-mirror-gcc-0f81292cb0a/libquadmath/math/aco > sq.c -o math/acosq.o > In file included from > ../../../../gnu-mirror-gcc-0f81292cb0a/libquadmath/math/x2y2m1q.c:19: > ../../../../gnu-mirror-gcc-0f81292cb0a/libquadmath/math/x2y2m1q.c: In > function '__quadmath_x2y2m1q': > ../../../../gnu-mirror-gcc-0f81292cb0a/libquadmath/math/x2y2m1q.c:57:26: > error: 'FE_TONEAREST' undeclared (first use in this function) > 57 | SET_RESTORE_ROUNDF128 (FE_TONEAREST); > | ^~~~~~~~~~~~ > ../../../../gnu-mirror-gcc-0f81292cb0a/libquadmath/quadmath-imp.h:318:35: > note: in definition of macro 'SET_RESTORE_ROUNDF128' > 318 | libc_feholdsetround_ctx (&ctx, (RM)) > | ^~ > ../../../../gnu-mirror-gcc-0f81292cb0a/libquadmath/math/x2y2m1q.c:57:26: > note: each undeclared identifier is reported only once for each function > it ap > pears in > 57 | SET_RESTORE_ROUNDF128 (FE_TONEAREST); > | ^~~~~~~~~~~~ > ../../../../gnu-mirror-gcc-0f81292cb0a/libquadmath/quadmath-imp.h:318:35: > note: in definition of macro 'SET_RESTORE_ROUNDF128' > 318 | libc_feholdsetround_ctx (&ctx, (RM)) > | ^~
The code not compiling is incorrect per POSIX. The FE_TONEAREST constant should not be defined if it is not supported by the implementation. This is true for almost all the constants provided by fenv.h http://pubs.opengroup.org/onlinepubs/009695399/basedefs/fenv.h.html Alternatively, add an x86_64 implementation. Corinna suggested moving the Cygwin implementations to newlib/libm so they could be used by all targets. This one at least is just moving/porting software rather than writing one from scratch. --joel > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel