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

Android: V4 breaks compilation on armv5

    XMLWordPrintable

Details

    • 7efe51e116652f5e98cfda7affd992a2d91e65b1

    Description

      The V4 code in QtQml contains inline assembler which does not compile on ARMv5.

      The problem seems to be the following in 3rdparty/masm/assembler/ARMv7Assembler.h:

      #if OS(LINUX)
          static inline void linuxPageFlush(uintptr_t begin, uintptr_t end)
          {
              asm volatile(
                  "push    {r7}\n"
                  "mov     r0, %0\n"
                  "mov     r1, %1\n"
                  "movw    r7, #0x2\n"
                  "movt    r7, #0xf\n"
                  "movs    r2, #0x0\n"
                  "svc     0x0\n"
                  "pop     {r7}\n"
                  :
                  : "r" (begin), "r" (end)
                  : "r0", "r1", "r2");
          }
      #endif
      

      It produces the following errors when compiled for ARMv5:

      Error: selected processor does not support Thumb mode `movw r7,#0x2'
      Error: selected processor does not support Thumb mode `movt r7,#0xf'
      

      The file is labeled "armv7", so maybe it shouldn't be included in this build?

      Attachments

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

        Activity

          People

            shausman Simon Hausmann
            esabraha Eskil Abrahamsen Blomfeldt
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes