On Fri, Feb 20, 2015 at 12:22:06PM +0300, Dmitry Shachnev wrote: > On Thu, 12 Feb 2015 23:08:49 +0100, Adam Borowski wrote: > > The fix needs two parts: > > * applying the attached patch: fixing misdetection of x32 as i386/amd64 > > (a proper port of the JIT would be of course better, but take a good deal > > more work) > > Can you please send this upstream to https://codereview.qt-project.org/?
I looked at the upstream website, and found it quite confusing. Thus, if you could forward the patch, it would be nice. > Or, if you can't do it, tell us that you license the patch under BSD license > and we will do that ourselves (needed because upstream has a CLA). Sure. The patch appears to be too small to be copyrightable, but anyway, I hereby grant the right to use it under any license of your choice. > > * updating the symbols file. s/!sparc64/!sparc64 !x32/ worked for me, as > > symbols you skip on every architecture need to be skipped on x32 too > > (how surprising...) > > No longer needed with the current Qt 5.4 packages (in experimental), where > the symbols mess has been fixed. I tried to check the patch against the packages in experimental, but one of dependencies (qtxmlpatterns) failed to build for me, for reasons that don't seem to be arch-dependent: ============ CMake Error at /home/kilobyte/tmp/x32/exp/qtxmlpatterns-opensource-src-5.4.0/lib/cmake/Qt5XmlPatterns/Qt5XmlPatternsConfig.cmake:27 (message): The imported target "Qt5::XmlPatterns" references the file "/home/kilobyte/tmp/x32/exp/include/x86_64-linux-gnux32/qt5/" but this file does not exist. Possible reasons include: ============ If it's supposed to work, I can poke around more. I wonder, though, if it would cost less human time to throw the patch in blindly for now. It does require a change, though. Against sources from experimental it's: --- src/qml/jsruntime/qv4global_p.h~ 2014-12-05 17:25:11.000000000 +0100 +++ src/qml/jsruntime/qv4global_p.h 2015-02-20 19:04:52.201925780 +0100 @@ -69,9 +69,11 @@ // // NOTE: This should match the logic in qv4targetplatform_p.h! -#if defined(Q_PROCESSOR_X86) && (defined(Q_OS_WINDOWS) || defined(Q_OS_LINUX) || defined(Q_OS_QNX) || defined(Q_OS_FREEBSD)) +#if defined(Q_PROCESSOR_X86) && !defined(__ILP32__) \ + && (defined(Q_OS_WINDOWS) || defined(Q_OS_LINUX) || defined(Q_OS_QNX) || defined(Q_OS_FREEBSD)) #define V4_ENABLE_JIT -#elif defined(Q_PROCESSOR_X86_64) && (defined(Q_OS_WINDOWS) || defined(Q_OS_LINUX) || defined(Q_OS_MAC) || defined(Q_OS_FREEBSD)) +#elif defined(Q_PROCESSOR_X86_64) && !defined(__ILP32__) \ + && (defined(Q_OS_WINDOWS) || defined(Q_OS_LINUX) || defined(Q_OS_MAC) || defined(Q_OS_FREEBSD)) #define V4_ENABLE_JIT #elif defined(Q_PROCESSOR_ARM_32) while against upstream's 5.4 git it's: --- a/src/qml/jsruntime/qv4global_p.h +++ b/src/qml/jsruntime/qv4global_p.h @@ -69,9 +69,11 @@ inline double trunc(double d) { return d > 0 ? floor(d) : ceil(d); } // // NOTE: This should match the logic in qv4targetplatform_p.h! -#if defined(Q_PROCESSOR_X86) && (defined(Q_OS_WIN) || defined(Q_OS_LINUX) || defined(Q_OS_QNX) || defined(Q_OS_FREEBSD)) +#if defined(Q_PROCESSOR_X86) && !defined(__ILP32__) \ + && (defined(Q_OS_WIN) || defined(Q_OS_LINUX) || defined(Q_OS_QNX) || defined(Q_OS_FREEBSD)) #define V4_ENABLE_JIT -#elif defined(Q_PROCESSOR_X86_64) && (defined(Q_OS_WIN) || defined(Q_OS_LINUX) || defined(Q_OS_MAC) || defined(Q_OS_FREEBSD)) +#elif defined(Q_PROCESSOR_X86_64) && !defined(__ILP32__) \ + && (defined(Q_OS_WIN) || defined(Q_OS_LINUX) || defined(Q_OS_MAC) || defined(Q_OS_FREEBSD)) #define V4_ENABLE_JIT #elif defined(Q_PROCESSOR_ARM_32) (Ie, Q_OS_WIN vs Q_OS_WINDOWS). -- // If you believe in so-called "intellectual property", please immediately // cease using counterfeit alphabets. Instead, contact the nearest temple // of Amon, whose priests will provide you with scribal services for all // your writing needs, for Reasonable and Non-Discriminatory prices. -- To UNSUBSCRIBE, email to debian-qt-kde-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150220230120.gb17...@angband.pl