Chris Plummer wrote: [snip] > indy-01$ cc test.c -mips2 > indy-01$ ./a.out > bash: ./a.out: No such file or directory
What happens with -static? [snip] > The reason I'm using -mips2 is because there is a bug in gcc that causes > it to fail to compile a very large (>32k) function I have. It produces > forward branches to targets that are out of range. Using -mips2 fixes > this problem. Older compilers (like the one in woody) take -mips2 as a hint to generate o32 code. Newer ones use -mips2 as an alias for -arch=r6000 and rely on the -mabi switch for ABI selection. > On a related note, how come -mips3 objects can't be linked against the > -mips1 libraries: > > indy-01$ cc test.c -mips3 > /usr/bin/ld: /tmp/ccyFDthq.o: ISA mismatch (-mips3) with previous > modules (-mips1) > Bad value: failed to merge target specific data of file /tmp/ccyFDthq.o > collect2: ld returned 1 exit status Older ld's are a bit restrictive and allow the same ISA to be linked together. Very recent ones would link both objects in a MIPS III one. > I found an SGI Indy FAQ that says for IRIX -mips3 implies n32 calling > conventions. I'm not sure if this is also true with Debian Linux, so I > tried explicitly compiling with -o32, but that didn't help any. The SGI toolchain has different semantics for their command line options. Thiemo

