Subject: How do I compile GCC to generate MIPS code ?

From: Leonel Gayard <[email-masked]>
Date: Thu, 17 Mar 2005 02:54:09 +0000

Hi all,

I have recently started to study the MIPS architecture. For instance,
I wanted to have GCC compile C code into MIPS assembly and run it in
SPIM. (I have an Intel machine running Linux).

So I want to try something like this:

gcc -Wall -pedantic -S --march=mips1 test.c

in order to have it generate MIPS assembly.

It does not work. All I get is:

cc1: error: bad value (mips32) for -march= switch
cc1: error: bad value (mips32) for -mcpu= switch

Clearly, I need to recompile GCC so it has MIPS in its available
architectures. Remark, this is not cross-compiling, because I want GCC
to run on an i686 machine, it just generates MIPS code.

Can any one help me do this ?

Thank you
Leonel

---

From: "Steven J. Hill" <[email-masked]>
Date: Wed, 16 Mar 2005 22:28:59 -0600

> SPIM. (I have an Intel machine running Linux).
There are these brand new services just out called Google and Wiki!!!
You should try them out. They're revolutionary!! All kidding aside,
go to:

    http://www.linux-mips.org/

which is the main site. The link directly to the toolchains is:

    http://www.linux-mips.org/wiki/index.php/Toolchains

more information about emulators/simulators is:

    http://www.linux-mips.org/wiki/index.php/Emulators

All of the information that you are looking for will be there. Have
lots of fun. Please feel free to ask questions after you have exhausted
those resources.

-Steve

---

From: Kumba <[email-masked]>
Date: Wed, 16 Mar 2005 23:24:14 -0500

> Can any one help me do this ?

Cross compiling is the (black) art of building a compiler that runs on Arch X, 
but generates code for Arch Y.  You definitely do not want to replace your 
system compiler (that is, i686-pc-linux-gnu-gcc) with a mips one, cause then 
you won't be able to rebuild i686 packages.  You want a second compiler to be 
available capable of handling mips-unknown-linux-gnu.

--Kumba

-- 
"Such is oft the course of deeds that move the wheels of the world: small 
hands do them because they must, while the eyes of the great are elsewhere." 
--Elrond