On Fri, 12 Mar 2021, Philippe Mathieu-Daudé wrote: > > but your two options to > > choose from are: > > > > 1. Build for the soft-float ABI (`-msoft-float') where any FP calculations > > are compiled such as to be made by the CPU using integer arithmetic. > > With the Debian toolchain I get: > > /usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: No > such file or directory > #include <bits/libc-header-start.h> > ^~~~~~~~~~~~~~~~~~~~~~~~~~
You need to have a soft-float multilib available. You can use: $ gcc -print-multi-lib to see what multilibs are available. You'd have to have one that includes `-msoft-float' and `-mabi=n32' both at a time. If there's no such one, then you'll have to build your own cross-compiler (including soft-float libc). > > 2. Build for a generic MIPS ISA, for the R5900/n32 that would be MIPS III > > (`-march=mips3'), and rely on the kernel FPU emulation. > > Shouldn't -march=r5900 imply -march=mips3? It does: MIPS_CPU ("r5900", PROCESSOR_R5900, 3, 0) however it is a distinct architecture owing to the differences from plain MIPS III ISA, and obviously the compiler and the assembler both know that. Maciej