Details
-
Bug
-
Resolution: Out of scope
-
Not Evaluated
-
None
-
5.9.8
-
None
Description
JIT should not be compiled on MIPS64,but it is. I found a few problems.
1.'mfhc1' function may be misspelled in MIPSAssemebler.h.
../3rdparty/masm/assembler/MIPSAssembler.h:696:9: error: ‘mfhc1’ was not declared in this scope
mfhc1(rd2, rn);
^~~~~
../3rdparty/masm/assembler/MIPSAssembler.h:696:9: note: suggested alternative: ‘mthc1’
mfhc1(rd2, rn);
^~~~~
mthc1
2.Macro definition 'Q_PROCESSOR_MIPS_32' judgment error on mips64:
'V4_ENABLE_JIT' should no be defined in qtdeclarative/src/qml/jsruntime/qv4global_p.h:
110 #elif defined(Q_PROCESSOR_MIPS_32) && defined(Q_OS_LINUX) 111 # define V4_ENABLE_JIT 112 #endif
but 'Q_PROCESSOR_MIPS_32' is really defined in qtbase/src/corelib/global/qprocessordetection.h:
247 # if defined(_MIPS_ARCH_MIPS32) || defined(__mips32) || (defined(__mips) && __mips - 0 >= 32)
248 # define Q_PROCESSOR_MIPS_32
249 # endif
I compared it with qt5.6.0:
225 # if defined(_MIPS_ARCH_MIPS32) || defined(__mips32)
226 # define Q_PROCESSOR_MIPS_32
227 # endif
I think it's better to change '_mips-0>=32' to 'mips-0==32' or '_mips-0<64'.