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

build failure with X32 ABI

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.6.0, 5.8.0 Alpha
    • Fix Version/s: 5.6.1
    • Component/s: Network: Cache
    • Labels:
      None
    • Environment:
      Gentoo x32 version; gcc 5.3.0 or 4.9.1 (makes no difference)
    • Commits:
      1721d56d2895f3b1f5b09022dc558bf40cd8194c

      Description

      After configure -developer-build etc. and starting the build, eventually we come to this:

      g++ -c -pipe -g -std=c++1y -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Werror -Wno-error=cpp -Wno-error=deprecated-declarations -Wno-error=strict-overflow -D_REENTRANT -fPIC -DQT_NO_TSLIB -DQT_NO_USING_NAMESPACE -DQT_BUILD_NETWORK_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_CORE_LIB -Wall -Wextra -Werror -Woverloaded-virtual -Wshadow -Wundef -Wnon-virtual-dtor -Wpointer-arith -Wformat-security -Wno-long-long -Wno-variadic-macros -pedantic-errors -Wchar-subscripts -Wold-style-cast -Wcast-align -I/home/rutledge/dev/qt5/qtbase/src/network -I. -I/home/rutledge/dev/qt5/qtbase/src/network/kernel -I../../include -I../../include/QtNetwork -I../../include/QtNetwork/5.8.0 -I../../include/QtNetwork/5.8.0/QtNetwork -I../../include/QtCore/5.8.0 -I../../include/QtCore/5.8.0/QtCore -I../../include/QtCore -I.moc -I/home/rutledge/dev/qt5/qtbase/mkspecs/linux-g++ -DQT_NO_CAST_TO_ASCII=1 -DQT_NO_CAST_FROM_ASCII=1 -DQT_STRICT_ITERATORS -DQT_NO_URL_CAST_FROM_STRING=1 -DQT_NO_CAST_FROM_BYTEARRAY=1 -DQT_NO_KEYWORDS=1 -DQT_USE_QSTRINGBUILDER -DQT_USE_FAST_OPERATOR_PLUS -Dsignals=int -Dslots=int -Demit=public: -Dforeach=public: -Dforever=public: -xc++ /home/rutledge/dev/qt5/qtbase/src/network/access/qabstractnetworkcache.h -o .obj/header_qabstractnetworkcache.o
      {standard input}: Assembler messages:
      {standard input}:12: Error: cannot represent relocation type BFD_RELOC_X86_64_GOT64 in x32 mode
      Makefile:1122: recipe for target '.obj/header_qabstractnetworkcache.o' failed
      make: *** [.obj/header_qabstractnetworkcache.o] Error 1
      

      Seems like BFD_RELOC_X86_64_GOT64 is a "large code model" relocation which probably assumes that pointers are 64-bit, so I wonder why such a thing would be generated - the compiler should know better, unless we did something which forces it to happen. I wonder if we have a way to specify a different code model.

      Qt 5.5.1 is the latest version that has an ebuild so far on Gentoo, and builds fine with x32 ABI.

        Attachments

        For Gerrit Dashboard: QTBUG-52658
        # Subject Branch Project Status CR V

          Activity

            People

            • Assignee:
              thiago Thiago Macieira
              Reporter:
              srutledg Shawn Rutledge
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes