I am trying to figure out gcc options for a toolchain I am setting up, for development board: Sabre-lite which is based around the Freescale's iMX6q quad processor.
Now I know that iMX6 is basically a cortex-a9 processor that has co-processors vfpv3 and neon, and also vector graphics, 2D and even 3D engines.
However, the release notes and use guide docs haven't been too clear on how to enable any options that can be enabled in gcc.
In fact the options that I can 'play' with are the following.
-march= armv7-a - ok this one is pretty obvious.
-mfpu= vfpv3/neon - i can use only the vfpv3 co-processor, or both (respectively, depends on option)
-mfloat-abi=softfp/soft/hard - I guess I can choose hard here, as there is hardware for fp operations
-mcpu=cortex-a9 - is it option even necessary? it is not clear if it just an alias for -march or something else.
Are there other options I should enable? Why does the toolchain have as default options to build the linux kernel/uboot/packages the following:
-march= armv7-a -mfpu= vfpv3 -mfloat-abi=softfp
Thank you for your help