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

Qt 5.12.4 fails to build for arm64-v8a, reporting missing neon functions

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.12.4
    • Fix Version/s: 5.12.5
    • Component/s: Build System
    • Labels:
      None
    • Environment:
      Host = Ubuntu 18.04.
      Android SDK = up to date, set for 23.
      Android NDK = 20 (using clang).
    • Platform/s:
      Android, Linux/X11

      Description

      Qt 5.12.4 (github branch 5.12, commit 452e0d94d40bba15a56293a0a0f7d093dececda9, fetched 2019-06-18) compiles for Linux, Windows, and Android with 32-bit ARM (armeabi-v7a), but fails to build for Android with 64-bit ARM ("--android-arch arm64-v8a").

      The failure is with a set of linker errors, "undefined reference to...", with functions including qt_memfill32, qt_blend_rgb32_on_rgb32_neon, qt_blend_argb32_on_argb32_neon, ...

      Lots of these functions look they come from qtbase/src/gui/painting/qdrawhelper.cpp and qtbase/src/gui/painting/qdrawhelper_neon.cpp, and that they are conditional on "#ifdef _ARM_NEON_".

      Attached: config.opt files from successful ARM 32-bit and unsuccessful ARM 64-bit builds, plus end of compilation log from the failing build.

        Attachments

        1. config.log
          208 kB
        2. config.opt.arm32
          0.9 kB
        3. config.opt.arm64
          0.9 kB
        4. config.summary
          12 kB
        5. link_failure_arm64.txt
          15 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            • Assignee:
              allan.jensen Allan Sandfeld Jensen
              Reporter:
              rudolf@pobox.com Rudolf Cardinal
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes