Skip to contentSkip to conversation

Which gcc version for MIPS?

DISCUSSION Günter Dannoritzer 2 participants 2 messages Oct 17, 2007 – Oct 18, 2007 MIPS

lore
Share & tools
lore
#0 lore raw

Hi,

I am trying to get my feed wet with the MIPS architecture and I am looking into getting the gcc cross compiler going on my openSuse 10.2 system.

On openSuse there is already a binutils 2.17 package available and I was wondering whether it is as simple as compiling gcc with MIPS support for that binutils package?

I looked at the Toolchain page at

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

and it explains the compilation of gcc fairly simple. On the page it says to use gcc 3.4.4 as that seems to be the version that allows to compile a Linux Kernel without problems, however, if I look at the crosstools page of Dan Kegel

http://kegel.com/crosstool/crosstool-0.43/buildlogs/

it shows that there is no version that compiles a listed Linux Kernel successful.

Can anybody give me some help in deciding what gcc version to use?

Does the gcc version need to match a certain binutils version?

Another question I have about having a mips and mipsel toolchain. I am aware that some MIPS procecessors can change the endian-ness. In the gcc documentation I saw that there is a -EB and -EL switch to select the endianes. What is then the reason to have two toolchains?

Thanks for your help.

Cheers,

Guenter

#1 lore raw
Quoted 1 line · Günter Dannoritzer

Can anybody give me some help in deciding what gcc version to use?

Well, hard to tell probably: 3.4 used to be fairly stable, 4.0 -- less
so, 4.1 -- I am happy with it, but your mileage may vary, 4.2 -- I have not tried. Others may have differing opinions.

Quoted 1 line

Does the gcc version need to match a certain binutils version?

For binutils your best choice is probably sticking with the most recent
release. As of this writing it is 2.18.

Quoted 4 lines

Another question I have about having a mips and mipsel toolchain. I am aware that some MIPS procecessors can change the endian-ness. In the gcc documentation I saw that there is a -EB and -EL switch to select the endianes. What is then the reason to have two toolchains?

Well, it is a choice from two and you can have only one default. You
would usually want to have the default set to the endianness you most frequently use, so that you do not have to specify the switch; obviously the same applies to a native MIPS/Linux toolchain. Besides, historically there used to be some bugs in the compiler's specs that made the selection of the non-default endianness problematic at times. They should have been fixed by now though.

Maciej