
In message 1123665206.29961.31.camel@localhost.localdomain you wrote:
Two - or one that can be called using different names (like the ELDK does).
Different names?
Like that:
-> ls -l /opt/eldk/usr/bin/mips*gcc -rwxr-xr-x 1 root root 81896 Mar 6 20:12 /opt/eldk/usr/bin/mips-linux-gcc lrwxrwxrwx 1 root root 14 Mar 12 19:28 /opt/eldk/usr/bin/mips_4KC-gcc -> mips-linux-gcc lrwxrwxrwx 1 root root 14 Mar 12 19:28 /opt/eldk/usr/bin/mips_4KCle-gcc -> mips-linux-gcc
What about default endianness?
mips_4KC-gcc is big endian, mips_4KCle-gcc is little endian.
This is in the mipsel-linux-gcc -dumpspecs: *multilib_defaults: EL mips1 mabi=32
And in the mips-linux-gcc -dumpspecs: *multilib_defaults: EB mips1 mabi=32
The ELDK has
*multilib_defaults: EB mips1 mabi=32
for both, but mips_4KC-gcc passes -DMIPSEB -D_MIPSEB as default options while mips_4KCle-gcc passes -D_MIPSEL -D__MIPSEL -D__MIPSEL__ -DMIPSEL
Ummm... How is this handled in the Linux kernel?
In .config: CONFIG_CPU_LITTLE_ENDIAN=y or CONFIG_CPU_BIG_ENDIAN=y
Actually, when you're building toolchains for MIPS with crosstool, the difference between the mipsel(EL) and mips(BE) is in kernel config file, which sets the endianness for the toolchain.
Seems completely the wrong way round to me... I don't want a random kernel tree to determine if my tool chain is BE or LE. Grrghh..
Best regards,
Wolfgang Denk