Create the 64 bits version strings for MIPS, SPARC and S390

Note that the specialization has to be declared before the common arch
because of how qprocessordetection.h sets this variables. Else
you would still get mips on a mips64 system.

Change-Id: Ief949a5d30aa217c4bfda2d674ec2683e6c130c4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Remove -Wcast-align from QMAKE_CXXFLAGS.

x86 doesn't care about alignment, and on all other platforms where it
does something it causes build errors, so instead of removing it on
those platforms just don't enable it at all.

Change-Id: Idfeb387099b28af60ba161b6ca678b7c9df17fe1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Enable sparc detection.

It has been working in Debian for some time.
It also adds detection for 64bits Sparc.

Change-Id: Ie4fc0f58b37672b79191ebe51de0caf2eaf8a1d9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Support MIPS atomic on pre-MIPS32 architectures

The atomic functions on MIPS are based on the sync opcode with an
immediate argument, which is something introduced in the MIPS32
instruction set. This prevent to use Qt on pre-MIPS32 CPU, like the
Loongson 2 CPU.

However some of the pre-MIPS32 CPUs interprets the sync opcode with and
immediate argument as a sync opcode without argument (which is a stronger
ordering than with the argument), and for the others the kernel emulates
it.

It is therefore fine to use the current MIPS atomic functions on
pre-MIPS32 CPU. This patch allows that by temporarily changing the
instruction set to MIPS32 around the sync instruction, so that binutils
doesn't choke on it.

Change-Id: I9cc984bd55b5f172736ce9e638a6f4e271b79fe7
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>