Question about MIPS soft-float libraries?

Ralf Corsepius corsepiu at faw.uni-ulm.de
Tue Apr 29 00:32:23 UTC 2003


Am Mon, 2003-04-28 um 19.13 schrieb Joel Sherrill:
> Ivica Mikec wrote:
> > 
> > Hi!
> > 
> > I an using RTEMS 4.6.0.pre3 with gcc 3.2.1-20021209 and newlib is
> > 1.11.0-20030203.
> > 
> > I've noticed following:
> > 
> > If you use file command to check crti.o in
> > /opt/rtems/lib/gcc-lib/mips-rtems/3.2.1/soft-float
> > you will get this result:
> > 
> > crti.o: ELF 32-bit MSB MIPS-I relocatable, MIPS, version 1 (SYSV), not
> > stripped
> > 
> > but if you use same command on crt0.o in:
> > 
> > /opt/rtems/mips-rtems/lib/soft-float
> > you get different result:
> > 
> > crt0.o: ELF 32-bit MSB MIPS-I relocatable, MIPS, version 1
> > MathCoPro/FPU/MAU required (SYSV), not stripped
> > 
> > I think both files should be compiled with -msoft-float, and it seams
> > that only ctri.o was compiled with this flag and that crt0.o was not
> > compiled with -msoft-float.
> > 
> > Can you check this?
> 
> I don't have logs left for 3.2.1 but could check the last 3.2.2 and
> 3.2.3 logs and at least one variant is compiled with the -msoft-float. 
I have just checked the built-tree of a freshly built
mips-rtems-gcc-3.2.2 and see the following:

* soft-float dirs are being compiled with -msoft-float.
* Some object files in soft-float multilib variants are reported to be
using FPU instructions.


Examples:
# file build/mips-rtems/soft-float/newlib/libc/machine/mips/memset.o
build/mips-rtems/soft-float/newlib/libc/machine/mips/setjmp.o

build/mips-rtems/soft-float/newlib/libc/machine/mips/memset.o: ELF
32-bit MSB MIPS-I relocatable, MIPS, version 1 MathCoPro/FPU/MAU
Required (SYSV), not stripped

build/mips-rtems/soft-float/newlib/libc/machine/mips/setjmp.o: ELF
32-bit MSB MIPS-I relocatable, MIPS, version 1 (SYSV), not stripped

memset.o is reported to be using FPU-instructions, while setjmp.o is
reported not to be using FPU-instructions.

=> Either "file" has problems or mips-rtems-gcc is applying FPU-code in
soft-float binaries. I'd suspect the latter.

Could somebody knowledgeable on the mips architecture please check if
the *.o really contain FPU code? 

Ralf





More information about the users mailing list