2012/03/30 - Mark Hatle - Initial Version MIPS currently defines 12 ABIs. Combinations of: *) Big/Little Endian *) Hardware/Software Floating Point *) o32, n32, n64 ABI TUNE_ARCH, the GNU canonical arch, is defined as: mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN} The package arch is defined in such a way to generated a standard naming scheme. The scheme is: [-nf][-n32] TUNE_PKGARCH is defined as: ${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI} The following is a list of MIPS specific variables: MIPSPKGSFX_BYTE - This is defined as either blank and "64" for MIPS64 CPUs. MIPSPKGSFX_ENDIAN - For bigendian hardware this is blank, otherwise it's defined as "el". MIPSPKGSFX_VARIANT_tune- - In the default tunings it is set to the same value as TUNE_ARCH. In custom, optimized tunings, the value should be modified to more precisely describe the tuning. MIPSPKGSFX_FPU - The value is set to "" or "-nf", where "-nf" indicates that the tune is using a non-floating point ABI. MIPSPKGSFX_ABI - This is used to specify an alternative ABI when the previous values are not enough to distringuish the package. "-n32" is added when building for N32 ABI.