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

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.12.5
    • 5.12.4
    • Build System
    • None
    • Host = Ubuntu 18.04.
      Android SDK = up to date, set for 23.
      Android NDK = 20 (using clang).
    • 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

            allan.jensen Allan Sandfeld Jensen
            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