I didn't think that the gnu download supported Cortex M3 yet, so you pretty much had to download from codesorcery... Is that no longer true?
Very good point. I'm pretty sure when I looked last year, it wasn't.
I've just checked at GNU GCC 4.5.0, Section 3.17.2 ARM Options and it says:
-mcpu=name
This specifies the name of the target ARM processor. GCC uses this name to determine what kind of instructions it can emit when generating assembly code. Permissible names are:arm2',arm250',arm3',arm6',arm60',arm600',arm610',arm620',arm7',arm7m',arm7d',arm7dm',arm7di',arm7dmi',arm70',arm700',arm700i',arm710',arm710c',arm7100',arm720',arm7500',arm7500fe',arm7tdmi',arm7tdmi-s',arm710t',arm720t',arm740t',strongarm',strongarm110',strongarm1100',strongarm1110',arm8',arm810',arm9',arm9e',arm920',arm920t',arm922t',arm946e-s',arm966e-s',arm968e-s',arm926ej-s',arm940t',arm9tdmi',arm10tdmi',arm1020t',arm1026ej-s',arm10e',arm1020e',arm1022e',arm1136j-s',arm1136jf-s',mpcore',mpcorenovfp',arm1156t2-s',arm1156t2f-s',arm1176jz-s',arm1176jzf-s',cortex-a5',cortex-a8',cortex-a9',cortex-r4',cortex-r4f',**[u]cortex-m3[/u]**',cortex-m1',cortex-m0',xscale',iwmmxt',iwmmxt2', `ep9312'.
So it looks like it is there in the current 4.5.0 release of gcc. A friend has said a lot of ARM stuff has been getting folded into the Linux kernel, so it may be that activity has pushed gcc along too.
I get the impression that the code sorcery version may be more up to date, but maybe that is the power of marketing. Certainly the code sorcery version was the one Pete Harrison at micromouseonline.com used last year.
HTH - GB-)