Kevin D. Kissell wrote:
Could you please post your mipsel-linux-gcc -v output? It might help. I've never tried building Linux with any of the Sc/Sd/SmartMIPS options, so I really don't know what you could be experiencing. One thought that comes to mind is that the -march=4ksd option may be treated as a hint to generate compact code (for smart cards) in a way that -march=mips32r2 is not. I'll ask around...
Assuming that this is the SDE compiler, then I think that the only significant thing which -march=4ksd will do differently from -march=mips32r2 is to allow the compiler to generate branch-likely instructions -- they're deprecated for generic mips32 code but carry no penalty on the 4K core. It will also cause the compiler's "4kc" pipeline description to be used for instruction scheduling, instead of the default "24kc", but that should only change the order of instructions and shouldn't really make a significant difference to the code size.
Now the size of the kernel code is 33Ko bigger ! I have no idea why...I tried to add -mips16e option but it fails to compile...Do you have an idea ?
You certainly can't compile the kernel with -mips16e: too much inline asm code which won't work in mips16.
Nigel