Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-125499

qtdeclarative: failure to build JIT compiler on X32 ABI

    XMLWordPrintable

Details

    • Linux/X11

    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
      
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qtqmlteam Qt Qml Team User
            hate-engine Andrey Batyiev
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes