Subject: Support for different MIPS (I, II, III, IV)
To: None <port-cobalt@netbsd.org>
From: Rodrigo Fernandez-Vizarra <Rodrigo.Fdz-Vizarra@infonegocio.com>
List: port-cobalt
Date: 12/01/2002 03:30:38
Hi,

Im trying to install postgresql in my Qube2 but while compiling I get 
this message:

gmake[2]: Entering directory 
`/usr/pkgsrc/databases/postgresql-server/work/postgresql-7.2.3/src/backend/storage/lmgr'
cc -O2 -I/usr/pkg/include -Wall -Wmissing-prototypes 
-Wmissing-declarations -I../../../../src/include -I/usr/pkg/include 
-I/usr/include  -c -o s_lock.o s_lock.c
s_lock.c:175: warning: `tas_dummy' defined but not used
/var/tmp/ccyLYdcl.s: Assembler messages:
/var/tmp/ccyLYdcl.s:161: Error: opcode not supported on this processor: 
R3000 (MIPS1) `ll'
/var/tmp/ccyLYdcl.s:163: Error: opcode not supported on this processor: 
R3000 (MIPS1) `sc'
gmake[2]: *** [s_lock.o] Error 1
gmake[2]: Leaving directory 
`/usr/pkgsrc/databases/postgresql-server/work/postgresql-7.2.3/src/backend/storage/lmgr'
gmake[1]: *** [lmgr-recursive] Error 2
gmake[1]: Leaving directory 
`/usr/pkgsrc/databases/postgresql-server/work/postgresql-7.2.3/src/backend/storage'
gmake: *** [storage-recursive] Error 2
*** Error code 2


I've been doing some research on this and I realized that the problem is 
that the compiler is not using MIPS II instruction set because 
everything in the NetBSD cobalt port is MIPS I. As I read in several 
places the RM5200 is compatible the the MIPS IV so I wonder why is the 
cobalt port using MIPS I. Is there any other cobalt using an older MIPS 
chip?

I've been thinking on recompile the NetBSD port with a higher MIPS 
instruction set support. Any clue on how to do this? I can compile a 
program with MIPS III but I can't link with the dynamic libraries 
because they are MIPS I

Example:

# gcc -mips3 -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -c foo.c
foo.c: In function `main':
foo.c:6: warning: implicit declaration of function `printf'
# file foo.o
foo.o: ELF 32-bit LSB MIPS-III relocatable, MIPS, version 1 (SYSV), not 
stripped


# gcc -mips3 -O2 -Wall -Wmissing-prototypes -Wmissing-declarations foo.c 
-o foo
foo.c: In function `main':
foo.c:6: warning: implicit declaration of function `printf'
ld: /var/tmp/ccrFxlAy.o: ISA mismatch (-mips3) with previous modules 
(-mips1)
Bad value: failed to merge target specific data of file /var/tmp/ccrFxlAy.o



Regards,
Rodrigo