On 2/7/11 2:19 PM, Khem Raj wrote: > On Mon, Feb 7, 2011 at 11:39 AM, Mark Hatle <[email protected]> wrote: >> On 2/7/11 1:33 PM, Khem Raj wrote: >>> On Mon, Feb 7, 2011 at 7:53 AM, Enrico Scholz >>> <[email protected]> wrote: >>>> Explicit '-mthumb' is required because Cortex-M3 does not support ARM >>>> instructions and actual flags cause gcc to fail with 'error: target CPU >>>> does not support ARM mode'. >>>> >>>> The '-mcpu=cortex-m3' is shorter than '-march=armv7-m -mtune=cortex-m3' >>>> and enables workarounds like '-mfix-cortex-m3-ldrd'. >>> >>> Does -mcpu=cortex-m3 also cause gcc to tune for cortex-m3 ? >> >> -mcpu=cortex-m3 is equivalent to -march=cortex-m3 -mtune=cortex-m3 > > is -march=cortex-m3 valid even ? my question was if we select armv7-m > using -march > then gcc knows stuff like oh this arch has a hardware div instruction > but now if we > use -mcpu will it still do it.
You would have to look in the source and see if -mcpu=cortex-m3 is an "alias" for anything or simply uses the default logic of cpu == march && mtune.. (FYI, last time I looked at how this worked was a year or so ago.. so if the way GCC processes options has changed, then I'm wrong.. but it's worth looking at.. I was scolded many times by GCC developers that -mcpu= is not the same as specifically setting the arch and tune.) Usually you use march & mtune when you are trying to make a set of binaries that is capable of running on multiple cores in the same family. I see it used the most of IA and Power systems myself. --Mark _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
