https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78478
--- Comment #14 from Joel Sherrill <joel at gcc dot gnu.org> --- (In reply to H.J. Lu from comment #13) > The problem is config/i386/rtemself.h has > > #define LONG_DOUBLE_TYPE_SIZE (TARGET_80387 ? 80 : 64) > > XFmode isn't available with -msoft-float even when -mlong-double-80 is used. > IA MCU defaults long double to double and XFmode is available with > -mlong-double-80. I had no idea how that got there so did a git blame. 8a3edb334 (uros 2013-11-05 16:08:30 +0000 31) 8a3edb334 (uros 2013-11-05 16:08:30 +0000 32) #undef LONG_DOUBLE_TYPE_SIZE 8a3edb334 (uros 2013-11-05 16:08:30 +0000 33) #define LONG_DOUBLE_TYPE_SIZE (TARGET_80387 ? 80 : 64) Anyway, removing that let it get to libgfortran for i386-rtems and fail with this: ================= libtool: compile: /home/joel/test-gcc/b-i386-rtems4.12-gcc/./gcc/xgcc -B/home/joel/test-gcc/b-i386-rtems4.12-gcc/./gcc/ -nostdinc -B/home/joel/test-gcc/b-i386-rtems4.12-gcc/i386-rtems4.12/newlib/ -isystem /home/joel/test-gcc/b-i386-rtems4.12-gcc/i386-rtems4.12/newlib/targ-include -isystem /home/joel/test-gcc/gcc/newlib/libc/include -B/home/joel/test-gcc/install-master/i386-rtems4.12/bin/ -B/home/joel/test-gcc/install-master/i386-rtems4.12/lib/ -isystem /home/joel/test-gcc/install-master/i386-rtems4.12/include -isystem /home/joel/test-gcc/install-master/i386-rtems4.12/sys-include -DHAVE_CONFIG_H -I. -I../../../../gcc/libgfortran -iquote../../../../gcc/libgfortran/io -I../../../../gcc/libgfortran/../gcc -I../../../../gcc/libgfortran/../gcc/config -I../../../../gcc/libgfortran/../libquadmath -I../../.././gcc -I../../../../gcc/libgfortran/../libgcc -I../../libgcc -I../../../../gcc/libgfortran/../libbacktrace -I../../libbacktrace -I../libbacktrace -std=gnu11 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra -Wwrite-strings -Werror=implicit-function-declaration -Werror=vla -fcx-fortran-rules -ffunction-sections -fdata-sections -g -O2 -msoft-float -MT fpu.lo -MD -MP -MF .deps/fpu.Tpo -c ../../../../gcc/libgfortran/runtime/fpu.c -o fpu.o In file included from ../../../../gcc/libgfortran/runtime/fpu.c:29:0: ./fpu-target.h: In function 'set_fpu_except_flags': ./fpu-target.h:110:7: error: impossible constraint in 'asm' __asm__ __volatile__ ("fdiv\t{%y0, %0|%0, %y0}" : "+t" (f)); ^~~~~~~ ./fpu-target.h:130:7: error: impossible constraint in 'asm' __asm__ __volatile__ ("fdivs\t%1" : "+t" (f) : "m" (g)); ^~~~~~~ ./fpu-target.h:158:7: error: impossible constraint in 'asm' __asm__ __volatile__ ("fdivs\t%1" : "+t" (f) : "m" (g)); ^~~~~~~ make[6]: *** [fpu.lo] Error 1 ================= Has anyone built i386-elf? What embedded target can I build as a comparable? I tried to build i386-elf but it failed because there was no crt0.o. This was in libbacktrace. ====================== configure:2999: /home/joel/test-gcc/b-i386-elf-gcc/./gcc/xgcc -B/home/joel/test-gcc/b-i386-elf-gcc/./gcc/ -nostdinc -B/home/joel/test-gcc/b-i386-elf-gcc/i386-elf/newlib/ -isystem /home/joel/test-gcc/b-i386-elf-gcc/i386-elf/newlib/targ-include -isystem /home/joel/test-gcc/gcc/newlib/libc/include -B/home/joel/test-gcc/b-i386-elf-gcc/i386-elf/libgloss/i386 -L/home/joel/test-gcc/b-i386-elf-gcc/i386-elf/libgloss/libnosys -L/home/joel/test-gcc/gcc/libgloss/i386 -B/home/joel/test-gcc/install-master/i386-elf/bin/ -B/home/joel/test-gcc/install-master/i386-elf/lib/ -isystem /home/joel/test-gcc/install-master/i386-elf/include -isystem /home/joel/test-gcc/install-master/i386-elf/sys-include -g -O2 conftest.c >&5 /home/joel/test-gcc/install-master/i386-elf/bin/ld: cannot find crt0.o: No such file or directory collect2: error: ld returned 1 exit status ======================