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

v8 vfp assumptions prevent optimal ARMv6 usage

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P3: Somewhat important P3: Somewhat important
    • None
    • 5.0.0
    • None
    • ARMv6 devices like the Raspberry PI
    • cbcc6eb7bf80bc9ad4483996ccd6d719932e0319

      The following patch:

      https://gitorious.org/qt-platform-mkspecs/qt-platform-mkspecs/blobs/master/5.0/linux-rasp-pi-g++/patches/0001-Disable-v8-ARM-hardfloat-assumption.patch

      is required to get a usable v8 compiled for ARMv6 targets with softfp support. Without this patch, an illegal instruction is generated.

      The relevant section is:

      #if defined(_VFP_FP) && !defined(SOFTFP_)
      answer |= 1u << VFP3 | 1u << ARMv7;
      #endif // defined(_VFP_FP) && !defined(SOFTFP_)

      which appears to assume if we have floating point support and are using softfp (soft calling conventions with hardware instructions being generated) then we are automatically using hardware with VFP3 support, which is sadly not the case.

      We get major gains from enabling softfp on this hardware and commenting out this assumption resolves the crash.

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

            girish Girish Ramakrishnan
            dcarr Donald Carr (Nokia) (Inactive)
            Votes:
            7 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes