Go to the previous, next section.

Installing GNU CC on the MIPS

See section Installing GNU CC about whether to use either of the options `--with-stabs' or `--with-gnu-as'.

The MIPS C compiler needs to be told to increase its table size for switch statements with the `-Wf,-XNg1500' option in order to compile `cp-parse.c'. If you use the `-O2' optimization option, you also need to use `-Olimit 3000'. Both of these options are automatically generated in the `Makefile' that the shell script `configure' builds. If you override the CC make variable and use the MIPS compilers, you may need to add `-Wf,-XNg1500 -Olimit 3000'.

MIPS computers running RISC-OS can support four different personalities: default, BSD 4.3, System V.3, and System V.4 (older versions of RISC-OS don't support V.4). To configure GCC for these platforms use the following configurations:

`mips-mips-riscosrev'
Default configuration for RISC-OS, revision rev.

`mips-mips-riscosrevbsd'
BSD 4.3 configuration for RISC-OS, revision rev.

`mips-mips-riscosrevsysv4'
System V.4 configuration for RISC-OS, revision rev.

`mips-mips-riscosrevsysv'
System V.3 configuration for RISC-OS, revision rev.

The revision rev mentioned above is the revision of RISC-OS to use. You must reconfigure GCC when going from a RISC-OS revision 4 to RISC-OS revision 5. This has the effect of avoiding a linker bug (see section Installation Problems for more details).

DECstations can support three different personalities: Ultrix, DEC OSF/1, and OSF/rose. To configure GCC for these platforms use the following configurations:

`decstation-ultrix'
Ultrix configuration.

`decstation-osf1'
Dec's version of OSF/1.

`decstation-osfrose'
Open Software Foundation reference port of OSF/1 which uses the OSF/rose object file format instead of ECOFF. Normally, you would not select this configuration.

On Irix version 4.0.5F, and perhaps on some other versions as well, there is an assembler bug that reorders instructions incorrectly. To work around it, specify the target configuration `mips-sgi-irix4loser'. This configuration inhibits assembler optimization.

You can turn off assembler optimization in a compiler configured with target `mips-sgi-irix4' using the `-noasmopt' option. This compiler option passes the option `-O0' to the assembler, to inhibit reordering.

The `-noasmopt' option can be useful for testing whether a problem is due to erroneous assembler reordering. Even if a problem does not go away with `-noasmopt', it may still be due to assembler reordering--perhaps GNU CC itself was miscompiled as a result.

We know this is inconvenient, but it's the best that can be done at the last minute.

Go to the previous, next section.