Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
6.7.0
-
None
Description
X32 ABI is an ABI for X86_64 that uses 32bit-long pointers while operating in long mode (64bit registers etc).
QtDeclarative fails to build JIT with the following build error:
/var/tmp/portage/dev-qt/qtdeclarative-6.7.0/work/qtdeclarative-everywhere-src-6.7.0/src/qml/jit/qv4baselineassembler.cpp: In member function ‘void QV4::JIT::P latformAssembler32::saveReturnValueInAccumulator()’: /var/tmp/portage/dev-qt/qtdeclarative-6.7.0/work/qtdeclarative-everywhere-src-6.7.0/src/qml/jit/qv4baselineassembler.cpp:371:14: error: ‘ReturnValueRegisterTa g’ was not declared in this scope; did you mean ‘ReturnValueRegister’? 371 | move(ReturnValueRegisterTag, AccumulatorRegisterTag); | ^~~~~~~~~~~~~~~~~~~~~~ | ReturnValueRegister /var/tmp/portage/dev-qt/qtdeclarative-6.7.0/work/qtdeclarative-everywhere-src-6.7.0/src/qml/jit/qv4baselineassembler.cpp:371:38: error: ‘AccumulatorRegisterTa g’ was not declared in this scope; did you mean ‘AccumulatorRegister’? 371 | move(ReturnValueRegisterTag, AccumulatorRegisterTag); | ^~~~~~~~~~~~~~~~~~~~~~ | AccumulatorRegister /var/tmp/portage/dev-qt/qtdeclarative-6.7.0/work/qtdeclarative-everywhere-src-6.7.0/src/qml/jit/qv4baselineassembler.cpp: In member function ‘void QV4::JIT::P latformAssembler32::loadUndefined()’: /var/tmp/portage/dev-qt/qtdeclarative-6.7.0/work/qtdeclarative-everywhere-src-6.7.0/src/qml/jit/qv4baselineassembler.cpp:377:31: error: ‘AccumulatorRegisterTa g’ was not declared in this scope; did you mean ‘AccumulatorRegister’? 377 | move(TrustedImm32(0), AccumulatorRegisterTag); | ^~~~~~~~~~~~~~~~~~~~~~ | AccumulatorRegister /var/tmp/portage/dev-qt/qtdeclarative-6.7.0/work/qtdeclarative-everywhere-src-6.7.0/src/qml/jit/qv4baselineassembler.cpp: In member function ‘void QV4::JIT::P latformAssembler32::loadAccumulator(JSC::MacroAssembler<JSC::MacroAssemblerX86_64>::Address)’: /var/tmp/portage/dev-qt/qtdeclarative-6.7.0/work/qtdeclarative-everywhere-src-6.7.0/src/qml/jit/qv4baselineassembler.cpp:410:21: error: ‘AccumulatorRegisterTa g’ was not declared in this scope; did you mean ‘AccumulatorRegister’? 410 | load32(src, AccumulatorRegisterTag); | ^~~~~~~~~~~~~~~~~~~~~~ | AccumulatorRegister /var/tmp/portage/dev-qt/qtdeclarative-6.7.0/work/qtdeclarative-everywhere-src-6.7.0/src/qml/jit/qv4baselineassembler.cpp: In member function ‘void QV4::JIT::P latformAssembler32::storeAccumulator(JSC::MacroAssembler<JSC::MacroAssemblerX86_64>::Address)’: /var/tmp/portage/dev-qt/qtdeclarative-6.7.0/work/qtdeclarative-everywhere-src-6.7.0/src/qml/jit/qv4baselineassembler.cpp:417:17: error: ‘AccumulatorRegisterTa g’ was not declared in this scope; did you mean ‘AccumulatorRegister’? 417 | store32(AccumulatorRegisterTag, addr); | ^~~~~~~~~~~~~~~~~~~~~~ | AccumulatorRegister