Building for an SH target without FPU

Sébastien Michelland sebastien.mld@numericable.fr
Wed Mar 6 18:15:00 GMT 2019


Hi everyone,

I'm having trouble building programs for a SuperH-4 target without FPU.

My current setup uses an sh4eb-nofpu-elf target which usually behaves 
very well (much better than sh4eb-elf that uses a lot of fmov for 
optimization), but I discovered that using a va_list causes the dreaded, 
illegal fmov instruction to be generated.

I've looked up available options and expected -m4-nofpu to be of help, 
however GCC does not agree with this estimation:

   sh4eb-nofpu-elf-gcc: error: command line option '-m4-nofpu' is not 
supported by this configuration

When building I expected this target to support the option "by default". 
I've tried building again and I found no relevant flag, even in the 
recursive configure help.

Here is what the compiler looks like in more detail:

   Using built-in specs.
   COLLECT_GCC=sh4eb-nofpu-elf-gcc
 
COLLECT_LTO_WRAPPER=/home/el/opt/sh4eb-nofpu-elf-2.32-8.3.0/libexec/gcc/sh4eb-nofpu-elf/8.3.0/lto-wrapper
   Target: sh4eb-nofpu-elf
   Configured with: ../gcc-8.3.0/configure 
--prefix=/home/el/opt/sh4eb-nofpu-elf-2.32-8.3.0 
--target=sh4eb-nofpu-elf --enable-languages=c,c++ --without-headers 
--with-newlib --disable-nls --disable-werror --enable-libssp --enable-lto
   Thread model: single
   gcc version 8.3.0 (GCC)

How can I fix this setup to generate entirely FPU-free programs?

Any insight would be deeply appreciated!

Cheers,
Sébastien



More information about the Gcc-help mailing list