Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.6.0, 5.8.0 Alpha
-
None
-
Gentoo x32 version; gcc 5.3.0 or 4.9.1 (makes no difference)
-
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 |
156176,2 | Fix build on Linux/x32 systems (x86-64 ILP32) | 5.6 | qt/qtbase | Status: MERGED | +2 | 0 |