Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-27737

Android, 64-bit target, QtC 8.0, architecture mismatch in first debugger run

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Not Evaluated
    • Resolution: Done
    • Affects Version/s: Qt Creator 8.0.0
    • Fix Version/s: Qt Creator 8.0.0-rc1
    • Component/s: Android Support, Debugger
    • Labels:
      None
    • Environment:
      Windows host, Qt Creator 8.0 (~beta1), NDK 23.1.7779620 with LLDB 12.0.8, x86_64 API29 Android10 image in Emulator, Android Qt 6.3.1 from Qt installer
    • Platform/s:
      Android, Windows
    • Commits:
      83c380665d (qt-creator/qt-creator/8.0) 83c380665d (qt-creator/qt-creator/master) 83c380665d (qt-creator/tqtc-qt-creator/8.0)

      Description

      With the specified environment and with a cleanly built C++ test application, I get differences in the debugger logs between the first and second debugger starts.

      Quite early in the log, in the ELF SECTIONS message differ:

      ELF SECTIONS log, first start

      dELF SECTIONS: .interp .note.android.ident .note.gnu.build-id .dynsym .gnu.version .gnu.version_r .gnu.hash .dynstr .rel.dyn .rel.plt .rodata .eh_frame_hdr .eh_frame .text .plt .preinit_array .init_array .fini_array .data.rel.ro .dynamic .got .got.plt .bss .shstrtab .gnu_debugdata

      ELF SECTIONS log, second start

      dELF SECTIONS: .interp .note.android.ident .note.gnu.build-id .dynsym .gnu.version .gnu.version_r .gnu.hash .dynstr .rela.dyn .rela.plt .rodata .eh_frame_hdr .eh_frame .text .plt .preinit_array .init_array .fini_array .data.rel.ro .dynamic .got .got.plt .bss .shstrtab .gnu_debugdata

      The first start talks about .rel.dyn which is 32-bit and the second start talks about .rela.dyn (64-bit).

      But in both cases, the ABI is detected correctly:

      dABI: x86-linux-android-elf-64bit

      In fact, on the first start, the build directory is populated with these files: app_process_FirstStart, linker_FirstStart, libc_FirstStart.so.
      Before the second start it is different files: app_process_SecondStart, linker64_SecondStart, libc_SecondStart.so.

      I suspect that this can cause follow-up misbehavior.

        Attachments

        1. linker64_SecondStart
          1.60 MB
        2. linker_FirstStart
          1.58 MB
        3. libc_SecondStart.so
          1.20 MB
        4. libc_FirstStart.so
          1.26 MB
        5. DebuggerLog_SecondStart.txt
          24 kB
        6. DebuggerLog_FirstStart.txt
          18 kB
        7. app_process_SecondStart
          33 kB
        8. app_process_FirstStart
          31 kB

          Issue Links

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

            Activity

              People

              Assignee:
              portale Alessandro Portale
              Reporter:
              portale Alessandro Portale
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes